Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
Changelog
-
Instrument and MusicalStorage use spam causes crash with the holder being null because the tick check doesn't get there in time.
-
Rewrite LidAnimator step() through interface injection using renderStep() + let it be clientside.
-
Test and implement midi direct online stream use case.
-
Bring back sound null check.
-
Don't spam direct stream status message on midi stream.
-
Fix particles not being enabled when switching states while listening MIDI.
-
Update gradle files and configs using a template.
-
Stop using kts gradle files.
-
Rename mixins package to mixin.
-
Fix server commands not being enabled as entrypoints.
-
Isolate particles varible of Instrument.Companion.ActionParticles whenever is needed as private instead of public anywhere.
-
Use LoggerFactory instead of LogManager for the mod's logger.
-
Fix missing translations in Spanish due to transition.
-
Set mixins to Java 17.
-
Change ClientWorldMixin to client mixin.
I'm adding a 1 to the version tags because it just doesn't look right to me. v4 is already a lot.
-
Learnt and removed that you can check the source code and remove nullable parameters when you override methods.
-
MusicPlayerBlock rewrite to not depend on clientside block because it unloads. Now everything relies on the MusicPlayer class and it connects between the block and the block entity.
-
Fix for proper redstone behaviour (AwfulRanger).
-
Add repeat mode behaviour to use short sounds to link using redstone on your own custom machines!
-
Add all blocks to be compatible with the block entity ticker to test behaviour on mods that move blocks. Only tested using carpet mod + pistons.
-
Rename sync functions and names to listen / listening.
-
Remove CanBeMuted interface from the music player block and use the listen button as a single interaction for that.
-
Link block entity and music player objects using a hash.
-
Remove music players on block entity markRemoved()
-
Use the block state in isPlaying() / setPlaying() to get / set the playing state. Remove isPlaying variable.
-
MusicPlayerEntity spawning checks and fixes.
-
Fix some missing translations.
-
Add MusicPlayerEntity setPos() to offset on the center of the block.
-
Add ExternalSound check if it's a valid sound source.
-
Add statusMessage() to MusicPlayer to know the state of the music player in console.
-
Add sendPause() to network pausing from client to clients.
-
Add sendAction() to MusicPlayerBlockEntity to network actions from server to clients.
-
Remove music players when the server markRemoves the block entity.
-
MusicPlayerReceiver now relies on the music player instead of the block entity.
-
Players interacting with the music player block will be forced to listen.
-
Add repeat mode button to the music player screen.
-
Hide slider on midi when the player is not the former floppy owner.
-
isMuted now checks special case on MusicPlayerEntity and if the user is listening to the block entity.
-
Add checkHolder() to GenericReceiver to check if the stack holder changed related to the receiver entity.
-
Fix midi channel recording starting at index 1 instead of 0.
-
Reset floppy rate and volume on write.
-
Set bow use action animation to instruments.
-
Add shouldUse() method to handle if there's two instruments in both hands.
-
Fix on clean electric guitar ability using shouldUse().
-
Don't fade out external sound if music player is on repeat mode.
-
Register separate networking receivers for the music player instruments.
-
Fix music player not working if midi host player playing was out of range of the block.
-
Fix timers concurrent exception by setting a state and removing them later.
-
Add ClientWorldMixin to fix midi player playing not pausing when disconnecting.
-
Set Fuel registry apart.
-
Rewrite tips.
-
Fix music player having wrong redstone interaction.
-
Set the music player entity position to the block pos if it's different. Better test this with mods.
-
Fix music player playing state not being off on initial world load.
-
Fix timers being duplicated on threads having weird effects on singleplayer.
-
Add world nullity handlers again to the music player particles functions because of the timers.
-
world() to return ClientWorld? to do elvis operator easy.
-
New instruments, textures, sounds and recipes.
-
Change the sound files namings to use a common file pattern.
-
Recipes checked and changed.
-
Fix issue when tracking stack block pos on music player getting the wrong stack and networking null nbt.
-
Temporal fix for the digital console having sounds cut off. Fix based on what it was on older updates.
-
Add PlayCompletely and NoFading interfaces for different sound results.
-
Force the instruments screen sequence field always be uppercase.
-
Fix for classes all on uppercase on ModID interface.
-
Format JSONs.
-
Sort sounds and textures folders and it's json identifiers according to the instrument types.
-
Replace many old instrument textures.
-
Floppy focusing was annoying.
-
Add inventoryAsList method.
-
NBT can now be looked up by ID too, if there's no hand or slot tracker.
-
Floppy will only close non-pausing screen handlers when reading the title.
-
Add NBT.id() to shortcut getting the id.
-
Fix MusicPlayerBlockEntity inventory not saving stacks.
-
Remove debug_mode because it wasn't really being used.
-
Add velocity modifier to SimpleNoteParticle.
-
Fix audio_quality 0 being invalid.
-
Music particles command and config.
-
Tick timer implementation to schedule using tick events. java.util.Timer can cause crashes.
-
Move the projectile if the stack is off hand.
v1.3.0.5
- Add OkHttp and MP3SPI dependencies.
- Sort project into more modules because it evolves.
- Remove FabricSoundInstance and interface injection since it has been merged to Fabric.
- Use getPossibleEntries vanilla method on EnchantmentHelperMixin, trying to keep it as default as possible.
- Check names and comments.
- Learnt how to properly create entities and spawn them.
- Optimization of the instruments sounds built into a new system.
- Redefine youtube-dl wrapper classes to fix bugs on queries.
- Fix MIDI in-game recording creation. It's not perfect but it works.
- Lots of bug fixes.
- Use sound events for simple sounds and only use SoundInstances stuff for more complex inputs like InstrumentSound.
- Add music player particles system.
- Add music player funny interaction.
- Properly create and initialize MusicPlayerBlockEntity and it's entity.
- Add feature to stream direct audio sources. Not all of them work tho.
- Add music player playing state.
- Change textures to fit 16x16 default.
- Add music player state messages.
- Check warnings and user messages.
- Thinking with hoppers / insert / extract actions is still experimental.
- Rewrite MIDI receivers.
- Check and rewrite slot click action code on every screen.
- Rewrite mod tips command.
- Use ModID interface to apply easy mod identification everywhere using class names.
- Implement Trackable interface to track data into the stack's nbt.
- Disable NBT update animation for all modded items.
- Rewrite DigitalConsoleScreen system. It was too messy.
- All modded items that have menus can only open the menu if there is no item in the other hand. In the case of the instrument, it will open if the player doesn't have instruments on both hands.
- Add server network receiver to close the player current screen handler.
- Sort the instruments screen elements and add a copy to clipboard button.
- Move Ranged enchantment to uncommon instead of rare.
- Fix instruments actions while on both hands at the same time.
- Rework the mod's particles system.
- Add new impact particles.
- Sort keybindings system.
- Sort music theory data.
- Start writing objects a little more to avoid clogging.
- Rewrite a special server receiver.
- Rework projectile movement.
Files
Metadata
Release channel
ReleaseVersion number
mc1.18.2-v1.4.0.2Loaders
Game versions
1.18.2Downloads
36Publication date
October 13, 2023 at 12:57 AMPublisher
Engine_Machiner
Owner