diff --git a/src/main/generated/assets/acesbs/models/item/crab_rave_music_disc.json b/src/main/generated/assets/acesbs/models/item/crab_rave_music_disc.json new file mode 100644 index 0000000..c1ed1ae --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/crab_rave_music_disc.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "acesbs:item/crab_rave_music_disc" + } +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java index 8660d56..16fe063 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java @@ -48,6 +48,8 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { .add(ModItems.PRISMA_STEEL); getOrCreateTagBuilder(ItemTags.TRIM_TEMPLATES) .add(ModItems.PRISMA_SMITHING_TEMPLATE); + getOrCreateTagBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS) + .add(ModItems.CRAB_RAVE_MUSIC_DISC); } } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index aa80eef..a442561 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -61,6 +61,7 @@ public class ModModelProvider extends FabricModelProvider { // itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD); itemModelGenerator.register(ModItems.PRISMA_STEEL, Models.GENERATED); itemModelGenerator.register(ModItems.PRISMA_SMITHING_TEMPLATE, Models.GENERATED); + itemModelGenerator.register(ModItems.CRAB_RAVE_MUSIC_DISC, Models.GENERATED); itemModelGenerator.register(ModItems.PRISMA_STEEL_SWORD, Models.HANDHELD); itemModelGenerator.register(ModItems.PRISMA_STEEL_PICKAXE, Models.HANDHELD); diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java index db866ef..c8a1919 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java @@ -26,6 +26,7 @@ public class ModItemGroups { entries.add(ModItems.GREEN_BRICKS); entries.add(ModItems.PRISMA_STEEL); entries.add(ModItems.PRISMA_SMITHING_TEMPLATE); + entries.add(ModItems.CRAB_RAVE_MUSIC_DISC); }) .build()); diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java index 79a5cc5..2efaa98 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java @@ -5,6 +5,7 @@ import com.acethewildfire.acesbs.item.custom.HammerItem; import com.acethewildfire.acesbs.item.custom.ModArmorItem; import com.acethewildfire.acesbs.item.custom.OracleLemon; import com.acethewildfire.acesbs.item.custom.Wand; +import com.acethewildfire.acesbs.sounds.ModSounds; import net.minecraft.client.gui.screen.Screen; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.PotionContentsComponent; @@ -16,7 +17,6 @@ import net.minecraft.potion.Potion; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.entry.RegistryEntry; -import net.minecraft.resource.featuretoggle.FeatureFlag; import net.minecraft.resource.featuretoggle.FeatureFlags; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -111,6 +111,11 @@ public class ModItems { } }); + public static final Item CRAB_RAVE_MUSIC_DISC = registerItem("crab_rave_music_disc", + new Item(new Item.Settings().jukeboxPlayable(ModSounds.CRAB_RAVE_KEY).maxCount(1))); + + + private static Item registerItem(String name, Item item){ diff --git a/src/main/java/com/acethewildfire/acesbs/sounds/ModSounds.java b/src/main/java/com/acethewildfire/acesbs/sounds/ModSounds.java index 0efca2e..2998962 100644 --- a/src/main/java/com/acethewildfire/acesbs/sounds/ModSounds.java +++ b/src/main/java/com/acethewildfire/acesbs/sounds/ModSounds.java @@ -1,8 +1,11 @@ package com.acethewildfire.acesbs.sounds; import com.acethewildfire.acesbs.AcesBS; +import net.minecraft.block.jukebox.JukeboxSong; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvents; @@ -13,6 +16,10 @@ public class ModSounds { // public static final BlockSoundGroup LIZARD_SOUNDS = new BlockSoundGroup(1f, 1f, SoundEvents.BLOCK_WOOD_BREAK, SoundEvents.BLOCK_WOOD_STEP, SoundEvents.BLOCK_WOOD_PLACE, SoundEvents.BLOCK_WOOD_HIT, SoundEvents.BLOCK_WOOD_FALL) + public static final SoundEvent CRAB_RAVE = registerSoundEvent("crab_rave"); + public static final RegistryKey CRAB_RAVE_KEY = + RegistryKey.of(RegistryKeys.JUKEBOX_SONG, Identifier.of(AcesBS.MOD_ID, "crab_rave")); + private static SoundEvent registerSoundEvent(String name){ Identifier id = Identifier.of(AcesBS.MOD_ID, name); return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id)); diff --git a/src/main/resources/assets/acesbs/lang/en_us.json b/src/main/resources/assets/acesbs/lang/en_us.json index 0bcf176..e5e9ccd 100644 --- a/src/main/resources/assets/acesbs/lang/en_us.json +++ b/src/main/resources/assets/acesbs/lang/en_us.json @@ -29,6 +29,10 @@ "item.acesbs.kaupen_bow": "Kaupen Bow", + "item.acesbs.crab_rave_music_disc": "Crab Rave Music Disc", + "item.acesbs.crab_rave_music_disc.desc": "Noisestorm - Crab Rave [Monstercat Release]", + + "trim_material.acesbs.prisma_steel": "Prisma Steel Material", "trim_pattern.acesbs.prisma": "Prisma Armor Pattern", @@ -69,5 +73,6 @@ "tooltip.acesbs.kaupen_bow": "§7§oThanks to §1Modding by Kaupenjoe§r", "tooltip.acesbs.kaupen_bow_2": "§7§oYou made minecraft modding easy.§r", - "sounds.acesbs.lizard": "Lizard button" + "sounds.acesbs.lizard": "Lizard!", + "sounds.acesbs.crab_rave": "Jukebox plays Crab Rave" } \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/sounds.json b/src/main/resources/assets/acesbs/sounds.json index 32fac08..84d281e 100644 --- a/src/main/resources/assets/acesbs/sounds.json +++ b/src/main/resources/assets/acesbs/sounds.json @@ -4,5 +4,14 @@ "sounds": [ "acesbs:lizard" ] + }, + "crab_rave": { + "subtitle": "sounds.acesbs.crab_rave", + "sounds": [ + { + "name": "acesbs:crab_rave", + "stream": true + } + ] } } \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/sounds/crab_rave.ogg b/src/main/resources/assets/acesbs/sounds/crab_rave.ogg new file mode 100644 index 0000000..a07d191 Binary files /dev/null and b/src/main/resources/assets/acesbs/sounds/crab_rave.ogg differ diff --git a/src/main/resources/assets/acesbs/textures/item/crab_rave_music_disc.png b/src/main/resources/assets/acesbs/textures/item/crab_rave_music_disc.png new file mode 100644 index 0000000..dfd074b Binary files /dev/null and b/src/main/resources/assets/acesbs/textures/item/crab_rave_music_disc.png differ diff --git a/src/main/resources/data/acesbs/jukebox_song/crab_rave.json b/src/main/resources/data/acesbs/jukebox_song/crab_rave.json new file mode 100644 index 0000000..725f98d --- /dev/null +++ b/src/main/resources/data/acesbs/jukebox_song/crab_rave.json @@ -0,0 +1,8 @@ +{ + "comparator_output": 15, + "description": { + "translate": "item.acesbs.crab_rave_music_disc.desc" + }, + "length_in_seconds": 192.0, + "sound_event": "acesbs:crab_rave" +} \ No newline at end of file