Add Soviet Anthem music disc with sound, recipe, and assets
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package net.krituximon.stalinium.sound;
|
||||
|
||||
import net.krituximon.stalinium.Stalinium;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.world.item.JukeboxSong;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class ModSounds {
|
||||
public static final DeferredRegister<SoundEvent> SOUND_EVENTS =
|
||||
DeferredRegister.create(BuiltInRegistries.SOUND_EVENT, Stalinium.MODID);
|
||||
|
||||
public static final Supplier<SoundEvent> SOVIET_ANTHEM = registerSoundEvent("soviet_anthem");
|
||||
public static final ResourceKey<JukeboxSong> SOVIET_ANTHEM_KEY = createSong("soviet_anthem");
|
||||
|
||||
|
||||
private static ResourceKey<JukeboxSong> createSong(String name) {
|
||||
return ResourceKey.create(Registries.JUKEBOX_SONG, ResourceLocation.fromNamespaceAndPath(Stalinium.MODID, name));
|
||||
}
|
||||
|
||||
private static Supplier<SoundEvent> registerSoundEvent(String name) {
|
||||
ResourceLocation id = ResourceLocation.fromNamespaceAndPath(Stalinium.MODID, name);
|
||||
return SOUND_EVENTS.register(name, () -> SoundEvent.createVariableRangeEvent(id));
|
||||
}
|
||||
|
||||
public static void register(IEventBus eventBus) {
|
||||
SOUND_EVENTS.register(eventBus);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user