diff --git a/src/main/java/com/jenny/magic/Magic.java b/src/main/java/com/jenny/magic/Magic.java index 645e544..0ad074d 100644 --- a/src/main/java/com/jenny/magic/Magic.java +++ b/src/main/java/com/jenny/magic/Magic.java @@ -10,6 +10,7 @@ import com.jenny.magic.entities.entities; import com.jenny.magic.items.items; import com.jenny.magic.networking.networking; import com.jenny.magic.particles.particles; +import com.jenny.magic.sounds.sounds; import com.mojang.logging.LogUtils; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; @@ -41,6 +42,7 @@ public class Magic { enchantments.register(modEventBus); creativeTab.register(modEventBus); particles.register(modEventBus); + sounds.register(modEventBus); } @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD) diff --git a/src/main/java/com/jenny/magic/entities/BaseWandProjectile.java b/src/main/java/com/jenny/magic/entities/BaseWandProjectile.java index 8f4a2a8..1ef2826 100644 --- a/src/main/java/com/jenny/magic/entities/BaseWandProjectile.java +++ b/src/main/java/com/jenny/magic/entities/BaseWandProjectile.java @@ -1,5 +1,7 @@ package com.jenny.magic.entities; +import com.jenny.magic.sounds.sounds; +import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -72,4 +74,9 @@ public abstract class BaseWandProjectile extends AbstractArrow { } public abstract String name(); + + @Override + protected @NotNull SoundEvent getDefaultHitGroundSoundEvent() { + return sounds.TEST.get(); + } } diff --git a/src/main/java/com/jenny/magic/sounds/sounds.java b/src/main/java/com/jenny/magic/sounds/sounds.java new file mode 100644 index 0000000..93032f7 --- /dev/null +++ b/src/main/java/com/jenny/magic/sounds/sounds.java @@ -0,0 +1,23 @@ +package com.jenny.magic.sounds; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import static com.jenny.magic.Magic.MODID; + +public class sounds { + public static final DeferredRegister SOUNDS = DeferredRegister.create(ForgeRegistries.SOUND_EVENTS, MODID); + public static final RegistryObject TEST = registerSoundEvent("sound_test"); + + private static RegistryObject registerSoundEvent(String name) { + return SOUNDS.register(name, () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(MODID, name))); + } + + public static void register(IEventBus bus) { + SOUNDS.register(bus); + } +} diff --git a/src/main/resources/assets/magic/sounds.json b/src/main/resources/assets/magic/sounds.json new file mode 100644 index 0000000..5ec14f5 --- /dev/null +++ b/src/main/resources/assets/magic/sounds.json @@ -0,0 +1,8 @@ +{ + "sound_test": { + "subtitle": "sounds.magic.sound_test", + "sounds": [ + "magic:sound_test" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/magic/sounds/sound_test.ogg b/src/main/resources/assets/magic/sounds/sound_test.ogg new file mode 100644 index 0000000..b3cd76a Binary files /dev/null and b/src/main/resources/assets/magic/sounds/sound_test.ogg differ