├── .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 BistreamException
s.
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 | * -
29 | * as an error-code describing the nature of the error
30 | *
31 | *
32 | * -
33 | * as the
Throwable
instance, if any, that was thrown
34 | * indicating that an exceptional condition has occurred.
35 | *
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 | hidden ip 127.0.0.1 name Minecraft服务器
--------------------------------------------------------------------------------
/neoforge_1_20_4/runs/client/servers.dat_old:
--------------------------------------------------------------------------------
1 |
2 | servers
3 | hidden ip 127.0.0.1 name Minecraft服务器
--------------------------------------------------------------------------------
/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 extends CustomPacketPayload> 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 extends CustomPacketPayload> 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 extends CustomPacketPayload> 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 extends CustomPacketPayload> 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
--------------------------------------------------------------------------------