├── .github └── workflows │ └── gradle.yml ├── .gitignore ├── LICENSE ├── README.md ├── build.cmd ├── core ├── AllMusicBridge.java ├── AllMusicCore.java ├── CommandType.java ├── hud │ ├── AllMusicHud.java │ └── HudDirType.java ├── objs │ ├── ConfigObj.java │ ├── PosOBJ.java │ └── SaveOBJ.java └── player │ ├── AllMusicPlayer.java │ └── decoder │ ├── BuffPack.java │ ├── IDecoder.java │ ├── flac │ ├── AbstractFlacLowLevelInput.java │ ├── ByteArrayFlacInput.java │ ├── DataFormatException.java │ ├── FlacDecoder.java │ ├── FlacLowLevelInput.java │ ├── FrameDecoder.java │ ├── FrameInfo.java │ ├── SeekTable.java │ ├── SeekableFileFlacInput.java │ └── StreamInfo.java │ ├── mp3 │ ├── BitReserve.java │ ├── Bitstream.java │ ├── BitstreamErrors.java │ ├── BitstreamException.java │ ├── Crc16.java │ ├── DecoderErrors.java │ ├── DecoderException.java │ ├── Equalizer.java │ ├── FrameDecoder.java │ ├── Header.java │ ├── JavaLayerErrors.java │ ├── JavaLayerException.java │ ├── JavaLayerHook.java │ ├── JavaLayerUtils.java │ ├── LayerIDecoder.java │ ├── LayerIIDecoder.java │ ├── LayerIIIDecoder.java │ ├── Mp3Decoder.java │ ├── Obuffer.java │ ├── OutputChannels.java │ ├── SampleBuffer.java │ ├── SynthesisFilter.java │ └── huffcodetab.java │ └── ogg │ ├── OggDecoder.java │ └── jcraft │ ├── jogg │ ├── Buffer.java │ ├── Packet.java │ ├── Page.java │ ├── StreamState.java │ └── SyncState.java │ ├── jorbis │ ├── Block.java │ ├── ChainingExample.java │ ├── CodeBook.java │ ├── Comment.java │ ├── DecodeExample.java │ ├── Drft.java │ ├── DspState.java │ ├── Floor0.java │ ├── Floor1.java │ ├── FuncFloor.java │ ├── FuncMapping.java │ ├── FuncResidue.java │ ├── FuncTime.java │ ├── Info.java │ ├── InfoMode.java │ ├── JOrbisException.java │ ├── Lookup.java │ ├── Lpc.java │ ├── Lsp.java │ ├── Mapping0.java │ ├── Mdct.java │ ├── PsyInfo.java │ ├── PsyLook.java │ ├── Residue0.java │ ├── Residue1.java │ ├── Residue2.java │ ├── StaticCodeBook.java │ ├── Time0.java │ ├── Util.java │ └── VorbisFile.java │ └── oggdecoder │ └── OggData.java ├── fabric_1_14_4 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_15_2 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_16_5 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_17_1 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_18_2 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_19 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_19_3 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_19_4 ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_20 ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_20_6 ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_21 ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_21_3 ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── fabric_1_21_5 ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiShow.java │ │ ├── QuitServer.java │ │ ├── Register.java │ │ ├── SoundEvent.java │ │ └── Tick.java │ └── resources │ ├── allmusic_client.mixins.json │ ├── assets │ └── allmusic_client │ │ └── icon.png │ └── fabric.mod.json ├── forge_1_12_2 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── icon.png │ ├── mcmod.info │ └── pack.mcmeta ├── forge_1_14_4 ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_15_2 ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── logs │ ├── debug.log │ └── latest.log ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_16_5 ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── logs │ └── latest.log ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_17_1 ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_18_2 ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_19_2 ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_19_3 ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_20 ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_20_4 ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_20_6 ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── icon.png │ └── pack.mcmeta ├── forge_1_21 ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── mixin │ │ ├── GuiMixin.java │ │ └── IGuiGetter.java │ └── resources │ ├── META-INF │ └── mods.toml │ ├── allmusic_client.mixins.json │ ├── icon.png │ └── pack.mcmeta ├── forge_1_7_10 ├── .gitattributes ├── .gitignore ├── LICENSE ├── build.gradle ├── dependencies.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── repositories.gradle ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ └── AllMusic.java │ └── resources │ ├── icon.png │ ├── mcmod.info │ └── pack.mcmeta ├── link.cmd ├── mp3 ├── au2lin.ser ├── l3reorder.ser ├── lin2au.ser └── sfd.ser ├── neoforge_1_20_4 ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── runs │ └── client │ │ ├── command_history.txt │ │ ├── config │ │ ├── allmusic.json │ │ ├── fml.toml │ │ └── neoforge-client.toml │ │ ├── crash-reports │ │ └── crash-2024-04-29_17.50.09-fml.txt │ │ ├── downloads │ │ └── log.json │ │ ├── logs │ │ ├── 2024-04-29-1.log.gz │ │ ├── 2024-04-29-2.log.gz │ │ ├── 2024-04-29-3.log.gz │ │ ├── 2024-04-29-4.log.gz │ │ ├── 2024-04-29-5.log.gz │ │ ├── 2024-04-29-6.log.gz │ │ ├── 2024-04-29-7.log.gz │ │ ├── debug-1.log.gz │ │ ├── debug-2.log.gz │ │ ├── debug-3.log.gz │ │ ├── debug-4.log.gz │ │ ├── debug-5.log.gz │ │ ├── debug.log │ │ └── latest.log │ │ ├── options.txt │ │ ├── servers.dat │ │ └── servers.dat_old ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── PackData.java │ └── resources │ ├── META-INF │ └── mods.toml │ └── icon.png ├── neoforge_1_20_6 ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── PackData.java │ └── resources │ ├── META-INF │ └── neoforge.mods.toml │ └── icon.png ├── neoforge_1_21 ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── PackData.java │ └── resources │ ├── META-INF │ └── neoforge.mods.toml │ └── icon.png ├── neoforge_1_21_3 ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── PackData.java │ ├── resources │ └── icon.png │ └── templates │ └── META-INF │ └── neoforge.mods.toml ├── neoforge_1_21_5 ├── .gitignore ├── LICENSE ├── README.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── java │ └── com │ │ └── coloryr │ │ └── allmusic │ │ └── client │ │ ├── AllMusic.java │ │ └── PackData.java │ ├── resources │ └── icon.png │ └── templates │ └── META-INF │ └── neoforge.mods.toml ├── remove.cmd └── version /.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | .idea 9 | 10 | # idea 11 | out 12 | *.ipr 13 | *.iws 14 | *.iml 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | 24 | # Files from Forge MDK 25 | forge*changelog.txt 26 | 27 | workspace.xml 28 | 29 | **/allmusic/client/core/ 30 | **/allmusic/client/core/player/decoder/mp3/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AllMusic Client 2 | AllMusic配套mod 3 | AllMusic插件:https://github.com/Coloryr/AllMusic_Server 4 | 5 | ## 构建 6 | **需要在Windows系统下** 7 | 安装JDK21 8 | 9 | 打开cmd执行`build.cmd`或者直接双击`build.cmd` 10 | 11 | 选择构建项目 -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/build.cmd -------------------------------------------------------------------------------- /core/AllMusicBridge.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | /** 6 | * AllMusic 核心桥 7 | */ 8 | public interface AllMusicBridge { 9 | /** 10 | * 获取一个渲染材质 11 | * @param size 材质大小 12 | * @return 材质 13 | */ 14 | Object genTexture(int size); 15 | 16 | /** 17 | * 获取屏幕宽度 18 | * @return 屏幕宽度 19 | */ 20 | int getScreenWidth(); 21 | 22 | /** 23 | * 获取屏幕高度 24 | * @return 屏幕高度 25 | */ 26 | int getScreenHeight(); 27 | 28 | /** 29 | * 获取文字宽度 30 | * @param item 文字内容 31 | * @return 宽度 32 | */ 33 | int getTextWidth(String item); 34 | 35 | /** 36 | * 获取字体高度 37 | * @return 字体高度 38 | */ 39 | int getFontHeight(); 40 | 41 | /** 42 | * 更新材质内容 43 | * @param tex 材质 44 | * @param size 贴图大小 45 | * @param byteBuffer 贴图内容 46 | */ 47 | void updateTexture(Object tex, int size, ByteBuffer byteBuffer); 48 | 49 | /** 50 | * 绘制文字 51 | * @param item 文字内容 52 | * @param x X坐标 53 | * @param y Y坐标 54 | * @param color 显示颜色 55 | * @param shadow 是否有阴影 56 | */ 57 | void drawText(String item, int x, int y, int color, boolean shadow); 58 | 59 | /** 60 | * 绘制图片 61 | * @param texture 材质 62 | * @param size 大小 63 | * @param x X坐标 64 | * @param y Y坐标 65 | * @param ang 旋转角度 66 | */ 67 | void drawPic(Object texture, int size, int x, int y, int ang); 68 | 69 | /** 70 | * 显示消息 71 | * @param data 显示内容 72 | */ 73 | void sendMessage(String data); 74 | 75 | /** 76 | * 获取当前音量 77 | * @return 音量 78 | */ 79 | float getVolume(); 80 | 81 | /** 82 | * 停止播放其他音频 83 | */ 84 | void stopPlayMusic(); 85 | } 86 | -------------------------------------------------------------------------------- /core/CommandType.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core; 2 | 3 | public enum CommandType { 4 | LYRIC, 5 | INFO, 6 | LIST, 7 | PLAY, 8 | IMG, 9 | STOP, 10 | CLEAR, 11 | POS, 12 | HUD_DATA 13 | } 14 | -------------------------------------------------------------------------------- /core/hud/HudDirType.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core.hud; 2 | 3 | public enum HudDirType { 4 | /** 5 | * 左上角 6 | */ 7 | TOP_LEFT, 8 | /** 9 | * 上居中 10 | */ 11 | TOP_CENTER, 12 | /** 13 | * 右上角 14 | */ 15 | TOP_RIGHT, 16 | /** 17 | * 左对齐 18 | */ 19 | LEFT, 20 | /** 21 | * 正中心 22 | */ 23 | CENTER, 24 | /** 25 | * 右对齐 26 | */ 27 | RIGHT, 28 | /** 29 | * 左下角 30 | */ 31 | BOTTOM_LEFT, 32 | /** 33 | * 下居中 34 | */ 35 | BOTTOM_CENTER, 36 | /** 37 | * 右下角 38 | */ 39 | BOTTOM_RIGHT 40 | } 41 | -------------------------------------------------------------------------------- /core/objs/ConfigObj.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core.objs; 2 | 3 | public class ConfigObj { 4 | /** 5 | * 图片大小 6 | */ 7 | public int picSize; 8 | /** 9 | * 音频队列大小 10 | */ 11 | public int queueSize; 12 | /** 13 | * 队列溢出大小 14 | */ 15 | public int exitSize; 16 | } 17 | -------------------------------------------------------------------------------- /core/objs/PosOBJ.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core.objs; 2 | 3 | import com.coloryr.allmusic.client.core.hud.HudDirType; 4 | 5 | public class PosOBJ { 6 | 7 | public int x; 8 | public int y; 9 | public HudDirType dir; 10 | public int color; 11 | public boolean shadow; 12 | public boolean enable; 13 | } 14 | -------------------------------------------------------------------------------- /core/objs/SaveOBJ.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core.objs; 2 | 3 | public class SaveOBJ { 4 | 5 | public PosOBJ list; 6 | public PosOBJ lyric; 7 | public PosOBJ info; 8 | public PosOBJ pic; 9 | public int picRotateSpeed; 10 | 11 | public SaveOBJ() { 12 | picRotateSpeed = 10; 13 | list = new PosOBJ(); 14 | lyric = new PosOBJ(); 15 | info = new PosOBJ(); 16 | pic = new PosOBJ(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /core/player/decoder/BuffPack.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.player.decoder; 2 | 3 | public class BuffPack { 4 | 5 | public byte[] buff; 6 | public int len; 7 | } 8 | -------------------------------------------------------------------------------- /core/player/decoder/IDecoder.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.player.decoder; 2 | 3 | public interface IDecoder { 4 | 5 | BuffPack decodeFrame() throws Exception; 6 | 7 | void close() throws Exception; 8 | 9 | boolean set() throws Exception; 10 | 11 | int getOutputFrequency(); 12 | 13 | int getOutputChannels(); 14 | 15 | void set(int time); 16 | } 17 | -------------------------------------------------------------------------------- /core/player/decoder/flac/DataFormatException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * FLAC library (Java) 3 | * Copyright (c) Project Nayuki 4 | * https://www.nayuki.io/page/flac-library-java 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU Lesser General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU Lesser General Public License for more details. 13 | * You should have received a copy of the GNU Lesser General Public License 14 | * along with this program (see COPYING.txt and COPYING.LESSER.txt). 15 | * If not, see . 16 | */ 17 | 18 | package com.coloryr.allmusic.client.core.player.decoder.flac; 19 | 20 | /** 21 | * Thrown when data being read violates the FLAC file format. 22 | */ 23 | @SuppressWarnings("serial") 24 | public class DataFormatException extends RuntimeException { 25 | 26 | /*---- Constructors ----*/ 27 | 28 | public DataFormatException() { 29 | super(); 30 | } 31 | 32 | public DataFormatException(String msg) { 33 | super(msg); 34 | } 35 | 36 | public DataFormatException(String msg, Throwable cause) { 37 | super(msg, cause); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /core/player/decoder/flac/SeekableFileFlacInput.java: -------------------------------------------------------------------------------- 1 | /* 2 | * FLAC library (Java) 3 | * Copyright (c) Project Nayuki 4 | * https://www.nayuki.io/page/flac-library-java 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU Lesser General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU Lesser General Public License for more details. 13 | * You should have received a copy of the GNU Lesser General Public License 14 | * along with this program (see COPYING.txt and COPYING.LESSER.txt). 15 | * If not, see . 16 | */ 17 | 18 | package com.coloryr.allmusic.client.core.player.decoder.flac; 19 | 20 | import com.coloryr.allmusic.client.core.player.AllMusicPlayer; 21 | 22 | import java.io.BufferedInputStream; 23 | import java.io.IOException; 24 | import java.io.RandomAccessFile; 25 | 26 | /** 27 | * A FLAC input stream based on a {@link RandomAccessFile}. 28 | */ 29 | public final class SeekableFileFlacInput extends AbstractFlacLowLevelInput { 30 | 31 | /*---- Fields ----*/ 32 | 33 | // The underlying byte-based input stream to read from. 34 | private BufferedInputStream raf; 35 | 36 | /*---- Constructors ----*/ 37 | 38 | public SeekableFileFlacInput(AllMusicPlayer player) { 39 | super(); 40 | this.raf = new BufferedInputStream(player); 41 | } 42 | 43 | /*---- Methods ----*/ 44 | 45 | public long getLength() { 46 | try { 47 | return raf.available(); 48 | } catch (IOException e) { 49 | throw new RuntimeException(e); 50 | } 51 | } 52 | 53 | protected int readUnderlying(byte[] buf, int off, int len) throws IOException { 54 | return raf.read(buf, off, len); 55 | } 56 | 57 | // Closes the underlying RandomAccessFile stream (very important). 58 | public void close() throws IOException { 59 | if (raf != null) { 60 | raf.close(); 61 | raf = null; 62 | super.close(); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/BitstreamErrors.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 11/19/04 1.0 moved to LGPL. 3 | * 11/17/04 INVALIDFRAME code added. javalayer@javazoom.net 4 | * 12/12/99 Initial version. mdm@techie.com 5 | * ----------------------------------------------------------------------- 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU Library General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU Library General Public License for more details. 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | * ---------------------------------------------------------------------- 18 | */ 19 | 20 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 21 | 22 | /** 23 | * This interface describes all error codes that can be thrown 24 | * in BistreamExceptions. 25 | * 26 | * @author MDM 12/12/99 27 | * @see BitstreamException 28 | * @since 0.0.6 29 | */ 30 | 31 | public interface BitstreamErrors extends JavaLayerErrors { 32 | 33 | /** 34 | * An undeterminable error occurred. 35 | */ 36 | int UNKNOWN_ERROR = BITSTREAM_ERROR; 37 | 38 | /** 39 | * A problem occurred reading from the stream. 40 | */ 41 | int STREAM_ERROR = BITSTREAM_ERROR + 2; 42 | 43 | /** 44 | * The end of the stream was reached. 45 | */ 46 | int STREAM_EOF = BITSTREAM_ERROR + 4; 47 | 48 | /** 49 | * Frame data are missing. 50 | */ 51 | int INVALIDFRAME = BITSTREAM_ERROR + 5; 52 | 53 | } 54 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/BitstreamException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 11/19/04 1.0 moved to LGPL. 3 | * 12/12/99 Initial version. mdm@techie.com 4 | * ----------------------------------------------------------------------- 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU Library General Public License as published 7 | * by the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU Library General Public License for more details. 13 | * You should have received a copy of the GNU Library General Public 14 | * License along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 | * ---------------------------------------------------------------------- 17 | */ 18 | 19 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 20 | 21 | /** 22 | * Instances of BitstreamException are thrown 23 | * when operations on a Bitstream fail. 24 | *

