mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-01 11:36:43 +01:00
Update items and music discs
This commit is contained in:
parent
db413622a1
commit
668dd13db7
11 changed files with 111 additions and 57 deletions
|
@ -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));
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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());
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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");
|
||||||
|
}
|
|
@ -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) {
|
||||||
|
|
|
@ -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));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue