Update items and music discs

This commit is contained in:
Sollace 2024-09-30 15:18:47 +01:00
parent db413622a1
commit 668dd13db7
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB
11 changed files with 111 additions and 57 deletions

View file

@ -148,16 +148,21 @@ public interface USounds {
SoundEvent GUI_SPELL_CRAFT_SUCCESS = register("gui.spellcraft.success"); SoundEvent GUI_SPELL_CRAFT_SUCCESS = register("gui.spellcraft.success");
RegistryEntry.Reference<SoundEvent> GUI_SPELL_EQUIP = UI_BUTTON_CLICK; RegistryEntry.Reference<SoundEvent> GUI_SPELL_EQUIP = UI_BUTTON_CLICK;
SoundEvent RECORD_CRUSADE = register("music_disc.crusade"); RegistryEntry.Reference<SoundEvent> RECORD_CRUSADE = registerReference("music_disc.crusade");
SoundEvent RECORD_PET = register("music_disc.pet"); RegistryEntry.Reference<SoundEvent> RECORD_PET = registerReference("music_disc.pet");
SoundEvent RECORD_POPULAR = register("music_disc.popular"); RegistryEntry.Reference<SoundEvent> RECORD_POPULAR = registerReference("music_disc.popular");
SoundEvent RECORD_FUNK = register("music_disc.funk"); RegistryEntry.Reference<SoundEvent> RECORD_FUNK = registerReference("music_disc.funk");
static SoundEvent register(String name) { static SoundEvent register(String name) {
Identifier id = Unicopia.id(name); Identifier id = Unicopia.id(name);
return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id)); return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id));
} }
static RegistryEntry.Reference<SoundEvent> registerReference(String name) {
Identifier id = Unicopia.id(name);
return Registry.registerReference(Registries.SOUND_EVENT, id, SoundEvent.of(id));
}
static SoundEvent register(String name, float range) { static SoundEvent register(String name, float range) {
Identifier id = Unicopia.id(name); Identifier id = Unicopia.id(name);
return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id, range)); return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id, range));

View file

@ -7,6 +7,7 @@ import com.minelittlepony.unicopia.block.EdibleBlock;
import com.minelittlepony.unicopia.datagen.providers.DietsProvider; import com.minelittlepony.unicopia.datagen.providers.DietsProvider;
import com.minelittlepony.unicopia.datagen.providers.SeasonsGrowthRatesProvider; import com.minelittlepony.unicopia.datagen.providers.SeasonsGrowthRatesProvider;
import com.minelittlepony.unicopia.datagen.providers.UAdvancementsProvider; import com.minelittlepony.unicopia.datagen.providers.UAdvancementsProvider;
import com.minelittlepony.unicopia.datagen.providers.UJukeboxSongProvider;
import com.minelittlepony.unicopia.datagen.providers.UModelProvider; import com.minelittlepony.unicopia.datagen.providers.UModelProvider;
import com.minelittlepony.unicopia.datagen.providers.UPaintingVariantProvider; import com.minelittlepony.unicopia.datagen.providers.UPaintingVariantProvider;
import com.minelittlepony.unicopia.datagen.providers.loot.UBlockAdditionsLootTableProvider; import com.minelittlepony.unicopia.datagen.providers.loot.UBlockAdditionsLootTableProvider;
@ -66,6 +67,7 @@ public class Datagen implements DataGeneratorEntrypoint {
final var paintingVariantProvider = pack.addProvider(UPaintingVariantProvider::new); final var paintingVariantProvider = pack.addProvider(UPaintingVariantProvider::new);
pack.addProvider((output, registries) -> new UPaintingVariantTagProvider(output, registries, paintingVariantProvider)); pack.addProvider((output, registries) -> new UPaintingVariantTagProvider(output, registries, paintingVariantProvider));
pack.addProvider(UJukeboxSongProvider::new);
pack.addProvider(UModelProvider::new); pack.addProvider(UModelProvider::new);
pack.addProvider(URecipeProvider::new); pack.addProvider(URecipeProvider::new);
pack.addProvider(UBlockLootTableProvider::new); pack.addProvider(UBlockLootTableProvider::new);

View file

@ -0,0 +1,43 @@
package com.minelittlepony.unicopia.datagen.providers;
import java.util.concurrent.CompletableFuture;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.item.UJukeboxSongs;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider;
import net.minecraft.block.jukebox.JukeboxSong;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryWrapper.WrapperLookup;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.sound.SoundEvent;
import net.minecraft.text.Text;
import net.minecraft.util.Util;
public class UJukeboxSongProvider extends FabricDynamicRegistryProvider {
public UJukeboxSongProvider(FabricDataOutput output, CompletableFuture<WrapperLookup> registriesFuture) {
super(output, registriesFuture);
}
@Override
public String getName() {
return "Jukebox Songs";
}
@Override
protected void configure(WrapperLookup registries, Entries entries) {
register(entries, UJukeboxSongs.CRUSADE, USounds.RECORD_CRUSADE, 181, 1);
register(entries, UJukeboxSongs.PET, USounds.RECORD_PET, 221, 2);
register(entries, UJukeboxSongs.POPULAR, USounds.RECORD_POPULAR, 112, 3);
register(entries, UJukeboxSongs.FUNK, USounds.RECORD_FUNK, 91, 4);
}
private void register(
Entries entries,
RegistryKey<JukeboxSong> key,
RegistryEntry.Reference<SoundEvent> soundEvent, int lengthInSeconds, int comparatorOutput) {
entries.add(key, new JukeboxSong(soundEvent, Text.translatable(Util.createTranslationKey("jukebox_song", key.getValue())), lengthInSeconds, comparatorOutput));
}
}

View file

@ -7,6 +7,7 @@ import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.minecraft.component.DataComponentTypes;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.damage.DamageSource;
@ -60,11 +61,11 @@ public class MagicalDamageSource extends DamageSource {
if (attacker == target) { if (attacker == target) {
basic += ".self"; basic += ".self";
if (!item.isEmpty() && item.hasCustomName()) { if (!item.isEmpty() && item.contains(DataComponentTypes.CUSTOM_NAME)) {
basic += ".item"; basic += ".item";
params.add(item.toHoverableText()); params.add(item.toHoverableText());
} }
} else if (!item.isEmpty() && item.hasCustomName()) { } else if (!item.isEmpty() && item.contains(DataComponentTypes.CUSTOM_NAME)) {
basic += ".item"; basic += ".item";
params.add(attacker.getDisplayName()); params.add(attacker.getDisplayName());
params.add(item.toHoverableText()); params.add(item.toHoverableText());

View file

@ -1,30 +0,0 @@
package com.minelittlepony.unicopia.item;
import java.util.UUID;
import com.google.common.collect.Multimap;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.attribute.EntityAttribute;
import net.minecraft.entity.attribute.EntityAttributeModifier;
import net.minecraft.item.Item;
public class BluntWeaponItem extends Item {
private final Multimap<EntityAttribute, EntityAttributeModifier> modifiers;
public static final UUID KNOCKBACK_MODIFIER_ID = UUID.fromString("7b16994b-1edb-4381-be62-94317f39ec8f");
public static final UUID LUCK_MODIFIER_ID = UUID.fromString("7b16994b-1edb-8431-be62-7f39ec94318f");
public BluntWeaponItem(Settings settings, Multimap<EntityAttribute, EntityAttributeModifier> modifiers) {
super(settings);
this.modifiers = modifiers;
}
@Override
public Multimap<EntityAttribute, EntityAttributeModifier> getAttributeModifiers(EquipmentSlot slot) {
if (slot == EquipmentSlot.OFFHAND) {
return modifiers;
}
return super.getAttributeModifiers(slot);
}
}

View file

@ -17,6 +17,7 @@ import net.minecraft.entity.FlyingItemEntity;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.attribute.EntityAttributeInstance; import net.minecraft.entity.attribute.EntityAttributeInstance;
import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.particle.ParticleTypes; import net.minecraft.particle.ParticleTypes;
import net.minecraft.server.world.ServerWorld; import net.minecraft.server.world.ServerWorld;
@ -27,7 +28,7 @@ import net.minecraft.util.math.MathHelper;
import net.minecraft.world.WorldEvents; import net.minecraft.world.WorldEvents;
public class FilledJarItem extends ProjectileItem implements ProjectileDelegate.HitListener, ChameleonItem { public class FilledJarItem extends ProjectileItem implements ProjectileDelegate.HitListener, ChameleonItem {
public FilledJarItem(Settings settings) { public FilledJarItem(Item.Settings settings) {
super(settings, 0); super(settings, 0);
} }

View file

@ -5,7 +5,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
public class OatmealItem extends StewItem { public class OatmealItem extends Item {
public OatmealItem(Item.Settings settings) { public OatmealItem(Item.Settings settings) {
super(settings); super(settings);

View file

@ -4,6 +4,7 @@ import net.minecraft.component.type.FoodComponent;
import net.minecraft.component.type.FoodComponents; import net.minecraft.component.type.FoodComponents;
import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.Items;
public interface UFoodComponents { public interface UFoodComponents {
FoodComponent OATS = builder(1, 0.7F).build(); FoodComponent OATS = builder(1, 0.7F).build();
@ -12,6 +13,7 @@ public interface UFoodComponents {
.statusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST, 1200, 1), 1) .statusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST, 1200, 1), 1)
.statusEffect(new StatusEffectInstance(StatusEffects.STRENGTH, 1200, 1), 0.3F) .statusEffect(new StatusEffectInstance(StatusEffects.STRENGTH, 1200, 1), 0.3F)
.statusEffect(new StatusEffectInstance(StatusEffects.SPEED, 1200, 1), 0.2F) .statusEffect(new StatusEffectInstance(StatusEffects.SPEED, 1200, 1), 0.2F)
.usingConvertsTo(Items.BOWL)
.build(); .build();
FoodComponent DAFODIL_DAISY_SANDWICH = builder(3, 1.4F).build(); FoodComponent DAFODIL_DAISY_SANDWICH = builder(3, 1.4F).build();
FoodComponent BURGER = builder(7, 1.4F).build(); FoodComponent BURGER = builder(7, 1.4F).build();
@ -24,7 +26,7 @@ public interface UFoodComponents {
FoodComponent JUICE = builder(2, 1.8F).alwaysEdible().build(); FoodComponent JUICE = builder(2, 1.8F).alwaysEdible().build();
FoodComponent BURNED_JUICE = builder(3, 1).build(); FoodComponent BURNED_JUICE = builder(3, 1).build();
FoodComponent NUT_BOWL = FoodComponents.BAKED_POTATO; //builder(4, 0.6F).build(); FoodComponent NUT_BOWL = builder(5, 0.6F).usingConvertsTo(Items.BOWL).build();//FoodComponents.BAKED_POTATO;
FoodComponent OATMEAL_COOKIE = FoodComponents.COOKIE; //builder(2, 0.1F).build(); FoodComponent OATMEAL_COOKIE = FoodComponents.COOKIE; //builder(2, 0.1F).build();
FoodComponent CHOCOLATE_OATMEAL_COOKIE = builder(3, 0.4F).build(); FoodComponent CHOCOLATE_OATMEAL_COOKIE = builder(3, 0.4F).build();

View file

@ -0,0 +1,10 @@
package com.minelittlepony.unicopia.item;
import com.minelittlepony.unicopia.Unicopia;
import net.minecraft.util.Identifier;
public interface UItemModifierIds {
Identifier KNOCKBACK_MODIFIER_ID = Unicopia.id("knockback_modifier");
Identifier LUCK_MODIFIER_ID = Unicopia.id("luck_modifier");
}

View file

@ -1,6 +1,5 @@
package com.minelittlepony.unicopia.item; package com.minelittlepony.unicopia.item;
import com.google.common.collect.ImmutableMultimap;
import com.minelittlepony.unicopia.*; import com.minelittlepony.unicopia.*;
import com.minelittlepony.unicopia.block.FancyBedBlock.SheetPattern; import com.minelittlepony.unicopia.block.FancyBedBlock.SheetPattern;
import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.block.UBlocks;
@ -19,6 +18,9 @@ import com.terraformersmc.terraform.boat.api.TerraformBoatTypeRegistry;
import com.terraformersmc.terraform.boat.api.item.TerraformBoatItemHelper; import com.terraformersmc.terraform.boat.api.item.TerraformBoatItemHelper;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.jukebox.JukeboxSong;
import net.minecraft.component.type.AttributeModifierSlot;
import net.minecraft.component.type.AttributeModifiersComponent;
import net.minecraft.component.type.FoodComponents; import net.minecraft.component.type.FoodComponents;
import net.minecraft.entity.attribute.EntityAttributeModifier; import net.minecraft.entity.attribute.EntityAttributeModifier;
import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.entity.attribute.EntityAttributes;
@ -27,7 +29,6 @@ import net.minecraft.item.*;
import net.minecraft.item.Item.Settings; import net.minecraft.item.Item.Settings;
import net.fabricmc.fabric.api.registry.CompostingChanceRegistry; import net.fabricmc.fabric.api.registry.CompostingChanceRegistry;
import net.fabricmc.fabric.api.registry.FuelRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry;
import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Rarity; import net.minecraft.util.Rarity;
import net.minecraft.util.UseAction; import net.minecraft.util.UseAction;
import net.minecraft.registry.Registry; import net.minecraft.registry.Registry;
@ -45,10 +46,10 @@ public interface UItems {
Item ROTTEN_APPLE = register("rotten_apple", new RottenAppleItem(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK); Item ROTTEN_APPLE = register("rotten_apple", new RottenAppleItem(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK);
Item COOKED_ZAP_APPLE = register("cooked_zap_apple", new Item(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK); Item COOKED_ZAP_APPLE = register("cooked_zap_apple", new Item(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK);
Item MUSIC_DISC_CRUSADE = register("music_disc_crusade", USounds.RECORD_CRUSADE, 181); Item MUSIC_DISC_CRUSADE = register("music_disc_crusade", UJukeboxSongs.CRUSADE);
Item MUSIC_DISC_PET = register("music_disc_pet", USounds.RECORD_PET, 221); Item MUSIC_DISC_PET = register("music_disc_pet", UJukeboxSongs.PET);
Item MUSIC_DISC_POPULAR = register("music_disc_popular", USounds.RECORD_POPULAR, 112); Item MUSIC_DISC_POPULAR = register("music_disc_popular", UJukeboxSongs.POPULAR);
Item MUSIC_DISC_FUNK = register("music_disc_funk", USounds.RECORD_FUNK, 91); Item MUSIC_DISC_FUNK = register("music_disc_funk", UJukeboxSongs.FUNK);
FriendshipBraceletItem FRIENDSHIP_BRACELET = register("friendship_bracelet", new FriendshipBraceletItem(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS); FriendshipBraceletItem FRIENDSHIP_BRACELET = register("friendship_bracelet", new FriendshipBraceletItem(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS);
@ -81,7 +82,7 @@ public interface UItems {
Item OATMEAL_COOKIE = register("oatmeal_cookie", new Item(new Item.Settings().food(UFoodComponents.OATMEAL_COOKIE)), ItemGroups.FOOD_AND_DRINK); Item OATMEAL_COOKIE = register("oatmeal_cookie", new Item(new Item.Settings().food(UFoodComponents.OATMEAL_COOKIE)), ItemGroups.FOOD_AND_DRINK);
Item CHOCOLATE_OATMEAL_COOKIE = register("chocolate_oatmeal_cookie", new Item(new Item.Settings().food(UFoodComponents.CHOCOLATE_OATMEAL_COOKIE)), ItemGroups.FOOD_AND_DRINK); Item CHOCOLATE_OATMEAL_COOKIE = register("chocolate_oatmeal_cookie", new Item(new Item.Settings().food(UFoodComponents.CHOCOLATE_OATMEAL_COOKIE)), ItemGroups.FOOD_AND_DRINK);
Item PINECONE_COOKIE = register("pinecone_cookie", new Item(new Item.Settings().food(FoodComponents.COOKIE)), ItemGroups.FOOD_AND_DRINK); Item PINECONE_COOKIE = register("pinecone_cookie", new Item(new Item.Settings().food(FoodComponents.COOKIE)), ItemGroups.FOOD_AND_DRINK);
Item BOWL_OF_NUTS = register("bowl_of_nuts", new StewItem(new Item.Settings().food(UFoodComponents.NUT_BOWL).recipeRemainder(Items.BOWL)), ItemGroups.FOOD_AND_DRINK); Item BOWL_OF_NUTS = register("bowl_of_nuts", new Item(new Item.Settings().food(UFoodComponents.NUT_BOWL).recipeRemainder(Items.BOWL)), ItemGroups.FOOD_AND_DRINK);
Item SCONE = register("scone", new MuffinItem(new Item.Settings().maxCount(32).food(UFoodComponents.SCONE), 0), ItemGroups.FOOD_AND_DRINK); Item SCONE = register("scone", new MuffinItem(new Item.Settings().maxCount(32).food(UFoodComponents.SCONE), 0), ItemGroups.FOOD_AND_DRINK);
Item DAFFODIL_DAISY_SANDWICH = register("daffodil_daisy_sandwich", new Item(new Item.Settings().food(UFoodComponents.DAFODIL_DAISY_SANDWICH)), ItemGroups.FOOD_AND_DRINK); Item DAFFODIL_DAISY_SANDWICH = register("daffodil_daisy_sandwich", new Item(new Item.Settings().food(UFoodComponents.DAFODIL_DAISY_SANDWICH)), ItemGroups.FOOD_AND_DRINK);
@ -106,13 +107,13 @@ public interface UItems {
Item PEBBLES = register("pebbles", new AliasedBlockItem(UBlocks.ROCKS, new Item.Settings()), ItemGroups.NATURAL); Item PEBBLES = register("pebbles", new AliasedBlockItem(UBlocks.ROCKS, new Item.Settings()), ItemGroups.NATURAL);
Item ROCK = register("rock", new HeavyProjectileItem(new Item.Settings(), 3), ItemGroups.NATURAL); Item ROCK = register("rock", new HeavyProjectileItem(new Item.Settings(), 3), ItemGroups.NATURAL);
Item WEIRD_ROCK = register("weird_rock", new BluntWeaponItem(new Item.Settings(), ImmutableMultimap.of( Item WEIRD_ROCK = register("weird_rock", new Item(new Item.Settings().attributeModifiers(AttributeModifiersComponent.builder()
EntityAttributes.GENERIC_LUCK, new EntityAttributeModifier(BluntWeaponItem.LUCK_MODIFIER_ID, "Weapon modifier", 9, EntityAttributeModifier.Operation.ADD_VALUE) .add(EntityAttributes.GENERIC_LUCK, new EntityAttributeModifier(UItemModifierIds.LUCK_MODIFIER_ID, 9, EntityAttributeModifier.Operation.ADD_VALUE), AttributeModifierSlot.MAINHAND)
)), ItemGroups.NATURAL); .build())), ItemGroups.NATURAL);
Item TOM = register("tom", new BluntWeaponItem(new Item.Settings(), ImmutableMultimap.of( Item TOM = register("tom", new Item(new Item.Settings().attributeModifiers(AttributeModifiersComponent.builder()
EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, new EntityAttributeModifier(BluntWeaponItem.KNOCKBACK_MODIFIER_ID, "Weapon modifier", 0.9, EntityAttributeModifier.Operation.ADD_VALUE) .add(EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, new EntityAttributeModifier(UItemModifierIds.KNOCKBACK_MODIFIER_ID, 0.9, EntityAttributeModifier.Operation.ADD_VALUE), AttributeModifierSlot.MAINHAND)
)), ItemGroups.NATURAL); .build())), ItemGroups.NATURAL);
Item ROCK_STEW = register("rock_stew", new StewItem(new Item.Settings().food(FoodComponents.MUSHROOM_STEW).maxCount(1).recipeRemainder(Items.BOWL)), ItemGroups.FOOD_AND_DRINK); Item ROCK_STEW = register("rock_stew", new Item(new Item.Settings().food(FoodComponents.MUSHROOM_STEW).maxCount(1).recipeRemainder(Items.BOWL)), ItemGroups.FOOD_AND_DRINK);
Item ROCK_CANDY = register("rock_candy", new Item(new Item.Settings().food(UFoodComponents.CANDY).maxCount(16)), ItemGroups.FOOD_AND_DRINK); Item ROCK_CANDY = register("rock_candy", new Item(new Item.Settings().food(UFoodComponents.CANDY).maxCount(16)), ItemGroups.FOOD_AND_DRINK);
Item SALT_CUBE = register("salt_cube", new Item(new Item.Settings().food(UFoodComponents.SALT_CUBE)), ItemGroups.FOOD_AND_DRINK); Item SALT_CUBE = register("salt_cube", new Item(new Item.Settings().food(UFoodComponents.SALT_CUBE)), ItemGroups.FOOD_AND_DRINK);
@ -267,11 +268,12 @@ public interface UItems {
return ItemGroupRegistry.register(Unicopia.id(name), item); return ItemGroupRegistry.register(Unicopia.id(name), item);
} }
static MusicDiscItem register(String name, SoundEvent sound, int seconds) { static Item register(String name, RegistryKey<JukeboxSong> song) {
return register(name, new MusicDiscItem(1, sound, new Settings() return register(name, new Item(new Settings()
.jukeboxPlayable(song)
.maxCount(1) .maxCount(1)
.rarity(Rarity.RARE), seconds .rarity(Rarity.RARE)
) {}, ItemGroups.TOOLS); ), ItemGroups.TOOLS);
} }
static Item register(Race race) { static Item register(Race race) {

View file

@ -0,0 +1,18 @@
package com.minelittlepony.unicopia.item;
import com.minelittlepony.unicopia.Unicopia;
import net.minecraft.block.jukebox.JukeboxSong;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
public interface UJukeboxSongs {
RegistryKey<JukeboxSong> CRUSADE = of("crusade");
RegistryKey<JukeboxSong> PET = of("pet");
RegistryKey<JukeboxSong> POPULAR = of("popular");
RegistryKey<JukeboxSong> FUNK = of("funk");
private static RegistryKey<JukeboxSong> of(String name) {
return RegistryKey.of(RegistryKeys.JUKEBOX_SONG, Unicopia.id(name));
}
}