From 8259a0c275fd27da01d0be48e706080932b7665a Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Mon, 27 Jan 2020 23:25:59 +0100 Subject: [PATCH] JEI Traveling down the Recipe Chain - Added JEI integration for polishing and the chromatic compound shenanigans - Added more missing recipes - Added some machine-specific ingredients --- .../java/com/simibubi/create/AllItems.java | 2 + .../java/com/simibubi/create/AllRecipes.java | 2 + .../com/simibubi/create/ScreenResources.java | 1 + .../create/compat/jei/ConversionRecipe.java | 49 ++++++++ .../simibubi/create/compat/jei/CreateJEI.java | 28 ++++- .../BlastingViaFanCategory.java | 3 +- .../{ => category}/BlockCuttingCategory.java | 7 +- .../BlockzapperUpgradeCategory.java | 4 +- .../jei/{ => category}/CrushingCategory.java | 6 +- .../jei/{ => category}/MixingCategory.java | 6 +- .../MysteriousItemConversionCategory.java | 95 +++++++++++++++ .../jei/{ => category}/PackingCategory.java | 5 +- .../jei/category/PolishingCategory.java | 109 ++++++++++++++++++ .../jei/{ => category}/PressingCategory.java | 6 +- .../ProcessingViaFanCategory.java | 4 +- .../jei/{ => category}/SawingCategory.java | 6 +- .../{ => category}/SmokingViaFanCategory.java | 3 +- .../jei/{ => category}/SplashingCategory.java | 5 +- .../animations}/AnimatedCrushingWheels.java | 2 +- .../animations}/AnimatedKinetics.java | 2 +- .../animations}/AnimatedMixer.java | 2 +- .../animations}/AnimatedPress.java | 2 +- .../animations}/AnimatedSaw.java | 2 +- .../tools/SandPaperItemRenderer.java | 18 +-- .../resources/assets/create/lang/en_us.json | 4 + .../models/block/encased_fan/propeller.json | 4 +- .../assets/create/models/item/brass_hand.json | 6 + .../assets/create/models/item/whisk.json | 6 + .../create/textures/block/fan_blades.png | Bin 360 -> 475 bytes .../create/textures/gui/jei/widgets.png | Bin 4435 -> 4495 bytes .../create/textures/item/brass_hand.png | Bin 0 -> 515 bytes .../assets/create/textures/item/propeller.png | Bin 382 -> 475 bytes .../assets/create/textures/item/whisk.png | Bin 0 -> 522 bytes .../create/recipes/blasting/copper_ore.json | 9 ++ .../create/recipes/blasting/zinc_ore.json | 9 ++ .../curiosities/deforester.json | 29 +++++ .../crafting_shaped/curiosities/filter.json | 24 ++++ .../crafting_shaped/curiosities/goggles.json | 28 +++++ .../curiosities/placement_handgun.json | 4 +- .../curiosities/property_filter.json | 24 ++++ .../crafting_shaped/curiosities/wrench.json | 29 +++++ .../materials/andesite_casing.json | 9 +- .../materials/brass_casing.json | 9 +- .../materials/brass_ingot.json | 22 ++++ .../materials/copper_ingot.json | 22 ++++ .../crafting_shaped/materials/zinc_ingot.json | 22 ++++ .../blueprint_and_quill.json | 0 .../crafting_shapeless/brass_nugget.json | 12 ++ .../crafting_shapeless/copper_nugget.json | 12 ++ .../empty_blueprint.json | 0 .../crafting_shapeless/zinc_nugget.json | 12 ++ .../create/recipes/crushing/copper_ore.json | 26 +++++ .../create/recipes/crushing/gold_ore.json | 2 +- .../create/recipes/crushing/iron_ore.json | 2 +- .../create/recipes/crushing/zinc_ore.json | 26 +++++ .../create/recipes/smelting/copper_ore.json | 9 ++ .../create/recipes/smelting/zinc_ore.json | 9 ++ .../data/forge/tags/blocks/ores.json | 7 ++ .../data/forge/tags/blocks/ores/copper.json | 6 + .../data/forge/tags/blocks/ores/zinc.json | 6 + .../resources/data/forge/tags/items/ores.json | 7 ++ .../data/forge/tags/items/ores/copper.json | 6 + .../data/forge/tags/items/ores/zinc.json | 6 + 63 files changed, 737 insertions(+), 40 deletions(-) create mode 100644 src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java rename src/main/java/com/simibubi/create/compat/jei/{ => category}/BlastingViaFanCategory.java (95%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/BlockCuttingCategory.java (92%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/BlockzapperUpgradeCategory.java (96%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/CrushingCategory.java (91%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/MixingCategory.java (94%) create mode 100644 src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java rename src/main/java/com/simibubi/create/compat/jei/{ => category}/PackingCategory.java (92%) create mode 100644 src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java rename src/main/java/com/simibubi/create/compat/jei/{ => category}/PressingCategory.java (91%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/ProcessingViaFanCategory.java (94%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/SawingCategory.java (91%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/SmokingViaFanCategory.java (92%) rename src/main/java/com/simibubi/create/compat/jei/{ => category}/SplashingCategory.java (95%) rename src/main/java/com/simibubi/create/compat/jei/{ => category/animations}/AnimatedCrushingWheels.java (96%) rename src/main/java/com/simibubi/create/compat/jei/{ => category/animations}/AnimatedKinetics.java (85%) rename src/main/java/com/simibubi/create/compat/jei/{ => category/animations}/AnimatedMixer.java (97%) rename src/main/java/com/simibubi/create/compat/jei/{ => category/animations}/AnimatedPress.java (97%) rename src/main/java/com/simibubi/create/compat/jei/{ => category/animations}/AnimatedSaw.java (96%) create mode 100644 src/main/resources/assets/create/models/item/brass_hand.json create mode 100644 src/main/resources/assets/create/models/item/whisk.json create mode 100644 src/main/resources/assets/create/textures/item/brass_hand.png create mode 100644 src/main/resources/assets/create/textures/item/whisk.png create mode 100644 src/main/resources/data/create/recipes/blasting/copper_ore.json create mode 100644 src/main/resources/data/create/recipes/blasting/zinc_ore.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/curiosities/deforester.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/curiosities/filter.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/curiosities/goggles.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/curiosities/property_filter.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/curiosities/wrench.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/materials/brass_ingot.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/materials/copper_ingot.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/materials/zinc_ingot.json rename src/main/resources/data/create/recipes/{crafting_shaped/schematics => crafting_shapeless}/blueprint_and_quill.json (100%) create mode 100644 src/main/resources/data/create/recipes/crafting_shapeless/brass_nugget.json create mode 100644 src/main/resources/data/create/recipes/crafting_shapeless/copper_nugget.json rename src/main/resources/data/create/recipes/{crafting_shaped/schematics => crafting_shapeless}/empty_blueprint.json (100%) create mode 100644 src/main/resources/data/create/recipes/crafting_shapeless/zinc_nugget.json create mode 100644 src/main/resources/data/create/recipes/crushing/copper_ore.json create mode 100644 src/main/resources/data/create/recipes/crushing/zinc_ore.json create mode 100644 src/main/resources/data/create/recipes/smelting/copper_ore.json create mode 100644 src/main/resources/data/create/recipes/smelting/zinc_ore.json create mode 100644 src/main/resources/data/forge/tags/blocks/ores.json create mode 100644 src/main/resources/data/forge/tags/blocks/ores/copper.json create mode 100644 src/main/resources/data/forge/tags/blocks/ores/zinc.json create mode 100644 src/main/resources/data/forge/tags/items/ores.json create mode 100644 src/main/resources/data/forge/tags/items/ores/copper.json create mode 100644 src/main/resources/data/forge/tags/items/ores/zinc.json diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index 95e13caec..c0df793fa 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -88,6 +88,8 @@ public enum AllItems { FLOUR(ingredient()), DOUGH(ingredient()), PROPELLER(ingredient()), + WHISK(ingredient()), + BRASS_HAND(ingredient()), WRENCH(new WrenchItem(standardItemProperties().setTEISR(() -> () -> renderUsing(AllItemRenderers.WRENCH))), true), GOGGLES(new GogglesItem(standardItemProperties()), true), diff --git a/src/main/java/com/simibubi/create/AllRecipes.java b/src/main/java/com/simibubi/create/AllRecipes.java index cd368475e..9ee40f860 100644 --- a/src/main/java/com/simibubi/create/AllRecipes.java +++ b/src/main/java/com/simibubi/create/AllRecipes.java @@ -2,6 +2,7 @@ package com.simibubi.create; import java.util.function.Supplier; +import com.simibubi.create.compat.jei.ConversionRecipe; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.crafter.MechanicalCraftingRecipe; import com.simibubi.create.modules.contraptions.components.crusher.CrushingRecipe; @@ -34,6 +35,7 @@ public enum AllRecipes { CUTTING(processingSerializer(CuttingRecipe::new)), MIXING(processingSerializer(MixingRecipe::new)), SANDPAPER_POLISHING(processingSerializer(SandPaperPolishingRecipe::new)), + CONVERSION(processingSerializer(ConversionRecipe::new)), ; diff --git a/src/main/java/com/simibubi/create/ScreenResources.java b/src/main/java/com/simibubi/create/ScreenResources.java index 2fec60633..d62357424 100644 --- a/src/main/java/com/simibubi/create/ScreenResources.java +++ b/src/main/java/com/simibubi/create/ScreenResources.java @@ -73,6 +73,7 @@ public enum ScreenResources { JEI_LONG_ARROW("jei/widgets.png", 19, 0, 71, 10), JEI_DOWN_ARROW("jei/widgets.png", 0, 21, 18, 14), JEI_LIGHT("jei/widgets.png", 0, 42, 52, 11), + JEI_QUESTION_MARK("jei/widgets.png", 0, 178, 12, 16), JEI_SHADOW("jei/widgets.png", 0, 56, 52, 11), BLOCKZAPPER_UPGRADE_RECIPE("jei/widgets.png", 0, 75, 144, 66), diff --git a/src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java b/src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java new file mode 100644 index 000000000..cf5f3913b --- /dev/null +++ b/src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java @@ -0,0 +1,49 @@ +package com.simibubi.create.compat.jei; + +import java.util.Arrays; +import java.util.List; + +import com.simibubi.create.AllRecipes; +import com.simibubi.create.Create; +import com.simibubi.create.modules.contraptions.processing.ProcessingIngredient; +import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; +import com.simibubi.create.modules.contraptions.processing.ProcessingRecipe; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.Ingredient; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.items.wrapper.RecipeWrapper; + +/** + * Helper recipe type for displaying an item relationship in JEI + * + * @author simibubi + * + */ +public class ConversionRecipe extends ProcessingRecipe { + + public ConversionRecipe(ResourceLocation id, String group, List ingredients, + List results, int processingDuration) { + super(AllRecipes.CONVERSION, id, group, ingredients, results, processingDuration); + } + + static int counter = 0; + + public static ConversionRecipe create(ItemStack from, ItemStack to) { + List ingredients = Arrays.asList(new ProcessingIngredient(Ingredient.fromStacks(from))); + List outputs = Arrays.asList(new ProcessingOutput(to, 1)); + return new ConversionRecipe(new ResourceLocation(Create.ID, "conversion_" + counter++), ingredients, outputs); + } + + public ConversionRecipe(ResourceLocation id, List ingredients, + List results) { + this(id, "conversions", ingredients, results, -1); + } + + @Override + public boolean matches(RecipeWrapper inv, World worldIn) { + return false; + } + +} diff --git a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java index 5171f1939..719be23e7 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java +++ b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java @@ -9,7 +9,19 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllRecipes; import com.simibubi.create.Create; -import com.simibubi.create.compat.jei.BlockCuttingCategory.CondensedBlockCuttingRecipe; +import com.simibubi.create.compat.jei.category.BlastingViaFanCategory; +import com.simibubi.create.compat.jei.category.BlockCuttingCategory; +import com.simibubi.create.compat.jei.category.BlockCuttingCategory.CondensedBlockCuttingRecipe; +import com.simibubi.create.compat.jei.category.BlockzapperUpgradeCategory; +import com.simibubi.create.compat.jei.category.CrushingCategory; +import com.simibubi.create.compat.jei.category.MixingCategory; +import com.simibubi.create.compat.jei.category.MysteriousItemConversionCategory; +import com.simibubi.create.compat.jei.category.PackingCategory; +import com.simibubi.create.compat.jei.category.PolishingCategory; +import com.simibubi.create.compat.jei.category.PressingCategory; +import com.simibubi.create.compat.jei.category.SawingCategory; +import com.simibubi.create.compat.jei.category.SmokingViaFanCategory; +import com.simibubi.create.compat.jei.category.SplashingCategory; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.mixer.MixingRecipe; import com.simibubi.create.modules.contraptions.components.press.MechanicalPressTileEntity; @@ -50,6 +62,8 @@ public class CreateJEI implements IModPlugin { private SawingCategory sawingCategory; private BlockCuttingCategory blockCuttingCategory; private PackingCategory packingCategory; + private PolishingCategory polishingCategory; + private MysteriousItemConversionCategory mysteryConversionCategory; @Override public ResourceLocation getPluginUid() { @@ -67,6 +81,8 @@ public class CreateJEI implements IModPlugin { sawingCategory = new SawingCategory(); blockCuttingCategory = new BlockCuttingCategory(); packingCategory = new PackingCategory(); + polishingCategory = new PolishingCategory(); + mysteryConversionCategory = new MysteriousItemConversionCategory(); } @Override @@ -78,7 +94,7 @@ public class CreateJEI implements IModPlugin { public void registerCategories(IRecipeCategoryRegistration registration) { registration.addRecipeCategories(crushingCategory, splashingCategory, pressingCategory, smokingCategory, blastingCategory, blockzapperCategory, mixingCategory, sawingCategory, blockCuttingCategory, - packingCategory); + packingCategory, polishingCategory, mysteryConversionCategory); } @Override @@ -103,6 +119,8 @@ public class CreateJEI implements IModPlugin { registration.addRecipes(findRecipes( r -> (r instanceof ICraftingRecipe) && MechanicalPressTileEntity.canCompress(r.getIngredients())), packingCategory.getUid()); + registration.addRecipes(findRecipes(AllRecipes.SANDPAPER_POLISHING), polishingCategory.getUid()); + registration.addRecipes(MysteriousItemConversionCategory.getRecipes(), mysteryConversionCategory.getUid()); } @Override @@ -129,6 +147,8 @@ public class CreateJEI implements IModPlugin { registration.addRecipeCatalyst(new ItemStack(Blocks.STONECUTTER), blockCuttingCategory.getUid()); registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_PRESS.get()), packingCategory.getUid()); registration.addRecipeCatalyst(new ItemStack(AllBlocks.BASIN.get()), packingCategory.getUid()); + registration.addRecipeCatalyst(AllItems.SAND_PAPER.asStack(), polishingCategory.getUid()); + registration.addRecipeCatalyst(AllItems.RED_SAND_PAPER.asStack(), polishingCategory.getUid()); } @Override @@ -172,7 +192,7 @@ public class CreateJEI implements IModPlugin { return byType; } - static void addStochasticTooltip(IGuiItemStackGroup itemStacks, List results) { + public static void addStochasticTooltip(IGuiItemStackGroup itemStacks, List results) { itemStacks.addTooltipCallback((slotIndex, input, ingredient, tooltip) -> { if (input) return; @@ -183,7 +203,7 @@ public class CreateJEI implements IModPlugin { }); } - static void addCatalystTooltip(IGuiItemStackGroup itemStacks, Map catalystIndices) { + public static void addCatalystTooltip(IGuiItemStackGroup itemStacks, Map catalystIndices) { itemStacks.addTooltipCallback((slotIndex, input, ingredient, tooltip) -> { if (!input) return; diff --git a/src/main/java/com/simibubi/create/compat/jei/BlastingViaFanCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/BlastingViaFanCategory.java similarity index 95% rename from src/main/java/com/simibubi/create/compat/jei/BlastingViaFanCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/BlastingViaFanCategory.java index 41020fb84..a2970b286 100644 --- a/src/main/java/com/simibubi/create/compat/jei/BlastingViaFanCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/BlastingViaFanCategory.java @@ -1,8 +1,9 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllItems; import com.simibubi.create.Create; +import com.simibubi.create.compat.jei.DoubleItemIcon; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import com.simibubi.create.foundation.utility.Lang; diff --git a/src/main/java/com/simibubi/create/compat/jei/BlockCuttingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/BlockCuttingCategory.java similarity index 92% rename from src/main/java/com/simibubi/create/compat/jei/BlockCuttingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/BlockCuttingCategory.java index 2e366ecd1..ff45422c7 100644 --- a/src/main/java/com/simibubi/create/compat/jei/BlockCuttingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/BlockCuttingCategory.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.ArrayList; import java.util.Arrays; @@ -7,7 +7,10 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; -import com.simibubi.create.compat.jei.BlockCuttingCategory.CondensedBlockCuttingRecipe; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.compat.jei.category.BlockCuttingCategory.CondensedBlockCuttingRecipe; +import com.simibubi.create.compat.jei.category.animations.AnimatedSaw; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.utility.Lang; diff --git a/src/main/java/com/simibubi/create/compat/jei/BlockzapperUpgradeCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java similarity index 96% rename from src/main/java/com/simibubi/create/compat/jei/BlockzapperUpgradeCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java index 98687a606..6bdc827f0 100644 --- a/src/main/java/com/simibubi/create/compat/jei/BlockzapperUpgradeCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import static com.simibubi.create.ScreenResources.BLOCKZAPPER_UPGRADE_RECIPE; @@ -10,6 +10,8 @@ import java.util.stream.Collectors; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllItems; import com.simibubi.create.Create; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.ScreenResourceWrapper; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperUpgradeRecipe; diff --git a/src/main/java/com/simibubi/create/compat/jei/CrushingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/CrushingCategory.java similarity index 91% rename from src/main/java/com/simibubi/create/compat/jei/CrushingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/CrushingCategory.java index 47f1a65f0..28f23f364 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CrushingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/CrushingCategory.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.Arrays; import java.util.List; @@ -7,6 +7,10 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.CreateJEI; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.compat.jei.category.animations.AnimatedCrushingWheels; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.crusher.CrushingRecipe; import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; diff --git a/src/main/java/com/simibubi/create/compat/jei/MixingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/MixingCategory.java similarity index 94% rename from src/main/java/com/simibubi/create/compat/jei/MixingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/MixingCategory.java index d7e85f6e5..00342dcb7 100644 --- a/src/main/java/com/simibubi/create/compat/jei/MixingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/MixingCategory.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.Arrays; import java.util.HashMap; @@ -12,6 +12,10 @@ import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.CreateJEI; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.compat.jei.category.animations.AnimatedMixer; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.mixer.MixingRecipe; diff --git a/src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java new file mode 100644 index 000000000..85277b79f --- /dev/null +++ b/src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java @@ -0,0 +1,95 @@ +package com.simibubi.create.compat.jei.category; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.simibubi.create.AllItems; +import com.simibubi.create.Create; +import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.ConversionRecipe; +import com.simibubi.create.compat.jei.CreateJEI; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; + +import mezz.jei.api.constants.VanillaTypes; +import mezz.jei.api.gui.IRecipeLayout; +import mezz.jei.api.gui.drawable.IDrawable; +import mezz.jei.api.gui.ingredient.IGuiItemStackGroup; +import mezz.jei.api.ingredients.IIngredients; +import mezz.jei.api.recipe.category.IRecipeCategory; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class MysteriousItemConversionCategory implements IRecipeCategory { + + private static ResourceLocation ID = new ResourceLocation(Create.ID, "mystery_conversion"); + private IDrawable icon; + private IDrawable background = new EmptyBackground(177, 50); + + public static List getRecipes() { + List recipes = new ArrayList<>(); + recipes.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.SHADOW_STEEL.asStack())); + recipes.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.REFINED_RADIANCE.asStack())); + return recipes; + } + + public MysteriousItemConversionCategory() { + icon = new DoubleItemIcon(() -> AllItems.CHROMATIC_COMPOUND.asStack(), () -> ItemStack.EMPTY); + } + + @Override + public IDrawable getIcon() { + return icon; + } + + @Override + public ResourceLocation getUid() { + return ID; + } + + @Override + public Class getRecipeClass() { + return ConversionRecipe.class; + } + + @Override + public String getTitle() { + return Lang.translate("recipe.mystery_conversion"); + } + + @Override + public IDrawable getBackground() { + return background; + } + + @Override + public void setIngredients(ConversionRecipe recipe, IIngredients ingredients) { + ingredients.setInputIngredients(recipe.getIngredients()); + ingredients.setOutputs(VanillaTypes.ITEM, recipe.getPossibleOutputs()); + } + + @Override + public void setRecipe(IRecipeLayout recipeLayout, ConversionRecipe recipe, IIngredients ingredients) { + IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks(); + List results = recipe.getRollableResults(); + + itemStacks.init(0, true, 26, 16); + itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); + itemStacks.init(1, false, 131, 16); + itemStacks.set(1, results.get(0).getStack()); + + CreateJEI.addStochasticTooltip(itemStacks, results); + } + + @Override + public void draw(ConversionRecipe recipe, double mouseX, double mouseY) { + ScreenResources.JEI_SLOT.draw(26, 16); + ScreenResources.JEI_SLOT.draw(131, 16); + ScreenResources.JEI_LONG_ARROW.draw(52, 20); + ScreenResources.JEI_QUESTION_MARK.draw(77, 5); + } + +} diff --git a/src/main/java/com/simibubi/create/compat/jei/PackingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/PackingCategory.java similarity index 92% rename from src/main/java/com/simibubi/create/compat/jei/PackingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/PackingCategory.java index 4dc400da3..c7c0f7bad 100644 --- a/src/main/java/com/simibubi/create/compat/jei/PackingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/PackingCategory.java @@ -1,10 +1,13 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.Arrays; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.compat.jei.category.animations.AnimatedPress; import com.simibubi.create.foundation.utility.Lang; import mezz.jei.api.constants.VanillaTypes; diff --git a/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java new file mode 100644 index 000000000..a12209cb7 --- /dev/null +++ b/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java @@ -0,0 +1,109 @@ +package com.simibubi.create.compat.jei.category; + +import java.util.Arrays; +import java.util.List; + +import com.mojang.blaze3d.platform.GlStateManager; +import com.simibubi.create.AllItems; +import com.simibubi.create.Create; +import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.CreateJEI; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; +import com.simibubi.create.modules.curiosities.tools.SandPaperPolishingRecipe; + +import mezz.jei.api.constants.VanillaTypes; +import mezz.jei.api.gui.IRecipeLayout; +import mezz.jei.api.gui.drawable.IDrawable; +import mezz.jei.api.gui.ingredient.IGuiItemStackGroup; +import mezz.jei.api.ingredients.IIngredients; +import mezz.jei.api.recipe.category.IRecipeCategory; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.Ingredient; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; + +public class PolishingCategory implements IRecipeCategory { + + private static ResourceLocation ID = new ResourceLocation(Create.ID, "sandpaper_polishing"); + private IDrawable icon; + private IDrawable background = new EmptyBackground(177, 55); + private ItemStack renderedSandpaper; + + public PolishingCategory() { + icon = new DoubleItemIcon(() -> AllItems.SAND_PAPER.asStack(), () -> ItemStack.EMPTY); + renderedSandpaper = AllItems.SAND_PAPER.asStack(); + } + + @Override + public IDrawable getIcon() { + return icon; + } + + @Override + public ResourceLocation getUid() { + return ID; + } + + @Override + public Class getRecipeClass() { + return SandPaperPolishingRecipe.class; + } + + @Override + public String getTitle() { + return Lang.translate("recipe.sandpaper_polishing"); + } + + @Override + public IDrawable getBackground() { + return background; + } + + @Override + public void setIngredients(SandPaperPolishingRecipe recipe, IIngredients ingredients) { + ingredients.setInputIngredients(recipe.getIngredients()); + ingredients.setOutputs(VanillaTypes.ITEM, recipe.getPossibleOutputs()); + } + + @Override + public void setRecipe(IRecipeLayout recipeLayout, SandPaperPolishingRecipe recipe, IIngredients ingredients) { + IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks(); + List results = recipe.getRollableResults(); + + itemStacks.init(0, true, 26, 28); + itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); + itemStacks.init(1, false, 131, 28); + itemStacks.set(1, results.get(0).getStack()); + + CreateJEI.addStochasticTooltip(itemStacks, results); + } + + @Override + public void draw(SandPaperPolishingRecipe recipe, double mouseX, double mouseY) { + ScreenResources.JEI_SLOT.draw(26, 28); + ScreenResources.JEI_SLOT.draw(131, 28); + ScreenResources.JEI_SHADOW.draw(61, 21); + ScreenResources.JEI_LONG_ARROW.draw(52, 32); + + NonNullList ingredients = recipe.getIngredients(); + ItemStack[] matchingStacks = ingredients.get(0).getMatchingStacks(); + if (matchingStacks.length == 0) + return; + + GlStateManager.pushMatrix(); + CompoundNBT tag = renderedSandpaper.getOrCreateTag(); + tag.put("Polishing", matchingStacks[0].serializeNBT()); + tag.putBoolean("JEI", true); + ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); + GlStateManager.scaled(2, 2, 2); + itemRenderer.renderItemIntoGUI(renderedSandpaper, getBackground().getWidth() / 4 - 8, 1); + GlStateManager.popMatrix(); + } + +} diff --git a/src/main/java/com/simibubi/create/compat/jei/PressingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/PressingCategory.java similarity index 91% rename from src/main/java/com/simibubi/create/compat/jei/PressingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/PressingCategory.java index 952d7bc9c..3a3774990 100644 --- a/src/main/java/com/simibubi/create/compat/jei/PressingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/PressingCategory.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.Arrays; import java.util.List; @@ -7,6 +7,10 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.CreateJEI; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.compat.jei.category.animations.AnimatedPress; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.press.PressingRecipe; import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; diff --git a/src/main/java/com/simibubi/create/compat/jei/ProcessingViaFanCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/ProcessingViaFanCategory.java similarity index 94% rename from src/main/java/com/simibubi/create/compat/jei/ProcessingViaFanCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/ProcessingViaFanCategory.java index a4e90a3bd..a0609a536 100644 --- a/src/main/java/com/simibubi/create/compat/jei/ProcessingViaFanCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/ProcessingViaFanCategory.java @@ -1,10 +1,12 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.Arrays; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllBlocks; import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import mezz.jei.api.constants.VanillaTypes; diff --git a/src/main/java/com/simibubi/create/compat/jei/SawingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SawingCategory.java similarity index 91% rename from src/main/java/com/simibubi/create/compat/jei/SawingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/SawingCategory.java index d9c5b3d1c..7a42a14ae 100644 --- a/src/main/java/com/simibubi/create/compat/jei/SawingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SawingCategory.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.Arrays; import java.util.List; @@ -6,6 +6,10 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.CreateJEI; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; +import com.simibubi.create.compat.jei.category.animations.AnimatedSaw; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.saw.CuttingRecipe; import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; diff --git a/src/main/java/com/simibubi/create/compat/jei/SmokingViaFanCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SmokingViaFanCategory.java similarity index 92% rename from src/main/java/com/simibubi/create/compat/jei/SmokingViaFanCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/SmokingViaFanCategory.java index d81083c57..1444881d9 100644 --- a/src/main/java/com/simibubi/create/compat/jei/SmokingViaFanCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SmokingViaFanCategory.java @@ -1,7 +1,8 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import com.simibubi.create.AllItems; import com.simibubi.create.Create; +import com.simibubi.create.compat.jei.DoubleItemIcon; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import com.simibubi.create.foundation.utility.Lang; diff --git a/src/main/java/com/simibubi/create/compat/jei/SplashingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java similarity index 95% rename from src/main/java/com/simibubi/create/compat/jei/SplashingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java index 3a77f4f4b..fbf53fac5 100644 --- a/src/main/java/com/simibubi/create/compat/jei/SplashingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category; import java.util.Arrays; import java.util.List; @@ -7,6 +7,9 @@ import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; +import com.simibubi.create.compat.jei.CreateJEI; +import com.simibubi.create.compat.jei.DoubleItemIcon; +import com.simibubi.create.compat.jei.EmptyBackground; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.fan.SplashingRecipe; diff --git a/src/main/java/com/simibubi/create/compat/jei/AnimatedCrushingWheels.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java similarity index 96% rename from src/main/java/com/simibubi/create/compat/jei/AnimatedCrushingWheels.java rename to src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java index 6145c3c3d..110625ced 100644 --- a/src/main/java/com/simibubi/create/compat/jei/AnimatedCrushingWheels.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllBlocks; diff --git a/src/main/java/com/simibubi/create/compat/jei/AnimatedKinetics.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedKinetics.java similarity index 85% rename from src/main/java/com/simibubi/create/compat/jei/AnimatedKinetics.java rename to src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedKinetics.java index fb6a74602..63dd2cfa2 100644 --- a/src/main/java/com/simibubi/create/compat/jei/AnimatedKinetics.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedKinetics.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category.animations; import com.simibubi.create.foundation.utility.AnimationTickHolder; diff --git a/src/main/java/com/simibubi/create/compat/jei/AnimatedMixer.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java similarity index 97% rename from src/main/java/com/simibubi/create/compat/jei/AnimatedMixer.java rename to src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java index df92a644f..161f910f6 100644 --- a/src/main/java/com/simibubi/create/compat/jei/AnimatedMixer.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllBlocks; diff --git a/src/main/java/com/simibubi/create/compat/jei/AnimatedPress.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java similarity index 97% rename from src/main/java/com/simibubi/create/compat/jei/AnimatedPress.java rename to src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java index a131624e3..d87636102 100644 --- a/src/main/java/com/simibubi/create/compat/jei/AnimatedPress.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category.animations; import static com.simibubi.create.foundation.utility.AnimationTickHolder.ticks; diff --git a/src/main/java/com/simibubi/create/compat/jei/AnimatedSaw.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java similarity index 96% rename from src/main/java/com/simibubi/create/compat/jei/AnimatedSaw.java rename to src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java index 8f2fd7b71..a75faa4a8 100644 --- a/src/main/java/com/simibubi/create/compat/jei/AnimatedSaw.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java @@ -1,4 +1,4 @@ -package com.simibubi.create.compat.jei; +package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllBlocks; diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java index f1126a766..7fec0f6a4 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java @@ -6,6 +6,7 @@ import org.apache.commons.lang3.tuple.Pair; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.foundation.block.render.CustomRenderItemBakedModel; +import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.player.ClientPlayerEntity; @@ -35,9 +36,11 @@ public class SandPaperItemRenderer extends ItemStackTileEntityRenderer { GlStateManager.translatef(.5f, .5f, .5f); CompoundNBT tag = stack.getOrCreateTag(); + boolean jeiMode = tag.contains("JEI"); + if (tag.contains("Polishing")) { GlStateManager.pushMatrix(); - + if (mainModel.transformType == TransformType.GUI) { GlStateManager.translatef(0.0F, .2f, 1.0F); GlStateManager.scalef(.75f, .75f, .75f); @@ -45,18 +48,19 @@ public class SandPaperItemRenderer extends ItemStackTileEntityRenderer { int modifier = leftHand ? -1 : 1; GlStateManager.rotatef(modifier * 40, 0, 1, 0); } - + // Reverse bobbing - float time = (float) player.getItemInUseCount() - partialTicks + 1.0F; + float time = (float) (!jeiMode ? player.getItemInUseCount() + : (-AnimationTickHolder.ticks) % stack.getUseDuration()) - partialTicks + 1.0F; if (time / (float) stack.getUseDuration() < 0.8F) { float bobbing = -MathHelper.abs(MathHelper.cos(time / 4.0F * (float) Math.PI) * 0.1F); - - if (mainModel.transformType == TransformType.GUI) + + if (mainModel.transformType == TransformType.GUI) GlStateManager.translatef(bobbing, bobbing, 0.0F); - else + else GlStateManager.translatef(0.0f, bobbing, 0.0F); } - + ItemStack toPolish = ItemStack.read(tag.getCompound("Polishing")); itemRenderer.renderItem(toPolish, itemRenderer.getModelWithOverrides(toPolish).getBakedModel()); diff --git a/src/main/resources/assets/create/lang/en_us.json b/src/main/resources/assets/create/lang/en_us.json index a2a0322cb..f165f081f 100644 --- a/src/main/resources/assets/create/lang/en_us.json +++ b/src/main/resources/assets/create/lang/en_us.json @@ -24,6 +24,8 @@ "item.create.lapis_plate": "Lapis Plating", "item.create.obsidian_dust": "Powdered Obsidian", "item.create.propeller": "Propeller", + "item.create.whisk": "Whisk", + "item.create.brass_hand": "Hand", "item.create.flour": "Wheat Flour", "item.create.dough": "Dough", "item.create.wrench": "Wrench", @@ -228,6 +230,8 @@ "create.recipe.sawing": "Sawing", "create.recipe.block_cutting": "Block Cutting", "create.recipe.blockzapperUpgrade": "Handheld Blockzapper", + "create.recipe.sandpaper_polishing": "Sandpaper Polishing", + "create.recipe.mystery_conversion": "Chromatic Metamorphosis", "create.recipe.processing.catalyst": "Catalyst", "create.recipe.processing.chance": "%1$s%% Chance", "create.recipe.processing.chanceToReturn": "%1$s%% Chance to return", diff --git a/src/main/resources/assets/create/models/block/encased_fan/propeller.json b/src/main/resources/assets/create/models/block/encased_fan/propeller.json index 9004fe89f..b50ef7caf 100644 --- a/src/main/resources/assets/create/models/block/encased_fan/propeller.json +++ b/src/main/resources/assets/create/models/block/encased_fan/propeller.json @@ -1,4 +1,5 @@ { + "credit": "Made with Blockbench", "textures": { "axis_top": "create:block/axis_top", "fan_blades": "create:block/fan_blades", @@ -24,8 +25,7 @@ "to": [15, 15, 12], "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [1, 1, 15, 15], "texture": "#fan_blades"}, - "south": {"uv": [1, 1, 15, 15], "texture": "#fan_blades"} + "north": {"uv": [1, 1, 15, 15], "texture": "#fan_blades"} } } ] diff --git a/src/main/resources/assets/create/models/item/brass_hand.json b/src/main/resources/assets/create/models/item/brass_hand.json new file mode 100644 index 000000000..4c5300aa2 --- /dev/null +++ b/src/main/resources/assets/create/models/item/brass_hand.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/brass_hand" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/whisk.json b/src/main/resources/assets/create/models/item/whisk.json new file mode 100644 index 000000000..4aa2337cd --- /dev/null +++ b/src/main/resources/assets/create/models/item/whisk.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/whisk" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/fan_blades.png b/src/main/resources/assets/create/textures/block/fan_blades.png index faea05d9bcff4c6b8b2ceb4cd88e44a5b64f8104..af0d81d811351bd765b6b5f69afbdb4604e48682 100644 GIT binary patch delta 412 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 FV1g{n)++!2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/item/propeller.png b/src/main/resources/assets/create/textures/item/propeller.png index 3e80be28c99cd311d9135795140ee1cc3e97cfe7..af0d81d811351bd765b6b5f69afbdb4604e48682 100644 GIT binary patch delta 412 zcmV;N0b~CD0^0+SNq@lr01m+cxRGn^0004SNklU0-a7rEEWrn`~AMg!7U_^_q5w>5r(0d%>vPEHh+^;wnmpax#+r%Lg87? zvfLG*?Hh)H{eF-6d@i$pd6FahrBQiStX5w*9%DJn!UC@AidO4`w|Y9Aa5x;WUav76 z4zbyUh@uG9YL!2@g-@YguZz)W#C~bZyWI}UQYx65Oi>!Rud1ix-g|Gsg27tifqsJLGZ{5y-&k(!@fPjF20K@!63!pqqK+u2>A3iW#x_kx7!vq8k z*mqzr!`7X97@=GY0FMP^f2!#jfHi;u5=19wW-|7+x5MS%ynlTOb`{8A7LY(?Nx^>+ zVR5j3xjETELjOSlXlrfBP*_?5^2UFV91MWiFmHjq@axxaupkJ0{r(di`s+5V1#8yR z)d710#0P~32*79%0DGZ0FZ=(En>V3C5CC!>vKK(Kx4R468}M)e8GsAlymigP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0iQ`kK~y+Tt&-nv z0Z|afKXwrkl}OR-wFmGFQkSmlidSi`Jq54eq7rX_x^*L3qTBczB`v$Qwr9rKWzoC- zlHHjzXXe{8dj{v&wk^F&XzzUAC#?%5luD%wm2S6-X0yrpKHss-^&Dj?ekc_1(rzOj zk7Kb|aJ<*+v0tmzJR*L63n<_OU;BOf8tU~rTY8A`crMJqCj} zbUGa&_RJ?Ds@1Anr%21iRFuu$W4&G@k+?-Hb_2sOFdPn$PN$L2=i&D&m`Oo6vc%9=Kufz M07*qoM6N<$f~S=0yZ`_I literal 0 HcmV?d00001 diff --git a/src/main/resources/data/create/recipes/blasting/copper_ore.json b/src/main/resources/data/create/recipes/blasting/copper_ore.json new file mode 100644 index 000000000..3c3da8e41 --- /dev/null +++ b/src/main/resources/data/create/recipes/blasting/copper_ore.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "tag": "forge:ores/copper" + }, + "result": "create:copper_ingot", + "experience": 0.1, + "cookingtime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blasting/zinc_ore.json b/src/main/resources/data/create/recipes/blasting/zinc_ore.json new file mode 100644 index 000000000..eedba058a --- /dev/null +++ b/src/main/resources/data/create/recipes/blasting/zinc_ore.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "tag": "forge:ores/zinc" + }, + "result": "create:zinc_ingot", + "experience": 0.1, + "cookingtime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/curiosities/deforester.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/deforester.json new file mode 100644 index 000000000..d1ff1bcd5 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/deforester.json @@ -0,0 +1,29 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "EG", + "EO", + " O" + ], + "key": { + "E": { + "item": "create:refined_radiance" + }, + "O": { + "item": "minecraft:obsidian" + }, + "G": { + "item": "create:cogwheel" + } + }, + "result": { + "item": "create:deforester", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "curiosities" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/curiosities/filter.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/filter.json new file mode 100644 index 000000000..7024edd88 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/filter.json @@ -0,0 +1,24 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "NWN" + ], + "key": { + "N": { + "tag": "forge:nuggets/iron" + }, + "W": { + "tag": "minecraft:wool" + } + }, + "result": { + "item": "create:filter", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "curiosities" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/curiosities/goggles.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/goggles.json new file mode 100644 index 000000000..fdd392de2 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/goggles.json @@ -0,0 +1,28 @@ +{ + "type": "crafting_shaped", + "pattern": [ + " S ", + "GPG" + ], + "key": { + "S": { + "tag": "forge:string" + }, + "G": { + "tag": "forge:glass" + }, + "P": { + "tag": "forge:plates/gold" + } + }, + "result": { + "item": "create:goggles", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "curiosities" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/curiosities/placement_handgun.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/placement_handgun.json index eebd64cf4..2a2221b5c 100644 --- a/src/main/resources/data/create/recipes/crafting_shaped/curiosities/placement_handgun.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/placement_handgun.json @@ -2,8 +2,8 @@ "type": "crafting_shaped", "pattern": [ " E", - " A ", - "AO " + " O ", + "OA " ], "key": { "E": { diff --git a/src/main/resources/data/create/recipes/crafting_shaped/curiosities/property_filter.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/property_filter.json new file mode 100644 index 000000000..555065396 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/property_filter.json @@ -0,0 +1,24 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "NWN" + ], + "key": { + "N": { + "tag": "forge:nuggets/copper" + }, + "W": { + "tag": "minecraft:wool" + } + }, + "result": { + "item": "create:property_filter", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "curiosities" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/curiosities/wrench.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/wrench.json new file mode 100644 index 000000000..b34c59de0 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/wrench.json @@ -0,0 +1,29 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "PP", + "PG", + " S" + ], + "key": { + "S": { + "tag": "forge:rods/wooden" + }, + "G": { + "item": "create:cogwheel" + }, + "P": { + "tag": "forge:plates/gold" + } + }, + "result": { + "item": "create:wrench", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "curiosities" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_casing.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_casing.json index 66e186697..1ec494b13 100644 --- a/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_casing.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_casing.json @@ -2,7 +2,7 @@ "type": "crafting_shaped", "pattern": [ "AAA", - "ASA", + "CSC", "AAA" ], "key": { @@ -10,8 +10,11 @@ "tag": "minecraft:planks" }, "S": { - "item": "create:andesite_alloy" - } + "tag": "minecraft:logs" + }, + "C": { + "item": "create:andesite_alloy" + } }, "result": { "item": "create:andesite_casing", diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_casing.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_casing.json index 166745171..82f697ff1 100644 --- a/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_casing.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_casing.json @@ -2,7 +2,7 @@ "type": "crafting_shaped", "pattern": [ "AAA", - "SSS", + "CSC", "AAA" ], "key": { @@ -10,8 +10,11 @@ "tag": "minecraft:planks" }, "S": { - "tag": "forge:plates/brass" - } + "tag": "minecraft:logs" + }, + "C": { + "tag": "forge:plates/brass" + } }, "result": { "item": "create:brass_casing", diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_ingot.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_ingot.json new file mode 100644 index 000000000..1fe46c76e --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_ingot.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "tag": "forge:nuggets/brass" + } + }, + "result": { + "item": "create:brass_ingot" + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/copper_ingot.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/copper_ingot.json new file mode 100644 index 000000000..bf2dacad4 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/copper_ingot.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "tag": "forge:nuggets/copper" + } + }, + "result": { + "item": "create:copper_ingot" + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/zinc_ingot.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/zinc_ingot.json new file mode 100644 index 000000000..a480284ca --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/zinc_ingot.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "tag": "forge:nuggets/zinc" + } + }, + "result": { + "item": "create:zinc_ingot" + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/schematics/blueprint_and_quill.json b/src/main/resources/data/create/recipes/crafting_shapeless/blueprint_and_quill.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting_shaped/schematics/blueprint_and_quill.json rename to src/main/resources/data/create/recipes/crafting_shapeless/blueprint_and_quill.json diff --git a/src/main/resources/data/create/recipes/crafting_shapeless/brass_nugget.json b/src/main/resources/data/create/recipes/crafting_shapeless/brass_nugget.json new file mode 100644 index 000000000..861ea0291 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shapeless/brass_nugget.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:ingots/brass" + } + ], + "result": { + "item": "create:brass_nugget", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shapeless/copper_nugget.json b/src/main/resources/data/create/recipes/crafting_shapeless/copper_nugget.json new file mode 100644 index 000000000..b7fbc41dc --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shapeless/copper_nugget.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:ingots/copper" + } + ], + "result": { + "item": "create:copper_nugget", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/schematics/empty_blueprint.json b/src/main/resources/data/create/recipes/crafting_shapeless/empty_blueprint.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting_shaped/schematics/empty_blueprint.json rename to src/main/resources/data/create/recipes/crafting_shapeless/empty_blueprint.json diff --git a/src/main/resources/data/create/recipes/crafting_shapeless/zinc_nugget.json b/src/main/resources/data/create/recipes/crafting_shapeless/zinc_nugget.json new file mode 100644 index 000000000..89feb4d05 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shapeless/zinc_nugget.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:ingots/zinc" + } + ], + "result": { + "item": "create:zinc_nugget", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crushing/copper_ore.json b/src/main/resources/data/create/recipes/crushing/copper_ore.json new file mode 100644 index 000000000..5923ca2ed --- /dev/null +++ b/src/main/resources/data/create/recipes/crushing/copper_ore.json @@ -0,0 +1,26 @@ +{ + "type": "create:crushing", + "group": "minecraft:misc", + "ingredients": [ + { + "tag": "forge:ores/copper" + } + ], + "results": [ + { + "item": "create:crushed_copper", + "count": 1 + }, + { + "item": "create:crushed_copper", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "count": 1, + "chance": 0.125 + } + ], + "processingTime": 350 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crushing/gold_ore.json b/src/main/resources/data/create/recipes/crushing/gold_ore.json index 47a4d5bfd..f4adc881c 100644 --- a/src/main/resources/data/create/recipes/crushing/gold_ore.json +++ b/src/main/resources/data/create/recipes/crushing/gold_ore.json @@ -3,7 +3,7 @@ "group": "minecraft:misc", "ingredients": [ { - "item": "minecraft:gold_ore" + "tag": "forge:ores/gold" } ], "results": [ diff --git a/src/main/resources/data/create/recipes/crushing/iron_ore.json b/src/main/resources/data/create/recipes/crushing/iron_ore.json index 94ad9f91f..a7b36df00 100644 --- a/src/main/resources/data/create/recipes/crushing/iron_ore.json +++ b/src/main/resources/data/create/recipes/crushing/iron_ore.json @@ -3,7 +3,7 @@ "group": "minecraft:misc", "ingredients": [ { - "item": "minecraft:iron_ore" + "tag": "forge:ores/iron" } ], "results": [ diff --git a/src/main/resources/data/create/recipes/crushing/zinc_ore.json b/src/main/resources/data/create/recipes/crushing/zinc_ore.json new file mode 100644 index 000000000..50e57d798 --- /dev/null +++ b/src/main/resources/data/create/recipes/crushing/zinc_ore.json @@ -0,0 +1,26 @@ +{ + "type": "create:crushing", + "group": "minecraft:misc", + "ingredients": [ + { + "tag": "forge:ores/zinc" + } + ], + "results": [ + { + "item": "create:crushed_zinc", + "count": 1 + }, + { + "item": "create:crushed_zinc", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "count": 1, + "chance": 0.125 + } + ], + "processingTime": 350 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/smelting/copper_ore.json b/src/main/resources/data/create/recipes/smelting/copper_ore.json new file mode 100644 index 000000000..5ad042b91 --- /dev/null +++ b/src/main/resources/data/create/recipes/smelting/copper_ore.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "tag": "forge:ores/copper" + }, + "result": "create:copper_ingot", + "experience": 0.1, + "cookingtime": 200 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/smelting/zinc_ore.json b/src/main/resources/data/create/recipes/smelting/zinc_ore.json new file mode 100644 index 000000000..dd6596a2d --- /dev/null +++ b/src/main/resources/data/create/recipes/smelting/zinc_ore.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "tag": "forge:ores/zinc" + }, + "result": "create:zinc_ingot", + "experience": 0.1, + "cookingtime": 200 +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/blocks/ores.json b/src/main/resources/data/forge/tags/blocks/ores.json new file mode 100644 index 000000000..66c5d81f6 --- /dev/null +++ b/src/main/resources/data/forge/tags/blocks/ores.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "#forge:ores/copper", + "#forge:ores/zinc" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/blocks/ores/copper.json b/src/main/resources/data/forge/tags/blocks/ores/copper.json new file mode 100644 index 000000000..4b386dbe0 --- /dev/null +++ b/src/main/resources/data/forge/tags/blocks/ores/copper.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:copper_ore" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/blocks/ores/zinc.json b/src/main/resources/data/forge/tags/blocks/ores/zinc.json new file mode 100644 index 000000000..9389dcb95 --- /dev/null +++ b/src/main/resources/data/forge/tags/blocks/ores/zinc.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:zinc_ore" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/ores.json b/src/main/resources/data/forge/tags/items/ores.json new file mode 100644 index 000000000..66c5d81f6 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/ores.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "#forge:ores/copper", + "#forge:ores/zinc" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/ores/copper.json b/src/main/resources/data/forge/tags/items/ores/copper.json new file mode 100644 index 000000000..4b386dbe0 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/ores/copper.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:copper_ore" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/ores/zinc.json b/src/main/resources/data/forge/tags/items/ores/zinc.json new file mode 100644 index 000000000..9389dcb95 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/ores/zinc.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:zinc_ore" + ] +} \ No newline at end of file