From 8478c0a0daa2ae8a1914001c3fed91b3787d4b17 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 31 Jan 2019 11:50:35 +0200 Subject: [PATCH] Added textures and translation keys for all the new items --- .../com/minelittlepony/unicopia/UItems.java | 37 +++++++++++------- .../unicopia/edibles/ItemEdible.java | 9 +++++ .../unicopia/edibles/Toxicity.java | 7 +++- .../unicopia/edibles/UItemFoodDelegate.java | 1 - .../forgebullshit/RegistryLockSpinner.java | 37 ++++++++++++++---- .../unicopia/item/ItemCereal.java | 3 +- .../resources/assets/unicopia/lang/en_US.lang | 4 +- .../assets/unicopia/models/item/mug.json | 6 +++ .../unicopia/textures/items/apple_cider.png | Bin 0 -> 3063 bytes .../unicopia/textures/items/burned_juice.png | Bin 0 -> 197 bytes .../items/daffodil_daisy_sandwich.png | Bin 0 -> 3233 bytes .../unicopia/textures/items/hay_burger.png | Bin 0 -> 3188 bytes .../unicopia/textures/items/hay_fries.png | Bin 0 -> 3195 bytes .../assets/unicopia/textures/items/juice.png | Bin 0 -> 271 bytes .../assets/unicopia/textures/items/mug.png | Bin 0 -> 3032 bytes .../assets/unicopia/textures/items/salad.png | Bin 0 -> 314 bytes .../unicopia/textures/items/sugar_cereal.png | Bin 253 -> 264 bytes .../unicopia/textures/items/wheat_worms.png | Bin 0 -> 528 bytes 18 files changed, 77 insertions(+), 27 deletions(-) create mode 100644 src/main/resources/assets/unicopia/models/item/mug.json create mode 100644 src/main/resources/assets/unicopia/textures/items/apple_cider.png create mode 100644 src/main/resources/assets/unicopia/textures/items/burned_juice.png create mode 100644 src/main/resources/assets/unicopia/textures/items/daffodil_daisy_sandwich.png create mode 100644 src/main/resources/assets/unicopia/textures/items/hay_burger.png create mode 100644 src/main/resources/assets/unicopia/textures/items/hay_fries.png create mode 100644 src/main/resources/assets/unicopia/textures/items/juice.png create mode 100644 src/main/resources/assets/unicopia/textures/items/mug.png create mode 100644 src/main/resources/assets/unicopia/textures/items/salad.png create mode 100644 src/main/resources/assets/unicopia/textures/items/wheat_worms.png diff --git a/src/main/java/com/minelittlepony/unicopia/UItems.java b/src/main/java/com/minelittlepony/unicopia/UItems.java index 7a70667e..708a3e68 100644 --- a/src/main/java/com/minelittlepony/unicopia/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/UItems.java @@ -146,31 +146,38 @@ public class UItems { public static final Item daffodil_daisy_sandwich = new ItemEdible(Unicopia.MODID, "daffodil_daisy_sandwich", 3, 2, CookedToxicityDeterminent.instance); public static final Item hay_burger = new ItemEdible(Unicopia.MODID, "hay_burger", 3, 4, CookedToxicityDeterminent.instance); public static final Item hay_fries = new ItemEdible(Unicopia.MODID, "hay_fries", 1, 5, CookedToxicityDeterminent.instance); - public static final Item salad = new ItemEdible(Unicopia.MODID, "salad", 4, 2, CookedToxicityDeterminent.instance); + public static final Item salad = new ItemEdible(Unicopia.MODID, "salad", 4, 2, CookedToxicityDeterminent.instance) + .setContainerItem(Items.BOWL); public static final Item wheat_worms = new ItemEdible(Unicopia.MODID, "wheat_worms", 1, 0, stack -> Toxicity.SEVERE); - public static final Item apple_cider = new ItemEdible(Unicopia.MODID, "apple_cider", 4, 2, stack -> Toxicity.FAIR); - public static final Item juice = new ItemEdible(Unicopia.MODID, "juice", 2, 2, stack -> Toxicity.SAFE); - public static final Item burned_juice = new ItemEdible(Unicopia.MODID, "burned_juice", 3, 1, stack -> Toxicity.FAIR); + public static final Item mug = new Item() + .setTranslationKey("mug") + .setRegistryName(Unicopia.MODID, "mug") + .setCreativeTab(CreativeTabs.MATERIALS) + .setFull3D(); + public static final Item apple_cider = new ItemEdible(Unicopia.MODID, "apple_cider", 4, 2, stack -> Toxicity.MILD) + .setContainerItem(mug) + .setFull3D(); + public static final Item juice = new ItemEdible(Unicopia.MODID, "juice", 2, 2, stack -> Toxicity.SAFE) + .setContainerItem(Items.GLASS_BOTTLE); + public static final Item burned_juice = new ItemEdible(Unicopia.MODID, "burned_juice", 3, 1, stack -> Toxicity.FAIR) + .setContainerItem(Items.GLASS_BOTTLE); static void registerItems(IForgeRegistry registry) { - RegistryLockSpinner.unlock(Item.REGISTRY); - - RegistryLockSpinner.commit(Item.REGISTRY, Items.APPLE, apple, Items.class); - RegistryLockSpinner.commit(Item.REGISTRY, Items.STICK, stick, Items.class); - RegistryLockSpinner.commit(Item.REGISTRY, Item.getItemFromBlock(Blocks.DOUBLE_PLANT), double_plant, Items.class); - RegistryLockSpinner.commit(Item.REGISTRY, Item.getItemFromBlock(Blocks.YELLOW_FLOWER), yellow_flower, Items.class); - RegistryLockSpinner.commit(Item.REGISTRY, Item.getItemFromBlock(Blocks.RED_FLOWER), red_flower, Items.class); - - RegistryLockSpinner.lock(Item.REGISTRY); + RegistryLockSpinner.open(Item.REGISTRY, Items.class, r -> r + .replace(Items.APPLE, apple) + .replace(Items.STICK, stick) + .replace(Item.getItemFromBlock(Blocks.DOUBLE_PLANT), double_plant) + .replace(Item.getItemFromBlock(Blocks.YELLOW_FLOWER), yellow_flower) + .replace(Item.getItemFromBlock(Blocks.RED_FLOWER), red_flower)); registry.registerAll( cloud_spawner, dew_drop, cloud_matter, cloud_block, cloud_stairs, cloud_slab, cloud_farmland, mist_door, anvil, - bag_of_holding, spell, curse, spellbook, + bag_of_holding, spell, curse, spellbook, mug, alfalfa_seeds, alfalfa_leaves, cereal, sugar_cereal, sugar_block, @@ -196,7 +203,7 @@ public class UItems { tomato, cloudsdale_tomato, cloud_spawner, cloud_matter, cloud_stairs, cloud_farmland, mist_door, anvil, - bag_of_holding, spell, curse, spellbook, + bag_of_holding, spell, curse, spellbook, mug, alfalfa_seeds, alfalfa_leaves, cereal, sugar_cereal, sugar_block, diff --git a/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java b/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java index 9b14aff0..b3bedaf0 100644 --- a/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java +++ b/src/main/java/com/minelittlepony/unicopia/edibles/ItemEdible.java @@ -57,6 +57,8 @@ public class ItemEdible extends ItemFood implements IEdible { public void addInformation(ItemStack stack, @Nullable World worldIn, List tooltip, ITooltipFlag flagIn) { Toxicity toxicity = getToxicityLevel(stack); + setAlwaysEdible(); + TextFormatting color = toxicity.toxicWhenCooked() ? TextFormatting.RED : toxicity.toxicWhenRaw() ? TextFormatting.DARK_PURPLE : TextFormatting.GRAY; tooltip.add(color + I18n.format(toxicity.getTranslationKey())); @@ -80,7 +82,14 @@ public class ItemEdible extends ItemFood implements IEdible { } } + ItemStack container = getContainerItem(stack); + + if (!container.isEmpty()) { + return container; + } + stack.shrink(1); + return stack; } diff --git a/src/main/java/com/minelittlepony/unicopia/edibles/Toxicity.java b/src/main/java/com/minelittlepony/unicopia/edibles/Toxicity.java index 1cbb3c32..13acb0c8 100644 --- a/src/main/java/com/minelittlepony/unicopia/edibles/Toxicity.java +++ b/src/main/java/com/minelittlepony/unicopia/edibles/Toxicity.java @@ -5,6 +5,7 @@ import net.minecraft.potion.PotionEffect; public enum Toxicity { SAFE(0, 0), + MILD(1, 160), FAIR(1, 30), SEVERE(5, 160), LETHAL(10, 900); @@ -19,6 +20,10 @@ public enum Toxicity { this.duration = duration; } + public boolean isMild() { + return this == MILD; + } + public boolean toxicWhenRaw() { return isLethal() || this != SAFE; } @@ -32,7 +37,7 @@ public enum Toxicity { } public PotionEffect getPoisonEffect() { - return new PotionEffect(MobEffects.POISON, duration, level); + return new PotionEffect(isMild() ? MobEffects.NAUSEA : MobEffects.POISON, duration, level); } public String getTranslationKey() { diff --git a/src/main/java/com/minelittlepony/unicopia/edibles/UItemFoodDelegate.java b/src/main/java/com/minelittlepony/unicopia/edibles/UItemFoodDelegate.java index 02b73635..5797042a 100644 --- a/src/main/java/com/minelittlepony/unicopia/edibles/UItemFoodDelegate.java +++ b/src/main/java/com/minelittlepony/unicopia/edibles/UItemFoodDelegate.java @@ -44,7 +44,6 @@ public class UItemFoodDelegate extends ItemMultiTexture implements IEdible { @Override public ActionResult onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) { - foodItem.setAlwaysEdible(); return foodItem.onItemRightClick(worldIn, playerIn, handIn); } diff --git a/src/main/java/com/minelittlepony/unicopia/forgebullshit/RegistryLockSpinner.java b/src/main/java/com/minelittlepony/unicopia/forgebullshit/RegistryLockSpinner.java index 943696f4..d811f0c4 100644 --- a/src/main/java/com/minelittlepony/unicopia/forgebullshit/RegistryLockSpinner.java +++ b/src/main/java/com/minelittlepony/unicopia/forgebullshit/RegistryLockSpinner.java @@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.forgebullshit; import java.lang.reflect.Field; import java.lang.reflect.Modifier; +import java.util.function.Consumer; import net.minecraft.util.registry.RegistryNamespaced; import net.minecraftforge.registries.ILockableRegistry; @@ -9,7 +10,24 @@ import net.minecraftforge.registries.ILockableRegistry; @FUF(reason = "Forge locks the registries. We need a way to unlock them.") public final class RegistryLockSpinner { - public static void unlock(RegistryNamespaced registry) { + public static void open(RegistryNamespaced registry, Class containersClazz, Consumer> action) { + unlock(registry); + + try { + action.accept(new UnlockedRegistry() { + @Override + public UnlockedRegistry replace(V from, V to) { + commit(registry, from, to, containersClazz); + return this; + } + + }); + } finally { + lock(registry); + } + } + + private static void unlock(RegistryNamespaced registry) { if (registry instanceof ILockableRegistry) { try { Field f = registry.getClass().getDeclaredField("locked"); @@ -22,11 +40,9 @@ public final class RegistryLockSpinner { } } - public static void commit(RegistryNamespaced registry, V from, V to, Class inClass) { + private static void commit(RegistryNamespaced registry, V from, V to, Class inClass) { registry.register(registry.getIDForObject(from), registry.getNameForObject(from), to); - - for (Field i : inClass.getDeclaredFields()) { try { if (i.get(null) == from) { @@ -42,7 +58,7 @@ public final class RegistryLockSpinner { private static boolean init = false; private static Field modifieres = null; - protected static void initModifiersField(Field f) { + private static void initModifiersField() { if (!init) { init = true; try { @@ -55,8 +71,8 @@ public final class RegistryLockSpinner { } @FUF(reason = "Not exactly forge's fault, but it was would be nice of them to not leave these as final") - protected static Field makeNonFinal(Field f) throws IllegalArgumentException, IllegalAccessException { - initModifiersField(f); + private static Field makeNonFinal(Field f) throws IllegalArgumentException, IllegalAccessException { + initModifiersField(); if (Modifier.isFinal(f.getModifiers()) && modifieres != null) { modifieres.setInt(f, f.getModifiers() & ~Modifier.FINAL); } @@ -64,9 +80,14 @@ public final class RegistryLockSpinner { return f; } - public static void lock(RegistryNamespaced registry) { + private static void lock(RegistryNamespaced registry) { if (registry instanceof ILockableRegistry) { ((ILockableRegistry) registry).lock(); } } + + @FunctionalInterface + public interface UnlockedRegistry { + UnlockedRegistry replace(V from, V to); + } } diff --git a/src/main/java/com/minelittlepony/unicopia/item/ItemCereal.java b/src/main/java/com/minelittlepony/unicopia/item/ItemCereal.java index 3ff19919..f2461051 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/ItemCereal.java +++ b/src/main/java/com/minelittlepony/unicopia/item/ItemCereal.java @@ -19,12 +19,13 @@ public class ItemCereal extends ItemFood { setTranslationKey(name); setRegistryName(domain, name); setMaxStackSize(1); + setContainerItem(Items.BOWL); } public ItemStack onItemUseFinish(ItemStack stack, World worldIn, EntityLivingBase entityLiving) { super.onItemUseFinish(stack, worldIn, entityLiving); - return new ItemStack(Items.BOWL); + return getContainerItem(stack); } @Override diff --git a/src/main/resources/assets/unicopia/lang/en_US.lang b/src/main/resources/assets/unicopia/lang/en_US.lang index 5ba9d863..98ecab76 100644 --- a/src/main/resources/assets/unicopia/lang/en_US.lang +++ b/src/main/resources/assets/unicopia/lang/en_US.lang @@ -83,6 +83,7 @@ item.hay_fries.name=Hay Fries item.salad.name=Salad item.wheat_worms.name=Wheat Worms item.apple_cider.name=Apple Cider +item.mug.name=Mug entity.racing_cloud.name=Bucking Bronco entity.construction_cloud.name=Construction Cloud @@ -91,7 +92,8 @@ entity.spell.name=Magic entity.spellbook.name=Spellbook toxicity.safe.name=Safe -toxicity.fair.name=Fair +toxicity.mild.name=Mildly Toxic +toxicity.fair.name=Fairly Toxic toxicity.severe.name=Toxic toxicity.lethal.name=Lethal diff --git a/src/main/resources/assets/unicopia/models/item/mug.json b/src/main/resources/assets/unicopia/models/item/mug.json new file mode 100644 index 00000000..0a318674 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/mug.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:items/mug" + } +} diff --git a/src/main/resources/assets/unicopia/textures/items/apple_cider.png b/src/main/resources/assets/unicopia/textures/items/apple_cider.png new file mode 100644 index 0000000000000000000000000000000000000000..7115002b7c7500293955b67f6e2f575d59e331bd GIT binary patch literal 3063 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 FV1iP$;;;Y! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/items/burned_juice.png b/src/main/resources/assets/unicopia/textures/items/burned_juice.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d47d76653ace13966285a4fdd49c01f2a1b171 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar`0426^%|DDbQ)dj3H8 z0dw)o|M83bKOA6x#X8F?#=-VRO9|7=ms?t2yjL`2Np#pX(~w0`X{WH{c^0+zqUTRL zWqWx$6g`RP}m^!Hn2&Vw@%H{-i_N`dZT@O1TaS?83{1OQbLQj-7x literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/items/daffodil_daisy_sandwich.png b/src/main/resources/assets/unicopia/textures/items/daffodil_daisy_sandwich.png new file mode 100644 index 0000000000000000000000000000000000000000..5f03122f1507ac4075e069abd9601b984241ad7e GIT binary patch literal 3233 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 TFA>hO00000NkvXXu0mjfQ93!J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/items/hay_burger.png b/src/main/resources/assets/unicopia/textures/items/hay_burger.png new file mode 100644 index 0000000000000000000000000000000000000000..98d82575c406aa488d4950ad78edb2ded2218389 GIT binary patch literal 3188 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/items/juice.png b/src/main/resources/assets/unicopia/textures/items/juice.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e4ac51b1c7d122702a4f8eacc7c8011c0eb3bc GIT binary patch literal 271 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 bfu3)Qsf@w7#R^6rNDlkfsKKg z0Spq8iwk^%-9kX@y!^aW22{Yv!0_!Fh-6^6tP3)Wfi%FHTu@X3qz?eGPfBWWGSEmK zAUm_XqyQ++SOH{1A-vFQ_caOwTA$&`8!)FtoI^ zRB%kmPfAq?t}HG|%`H~&%uCKMD#$NNEJ;n#Q*g}5Q3wJlFIEUjElw>e0}3)g>;?mV z_oBo~1^2|<+(ZQ4006%RKq@9> z>GS{q0L4i}K~yNuebF&a#V`;A(6?V4AsyljoP|h8w5fmX15l^>CrC|W&cY$+as{*$ zc775e;mY>T%27Jk) z7_%$P76X2WrGuG?1_;55@PXl8uB}B?`*&!gwJGY^CX?5EOEFuwkq>~F4UL)8z0Cno z?aamUH_0)diRNWGMg6b^CBHN;gJM2MJ(6X2-xIB;U9g28@Z@%079$7u`}qY2LOqC8 S-Bl0(0000