From 168403b6e4759eef3c786d0266fc65374ae4c6fe Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 7 Feb 2019 12:14:41 +0200 Subject: [PATCH] Flatten apples --- .../com/minelittlepony/unicopia/UBlocks.java | 3 +- .../com/minelittlepony/unicopia/UItems.java | 15 +++++--- .../unicopia/item/ItemApple.java | 38 ++++++++++++------- .../unicopia/item/ItemRottenApple.java | 9 +++++ .../unicopia/power/PowerStomp.java | 4 +- .../resources/assets/unicopia/lang/en_US.lang | 6 +-- .../assets/unicopia/recipes/cider.json | 2 +- .../assets/unicopia/recipes/cider_two.json | 2 +- .../assets/unicopia/recipes/juice.json | 2 +- 9 files changed, 53 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/UBlocks.java index c36b0d0b..753e316a 100644 --- a/src/main/java/com/minelittlepony/unicopia/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/UBlocks.java @@ -11,6 +11,7 @@ import com.minelittlepony.unicopia.block.BlockSugar; import com.minelittlepony.unicopia.block.BlockTomatoPlant; import com.minelittlepony.unicopia.block.IColourful; import com.minelittlepony.unicopia.block.USapling; +import com.minelittlepony.unicopia.item.ItemApple; import com.minelittlepony.unicopia.block.BlockCloudDoor; import com.minelittlepony.unicopia.block.BlockCloudFarm; import com.minelittlepony.unicopia.block.BlockCloudFence; @@ -57,7 +58,7 @@ public class UBlocks { public static final Block apple_leaves = new BlockFruitLeaves(Unicopia.MODID, "apple_leaves", apple_tree) .setBaseGrowthChance(1200) .setTint(0xFFEE81) - .setHarvestFruit(w -> UItems.apple.getRandomApple()) + .setHarvestFruit(w -> ItemApple.getRandomItemStack(null)) .setUnharvestFruit(w -> new ItemStack(UItems.rotten_apple)); static void init(IForgeRegistry registry) { diff --git a/src/main/java/com/minelittlepony/unicopia/UItems.java b/src/main/java/com/minelittlepony/unicopia/UItems.java index 99ff6cd6..19abaa95 100644 --- a/src/main/java/com/minelittlepony/unicopia/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/UItems.java @@ -53,9 +53,10 @@ import com.minelittlepony.unicopia.forgebullshit.OreReplacer; import com.minelittlepony.unicopia.forgebullshit.RegistryLockSpinner; public class UItems { - public static final ItemAppleMultiType apple = new ItemAppleMultiType("minecraft", "apple") - .setSubTypes("apple", "green", "sweet", "sour") - .setTypeRarities(10, 20, 10, 30); + public static final ItemApple red_apple = new ItemApple("minecraft", "apple"); + public static final ItemApple green_apple = new ItemApple(Unicopia.MODID, "apple_green"); + public static final ItemApple sweet_apple = new ItemApple(Unicopia.MODID, "apple_sweet"); + public static final ItemApple sour_apple = new ItemApple(Unicopia.MODID, "apple_sour"); public static final ItemAppleMultiType zap_apple = new ItemZapApple(Unicopia.MODID, "zap_apple") .setSubTypes("zap_apple", "red", "green", "sweet", "sour", "zap"); @@ -188,7 +189,7 @@ public class UItems { static void init(IForgeRegistry registry) { RegistryLockSpinner.open(Item.REGISTRY, Items.class, r -> r - .replace(Items.APPLE, apple) + .replace(Items.APPLE, red_apple) .replace(Items.STICK, stick) .replace(Item.getItemFromBlock(Blocks.TALLGRASS), tall_grass) .replace(Item.getItemFromBlock(Blocks.DOUBLE_PLANT), double_plant) @@ -196,6 +197,7 @@ public class UItems { .replace(Item.getItemFromBlock(Blocks.RED_FLOWER), red_flower)); registry.registerAll( + green_apple, sweet_apple, sour_apple, cloud_spawner, dew_drop, cloud_matter, cloud_block, cloud_stairs, cloud_slab, cloud_fence, cloud_banister, cloud_farmland, mist_door, anvil, @@ -216,10 +218,11 @@ public class UItems { if (UClient.isClientSide()) { ItemModels.registerAllVariants(cloud_slab, CloudType.getVariants("_cloud_slab")); ItemModels.registerAllVariants(cloud_block, CloudType.getVariants("_cloud_block")); - ItemModels.registerAllVariants(apple, Unicopia.MODID, apple.getVariants()); ItemModels.registerAll( cloud_spawner, + green_apple, sweet_apple, sour_apple, + zap_apple, rotten_apple, cooked_zap_apple, dew_drop, @@ -252,7 +255,7 @@ public class UItems { static void fixRecipes() { new OreReplacer() - .registerAll(stack -> stack.getItem().getRegistryName().equals(apple.getRegistryName())) + .registerAll(stack -> stack.getItem().getRegistryName().equals(red_apple.getRegistryName())) .done(); } diff --git a/src/main/java/com/minelittlepony/unicopia/item/ItemApple.java b/src/main/java/com/minelittlepony/unicopia/item/ItemApple.java index c146e6c9..c93ebd3d 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/ItemApple.java +++ b/src/main/java/com/minelittlepony/unicopia/item/ItemApple.java @@ -13,8 +13,10 @@ import com.minelittlepony.util.collection.Weighted; import net.minecraft.block.BlockPlanks; import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; +import net.minecraft.util.NonNullList; import net.minecraft.world.World; public class ItemApple extends ItemFood implements IEdible { @@ -22,28 +24,28 @@ public class ItemApple extends ItemFood implements IEdible { public static final Pool>> typeVariantMap = Pool.of(BlockPlanks.EnumType.OAK, BlockPlanks.EnumType.OAK, new Weighted>() .put(1, () -> new ItemStack(UItems.rotten_apple)) - .put(2, () -> new ItemStack(UItems.apple, 1, 1)) - .put(3, () -> new ItemStack(UItems.apple, 1, 0)), + .put(2, () -> new ItemStack(UItems.green_apple)) + .put(3, () -> new ItemStack(UItems.red_apple)), BlockPlanks.EnumType.SPRUCE, new Weighted>() - .put(1, () -> new ItemStack(UItems.apple, 1, 3)) - .put(2, () -> new ItemStack(UItems.apple, 1, 1)) - .put(3, () -> new ItemStack(UItems.apple, 1, 2)) + .put(1, () -> new ItemStack(UItems.sour_apple)) + .put(2, () -> new ItemStack(UItems.green_apple)) + .put(3, () -> new ItemStack(UItems.sweet_apple)) .put(4, () -> new ItemStack(UItems.rotten_apple)), BlockPlanks.EnumType.BIRCH, new Weighted>() .put(1, () -> new ItemStack(UItems.rotten_apple)) - .put(2, () -> new ItemStack(UItems.apple, 1, 2)) - .put(5, () -> new ItemStack(UItems.apple, 1, 1)), + .put(2, () -> new ItemStack(UItems.sweet_apple)) + .put(5, () -> new ItemStack(UItems.green_apple)), BlockPlanks.EnumType.JUNGLE, new Weighted>() - .put(5, () -> new ItemStack(UItems.apple, 1, 1)) - .put(2, () -> new ItemStack(UItems.apple, 1, 2)) - .put(1, () -> new ItemStack(UItems.apple, 1, 3)), + .put(5, () -> new ItemStack(UItems.green_apple)) + .put(2, () -> new ItemStack(UItems.sweet_apple)) + .put(1, () -> new ItemStack(UItems.sour_apple)), BlockPlanks.EnumType.ACACIA, new Weighted>() .put(1, () -> new ItemStack(UItems.rotten_apple)) - .put(2, () -> new ItemStack(UItems.apple, 1, 2)) - .put(5, () -> new ItemStack(UItems.apple, 1, 1)), + .put(2, () -> new ItemStack(UItems.sweet_apple)) + .put(5, () -> new ItemStack(UItems.green_apple)), BlockPlanks.EnumType.DARK_OAK, new Weighted>() .put(1, () -> new ItemStack(UItems.rotten_apple)) - .put(2, () -> new ItemStack(UItems.apple, 1, 2)) + .put(2, () -> new ItemStack(UItems.sweet_apple)) .put(5, () -> new ItemStack(UItems.zap_apple) ) ); @@ -73,6 +75,16 @@ public class ItemApple extends ItemFood implements IEdible { } } + @Override + public void getSubItems(CreativeTabs tab, NonNullList items) { + if (this == UItems.red_apple && isInCreativeTab(tab)) { + items.add(new ItemStack(this)); + items.add(new ItemStack(UItems.green_apple)); + items.add(new ItemStack(UItems.sweet_apple)); + items.add(new ItemStack(UItems.sour_apple)); + } + } + @Override public void addInformation(ItemStack stack, @Nullable World worldIn, List tooltip, ITooltipFlag flagIn) { tooltip.add(getToxicityLevel(stack).getTooltip()); diff --git a/src/main/java/com/minelittlepony/unicopia/item/ItemRottenApple.java b/src/main/java/com/minelittlepony/unicopia/item/ItemRottenApple.java index 3019940a..80a5f83e 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/ItemRottenApple.java +++ b/src/main/java/com/minelittlepony/unicopia/item/ItemRottenApple.java @@ -1,6 +1,8 @@ package com.minelittlepony.unicopia.item; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; +import net.minecraft.util.NonNullList; public class ItemRottenApple extends ItemApple { @@ -12,4 +14,11 @@ public class ItemRottenApple extends ItemApple { public int getItemBurnTime(ItemStack stack) { return 150; } + + @Override + public void getSubItems(CreativeTabs tab, NonNullList items) { + if (isInCreativeTab(tab)) { + items.add(new ItemStack(this)); + } + } } \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/power/PowerStomp.java b/src/main/java/com/minelittlepony/unicopia/power/PowerStomp.java index e6ffb639..04650470 100644 --- a/src/main/java/com/minelittlepony/unicopia/power/PowerStomp.java +++ b/src/main/java/com/minelittlepony/unicopia/power/PowerStomp.java @@ -8,7 +8,7 @@ import org.lwjgl.input.Keyboard; import com.google.gson.annotations.Expose; import com.minelittlepony.unicopia.Race; -import com.minelittlepony.unicopia.UItems; +import com.minelittlepony.unicopia.item.ItemApple; import com.minelittlepony.unicopia.particle.Particles; import com.minelittlepony.unicopia.player.IPlayer; import com.minelittlepony.unicopia.player.PlayerSpeciesList; @@ -333,7 +333,7 @@ public class PowerStomp implements IPower { } private ItemStack getApple(World w, IBlockState log) { - return UItems.apple.getRandomApple(getVariant(log)); + return ItemApple.getRandomItemStack(getVariant(log)); } private int measureTree(World w, IBlockState log, BlockPos pos) { diff --git a/src/main/resources/assets/unicopia/lang/en_US.lang b/src/main/resources/assets/unicopia/lang/en_US.lang index 5f25100e..28f298c5 100644 --- a/src/main/resources/assets/unicopia/lang/en_US.lang +++ b/src/main/resources/assets/unicopia/lang/en_US.lang @@ -75,9 +75,9 @@ curse.inferno.tagline=Fire II item.spellbook.name=Spellbook item.bag_of_holding.name=Bag of Holding -item.apple.green.name=Granny Smith Apple -item.apple.sweet.name=Sweet Apple Acres Apple -item.apple.sour.name=Sour Apple +item.apple_green.name=Granny Smith Apple +item.apple_sweet.name=Sweet Apple Acres Apple +item.apple_sour.name=Sour Apple item.rotten_apple.name=Rotten Apple diff --git a/src/main/resources/assets/unicopia/recipes/cider.json b/src/main/resources/assets/unicopia/recipes/cider.json index fbfcc927..54033fc9 100644 --- a/src/main/resources/assets/unicopia/recipes/cider.json +++ b/src/main/resources/assets/unicopia/recipes/cider.json @@ -16,7 +16,7 @@ { "item": "minecraft:iron_nugget" } ], "A": [ - { "item": "minecraft:apple", "data": 0 } + { "item": "minecraft:apple" } ] }, "result": { "item": "unicopia:apple_cider", "data": 0, "count": 1 } diff --git a/src/main/resources/assets/unicopia/recipes/cider_two.json b/src/main/resources/assets/unicopia/recipes/cider_two.json index 7ecbc7bf..22e06dab 100644 --- a/src/main/resources/assets/unicopia/recipes/cider_two.json +++ b/src/main/resources/assets/unicopia/recipes/cider_two.json @@ -17,7 +17,7 @@ { "item": "unicopia:burned_juice", "data": 0 } ], "A": [ - { "item": "minecraft:apple", "data": 0 } + { "item": "minecraft:apple" } ] }, "result": { "item": "unicopia:apple_cider", "data": 0, "count": 1 } diff --git a/src/main/resources/assets/unicopia/recipes/juice.json b/src/main/resources/assets/unicopia/recipes/juice.json index 5be036ab..7fd99af1 100644 --- a/src/main/resources/assets/unicopia/recipes/juice.json +++ b/src/main/resources/assets/unicopia/recipes/juice.json @@ -11,7 +11,7 @@ { "item": "minecraft:glass_bottle" } ], "A": [ - { "item": "minecraft:apple", "data": 0 } + { "item": "minecraft:apple" } ] }, "result": { "item": "unicopia:juice", "data": 0, "count": 1 }