25 | * The exception provides details of the exception condition 26 | * in two ways: 27 | *

    28 | *
  1. 29 | * as an error-code describing the nature of the error 30 | *

  2. 31 | *
    32 | *
  3. 33 | * as the Throwable instance, if any, that was thrown 34 | * indicating that an exceptional condition has occurred. 35 | *
  4. 36 | *
37 | *

38 | * 39 | * @author MDM 12/12/99 40 | * @since 0.0.6 41 | */ 42 | 43 | public class BitstreamException extends JavaLayerException implements BitstreamErrors { 44 | 45 | private int errorcode = UNKNOWN_ERROR; 46 | 47 | public BitstreamException(String msg, Throwable t) { 48 | super(msg, t); 49 | } 50 | 51 | public BitstreamException(int errorcode, Throwable t) { 52 | this(getErrorString(errorcode), t); 53 | this.errorcode = errorcode; 54 | } 55 | 56 | static public String getErrorString(int errorcode) { 57 | // REVIEW: use resource bundle to map error codes 58 | // to locale-sensitive strings. 59 | 60 | return "Bitstream errorcode " + Integer.toHexString(errorcode); 61 | } 62 | 63 | public int getErrorCode() { 64 | return errorcode; 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/Crc16.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 11/19/04 : 1.0 moved to LGPL. 3 | * 02/12/99 : Java Conversion by E.B , javalayer@javazoom.net 4 | * @(#) crc.h 1.5, last edit: 6/15/94 16:55:32 5 | * @(#) Copyright (C) 1993, 1994 Tobias Bading (bading@cs.tu-berlin.de) 6 | * @(#) Berlin University of Technology 7 | * ----------------------------------------------------------------------- 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU Library General Public License as published 10 | * by the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Library General Public License for more details. 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 | * ---------------------------------------------------------------------- 20 | */ 21 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 22 | 23 | /** 24 | * 16-Bit CRC checksum 25 | */ 26 | public final class Crc16 { 27 | 28 | private short crc; 29 | 30 | /** 31 | * Dummy Constructor 32 | */ 33 | public Crc16() { 34 | crc = (short) 0xFFFF; 35 | } 36 | 37 | /** 38 | * Feed a bitstring to the crc calculation (0 < length <= 32). 39 | */ 40 | public void add_bits(int bitstring, int length) { 41 | int bitmask = 1 << (length - 1); 42 | do if (((crc & 0x8000) == 0) ^ ((bitstring & bitmask) == 0)) { 43 | crc <<= 1; 44 | short polynomial = (short) 0x8005; 45 | crc ^= polynomial; 46 | } else crc <<= 1; 47 | while ((bitmask >>>= 1) != 0); 48 | } 49 | 50 | /** 51 | * Return the calculated checksum. 52 | * Erase it for next calls to add_bits(). 53 | */ 54 | public short checksum() { 55 | short sum = crc; 56 | crc = (short) 0xFFFF; 57 | return sum; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/DecoderErrors.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 09/26/08 throw exception on subbband alloc error: Christopher G. Jennings (cjennings@acm.org) 3 | * 11/19/04 1.0 moved to LGPL. 4 | * 01/12/99 Initial version. mdm@techie.com 5 | * ----------------------------------------------------------------------- 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU Library General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU Library General Public License for more details. 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | * ---------------------------------------------------------------------- 18 | */ 19 | 20 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 21 | 22 | /** 23 | * This interface provides constants describing the error 24 | * codes used by the Decoder to indicate errors. 25 | * 26 | * @author MDM 27 | */ 28 | public interface DecoderErrors extends JavaLayerErrors { 29 | 30 | /** 31 | * Layer not supported by the decoder. 32 | */ 33 | int UNSUPPORTED_LAYER = DECODER_ERROR + 1; 34 | 35 | /** 36 | * Illegal allocation in subband layer. Indicates a corrupt stream. 37 | */ 38 | int ILLEGAL_SUBBAND_ALLOCATION = DECODER_ERROR + 2; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/DecoderException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 11/19/04 1.0 moved to LGPL. 3 | * 01/12/99 Initial version. mdm@techie.com 4 | * ----------------------------------------------------------------------- 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU Library General Public License as published 7 | * by the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU Library General Public License for more details. 13 | * You should have received a copy of the GNU Library General Public 14 | * License along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 | * ---------------------------------------------------------------------- 17 | */ 18 | 19 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 20 | 21 | /** 22 | * The DecoderException represents the class of 23 | * errors that can occur when decoding MPEG audio. 24 | * 25 | * @author MDM 26 | */ 27 | public class DecoderException extends JavaLayerException implements DecoderErrors { 28 | 29 | public DecoderException(String msg, Throwable t) { 30 | super(msg, t); 31 | } 32 | 33 | public DecoderException(int errorcode, Throwable t) { 34 | this(getErrorString(errorcode), t); 35 | } 36 | 37 | static public String getErrorString(int errorcode) { 38 | // REVIEW: use resource file to map error codes 39 | // to locale-sensitive strings. 40 | 41 | return "Decoder errorcode " + Integer.toHexString(errorcode); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/FrameDecoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 09/26/08 throw exception on subbband alloc error: Christopher G. Jennings (cjennings@acm.org) 3 | * 11/19/04 1.0 moved to LGPL. 4 | * 12/12/99 Initial version. mdm@techie.com 5 | * ----------------------------------------------------------------------- 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU Library General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU Library General Public License for more details. 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | * ---------------------------------------------------------------------- 18 | */ 19 | 20 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 21 | 22 | /** 23 | * Implementations of FrameDecoder are responsible for decoding 24 | * an MPEG audio frame. 25 | */ 26 | // REVIEW: the interface currently is too thin. There should be 27 | // methods to specify the output buffer, the synthesis filters and 28 | // possibly other objects used by the decoder. 29 | public interface FrameDecoder { 30 | 31 | /** 32 | * Decodes one frame of MPEG audio. 33 | */ 34 | void decodeFrame() throws DecoderException; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/JavaLayerErrors.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 11/19/04 1.0 moved to LGPL. 3 | * 12/12/99 Initial version. mdm@techie.com 4 | * ----------------------------------------------------------------------- 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU Library General Public License as published 7 | * by the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU Library General Public License for more details. 13 | * You should have received a copy of the GNU Library General Public 14 | * License along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 | * ---------------------------------------------------------------------- 17 | */ 18 | 19 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 20 | 21 | /** 22 | * Exception erorr codes for components of the JavaLayer API. 23 | */ 24 | public interface JavaLayerErrors { 25 | 26 | /** 27 | * The first bitstream error code. See the {@link DecoderErrors DecoderErrors} 28 | * interface for other bitstream error codes. 29 | */ 30 | int BITSTREAM_ERROR = 0x100; 31 | 32 | /** 33 | * The first decoder error code. See the {@link DecoderErrors DecoderErrors} 34 | * interface for other decoder error codes. 35 | */ 36 | int DECODER_ERROR = 0x200; 37 | 38 | } 39 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/JavaLayerException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 11/19/04 1.0 moved to LGPL. 3 | * 12/12/99 Initial version. mdm@techie.com 4 | * ----------------------------------------------------------------------- 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU Library General Public License as published 7 | * by the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU Library General Public License for more details. 13 | * You should have received a copy of the GNU Library General Public 14 | * License along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 | * ---------------------------------------------------------------------- 17 | */ 18 | 19 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 20 | 21 | import java.io.PrintStream; 22 | 23 | /** 24 | * The JavaLayerException is the base class for all API-level 25 | * exceptions thrown by JavaLayer. To facilitate conversion and 26 | * common handling of exceptions from other domains, the class 27 | * can delegate some functionality to a contained Throwable instance. 28 | *

29 | * 30 | * @author MDM 31 | */ 32 | public class JavaLayerException extends Exception { 33 | 34 | private final Throwable exception; 35 | 36 | public JavaLayerException(String msg, Throwable t) { 37 | super(msg); 38 | exception = t; 39 | } 40 | 41 | public void printStackTrace() { 42 | printStackTrace(System.err); 43 | } 44 | 45 | public void printStackTrace(PrintStream ps) { 46 | if (this.exception == null) { 47 | super.printStackTrace(ps); 48 | } else { 49 | exception.printStackTrace(); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /core/player/decoder/mp3/JavaLayerHook.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 11/19/04 1.0 moved to LGPL. 3 | * ----------------------------------------------------------------------- 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Library General Public License as published 6 | * by the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * You should have received a copy of the GNU Library General Public 13 | * License along with this program; if not, write to the Free Software 14 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 15 | * ---------------------------------------------------------------------- 16 | */ 17 | 18 | package com.coloryr.allmusic.client.core.player.decoder.mp3; 19 | 20 | import java.io.InputStream; 21 | 22 | /** 23 | * The JavaLayerHooks class allows developers to change 24 | * the way the JavaLayer library uses Resources. 25 | */ 26 | 27 | public interface JavaLayerHook { 28 | 29 | /** 30 | * Retrieves the named resource. This allows resources to be 31 | * obtained without specifying how they are retrieved. 32 | */ 33 | InputStream getResourceAsStream(String name); 34 | } 35 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jogg/Packet.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jogg; 24 | 25 | public class Packet { 26 | 27 | public byte[] packet_base; 28 | public int packet; 29 | public int bytes; 30 | public int b_o_s; 31 | public int e_o_s; 32 | 33 | public long granulepos; 34 | 35 | /** 36 | * sequence number for decode; the framing 37 | * knows where there's a hole in the data, 38 | * but we need coupling so that the codec 39 | * (which is in a seperate abstraction 40 | * layer) also knows about the gap 41 | */ 42 | public long packetno; 43 | 44 | } 45 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/FuncFloor.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | import com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jogg.Buffer; 26 | 27 | abstract class FuncFloor { 28 | 29 | public static FuncFloor[] floor_P = {new Floor0(), new Floor1()}; 30 | 31 | abstract void pack(Object i, Buffer opb); 32 | 33 | abstract Object unpack(Info vi, Buffer opb); 34 | 35 | abstract Object look(DspState vd, InfoMode mi, Object i); 36 | 37 | abstract void free_info(Object i); 38 | 39 | abstract void free_look(Object i); 40 | 41 | abstract void free_state(Object vs); 42 | 43 | abstract int forward(Block vb, Object i, float[] in, float[] out, Object vs); 44 | 45 | abstract Object inverse1(Block vb, Object i, Object memo); 46 | 47 | abstract int inverse2(Block vb, Object i, Object memo, float[] out); 48 | } 49 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/FuncMapping.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | import com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jogg.Buffer; 26 | 27 | abstract class FuncMapping { 28 | 29 | public static FuncMapping[] mapping_P = {new Mapping0()}; 30 | 31 | abstract void pack(Info info, Object imap, Buffer buffer); 32 | 33 | abstract Object unpack(Info info, Buffer buffer); 34 | 35 | abstract Object look(DspState vd, InfoMode vm, Object m); 36 | 37 | abstract void free_info(Object imap); 38 | 39 | abstract void free_look(Object imap); 40 | 41 | abstract int inverse(Block vd, Object lm); 42 | } 43 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/FuncResidue.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | import com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jogg.Buffer; 26 | 27 | abstract class FuncResidue { 28 | 29 | public static FuncResidue[] residue_P = {new Residue0(), new Residue1(), new Residue2()}; 30 | 31 | abstract void pack(Object vr, Buffer opb); 32 | 33 | abstract Object unpack(Info vi, Buffer opb); 34 | 35 | abstract Object look(DspState vd, InfoMode vm, Object vr); 36 | 37 | abstract void free_info(Object i); 38 | 39 | abstract void free_look(Object i); 40 | 41 | abstract int inverse(Block vb, Object vl, float[][] in, int[] nonzero, int ch); 42 | } 43 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/FuncTime.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | import com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jogg.Buffer; 26 | 27 | abstract class FuncTime { 28 | 29 | public static FuncTime[] time_P = {new Time0()}; 30 | 31 | abstract void pack(Object i, Buffer opb); 32 | 33 | abstract Object unpack(Info vi, Buffer opb); 34 | 35 | abstract Object look(DspState vd, InfoMode vm, Object i); 36 | 37 | abstract void free_info(Object i); 38 | 39 | abstract void free_look(Object i); 40 | 41 | abstract int inverse(Block vb, Object i, float[] in, float[] out); 42 | } 43 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/InfoMode.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | class InfoMode { 26 | 27 | int blockflag; 28 | int windowtype; 29 | int transformtype; 30 | int mapping; 31 | } 32 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/JOrbisException.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | public class JOrbisException extends Exception { 26 | 27 | private static final long serialVersionUID = 1L; 28 | 29 | public JOrbisException() { 30 | super(); 31 | } 32 | 33 | public JOrbisException(String s) { 34 | super("JOrbis: " + s); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/PsyLook.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | class PsyLook { 26 | 27 | int n; 28 | PsyInfo vi; 29 | 30 | float[][][] tonecurves; 31 | float[][] peakatt; 32 | float[][][] noisecurves; 33 | 34 | float[] ath; 35 | int[] octave; 36 | 37 | void init(PsyInfo vi, int n, int rate) { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/Residue1.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | class Residue1 extends Residue0 { 26 | 27 | int inverse(Block vb, Object vl, float[][] in, int[] nonzero, int ch) { 28 | int used = 0; 29 | for (int i = 0; i < ch; i++) { 30 | if (nonzero[i] != 0) { 31 | in[used++] = in[i]; 32 | } 33 | } 34 | if (used != 0) { 35 | return (_01inverse(vb, vl, in, used, 1)); 36 | } else { 37 | return 0; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/Residue2.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | class Residue2 extends Residue0 { 26 | 27 | int inverse(Block vb, Object vl, float[][] in, int[] nonzero, int ch) { 28 | int i = 0; 29 | for (i = 0; i < ch; i++) if (nonzero[i] != 0) break; 30 | if (i == ch) return (0); /* no nonzero vectors */ 31 | 32 | return (_2inverse(vb, vl, in, ch)); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/Time0.java: -------------------------------------------------------------------------------- 1 | /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ 2 | /* 3 | * JOrbis 4 | * Copyright (C) 2000 ymnk, JCraft,Inc. 5 | * Written by: 2000 ymnk 6 | * Many thanks to 7 | * Monty and 8 | * The XIPHOPHORUS Company http://www.xiph.org/ . 9 | * JOrbis has been based on their awesome works, Vorbis codec. 10 | * This program is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Library General Public License 12 | * as published by the Free Software Foundation; either version 2 of 13 | * the License, or (at your option) any later version. 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Library General Public License for more details. 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | */ 22 | 23 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 24 | 25 | import com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jogg.Buffer; 26 | 27 | class Time0 extends FuncTime { 28 | 29 | void pack(Object i, Buffer opb) { 30 | } 31 | 32 | Object unpack(Info vi, Buffer opb) { 33 | return ""; 34 | } 35 | 36 | Object look(DspState vd, InfoMode mi, Object i) { 37 | return ""; 38 | } 39 | 40 | void free_info(Object i) { 41 | } 42 | 43 | void free_look(Object i) { 44 | } 45 | 46 | int inverse(Block vb, Object i, float[] in, float[] out) { 47 | return 0; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/jorbis/Util.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.jorbis; 2 | 3 | class Util { 4 | 5 | static int ilog(int v) { 6 | int ret = 0; 7 | while (v != 0) { 8 | ret++; 9 | v >>>= 1; 10 | } 11 | return (ret); 12 | } 13 | 14 | static int ilog2(int v) { 15 | int ret = 0; 16 | while (v > 1) { 17 | ret++; 18 | v >>>= 1; 19 | } 20 | return (ret); 21 | } 22 | 23 | static int icount(int v) { 24 | int ret = 0; 25 | while (v != 0) { 26 | ret += (v & 1); 27 | v >>>= 1; 28 | } 29 | return (ret); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/player/decoder/ogg/jcraft/oggdecoder/OggData.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.core.player.decoder.ogg.jcraft.oggdecoder; 2 | 3 | public class OggData { 4 | 5 | /** 6 | * The sampling rate 7 | */ 8 | public int rate; 9 | 10 | /** 11 | * The number of channels in the sound file 12 | */ 13 | public int channels; 14 | } 15 | -------------------------------------------------------------------------------- /fabric_1_14_4/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /fabric_1_14_4/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # idea 9 | 10 | *.iml 11 | *.ipr 12 | *.iws 13 | 14 | # vscode 15 | 16 | .settings/ 17 | .vscode/ 18 | bin/ 19 | .classpath 20 | .project 21 | 22 | # fabric 23 | 24 | run/ 25 | logs 26 | 27 | workspace.xml -------------------------------------------------------------------------------- /fabric_1_14_4/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | 4 | # Fabric Properties 5 | # check these on https://fabricmc.net/use 6 | minecraft_version=1.14.4 7 | yarn_mappings=1.14.4+build.18 8 | loader_version=0.16.2 9 | 10 | # Mod Properties 11 | maven_group = com.coloryr.allmusic.client 12 | archives_base_name = [fabric-1.14.4]AllMusic_Client 13 | 14 | # Dependencies 15 | # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api 16 | fabric_version=0.28.5+1.14 17 | -------------------------------------------------------------------------------- /fabric_1_14_4/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_14_4/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_14_4/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_14_4/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | jcenter() 4 | maven { 5 | name = 'Fabric' 6 | url = 'https://maven.fabricmc.net/' 7 | } 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_14_4/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(InGameHud.class) 11 | public class GuiShow { 12 | @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerInventory;getArmorStack(I)Lnet/minecraft/item/ItemStack;")) 13 | public void Gui(CallbackInfo info) { 14 | AllMusicCore.hudUpdate(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_14_4/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_14_4/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS: 20 | case MUSIC: 21 | info.cancel(); 22 | break; 23 | } 24 | } 25 | } 26 | 27 | @Inject(method = "reloadSounds", at = @At("RETURN")) 28 | public void reload(CallbackInfo info) { 29 | AllMusicCore.reload(); 30 | } 31 | } -------------------------------------------------------------------------------- /fabric_1_14_4/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } -------------------------------------------------------------------------------- /fabric_1_14_4/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_8", 6 | "client": [ 7 | "GuiShow", 8 | "QuitServer", 9 | "Register", 10 | "SoundEvent", 11 | "Tick" 12 | ], 13 | "injectors": { 14 | "defaultRequire": 1 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_14_4/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_14_4/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_14_4/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | 29 | "depends": { 30 | "fabricloader": ">=0.14.9", 31 | "fabric": "*", 32 | "minecraft": ">=1.14" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fabric_1_15_2/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /fabric_1_15_2/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # idea 9 | 10 | *.iml 11 | *.ipr 12 | *.iws 13 | 14 | # vscode 15 | 16 | .settings/ 17 | .vscode/ 18 | bin/ 19 | .classpath 20 | .project 21 | 22 | # fabric 23 | 24 | run/ 25 | logs 26 | 27 | workspace.xml -------------------------------------------------------------------------------- /fabric_1_15_2/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.15.2 8 | yarn_mappings=1.15.2+build.17 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.15.2]AllMusic_Client 14 | 15 | # Dependencies 16 | # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api 17 | fabric_version=0.28.5+1.15 18 | -------------------------------------------------------------------------------- /fabric_1_15_2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_15_2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_15_2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_15_2/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | jcenter() 4 | maven { 5 | name = 'Fabric' 6 | url = 'https://maven.fabricmc.net/' 7 | } 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_15_2/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(InGameHud.class) 11 | public class GuiShow { 12 | @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerInventory;getArmorStack(I)Lnet/minecraft/item/ItemStack;")) 13 | public void Gui(CallbackInfo info) { 14 | AllMusicCore.hudUpdate(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_15_2/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_15_2/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS: 20 | case MUSIC: 21 | info.cancel(); 22 | break; 23 | } 24 | } 25 | } 26 | 27 | @Inject(method = "reloadSounds", at = @At("RETURN")) 28 | public void reload(CallbackInfo info){ 29 | AllMusicCore.reload(); 30 | } 31 | } -------------------------------------------------------------------------------- /fabric_1_15_2/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } -------------------------------------------------------------------------------- /fabric_1_15_2/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_8", 6 | "client": [ 7 | "GuiShow", 8 | "QuitServer", 9 | "SoundEvent", 10 | "Tick" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /fabric_1_15_2/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_15_2/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_15_2/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | 29 | "depends": { 30 | "fabricloader": ">=0.14.9", 31 | "fabric": "*", 32 | "minecraft": ">=1.15" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fabric_1_16_5/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /fabric_1_16_5/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # idea 9 | 10 | *.iml 11 | *.ipr 12 | *.iws 13 | 14 | # vscode 15 | 16 | .settings/ 17 | .vscode/ 18 | bin/ 19 | .classpath 20 | .project 21 | 22 | # fabric 23 | 24 | run/ 25 | logs 26 | 27 | workspace.xml -------------------------------------------------------------------------------- /fabric_1_16_5/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.16.5 8 | yarn_mappings=1.16.5+build.10 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.16.5]AllMusic_Client 14 | 15 | # Dependencies 16 | # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api 17 | fabric_version=0.42.0+1.16 -------------------------------------------------------------------------------- /fabric_1_16_5/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_16_5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_16_5/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /fabric_1_16_5/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | jcenter() 4 | maven { 5 | name = 'Fabric' 6 | url = 'https://maven.fabricmc.net/' 7 | } 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(InGameHud.class) 11 | public class GuiShow { 12 | @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerInventory;getArmorStack(I)Lnet/minecraft/item/ItemStack;")) 13 | public void Gui(CallbackInfo info) { 14 | AllMusicCore.hudUpdate(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS: 20 | case MUSIC: 21 | info.cancel(); 22 | break; 23 | } 24 | } 25 | } 26 | 27 | @Inject(method = "reloadSounds", at = @At("RETURN")) 28 | public void reload(CallbackInfo info){ 29 | AllMusicCore.reload(); 30 | } 31 | } -------------------------------------------------------------------------------- /fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } -------------------------------------------------------------------------------- /fabric_1_16_5/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_8", 6 | "client": [ 7 | "GuiShow", 8 | "QuitServer", 9 | "SoundEvent", 10 | "Tick" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1 14 | }, 15 | "mixins": [ 16 | 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /fabric_1_16_5/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_16_5/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_16_5/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | 29 | "depends": { 30 | "fabricloader": ">=0.8.8", 31 | "fabric": "*", 32 | "minecraft": ">=1.16" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fabric_1_17_1/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /fabric_1_17_1/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # idea 9 | 10 | *.iml 11 | *.ipr 12 | *.iws 13 | 14 | # vscode 15 | 16 | .settings/ 17 | .vscode/ 18 | bin/ 19 | .classpath 20 | .project 21 | 22 | # fabric 23 | 24 | run/ 25 | logs 26 | workspace.xml -------------------------------------------------------------------------------- /fabric_1_17_1/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.17.1 8 | yarn_mappings=1.17.1+build.65 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabirc-1.17.1]AllMusic_Client 14 | 15 | # Dependencies 16 | # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api 17 | fabric_version=0.46.1+1.17 -------------------------------------------------------------------------------- /fabric_1_17_1/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_17_1/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_17_1/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_17_1/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | gradlePluginPortal() 8 | } 9 | } 10 | 11 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_17_1/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(InGameHud.class) 11 | public class GuiShow { 12 | @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerInventory;getArmorStack(I)Lnet/minecraft/item/ItemStack;")) 13 | public void Gui(CallbackInfo info) { 14 | AllMusicCore.hudUpdate(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_17_1/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_17_1/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS: 20 | case MUSIC: 21 | info.cancel(); 22 | break; 23 | } 24 | } 25 | } 26 | 27 | @Inject(method = "reloadSounds", at = @At("RETURN")) 28 | public void reload(CallbackInfo info){ 29 | AllMusicCore.reload(); 30 | } 31 | } -------------------------------------------------------------------------------- /fabric_1_17_1/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } -------------------------------------------------------------------------------- /fabric_1_17_1/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "GuiShow", 8 | "QuitServer", 9 | "SoundEvent", 10 | "Tick" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /fabric_1_17_1/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_17_1/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_17_1/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | 29 | "depends": { 30 | "fabricloader": ">=0.11.3", 31 | "fabric": "*", 32 | "minecraft": ">=1.17" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fabric_1_18_2/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /fabric_1_18_2/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # idea 9 | 10 | *.iml 11 | *.ipr 12 | *.iws 13 | 14 | # vscode 15 | 16 | .settings/ 17 | .vscode/ 18 | bin/ 19 | .classpath 20 | .project 21 | 22 | # fabric 23 | 24 | run/ 25 | 26 | workspace.xml -------------------------------------------------------------------------------- /fabric_1_18_2/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.18.2 8 | yarn_mappings=1.18.2+build.4 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.18.2]AllMusic_Client 14 | 15 | # Dependencies 16 | # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api 17 | fabric_version=0.77.0+1.18.2 -------------------------------------------------------------------------------- /fabric_1_18_2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_18_2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_18_2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_18_2/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | gradlePluginPortal() 8 | } 9 | } 10 | 11 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_18_2/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(InGameHud.class) 11 | public class GuiShow { 12 | @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerInventory;getArmorStack(I)Lnet/minecraft/item/ItemStack;")) 13 | public void Gui(CallbackInfo info) { 14 | AllMusicCore.hudUpdate(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_18_2/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } -------------------------------------------------------------------------------- /fabric_1_18_2/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS: 20 | case MUSIC: 21 | info.cancel(); 22 | break; 23 | } 24 | } 25 | } 26 | 27 | @Inject(method = "reloadSounds", at = @At("RETURN")) 28 | public void reload(CallbackInfo info){ 29 | AllMusicCore.reload(); 30 | } 31 | } -------------------------------------------------------------------------------- /fabric_1_18_2/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } -------------------------------------------------------------------------------- /fabric_1_18_2/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "GuiShow", 8 | "QuitServer", 9 | "SoundEvent", 10 | "Tick" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /fabric_1_18_2/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_18_2/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_18_2/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | 29 | "depends": { 30 | "fabricloader": ">=0.11.3", 31 | "fabric": "*", 32 | "minecraft": ">=1.17" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fabric_1_19/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /fabric_1_19/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # idea 9 | 10 | *.iml 11 | *.ipr 12 | *.iws 13 | 14 | # vscode 15 | 16 | .settings/ 17 | .vscode/ 18 | bin/ 19 | .classpath 20 | .project 21 | 22 | # fabric 23 | 24 | run/ 25 | logs 26 | 27 | workspace.xml -------------------------------------------------------------------------------- /fabric_1_19/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.19 8 | yarn_mappings=1.19+build.4 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.19]AllMusic_Client 14 | 15 | # Dependencies 16 | # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api 17 | fabric_version=0.58.0+1.19 -------------------------------------------------------------------------------- /fabric_1_19/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_19/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_19/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_19/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | gradlePluginPortal() 8 | } 9 | } 10 | 11 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_19/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import net.minecraft.client.util.math.MatrixStack; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(InGameHud.class) 12 | public class GuiShow { 13 | @Inject(method = {"render"}, at = {@At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;renderStatusEffectOverlay(Lnet/minecraft/client/util/math/MatrixStack;)V")}) 14 | public void Gui(MatrixStack matrices, float tickDelta, CallbackInfo ci) { 15 | AllMusicCore.hudUpdate(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_19/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_19/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "reloadSounds", at = @At("RETURN")) 25 | public void reload(CallbackInfo info){ 26 | AllMusicCore.reload(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /fabric_1_19/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_19/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "GuiShow", 8 | "QuitServer", 9 | "SoundEvent", 10 | "Tick" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /fabric_1_19/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_19/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_19/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | 29 | "depends": { 30 | "fabricloader": ">=0.11.3", 31 | "fabric": "*", 32 | "minecraft": ">=1.17" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fabric_1_19_3/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /fabric_1_19_3/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # idea 9 | 10 | *.iml 11 | *.ipr 12 | *.iws 13 | 14 | # vscode 15 | 16 | .settings/ 17 | .vscode/ 18 | bin/ 19 | .classpath 20 | .project 21 | 22 | # fabric 23 | 24 | run/ 25 | logs 26 | 27 | workspace.xml -------------------------------------------------------------------------------- /fabric_1_19_3/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.19.3 8 | yarn_mappings=1.19.3+build.5 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic 13 | archives_base_name = [fabric-1.19.3]AllMusic_Client 14 | 15 | # Dependencies 16 | # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api 17 | fabric_version=0.76.1+1.19.3 -------------------------------------------------------------------------------- /fabric_1_19_3/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_19_3/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_19_3/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists -------------------------------------------------------------------------------- /fabric_1_19_3/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | gradlePluginPortal() 8 | } 9 | } 10 | 11 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_19_3/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import net.minecraft.client.util.math.MatrixStack; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(InGameHud.class) 12 | public class GuiShow { 13 | @Inject(method = {"render"}, at = {@At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;renderStatusEffectOverlay(Lnet/minecraft/client/util/math/MatrixStack;)V")}) 14 | public void Gui(MatrixStack matrices, float tickDelta, CallbackInfo ci) { 15 | AllMusicCore.hudUpdate(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_19_3/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect()V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_19_3/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "reloadSounds", at = @At("RETURN")) 25 | public void reload(CallbackInfo info){ 26 | AllMusicCore.reload(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /fabric_1_19_3/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_19_3/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "GuiShow", 8 | "QuitServer", 9 | "SoundEvent", 10 | "Tick" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /fabric_1_19_3/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_19_3/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_19_3/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | 29 | "depends": { 30 | "fabricloader": ">=0.11.3", 31 | "fabric": "*", 32 | "minecraft": ">=1.17" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fabric_1_19_4/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | 35 | # java 36 | 37 | hs_err_*.log 38 | replay_*.log 39 | *.hprof 40 | *.jfr 41 | -------------------------------------------------------------------------------- /fabric_1_19_4/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.19.4 8 | yarn_mappings=1.19.4+build.2 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.19.4]AllMusic_Client 14 | 15 | # Dependencies 16 | fabric_version=0.87.2+1.19.4 -------------------------------------------------------------------------------- /fabric_1_19_4/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_19_4/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_19_4/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_19_4/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_19_4/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.gui.hud.InGameHud; 5 | import net.minecraft.client.util.math.MatrixStack; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(InGameHud.class) 12 | public class GuiShow { 13 | @Inject(method = {"render"}, at = {@At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;renderStatusEffectOverlay(Lnet/minecraft/client/util/math/MatrixStack;)V")}) 14 | public void Gui(MatrixStack matrices, float tickDelta, CallbackInfo ci) { 15 | AllMusicCore.hudUpdate(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_19_4/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect()V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_19_4/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "reloadSounds", at = @At("RETURN")) 25 | public void reload(CallbackInfo info){ 26 | AllMusicCore.reload(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /fabric_1_19_4/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_19_4/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "com.coloryr.allmusic.client.mixin", 4 | "compatibilityLevel": "JAVA_17", 5 | "client": [ 6 | "GuiShow", 7 | "QuitServer", 8 | "SoundEvent", 9 | "Tick" 10 | ], 11 | "injectors": { 12 | "defaultRequire": 1 13 | } 14 | } -------------------------------------------------------------------------------- /fabric_1_19_4/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_19_4/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_19_4/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | "depends": { 29 | "fabricloader": ">=0.14.18", 30 | "minecraft": "~1.19.4", 31 | "java": ">=17", 32 | "fabric-api": "*" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } -------------------------------------------------------------------------------- /fabric_1_20/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | 35 | # java 36 | 37 | hs_err_*.log 38 | replay_*.log 39 | *.hprof 40 | *.jfr 41 | -------------------------------------------------------------------------------- /fabric_1_20/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.20 8 | yarn_mappings=1.20+build.1 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.20]AllMusic_Client 14 | 15 | # Dependencies 16 | fabric_version=0.83.0+1.20 -------------------------------------------------------------------------------- /fabric_1_20/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_20/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_20/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_20/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_20/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.AllMusic; 4 | import net.minecraft.client.gui.DrawContext; 5 | import net.minecraft.client.gui.hud.InGameHud; 6 | import net.minecraft.client.util.math.MatrixStack; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(InGameHud.class) 13 | public class GuiShow { 14 | @Inject(method = {"render"}, at = {@At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;renderStatusEffectOverlay(Lnet/minecraft/client/gui/DrawContext;)V")}) 15 | public void Gui(DrawContext context, float tickDelta, CallbackInfo ci) { 16 | AllMusic.update(context); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /fabric_1_20/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect()V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_20/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;I)V", at = @At("HEAD"), cancellable = true) 25 | public void play(SoundInstance soundInstance, int delay, CallbackInfo info) { 26 | if (AllMusicCore.isPlay()) { 27 | SoundCategory data = soundInstance.getCategory(); 28 | switch (data) { 29 | case RECORDS, MUSIC -> info.cancel(); 30 | } 31 | } 32 | } 33 | 34 | @Inject(method = "reloadSounds", at = @At("RETURN")) 35 | public void reload(CallbackInfo info){ 36 | AllMusicCore.reload(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /fabric_1_20/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_20/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "com.coloryr.allmusic.client.mixin", 4 | "compatibilityLevel": "JAVA_17", 5 | "client": [ 6 | "GuiShow", 7 | "QuitServer", 8 | "SoundEvent", 9 | "Tick" 10 | ], 11 | "injectors": { 12 | "defaultRequire": 1 13 | } 14 | } -------------------------------------------------------------------------------- /fabric_1_20/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_20/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_20/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | "depends": { 29 | "fabricloader": ">=0.14.21", 30 | "minecraft": "~1.20", 31 | "java": ">=17", 32 | "fabric-api": "*" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } -------------------------------------------------------------------------------- /fabric_1_20_6/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | 35 | # java 36 | 37 | hs_err_*.log 38 | replay_*.log 39 | *.hprof 40 | *.jfr 41 | -------------------------------------------------------------------------------- /fabric_1_20_6/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.20.6 8 | yarn_mappings=1.20.6+build.3 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.20.6]AllMusic_Client 14 | 15 | # Dependencies 16 | fabric_version=0.100.8+1.20.6 -------------------------------------------------------------------------------- /fabric_1_20_6/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_20_6/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_20_6/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_20_6/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_20_6/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.AllMusic; 4 | import net.minecraft.client.gui.DrawContext; 5 | import net.minecraft.client.gui.hud.InGameHud; 6 | import net.minecraft.client.util.math.MatrixStack; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(InGameHud.class) 13 | public class GuiShow { 14 | @Inject(method = {"renderStatusEffectOverlay"}, at = {@At(value = "HEAD")}) 15 | public void Gui(DrawContext context, float tickDelta, CallbackInfo ci) { 16 | AllMusic.update(context); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /fabric_1_20_6/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect()V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_20_6/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;I)V", at = @At("HEAD"), cancellable = true) 25 | public void play(SoundInstance soundInstance, int delay, CallbackInfo info) { 26 | if (AllMusicCore.isPlay()) { 27 | SoundCategory data = soundInstance.getCategory(); 28 | switch (data) { 29 | case RECORDS, MUSIC -> info.cancel(); 30 | } 31 | } 32 | } 33 | 34 | @Inject(method = "reloadSounds", at = @At("RETURN")) 35 | public void reload(CallbackInfo info){ 36 | AllMusicCore.reload(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /fabric_1_20_6/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_20_6/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "com.coloryr.allmusic.client.mixin", 4 | "compatibilityLevel": "JAVA_17", 5 | "client": [ 6 | "GuiShow", 7 | "QuitServer", 8 | "SoundEvent", 9 | "Tick" 10 | ], 11 | "injectors": { 12 | "defaultRequire": 1 13 | } 14 | } -------------------------------------------------------------------------------- /fabric_1_20_6/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_20_6/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_20_6/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | "depends": { 29 | "fabricloader": ">=0.14.21", 30 | "minecraft": "~1.20", 31 | "java": ">=17", 32 | "fabric-api": "*" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } -------------------------------------------------------------------------------- /fabric_1_21/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | 35 | # java 36 | 37 | hs_err_*.log 38 | replay_*.log 39 | *.hprof 40 | *.jfr 41 | -------------------------------------------------------------------------------- /fabric_1_21/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.21 8 | yarn_mappings=1.21+build.9 9 | loader_version=0.16.2 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.21]AllMusic_Client 14 | 15 | # Dependencies 16 | fabric_version=0.102.0+1.21 -------------------------------------------------------------------------------- /fabric_1_21/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_21/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_21/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_21/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_21/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.AllMusic; 4 | import net.minecraft.client.gui.DrawContext; 5 | import net.minecraft.client.gui.hud.InGameHud; 6 | import net.minecraft.client.render.RenderTickCounter; 7 | import net.minecraft.client.util.math.MatrixStack; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(InGameHud.class) 14 | public class GuiShow { 15 | @Inject(method = {"renderStatusEffectOverlay"}, at = {@At(value = "HEAD")}) 16 | public void Gui(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci) { 17 | AllMusic.update(context); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /fabric_1_21/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;Z)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_21/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;I)V", at = @At("HEAD"), cancellable = true) 25 | public void play(SoundInstance soundInstance, int delay, CallbackInfo info) { 26 | if (AllMusicCore.isPlay()) { 27 | SoundCategory data = soundInstance.getCategory(); 28 | switch (data) { 29 | case RECORDS, MUSIC -> info.cancel(); 30 | } 31 | } 32 | } 33 | 34 | @Inject(method = "reloadSounds", at = @At("RETURN")) 35 | public void reload(CallbackInfo info){ 36 | AllMusicCore.reload(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /fabric_1_21/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_21/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "com.coloryr.allmusic.client.mixin", 4 | "compatibilityLevel": "JAVA_21", 5 | "client": [ 6 | "GuiShow", 7 | "QuitServer", 8 | "SoundEvent", 9 | "Tick" 10 | ], 11 | "injectors": { 12 | "defaultRequire": 1 13 | } 14 | } -------------------------------------------------------------------------------- /fabric_1_21/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_21/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_21/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | "depends": { 29 | "fabricloader": ">=0.15.11", 30 | "minecraft": "~1.21", 31 | "java": ">=21", 32 | "fabric-api": "*" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } -------------------------------------------------------------------------------- /fabric_1_21_3/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | 35 | # java 36 | 37 | hs_err_*.log 38 | replay_*.log 39 | *.hprof 40 | *.jfr 41 | -------------------------------------------------------------------------------- /fabric_1_21_3/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.21.3 8 | yarn_mappings=1.21.3+build.2 9 | loader_version=0.16.9 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.21.3]AllMusic_Client 14 | 15 | # Dependencies 16 | fabric_version=0.108.0+1.21.3 -------------------------------------------------------------------------------- /fabric_1_21_3/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_21_3/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_21_3/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_21_3/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.AllMusic; 4 | import net.minecraft.client.gui.DrawContext; 5 | import net.minecraft.client.gui.hud.InGameHud; 6 | import net.minecraft.client.render.RenderTickCounter; 7 | import net.minecraft.client.util.math.MatrixStack; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(InGameHud.class) 14 | public class GuiShow { 15 | @Inject(method = {"renderStatusEffectOverlay"}, at = {@At(value = "HEAD")}) 16 | public void Gui(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci) { 17 | AllMusic.update(context); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;Z)V", at = @At("TAIL")) 13 | public void Quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;I)V", at = @At("HEAD"), cancellable = true) 25 | public void play(SoundInstance soundInstance, int delay, CallbackInfo info) { 26 | if (AllMusicCore.isPlay()) { 27 | SoundCategory data = soundInstance.getCategory(); 28 | switch (data) { 29 | case RECORDS, MUSIC -> info.cancel(); 30 | } 31 | } 32 | } 33 | 34 | @Inject(method = "reloadSounds", at = @At("RETURN")) 35 | public void reload(CallbackInfo info){ 36 | AllMusicCore.reload(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_21_3/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "com.coloryr.allmusic.client.mixin", 4 | "compatibilityLevel": "JAVA_21", 5 | "client": [ 6 | "GuiShow", 7 | "QuitServer", 8 | "SoundEvent", 9 | "Tick" 10 | ], 11 | "injectors": { 12 | "defaultRequire": 1 13 | } 14 | } -------------------------------------------------------------------------------- /fabric_1_21_3/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_21_3/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_21_3/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client": [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | "depends": { 29 | "fabricloader": ">=0.15.11", 30 | "minecraft": "~1.21", 31 | "java": ">=21", 32 | "fabric-api": "*" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } -------------------------------------------------------------------------------- /fabric_1_21_5/.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | 35 | # java 36 | 37 | hs_err_*.log 38 | replay_*.log 39 | *.hprof 40 | *.jfr 41 | -------------------------------------------------------------------------------- /fabric_1_21_5/gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.21.5 8 | yarn_mappings=1.21.5+build.1 9 | loader_version=0.16.13 10 | 11 | # Mod Properties 12 | maven_group = com.coloryr.allmusic.client 13 | archives_base_name = [fabric-1.21.3]AllMusic_Client 14 | 15 | # Dependencies 16 | fabric_version=0.120.0+1.21.5 -------------------------------------------------------------------------------- /fabric_1_21_5/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_21_5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fabric_1_21_5/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /fabric_1_21_5/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/java/com/coloryr/allmusic/client/mixin/GuiShow.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.AllMusic; 4 | import net.minecraft.client.gui.DrawContext; 5 | import net.minecraft.client.gui.hud.InGameHud; 6 | import net.minecraft.client.render.RenderTickCounter; 7 | import net.minecraft.client.util.math.MatrixStack; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(InGameHud.class) 14 | public class GuiShow { 15 | @Inject(method = {"renderStatusEffectOverlay"}, at = {@At(value = "HEAD")}) 16 | public void guiShow(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci) { 17 | AllMusic.update(context); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/java/com/coloryr/allmusic/client/mixin/QuitServer.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class QuitServer { 12 | @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;Z)V", at = @At("TAIL")) 13 | public void quit(CallbackInfo info) { 14 | AllMusicCore.onServerQuit(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/java/com/coloryr/allmusic/client/mixin/Register.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.fabricmc.loader.api.FabricLoader; 5 | import net.minecraft.client.MinecraftClient; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(MinecraftClient.class) 12 | public class Register { 13 | @Inject(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/TitleScreen;registerTextures(Lnet/minecraft/client/texture/TextureManager;)V")) 14 | public void register(CallbackInfo info) { 15 | AllMusicCore.glInit(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/java/com/coloryr/allmusic/client/mixin/SoundEvent.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.sound.SoundInstance; 5 | import net.minecraft.client.sound.SoundSystem; 6 | import net.minecraft.sound.SoundCategory; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.injection.At; 9 | import org.spongepowered.asm.mixin.injection.Inject; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(SoundSystem.class) 13 | public class SoundEvent { 14 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true) 15 | public void play(SoundInstance soundInstance, CallbackInfo info) { 16 | if (AllMusicCore.isPlay()) { 17 | SoundCategory data = soundInstance.getCategory(); 18 | switch (data) { 19 | case RECORDS, MUSIC -> info.cancel(); 20 | } 21 | } 22 | } 23 | 24 | @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;I)V", at = @At("HEAD"), cancellable = true) 25 | public void play(SoundInstance soundInstance, int delay, CallbackInfo info) { 26 | if (AllMusicCore.isPlay()) { 27 | SoundCategory data = soundInstance.getCategory(); 28 | switch (data) { 29 | case RECORDS, MUSIC -> info.cancel(); 30 | } 31 | } 32 | } 33 | 34 | @Inject(method = "reloadSounds", at = @At("RETURN")) 35 | public void reload(CallbackInfo info){ 36 | AllMusicCore.reload(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/java/com/coloryr/allmusic/client/mixin/Tick.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import com.coloryr.allmusic.client.core.AllMusicCore; 4 | import net.minecraft.client.MinecraftClient; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(MinecraftClient.class) 11 | public class Tick { 12 | 13 | @Inject(method = "tick", at = @At("TAIL")) 14 | public void tick(CallbackInfo info) { 15 | AllMusicCore.tick(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "com.coloryr.allmusic.client.mixin", 4 | "compatibilityLevel": "JAVA_21", 5 | "client": [ 6 | "GuiShow", 7 | "QuitServer", 8 | "Register", 9 | "SoundEvent", 10 | "Tick" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1 14 | } 15 | } -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/resources/assets/allmusic_client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/fabric_1_21_5/src/main/resources/assets/allmusic_client/icon.png -------------------------------------------------------------------------------- /fabric_1_21_5/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "allmusic_client", 4 | "version": "${version}", 5 | 6 | "name": "AllMusic Client", 7 | "description": "AllMusic Client mod", 8 | "authors": [ 9 | "Color_yr" 10 | ], 11 | "contact": { 12 | "homepage": "https://github.com/Coloryr/AllMusic_Client/", 13 | "sources": "https://github.com/Coloryr/AllMusic_Client/" 14 | }, 15 | 16 | "license": "GPL-3.0", 17 | "icon": "assets/allmusic_client/icon.png", 18 | 19 | "environment": "*", 20 | "entrypoints": { 21 | "client" : [ 22 | "com.coloryr.allmusic.client.AllMusic" 23 | ] 24 | }, 25 | "mixins": [ 26 | "allmusic_client.mixins.json" 27 | ], 28 | "depends": { 29 | "fabricloader": ">=0.15.11", 30 | "minecraft": "~1.21", 31 | "java": ">=21", 32 | "fabric-api": "*" 33 | }, 34 | "suggests": { 35 | 36 | } 37 | } -------------------------------------------------------------------------------- /forge_1_12_2/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_12_2/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | 15 | # gradle 16 | build 17 | classes 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | 24 | logs 25 | -------------------------------------------------------------------------------- /forge_1_12_2/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_12_2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_12_2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_12_2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip 6 | -------------------------------------------------------------------------------- /forge_1_12_2/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_12_2/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_12_2/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_12_2/src/main/resources/mcmod.info: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "modid": "allmusic_client", 4 | "name": "AllMusic Client", 5 | "description": "allmusic client mod", 6 | "version": "3.1.0", 7 | "mcversion": "1.12.2", 8 | "url": "https://github.com/Coloryr/AllMusic_Client", 9 | "updateUrl": "", 10 | "authorList": [ 11 | "Color_yr" 12 | ], 13 | "credits": "This mod is use in allmusic", 14 | "logoFile": "icon.png", 15 | "screenshots": [], 16 | "useDependencyInformation": true, 17 | "dependencies": ["allmusic_server"] 18 | } 19 | ] 20 | -------------------------------------------------------------------------------- /forge_1_12_2/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "allmusic resources", 4 | "pack_format": 3, 5 | "_comment": "use in allmusic" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /forge_1_14_4/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_14_4/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | 15 | # gradle 16 | build 17 | .gradle 18 | 19 | # other 20 | eclipse 21 | run 22 | 23 | # Files from Forge MDK 24 | forge*changelog.txt 25 | 26 | logs 27 | workspace.xml -------------------------------------------------------------------------------- /forge_1_14_4/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_14_4/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_14_4/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_14_4/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip 6 | -------------------------------------------------------------------------------- /forge_1_14_4/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_14_4/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_14_4/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_14_4/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "heartage resources", 4 | "pack_format": 4, 5 | "_comment": "A pack_format of 4 requires json lang files. Note: we require v4 pack meta for all mods." 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /forge_1_15_2/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_15_2/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | 15 | # gradle 16 | build 17 | .gradle 18 | 19 | # other 20 | eclipse 21 | run 22 | 23 | # Files from Forge MDK 24 | forge*changelog.txt 25 | 26 | workspace.xml -------------------------------------------------------------------------------- /forge_1_15_2/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_15_2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_15_2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_15_2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip 6 | -------------------------------------------------------------------------------- /forge_1_15_2/logs/debug.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_15_2/logs/debug.log -------------------------------------------------------------------------------- /forge_1_15_2/logs/latest.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_15_2/logs/latest.log -------------------------------------------------------------------------------- /forge_1_15_2/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_15_2/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_15_2/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_15_2/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "heartage resources", 4 | "pack_format": 4, 5 | "_comment": "A pack_format of 4 requires json lang files. Note: we require v4 pack meta for all mods." 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /forge_1_16_5/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_16_5/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | 15 | # gradle 16 | build 17 | .gradle 18 | 19 | # other 20 | eclipse 21 | run 22 | 23 | # Files from Forge MDK 24 | forge*changelog.txt 25 | 26 | workspace.xml -------------------------------------------------------------------------------- /forge_1_16_5/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_16_5/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_16_5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_16_5/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /forge_1_16_5/logs/latest.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_16_5/logs/latest.log -------------------------------------------------------------------------------- /forge_1_16_5/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_16_5/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_16_5/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_16_5/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "allmusic resources", 4 | "pack_format": 4, 5 | "_comment": "A pack_format of 4 requires json lang files. Note: we require v4 pack meta for all mods." 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /forge_1_17_1/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_17_1/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | 15 | # gradle 16 | build 17 | .gradle 18 | 19 | # other 20 | eclipse 21 | run 22 | 23 | # Files from Forge MDK 24 | forge*changelog.txt 25 | 26 | workspace.xml -------------------------------------------------------------------------------- /forge_1_17_1/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_17_1/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_17_1/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_17_1/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /forge_1_17_1/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_17_1/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_17_1/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_17_1/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "allmusic resources", 4 | "pack_format": 7 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /forge_1_18_2/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_18_2/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | 15 | # gradle 16 | build 17 | .gradle 18 | 19 | # other 20 | eclipse 21 | run 22 | 23 | # Files from Forge MDK 24 | forge*changelog.txt 25 | 26 | workspace.xml 27 | -------------------------------------------------------------------------------- /forge_1_18_2/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_18_2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_18_2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_18_2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /forge_1_18_2/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_18_2/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_18_2/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_18_2/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "heartage resources", 4 | "pack_format": 8, 5 | "_comment": "A pack_format of 6 requires json lang files. Note: we require v6 pack meta for all mods." 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /forge_1_19_2/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_19_2/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | 15 | # gradle 16 | build 17 | .gradle 18 | 19 | # other 20 | eclipse 21 | run 22 | 23 | # Files from Forge MDK 24 | forge*changelog.txt 25 | 26 | workspace.xml -------------------------------------------------------------------------------- /forge_1_19_2/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_19_2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_19_2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_19_2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /forge_1_19_2/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven { url = 'https://maven.minecraftforge.net/' } 5 | } 6 | } 7 | 8 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_19_2/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_19_2/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_19_2/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "allmusic resources", 4 | "pack_format": 9, 5 | "forge:resource_pack_format": 9, 6 | "forge:data_pack_format": 10 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /forge_1_19_3/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /forge_1_19_3/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_19_3/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_19_3/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /forge_1_19_3/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven { url = 'https://maven.minecraftforge.net/' } 5 | } 6 | } 7 | 8 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_19_3/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_19_3/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_19_3/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "allmusic resources", 4 | "pack_format": 9, 5 | "forge:resource_pack_format": 9, 6 | "forge:data_pack_format": 10 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /forge_1_20/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_20/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_20/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /forge_1_20/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven { 5 | name = 'MinecraftForge' 6 | url = 'https://maven.minecraftforge.net/' 7 | } 8 | maven { 9 | name = "Sponge Maven Repository" 10 | url = "https://repo.spongepowered.org/repository/maven-public/" 11 | } 12 | } 13 | } 14 | 15 | plugins { 16 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0' 17 | } 18 | 19 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_20/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_20/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_20/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": { 4 | "text": "${mod_id} resources" 5 | }, 6 | "pack_format": 15 7 | } 8 | } -------------------------------------------------------------------------------- /forge_1_20_4/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_20_4/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_20_4/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /forge_1_20_4/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven { 5 | name = 'MinecraftForge' 6 | url = 'https://maven.minecraftforge.net/' 7 | } 8 | maven { 9 | name = "Sponge Maven Repository" 10 | url = "https://repo.spongepowered.org/repository/maven-public/" 11 | } 12 | } 13 | } 14 | 15 | plugins { 16 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' 17 | } 18 | 19 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_20_4/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_20_4/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_20_4/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": { 4 | "text": "${mod_id} resources" 5 | }, 6 | "pack_format": 15 7 | } 8 | } -------------------------------------------------------------------------------- /forge_1_20_6/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_20_6/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_20_6/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /forge_1_20_6/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven { 5 | name = 'MinecraftForge' 6 | url = 'https://maven.minecraftforge.net/' 7 | } 8 | maven { 9 | name = "Sponge Maven Repository" 10 | url = "https://repo.spongepowered.org/repository/maven-public/" 11 | } 12 | } 13 | } 14 | 15 | plugins { 16 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' 17 | } 18 | 19 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_20_6/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_20_6/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_20_6/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": { 4 | "text": "${mod_id} resources" 5 | }, 6 | "pack_format": 15 7 | } 8 | } -------------------------------------------------------------------------------- /forge_1_21/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_21/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_21/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /forge_1_21/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven { 5 | name = 'MinecraftForge' 6 | url = 'https://maven.minecraftforge.net/' 7 | } 8 | maven { 9 | name = "Sponge Maven Repository" 10 | url = "https://repo.spongepowered.org/repository/maven-public/" 11 | } 12 | maven { url = 'https://repo.spongepowered.org/repository/maven-public/' } 13 | } 14 | } 15 | 16 | plugins { 17 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' 18 | } 19 | 20 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_21/src/main/java/com/coloryr/allmusic/client/mixin/GuiMixin.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import net.minecraft.client.gui.Gui; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | 6 | @Mixin(Gui.class) 7 | public class GuiMixin { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /forge_1_21/src/main/java/com/coloryr/allmusic/client/mixin/IGuiGetter.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client.mixin; 2 | 3 | import net.minecraft.client.gui.Gui; 4 | import net.minecraft.client.gui.LayeredDraw; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.gen.Accessor; 7 | 8 | @Mixin(Gui.class) 9 | public interface IGuiGetter { 10 | @Accessor(value = "layers") 11 | LayeredDraw getLayers(); 12 | } 13 | -------------------------------------------------------------------------------- /forge_1_21/src/main/resources/allmusic_client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.coloryr.allmusic.client.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "refmap": "allmusic_client.refmap.json", 7 | "mixins": [ 8 | "GuiMixin" 9 | ], 10 | "client": [ 11 | "IGuiGetter" 12 | ], 13 | "injectors": { 14 | "defaultRequire": 1 15 | } 16 | } -------------------------------------------------------------------------------- /forge_1_21/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_21/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_21/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "${mod_id} resources", 4 | "pack_format": 34 5 | } 6 | } -------------------------------------------------------------------------------- /forge_1_7_10/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /forge_1_7_10/.gitignore: -------------------------------------------------------------------------------- 1 | **/.gradle 2 | **/.idea 3 | **/build 4 | **/run 5 | 6 | logs -------------------------------------------------------------------------------- /forge_1_7_10/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_7_10/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge_1_7_10/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists -------------------------------------------------------------------------------- /forge_1_7_10/repositories.gradle: -------------------------------------------------------------------------------- 1 | // Add any additional repositories for your dependencies here 2 | 3 | repositories { 4 | 5 | } -------------------------------------------------------------------------------- /forge_1_7_10/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | // RetroFuturaGradle 5 | name "GTNH Maven" 6 | url "https://nexus.gtnewhorizons.com/repository/public/" 7 | mavenContent { 8 | includeGroupByRegex("com\\.gtnewhorizons\\..+") 9 | } 10 | } 11 | gradlePluginPortal() 12 | mavenCentral() 13 | mavenLocal() 14 | } 15 | } 16 | 17 | plugins { 18 | id 'com.diffplug.blowdryerSetup' version '1.7.1' 19 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' // Provides java toolchains 20 | } 21 | 22 | blowdryerSetup { 23 | repoSubfolder 'gtnhShared' 24 | github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.2.2') 25 | //devLocal '.' // Use this when testing config updates locally 26 | } 27 | 28 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /forge_1_7_10/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/forge_1_7_10/src/main/resources/icon.png -------------------------------------------------------------------------------- /forge_1_7_10/src/main/resources/mcmod.info: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "modid": "allmusic_client", 4 | "name": "AllMusic Client", 5 | "description": "allmusic mod", 6 | "version": "3.1.0", 7 | "mcversion": "1.7.10", 8 | "url": "https://github.com/Coloryr/AllMusic_Client", 9 | "updateUrl": "", 10 | "authorList": [ 11 | "Color_yr" 12 | ], 13 | "credits": "This mod is use in AllMusic.", 14 | "logoFile": "icon.png", 15 | "screenshots": [], 16 | "dependencies": [] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /forge_1_7_10/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "allmusic resources", 4 | "pack_format": 3, 5 | "_comment": "use in allmusic" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /link.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | mkdir "build\libs" 4 | mkdir ".gradle" 5 | 6 | setlocal enabledelayedexpansion 7 | 8 | set array=fabric_1_14_4 fabric_1_15_2 fabric_1_16_5 fabric_1_17_1 fabric_1_18_2 ^ 9 | fabric_1_19 fabric_1_19_3 fabric_1_19_4 fabric_1_20 fabric_1_20_6 fabric_1_21 ^ 10 | forge_1_7_10 forge_1_12_2 forge_1_14_4 forge_1_15_2 forge_1_16_5 ^ 11 | forge_1_17_1 forge_1_18_2 forge_1_19_2 forge_1_19_3 forge_1_20 ^ 12 | forge_1_20_4 forge_1_20_6 forge_1_21 neoforge_1_20_4 neoforge_1_20_6 neoforge_1_21 ^ 13 | neoforge_1_21_3 fabric_1_21_3 neoforge_1_21_5 fabric_1_21_5 14 | 15 | for %%i in (%array%) do ( 16 | if not exist "%%i\src\main\java\com\coloryr\allmusic\client" mkdir "%%i\src\main\java\com\coloryr\allmusic\client" 17 | if not exist "%%i\src\main\resources\com\coloryr\allmusic\client\core\player\decoder" mkdir "%%i\src\main\resources\com\coloryr\allmusic\client\core\player\decoder" 18 | 19 | if not exist "%%i\src\main\resources\com\coloryr\allmusic\client\core\player\decoder\mp3" mklink /j "%%i\src\main\resources\com\coloryr\allmusic\client\core\player\decoder\mp3" "mp3" 20 | if not exist "%%i\src\main\java\com\coloryr\allmusic\client\core" mklink /j "%%i\src\main\java\com\coloryr\allmusic\client\core" "core" 21 | if not exist "%%i\build" mkdir "%%i\build" && mklink /j "%%i\build\libs" "build\libs" 22 | if not exist "%%i\.gradle" mklink /j "%%i\.gradle" ".gradle" 23 | ) 24 | 25 | endlocal -------------------------------------------------------------------------------- /mp3/au2lin.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/mp3/au2lin.ser -------------------------------------------------------------------------------- /mp3/l3reorder.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/mp3/l3reorder.ser -------------------------------------------------------------------------------- /mp3/lin2au.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/mp3/lin2au.ser -------------------------------------------------------------------------------- /mp3/sfd.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/mp3/sfd.ser -------------------------------------------------------------------------------- /neoforge_1_20_4/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /neoforge_1_20_4/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/command_history.txt: -------------------------------------------------------------------------------- 1 | /music https://music.163.com/song?id=719102&userid=124183854 2 | /music https://music.163.com/song?id=501660&userid=124183854 3 | /music https://music.163.com/song?id=1934315838&userid=124183854 4 | -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/config/allmusic.json: -------------------------------------------------------------------------------- 1 | { 2 | "picSize": 500, 3 | "queueSize": 100, 4 | "exitSize": 50 5 | } -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/config/fml.toml: -------------------------------------------------------------------------------- 1 | #Early window height 2 | earlyWindowHeight = 480 3 | #Enable NeoForge global version checking 4 | versionCheck = true 5 | #Should we control the window. Disabling this disables new GL features and can be bad for mods that rely on them. 6 | earlyWindowControl = true 7 | #Early window framebuffer scale 8 | earlyWindowFBScale = 1 9 | #Disables File Watcher. Used to automatically update config if its file has been modified. 10 | disableConfigWatcher = false 11 | #Early window provider 12 | earlyWindowProvider = "fmlearlywindow" 13 | #Early window width 14 | earlyWindowWidth = 854 15 | #Early window starts maximized 16 | earlyWindowMaximized = false 17 | #Default config path for servers 18 | defaultConfigPath = "defaultconfigs" 19 | #Disables Optimized DFU client-side - already disabled on servers 20 | disableOptimizedDFU = true 21 | #Skip specific GL versions, may help with buggy graphics card drivers 22 | earlyWindowSkipGLVersions = [] 23 | #Max threads for early initialization parallelism, -1 is based on processor count 24 | maxThreads = -1 25 | #Squir? 26 | earlyWindowSquir = false 27 | 28 | -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/config/neoforge-client.toml: -------------------------------------------------------------------------------- 1 | #Client only settings, mostly things related to rendering 2 | [client] 3 | #Enable NeoForge to queue all chunk updates to the Chunk Update thread. 4 | #May increase FPS significantly, but may also cause weird rendering lag. 5 | #Not recommended for computers without a significant number of cores available. 6 | alwaysSetupTerrainOffThread = false 7 | #EXPERIMENTAL: Enable the NeoForge block rendering pipeline - fixes the lighting of custom models. 8 | experimentalForgeLightPipelineEnabled = false 9 | #When enabled, NeoForge will show any warnings that occurred during loading. 10 | showLoadWarnings = true 11 | #Set to true to use a combined DEPTH_STENCIL attachment instead of two separate ones. 12 | useCombinedDepthStencilAttachment = false 13 | #[Deprecated for Removal] IPv6 addresses will always be compressed 14 | compressLanIPv6Addresses = true 15 | 16 | -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/downloads/log.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/downloads/log.json -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/2024-04-29-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/2024-04-29-1.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/2024-04-29-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/2024-04-29-2.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/2024-04-29-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/2024-04-29-3.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/2024-04-29-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/2024-04-29-4.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/2024-04-29-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/2024-04-29-5.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/2024-04-29-6.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/2024-04-29-6.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/2024-04-29-7.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/2024-04-29-7.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/debug-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/debug-1.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/debug-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/debug-2.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/debug-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/debug-3.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/debug-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/debug-4.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/debug-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/debug-5.log.gz -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/debug.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/debug.log -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/logs/latest.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/runs/client/logs/latest.log -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/servers.dat: -------------------------------------------------------------------------------- 1 | 2 | servers 3 | hiddenip 127.0.0.1nameMinecraft服务器 -------------------------------------------------------------------------------- /neoforge_1_20_4/runs/client/servers.dat_old: -------------------------------------------------------------------------------- 1 | 2 | servers 3 | hiddenip 127.0.0.1nameMinecraft服务器 -------------------------------------------------------------------------------- /neoforge_1_20_4/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | gradlePluginPortal() 5 | maven { url = 'https://maven.neoforged.net/releases' } 6 | } 7 | } 8 | 9 | plugins { 10 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' 11 | } 12 | 13 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /neoforge_1_20_4/src/main/java/com/coloryr/allmusic/client/PackData.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client; 2 | 3 | import io.netty.buffer.ByteBuf; 4 | import net.minecraft.network.FriendlyByteBuf; 5 | import net.minecraft.network.protocol.common.custom.CustomPacketPayload; 6 | import net.minecraft.resources.ResourceLocation; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | public record PackData(ByteBuf buffer) implements CustomPacketPayload { 10 | @Override 11 | public void write(@NotNull FriendlyByteBuf pBuffer) { 12 | pBuffer.writeBytes(buffer); 13 | } 14 | 15 | @Override 16 | public @NotNull ResourceLocation id() { 17 | return AllMusic.channel; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /neoforge_1_20_4/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_4/src/main/resources/icon.png -------------------------------------------------------------------------------- /neoforge_1_20_6/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | .idea 9 | 10 | # idea 11 | out 12 | *.ipr 13 | *.iws 14 | *.iml 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | runs 24 | 25 | # Files from Forge MDK 26 | forge*changelog.txt 27 | 28 | workspace.xml 29 | 30 | **/allmusic/client/player/ 31 | **/allmusic/client/player/decoder/mp3/ 32 | **/allmusic/client/hud/ 33 | **/allmusic/client/player/decoder/ -------------------------------------------------------------------------------- /neoforge_1_20_6/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_6/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /neoforge_1_20_6/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /neoforge_1_20_6/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | gradlePluginPortal() 5 | maven { url = 'https://maven.neoforged.net/releases' } 6 | } 7 | } 8 | 9 | plugins { 10 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' 11 | } 12 | 13 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /neoforge_1_20_6/src/main/java/com/coloryr/allmusic/client/PackData.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client; 2 | 3 | import net.minecraft.network.protocol.common.custom.CustomPacketPayload; 4 | 5 | public record PackData() implements CustomPacketPayload { 6 | public static final Type TYPE = new Type<>(AllMusic.channel); 7 | @Override 8 | public Type type() { 9 | return TYPE; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /neoforge_1_20_6/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_20_6/src/main/resources/icon.png -------------------------------------------------------------------------------- /neoforge_1_21/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | .idea 9 | 10 | # idea 11 | out 12 | *.ipr 13 | *.iws 14 | *.iml 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | runs 24 | 25 | # Files from Forge MDK 26 | forge*changelog.txt 27 | 28 | workspace.xml 29 | 30 | **/allmusic/client/player/ 31 | **/allmusic/client/player/decoder/mp3/ 32 | **/allmusic/client/hud/ 33 | **/allmusic/client/player/decoder/ -------------------------------------------------------------------------------- /neoforge_1_21/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | org.gradle.jvmargs=-Xmx1G 3 | org.gradle.daemon=false 4 | org.gradle.debug=false 5 | 6 | #read more on this at https://github.com/neoforged/NeoGradle/blob/NG_7.0/README.md#apply-parchment-mappings 7 | # you can also find the latest versions at: https://parchmentmc.org/docs/getting-started 8 | neogradle.subsystems.parchment.minecraftVersion=1.21 9 | neogradle.subsystems.parchment.mappingsVersion=2024.07.28 10 | # Environment Properties 11 | # You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge 12 | # The Minecraft version must agree with the Neo version to get a valid artifact 13 | minecraft_version=1.21 14 | # The Minecraft version range can use any release version of Minecraft as bounds. 15 | # Snapshots, pre-releases, and release candidates are not guaranteed to sort properly 16 | # as they do not follow standard versioning conventions. 17 | minecraft_version_range=[1.21,1.22) 18 | # The Neo version must agree with the Minecraft version to get a valid artifact 19 | neo_version=21.0.167 20 | # The Neo version range can use any version of Neo as bounds 21 | neo_version_range=[21.0.0-beta,) 22 | # The loader version range can only use the major version of FML as bounds 23 | loader_version_range=[4,) 24 | 25 | ## Mod Properties 26 | 27 | # The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63} 28 | # Must match the String constant located in the main mod class annotated with @Mod. 29 | file_name=[neoforge-1.21]AllMusic_Client 30 | 31 | mod_id=allmusic_client 32 | # The human-readable display name for the mod. 33 | mod_name=AllMusic Client 34 | # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. 35 | mod_license=GPL-3.0 36 | mod_version=1.0 37 | # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. 38 | # This should match the base package used for the mod sources. 39 | # See https://maven.apache.org/guides/mini/guide-naming-conventions.html 40 | mod_group_id=com.coloryr.allmusic.client 41 | # The authors of the mod. This is a simple text string that is used for display purposes in the mod list. 42 | mod_authors=Color_yr 43 | # The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list. 44 | mod_description=AllMusic Client Mod -------------------------------------------------------------------------------- /neoforge_1_21/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_21/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /neoforge_1_21/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /neoforge_1_21/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | gradlePluginPortal() 5 | maven { url = 'https://maven.neoforged.net/releases' } 6 | } 7 | } 8 | 9 | plugins { 10 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' 11 | } 12 | 13 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /neoforge_1_21/src/main/java/com/coloryr/allmusic/client/PackData.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client; 2 | 3 | import net.minecraft.network.protocol.common.custom.CustomPacketPayload; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public record PackData() implements CustomPacketPayload { 7 | public static final Type TYPE = new Type<>(AllMusic.channel); 8 | @Override 9 | public @NotNull Type type() { 10 | return TYPE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /neoforge_1_21/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_21/src/main/resources/icon.png -------------------------------------------------------------------------------- /neoforge_1_21_3/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | .idea 9 | 10 | # idea 11 | out 12 | *.ipr 13 | *.iws 14 | *.iml 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | runs 24 | 25 | # Files from Forge MDK 26 | forge*changelog.txt 27 | 28 | workspace.xml 29 | 30 | **/allmusic/client/player/ 31 | **/allmusic/client/player/decoder/mp3/ 32 | **/allmusic/client/hud/ 33 | **/allmusic/client/player/decoder/ -------------------------------------------------------------------------------- /neoforge_1_21_3/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_21_3/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /neoforge_1_21_3/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists -------------------------------------------------------------------------------- /neoforge_1_21_3/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | gradlePluginPortal() 5 | maven { url = 'https://maven.neoforged.net/releases' } 6 | } 7 | } 8 | 9 | plugins { 10 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' 11 | } 12 | 13 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /neoforge_1_21_3/src/main/java/com/coloryr/allmusic/client/PackData.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client; 2 | 3 | import net.minecraft.network.protocol.common.custom.CustomPacketPayload; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public record PackData() implements CustomPacketPayload { 7 | public static final Type TYPE = new Type<>(AllMusic.channel); 8 | @Override 9 | public @NotNull Type type() { 10 | return TYPE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /neoforge_1_21_3/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_21_3/src/main/resources/icon.png -------------------------------------------------------------------------------- /neoforge_1_21_5/.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | .idea 9 | 10 | # idea 11 | out 12 | *.ipr 13 | *.iws 14 | *.iml 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | runs 24 | 25 | # Files from Forge MDK 26 | forge*changelog.txt 27 | 28 | workspace.xml 29 | 30 | **/allmusic/client/player/ 31 | **/allmusic/client/player/decoder/mp3/ 32 | **/allmusic/client/hud/ 33 | **/allmusic/client/player/decoder/ -------------------------------------------------------------------------------- /neoforge_1_21_5/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_21_5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /neoforge_1_21_5/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists -------------------------------------------------------------------------------- /neoforge_1_21_5/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | gradlePluginPortal() 5 | maven { url = 'https://maven.neoforged.net/releases' } 6 | } 7 | } 8 | 9 | plugins { 10 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' 11 | } 12 | 13 | rootProject.name = 'AllMusic_Client' -------------------------------------------------------------------------------- /neoforge_1_21_5/src/main/java/com/coloryr/allmusic/client/PackData.java: -------------------------------------------------------------------------------- 1 | package com.coloryr.allmusic.client; 2 | 3 | import net.minecraft.network.protocol.common.custom.CustomPacketPayload; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public record PackData() implements CustomPacketPayload { 7 | public static final Type TYPE = new Type<>(AllMusic.channel); 8 | @Override 9 | public @NotNull Type type() { 10 | return TYPE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /neoforge_1_21_5/src/main/resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Coloryr/AllMusic_Client/080b63e23cf6a61393dd973b7161a86bc6415693/neoforge_1_21_5/src/main/resources/icon.png -------------------------------------------------------------------------------- /remove.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | 4 | :: 定义数组元素 5 | set array=fabric_1_14_4 fabric_1_15_2 fabric_1_16_5 fabric_1_17_1 fabric_1_18_2 ^ 6 | fabric_1_19 fabric_1_19_3 fabric_1_19_4 fabric_1_20 fabric_1_20_6 fabric_1_21 ^ 7 | forge_1_7_10 forge_1_12_2 forge_1_14_4 forge_1_15_2 forge_1_16_5 ^ 8 | forge_1_17_1 forge_1_18_2 forge_1_19_2 forge_1_19_3 forge_1_20 ^ 9 | forge_1_20_4 forge_1_20_6 forge_1_21 neoforge_1_20_4 neoforge_1_20_6 neoforge_1_21 ^ 10 | neoforge_1_21_3 fabric_1_21_3 neoforge_1_21_5 fabric_1_21_5 11 | 12 | :: 遍历数组 13 | for %%a in (%array%) do ( 14 | if exist "%%a\src\main\resources\com\coloryr\allmusic\client\core\player\decoder\mp3" ( 15 | rmdir "%%a\src\main\resources\com\coloryr\allmusic\client\core\player\decoder\mp3" 16 | ) 17 | if exist "%%a\src\main\java\com\coloryr\allmusic\client\core" ( 18 | rmdir "%%a\src\main\java\com\coloryr\allmusic\client\core" 19 | ) 20 | if exist "%%a\build" ( 21 | rmdir /s /q "%%a\build" 22 | ) 23 | if exist "%%a\.gradle" ( 24 | rmdir /s /q "%%a\.gradle" 25 | ) 26 | ) 27 | 28 | endlocal -------------------------------------------------------------------------------- /version: -------------------------------------------------------------------------------- 1 | 3.1.2 --------------------------------------------------------------------------------