From eff0c170b6563633e4b121707d8fef8fc7deeee1 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Sun, 26 Jan 2020 23:58:55 +0100 Subject: [PATCH] The registry super purge - Removed old Advancement managers - Removed all unfinished logistical features from the registry - Added new Crafting ingredients - Added Sand Paper, for a polishing recipe type and repairing tools - Changed Blockzapper materials - Added the ability to include catalyst-ingredients in processing recipes - Added some ingredient/output count validation for processing recipes - Deployers now spawn particles when using certain items - Players can now interact with the deployer to swap held items - Belts now accept brass casing instead of logistical casing - Introduced a new material chain - Added a whole bunch of recipes --- .../simibubi/create/AdvancementListener.java | 52 ------ .../java/com/simibubi/create/AllBlocks.java | 20 +-- .../com/simibubi/create/AllContainers.java | 12 +- .../java/com/simibubi/create/AllEntities.java | 6 +- .../java/com/simibubi/create/AllItems.java | 87 ++++----- .../java/com/simibubi/create/AllPackets.java | 15 +- .../java/com/simibubi/create/AllRecipes.java | 6 +- .../com/simibubi/create/AllTileEntities.java | 36 ++-- src/main/java/com/simibubi/create/Create.java | 20 +-- .../com/simibubi/create/CreateClient.java | 12 +- src/main/java/com/simibubi/create/Events.java | 4 +- .../com/simibubi/create/ScreenResources.java | 1 + .../jei/BlockzapperUpgradeCategory.java | 16 +- .../simibubi/create/compat/jei/CreateJEI.java | 20 ++- .../create/compat/jei/CrushingCategory.java | 6 +- .../create/compat/jei/MixingCategory.java | 31 +++- .../create/compat/jei/PressingCategory.java | 4 +- .../create/compat/jei/SawingCategory.java | 4 +- .../create/compat/jei/SplashingCategory.java | 4 +- .../foundation/command/CreateCommand.java | 1 + .../foundation/command/KillTPSCommand.java | 1 + .../foundation/utility/ColorHelper.java | 9 + .../modules/contraptions/CasingBlock.java | 2 +- .../base/KineticTileEntityRenderer.java | 4 +- .../components/crusher/CrushingRecipe.java | 13 +- .../components/deployer/DeployerBlock.java | 43 ++--- .../deployer/DeployerTileEntity.java | 29 ++- .../components/fan/SplashingRecipe.java | 13 +- .../components/mixer/MixingRecipe.java | 27 ++- .../components/press/PressingRecipe.java | 13 +- .../components/saw/CuttingRecipe.java | 13 +- .../processing/BasinOperatingTileEntity.java | 9 + .../processing/ProcessingIngredient.java | 72 ++++++++ ...asticOutput.java => ProcessingOutput.java} | 8 +- .../processing/ProcessingRecipe.java | 46 ++++- .../ProcessingRecipeSerializer.java | 19 +- .../contraptions/relays/belt/BeltBlock.java | 6 +- .../relays/belt/BeltTunnelTileEntity.java | 2 +- .../ChromaticCompoundCubeItem.java | 6 +- .../BlockzapperBeamPacket.java} | 16 +- .../BlockzapperHandler.java} | 34 ++-- .../BlockzapperItem.java} | 51 +++--- .../BlockzapperItemRenderer.java} | 36 ++-- .../BlockzapperModel.java} | 6 +- .../BlockzapperScreen.java} | 10 +- .../BlockzapperUpgradeRecipe.java} | 26 +-- .../PlacementPatterns.java | 2 +- .../partialWindows/WindowInABlockBlock.java | 2 +- .../curiosities/tools/AllToolTiers.java | 28 ++- .../curiosities/tools/SandPaperItem.java | 169 ++++++++++++++++++ .../tools/SandPaperItemRenderer.java | 103 +++++++++++ .../tools/SandPaperPolishingRecipe.java | 101 +++++++++++ .../block/extractor/ExtractorBlock.java | 2 +- .../block/extractor/ExtractorTileEntity.java | 5 +- .../block/extractor/LinkedExtractorBlock.java | 2 +- .../logistics/item/filter/FilterItem.java | 2 - .../base/LogisticalActorTileEntity.java | 7 - .../base/LogisticalControllerBlock.java | 2 +- .../create/modules/palettes/CTGlassBlock.java | 2 +- .../resources/assets/create/lang/en_us.json | 30 ++-- .../create/models/item/andesite_alloy.json | 6 + .../{brass_cube.json => brass_ingot.json} | 2 +- ...board_box_1410.json => cardboard_box.json} | 4 +- ...ard_box_1416.json => cardboard_box_1.json} | 4 +- ...ard_box_1612.json => cardboard_box_2.json} | 4 +- ...ard_box_1616.json => cardboard_box_3.json} | 4 +- ...ound_cube.json => chromatic_compound.json} | 0 .../create/models/item/copper_sheet.json | 6 + ...rome_cube.json => integrated_circuit.json} | 2 +- .../item/{microchip.json => lapis_plate.json} | 2 +- .../create/models/item/obsidian_dust.json | 6 + .../create/models/item/placement_handgun.json | 131 +++++++------- ...oy_cube.json => polished_rose_quartz.json} | 2 +- .../create/models/item/red_sand_paper.json | 6 + ..._brass_cube.json => refined_radiance.json} | 2 +- .../models/item/refined_radiance_cube.json | 6 - .../models/item/refined_rose_quartz.json | 6 - .../item/{circuit.json => sand_paper.json} | 2 +- .../create/models/item/shadow_steel.json | 6 + .../create/models/item/shadow_steel_cube.json | 6 - .../assets/create/models/item/shop_shelf.json | 10 -- .../item/{zinc_cube.json => zinc_ingot.json} | 2 +- .../textures/block/connected/oak_window.png | Bin 0 -> 662 bytes .../cardboard_box/box_1410.png} | Bin .../cardboard_box/box_1416.png} | Bin .../cardboard_box/box_1612.png} | Bin .../cardboard_box/box_1616.png} | Bin .../cardboard_box/particle.png} | Bin .../create/textures/gui/jei/widgets.png | Bin 4324 -> 4435 bytes ...site_alloy_cube.png => andesite_alloy.png} | Bin .../item/{brass_cube.png => brass_ingot.png} | Bin .../textures/item/chorus_chrome_cube.png | Bin 458 -> 0 bytes .../textures/item/chromatic_compound_0.png | Bin 435 -> 470 bytes .../textures/item/chromatic_compound_1.png | Bin 622 -> 593 bytes .../textures/item/chromatic_compound_2.png | Bin 671 -> 619 bytes .../assets/create/textures/item/circuit.png | Bin 504 -> 0 bytes .../create/textures/item/copper_sheet.png | Bin 0 -> 461 bytes .../textures/item/integrated_circuit.png | Bin 0 -> 502 bytes .../create/textures/item/lapis_plate.png | Bin 0 -> 556 bytes .../create/textures/item/obsidian_dust.png | Bin 0 -> 320 bytes ...se_quartz.png => polished_rose_quartz.png} | Bin .../create/textures/item/red_sand_paper.png | Bin 0 -> 484 bytes ...radiance_cube.png => refined_radiance.png} | Bin .../create/textures/item/sand_paper.png | Bin 0 -> 489 bytes ...shadow_steel_cube.png => shadow_steel.png} | Bin .../item/{ => unused}/blaze_brass_cube.png | Bin .../item/{zinc_cube.png => zinc_ingot.png} | Bin ...tical_casing.json => andesite_casing.json} | 2 +- .../loot_tables/blocks/brass_casing.json | 19 ++ .../loot_tables/blocks/copper_casing.json | 19 ++ .../create/loot_tables/blocks/deployer.json | 19 ++ .../recipes/blasting/crushed_brass.json | 9 + .../recipes/blasting/crushed_copper.json | 9 + .../create/recipes/blasting/crushed_gold.json | 9 + .../create/recipes/blasting/crushed_iron.json | 9 + .../create/recipes/blasting/crushed_zinc.json | 9 + .../blockzapper_upgrade/gold_accelerator.json | 4 +- .../blockzapper_upgrade/gold_amplifier.json | 6 +- .../blockzapper_upgrade/gold_body.json | 4 +- .../blockzapper_upgrade/gold_retriever.json | 4 +- .../blockzapper_upgrade/gold_scope.json | 4 +- .../purpur_accelerator.json | 4 +- .../blockzapper_upgrade/purpur_amplifier.json | 6 +- .../blockzapper_upgrade/purpur_body.json | 4 +- .../blockzapper_upgrade/purpur_retriever.json | 4 +- .../blockzapper_upgrade/purpur_scope.json | 4 +- .../recipes/crafting/chorus_chrome_cube.json | 19 -- .../data/create/recipes/crafting/motor.json | 35 ---- .../belt_connector.json | 0 .../belt_funnel.json | 2 +- .../{crafting => crafting_shaped}/clutch.json | 0 .../cocoa_log.json | 0 .../cogwheel.json | 8 +- .../contact.json | 4 +- .../crushing_wheel.json | 2 +- .../curiosities}/placement_handgun.json | 4 +- .../curiosities}/symmetry_wand.json | 11 +- .../{crafting => crafting_shaped}/drill.json | 2 +- .../crafting_shaped/electron_tube.json | 29 +++ .../encased_belt.json | 2 +- .../encased_fan.json | 2 +- .../encased_shaft.json | 2 +- .../entity_detector.json | 2 +- .../extractor.json | 2 +- .../flexcrate.json | 2 +- .../flexpeater.json | 0 .../gearbox.json | 2 +- .../gearshift.json | 0 .../harvester.json | 0 .../large_cogwheel.json | 4 +- .../materials/andesite_alloy.json} | 4 +- .../materials/andesite_alloy_1.json} | 6 +- .../materials/andesite_casing.json | 26 +++ .../materials/brass_casing.json | 26 +++ .../materials/copper_casing.json | 29 +++ .../mechanical_bearing.json | 0 .../mechanical_piston.json | 0 .../mechanical_press.json | 2 +- .../palettes/dolomite_bricks.json | 0 .../palettes/dolomite_slab.json | 0 .../palettes/dolomite_stairs.json | 0 .../palettes/dolomite_wall.json | 0 .../palettes/gabbro_bricks.json | 0 .../palettes/gabbro_bricks_stairs.json | 0 .../palettes/gabbro_bricks_wall.json | 0 .../palettes/gabbro_slab.json | 0 .../palettes/gabbro_stairs.json | 0 .../palettes/gabbro_wall.json | 0 .../palettes/indented_gabbro_slab.json | 0 .../palettes/limesand.json | 0 .../palettes/limestone_bricks.json | 0 .../palettes/limestone_bricks_slab.json | 0 .../palettes/limestone_bricks_stairs.json | 0 .../palettes/limestone_bricks_wall.json | 0 .../palettes/limestone_slab.json | 0 .../palettes/limestone_stairs.json | 0 .../palettes/limestone_wall.json | 0 .../palettes/paved_gabbro_bricks_slab.json | 0 .../palettes/polished_dolomite.json | 0 .../palettes/polished_gabbro.json | 0 .../palettes/polished_limestone.json | 0 .../palettes/polished_limestone_slab.json | 0 .../polished_weathered_limestone.json | 0 .../polished_weathered_limestone_slab.json | 0 .../palettes/tiled_glass_pane.json | 0 .../palettes/weathered_limestone.json | 0 .../palettes/weathered_limestone_bricks.json | 0 .../weathered_limestone_bricks_slab.json | 0 .../weathered_limestone_bricks_stairs.json | 0 .../weathered_limestone_bricks_wall.json | 0 .../palettes/weathered_limestone_slab.json | 0 .../palettes/weathered_limestone_stairs.json | 0 .../palettes/weathered_limestone_wall.json | 0 .../piston_pole.json | 2 +- .../propeller.json | 0 .../pulse_repeater.json | 0 .../redstone_bridge.json | 2 +- .../rotation_chassis.json | 2 +- .../schematics}/blueprint_and_quill.json | 0 .../schematics}/empty_blueprint.json | 0 .../schematics}/schematic_table.json | 0 .../schematics}/schematicannon.json | 0 .../{crafting => crafting_shaped}/shaft.json | 7 +- .../sticky_mechanical_piston.json | 0 .../stockswitch.json | 2 +- .../translation_chassis.json | 2 +- .../turntable.json | 0 .../water_wheel.json | 0 .../dough.json | 0 .../gearbox.json} | 0 .../linked_extractor.json | 0 .../crafting_shapeless/red_sand_paper.json | 21 +++ .../crafting_shapeless/rose_quartz.json | 42 +++++ .../crafting_shapeless/sand_paper.json | 21 +++ .../slime_ball.json | 0 .../tree_fertilizer.json | 0 .../vertical_gearbox.json | 0 .../data/create/recipes/crushing/diorite.json | 2 +- .../data/create/recipes/crushing/granite.json | 2 +- .../create/recipes/crushing/obsidian.json | 22 +++ .../recipes/cutting/andesite_alloy.json | 16 ++ .../recipes/mechanical_crafting/circuit.json | 28 --- .../integrated_circuit.json | 33 ++++ .../recipes/mechanical_crafting/motor.json | 37 ---- .../create/recipes/mixing/andesite_alloy.json | 4 +- .../recipes/mixing/andesite_alloy_1.json | 18 ++ .../create/recipes/mixing/brass_nugget.json | 22 +++ .../recipes/mixing/chromatic_compound.json | 37 ++++ .../create/recipes/mixing/crushed_brass.json | 22 +++ .../create/recipes/pressing/brass_ingot.json | 16 ++ .../create/recipes/pressing/copper_ingot.json | 16 ++ .../create/recipes/pressing/gold_ingot.json | 2 +- .../create/recipes/pressing/iron_ingot.json | 2 +- .../create/recipes/pressing/lapis_block.json | 16 ++ .../sandpaper_polishing/rose_quartz.json | 15 ++ .../data/create/recipes/smelting/bread.json | 8 +- .../recipes/smelting/crushed_brass.json | 9 + .../recipes/smelting/crushed_copper.json | 9 + .../create/recipes/smelting/crushed_gold.json | 8 +- .../create/recipes/smelting/crushed_iron.json | 8 +- .../create/recipes/smelting/crushed_zinc.json | 9 + .../recipes/splashing/crushed_brass.json | 22 +++ .../recipes/splashing/crushed_copper.json | 22 +++ .../recipes/splashing/crushed_zinc.json | 22 +++ .../data/create/tags/items/crushed_ores.json | 10 ++ .../data/forge/tags/items/ingots.json | 8 + .../data/forge/tags/items/ingots/brass.json | 6 + .../data/forge/tags/items/ingots/copper.json | 6 + .../data/forge/tags/items/ingots/zinc.json | 6 + .../data/forge/tags/items/nuggets.json | 8 + .../data/forge/tags/items/nuggets/brass.json | 6 + .../data/forge/tags/items/nuggets/copper.json | 6 + .../data/forge/tags/items/nuggets/zinc.json | 6 + .../data/forge/tags/items/plates.json | 9 + .../data/forge/tags/items/plates/brass.json | 6 + .../data/forge/tags/items/plates/copper.json | 6 + .../data/forge/tags/items/plates/gold.json | 6 + .../data/forge/tags/items/plates/iron.json | 6 + 258 files changed, 1830 insertions(+), 715 deletions(-) delete mode 100644 src/main/java/com/simibubi/create/AdvancementListener.java create mode 100644 src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingIngredient.java rename src/main/java/com/simibubi/create/modules/contraptions/processing/{StochasticOutput.java => ProcessingOutput.java} (79%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun/BuilderGunBeamPacket.java => blockzapper/BlockzapperBeamPacket.java} (73%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun/BuilderGunHandler.java => blockzapper/BlockzapperHandler.java} (92%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun/BuilderGunItem.java => blockzapper/BlockzapperItem.java} (93%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun/BuilderGunItemRenderer.java => blockzapper/BlockzapperItemRenderer.java} (73%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun/BuilderGunModel.java => blockzapper/BlockzapperModel.java} (93%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun/BuilderGunScreen.java => blockzapper/BlockzapperScreen.java} (96%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun/BuilderGunUpgradeRecipe.java => blockzapper/BlockzapperUpgradeRecipe.java} (75%) rename src/main/java/com/simibubi/create/modules/curiosities/{placementHandgun => blockzapper}/PlacementPatterns.java (90%) create mode 100644 src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItem.java create mode 100644 src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java create mode 100644 src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperPolishingRecipe.java create mode 100644 src/main/resources/assets/create/models/item/andesite_alloy.json rename src/main/resources/assets/create/models/item/{brass_cube.json => brass_ingot.json} (56%) rename src/main/resources/assets/create/models/item/{cardboard_box_1410.json => cardboard_box.json} (86%) rename src/main/resources/assets/create/models/item/{cardboard_box_1416.json => cardboard_box_1.json} (86%) rename src/main/resources/assets/create/models/item/{cardboard_box_1612.json => cardboard_box_2.json} (86%) rename src/main/resources/assets/create/models/item/{cardboard_box_1616.json => cardboard_box_3.json} (86%) rename src/main/resources/assets/create/models/item/{chromatic_compound_cube.json => chromatic_compound.json} (100%) create mode 100644 src/main/resources/assets/create/models/item/copper_sheet.json rename src/main/resources/assets/create/models/item/{chorus_chrome_cube.json => integrated_circuit.json} (53%) rename src/main/resources/assets/create/models/item/{microchip.json => lapis_plate.json} (56%) create mode 100644 src/main/resources/assets/create/models/item/obsidian_dust.json rename src/main/resources/assets/create/models/item/{andesite_alloy_cube.json => polished_rose_quartz.json} (51%) create mode 100644 src/main/resources/assets/create/models/item/red_sand_paper.json rename src/main/resources/assets/create/models/item/{blaze_brass_cube.json => refined_radiance.json} (54%) delete mode 100644 src/main/resources/assets/create/models/item/refined_radiance_cube.json delete mode 100644 src/main/resources/assets/create/models/item/refined_rose_quartz.json rename src/main/resources/assets/create/models/item/{circuit.json => sand_paper.json} (57%) create mode 100644 src/main/resources/assets/create/models/item/shadow_steel.json delete mode 100644 src/main/resources/assets/create/models/item/shadow_steel_cube.json delete mode 100644 src/main/resources/assets/create/models/item/shop_shelf.json rename src/main/resources/assets/create/models/item/{zinc_cube.json => zinc_ingot.json} (57%) create mode 100644 src/main/resources/assets/create/textures/block/connected/oak_window.png rename src/main/resources/assets/create/textures/{item/cardboard_box_1410.png => entity/cardboard_box/box_1410.png} (100%) rename src/main/resources/assets/create/textures/{item/cardboard_box_1416.png => entity/cardboard_box/box_1416.png} (100%) rename src/main/resources/assets/create/textures/{item/cardboard_box_1612.png => entity/cardboard_box/box_1612.png} (100%) rename src/main/resources/assets/create/textures/{item/cardboard_box_1616.png => entity/cardboard_box/box_1616.png} (100%) rename src/main/resources/assets/create/textures/{item/cardboard_box_particle.png => entity/cardboard_box/particle.png} (100%) rename src/main/resources/assets/create/textures/item/{andesite_alloy_cube.png => andesite_alloy.png} (100%) rename src/main/resources/assets/create/textures/item/{brass_cube.png => brass_ingot.png} (100%) delete mode 100644 src/main/resources/assets/create/textures/item/chorus_chrome_cube.png delete mode 100644 src/main/resources/assets/create/textures/item/circuit.png create mode 100644 src/main/resources/assets/create/textures/item/copper_sheet.png create mode 100644 src/main/resources/assets/create/textures/item/integrated_circuit.png create mode 100644 src/main/resources/assets/create/textures/item/lapis_plate.png create mode 100644 src/main/resources/assets/create/textures/item/obsidian_dust.png rename src/main/resources/assets/create/textures/item/{refined_rose_quartz.png => polished_rose_quartz.png} (100%) create mode 100644 src/main/resources/assets/create/textures/item/red_sand_paper.png rename src/main/resources/assets/create/textures/item/{refined_radiance_cube.png => refined_radiance.png} (100%) create mode 100644 src/main/resources/assets/create/textures/item/sand_paper.png rename src/main/resources/assets/create/textures/item/{shadow_steel_cube.png => shadow_steel.png} (100%) rename src/main/resources/assets/create/textures/item/{ => unused}/blaze_brass_cube.png (100%) rename src/main/resources/assets/create/textures/item/{zinc_cube.png => zinc_ingot.png} (100%) rename src/main/resources/data/create/loot_tables/blocks/{logistical_casing.json => andesite_casing.json} (85%) create mode 100644 src/main/resources/data/create/loot_tables/blocks/brass_casing.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/copper_casing.json create mode 100644 src/main/resources/data/create/loot_tables/blocks/deployer.json create mode 100644 src/main/resources/data/create/recipes/blasting/crushed_brass.json create mode 100644 src/main/resources/data/create/recipes/blasting/crushed_copper.json create mode 100644 src/main/resources/data/create/recipes/blasting/crushed_gold.json create mode 100644 src/main/resources/data/create/recipes/blasting/crushed_iron.json create mode 100644 src/main/resources/data/create/recipes/blasting/crushed_zinc.json delete mode 100644 src/main/resources/data/create/recipes/crafting/chorus_chrome_cube.json delete mode 100644 src/main/resources/data/create/recipes/crafting/motor.json rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/belt_connector.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/belt_funnel.json (90%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/clutch.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/cocoa_log.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/cogwheel.json (79%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/contact.json (82%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/crushing_wheel.json (89%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped/curiosities}/placement_handgun.json (82%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped/curiosities}/symmetry_wand.json (63%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/drill.json (90%) create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/electron_tube.json rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/encased_belt.json (89%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/encased_fan.json (90%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/encased_shaft.json (89%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/entity_detector.json (91%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/extractor.json (92%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/flexcrate.json (90%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/flexpeater.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/gearbox.json (89%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/gearshift.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/harvester.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/large_cogwheel.json (88%) rename src/main/resources/data/create/recipes/{crafting/andesite_alloy_cube.json => crafting_shaped/materials/andesite_alloy.json} (75%) rename src/main/resources/data/create/recipes/{crafting/blaze_brass_cube.json => crafting_shaped/materials/andesite_alloy_1.json} (62%) create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_casing.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/materials/brass_casing.json create mode 100644 src/main/resources/data/create/recipes/crafting_shaped/materials/copper_casing.json rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/mechanical_bearing.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/mechanical_piston.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/mechanical_press.json (91%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/dolomite_bricks.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/dolomite_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/dolomite_stairs.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/dolomite_wall.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/gabbro_bricks.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/gabbro_bricks_stairs.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/gabbro_bricks_wall.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/gabbro_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/gabbro_stairs.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/gabbro_wall.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/indented_gabbro_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limesand.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limestone_bricks.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limestone_bricks_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limestone_bricks_stairs.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limestone_bricks_wall.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limestone_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limestone_stairs.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/limestone_wall.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/paved_gabbro_bricks_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/polished_dolomite.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/polished_gabbro.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/polished_limestone.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/polished_limestone_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/polished_weathered_limestone.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/polished_weathered_limestone_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/tiled_glass_pane.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone_bricks.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone_bricks_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone_bricks_stairs.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone_bricks_wall.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone_slab.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone_stairs.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/palettes/weathered_limestone_wall.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/piston_pole.json (87%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/propeller.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/pulse_repeater.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/redstone_bridge.json (90%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/rotation_chassis.json (89%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped/schematics}/blueprint_and_quill.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped/schematics}/empty_blueprint.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped/schematics}/schematic_table.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped/schematics}/schematicannon.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/shaft.json (74%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/sticky_mechanical_piston.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/stockswitch.json (92%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/translation_chassis.json (89%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/turntable.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shaped}/water_wheel.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shapeless}/dough.json (100%) rename src/main/resources/data/create/recipes/{crafting/gearbox2.json => crafting_shapeless/gearbox.json} (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shapeless}/linked_extractor.json (100%) create mode 100644 src/main/resources/data/create/recipes/crafting_shapeless/red_sand_paper.json create mode 100644 src/main/resources/data/create/recipes/crafting_shapeless/rose_quartz.json create mode 100644 src/main/resources/data/create/recipes/crafting_shapeless/sand_paper.json rename src/main/resources/data/create/recipes/{crafting => crafting_shapeless}/slime_ball.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shapeless}/tree_fertilizer.json (100%) rename src/main/resources/data/create/recipes/{crafting => crafting_shapeless}/vertical_gearbox.json (100%) create mode 100644 src/main/resources/data/create/recipes/crushing/obsidian.json create mode 100644 src/main/resources/data/create/recipes/cutting/andesite_alloy.json delete mode 100644 src/main/resources/data/create/recipes/mechanical_crafting/circuit.json create mode 100644 src/main/resources/data/create/recipes/mechanical_crafting/integrated_circuit.json delete mode 100644 src/main/resources/data/create/recipes/mechanical_crafting/motor.json create mode 100644 src/main/resources/data/create/recipes/mixing/andesite_alloy_1.json create mode 100644 src/main/resources/data/create/recipes/mixing/brass_nugget.json create mode 100644 src/main/resources/data/create/recipes/mixing/chromatic_compound.json create mode 100644 src/main/resources/data/create/recipes/mixing/crushed_brass.json create mode 100644 src/main/resources/data/create/recipes/pressing/brass_ingot.json create mode 100644 src/main/resources/data/create/recipes/pressing/copper_ingot.json create mode 100644 src/main/resources/data/create/recipes/pressing/lapis_block.json create mode 100644 src/main/resources/data/create/recipes/sandpaper_polishing/rose_quartz.json create mode 100644 src/main/resources/data/create/recipes/smelting/crushed_brass.json create mode 100644 src/main/resources/data/create/recipes/smelting/crushed_copper.json create mode 100644 src/main/resources/data/create/recipes/smelting/crushed_zinc.json create mode 100644 src/main/resources/data/create/recipes/splashing/crushed_brass.json create mode 100644 src/main/resources/data/create/recipes/splashing/crushed_copper.json create mode 100644 src/main/resources/data/create/recipes/splashing/crushed_zinc.json create mode 100644 src/main/resources/data/create/tags/items/crushed_ores.json create mode 100644 src/main/resources/data/forge/tags/items/ingots.json create mode 100644 src/main/resources/data/forge/tags/items/ingots/brass.json create mode 100644 src/main/resources/data/forge/tags/items/ingots/copper.json create mode 100644 src/main/resources/data/forge/tags/items/ingots/zinc.json create mode 100644 src/main/resources/data/forge/tags/items/nuggets.json create mode 100644 src/main/resources/data/forge/tags/items/nuggets/brass.json create mode 100644 src/main/resources/data/forge/tags/items/nuggets/copper.json create mode 100644 src/main/resources/data/forge/tags/items/nuggets/zinc.json create mode 100644 src/main/resources/data/forge/tags/items/plates.json create mode 100644 src/main/resources/data/forge/tags/items/plates/brass.json create mode 100644 src/main/resources/data/forge/tags/items/plates/copper.json create mode 100644 src/main/resources/data/forge/tags/items/plates/gold.json create mode 100644 src/main/resources/data/forge/tags/items/plates/iron.json diff --git a/src/main/java/com/simibubi/create/AdvancementListener.java b/src/main/java/com/simibubi/create/AdvancementListener.java deleted file mode 100644 index d71bcf4ca..000000000 --- a/src/main/java/com/simibubi/create/AdvancementListener.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.simibubi.create; - -import net.minecraft.advancements.AdvancementManager; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.event.entity.player.AdvancementEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod.EventBusSubscriber; - -@EventBusSubscriber -public class AdvancementListener { - - @SubscribeEvent - public static void onAdvancementGet(AdvancementEvent event) { - PlayerEntity player = event.getPlayer(); - if (player == null) - return; - if (player.getServer() == null) - return; - - // DEBUG -// AdvancementManager advancements = player.getServer().getAdvancementManager(); -// player.sendMessage(new StringTextComponent(event.getAdvancement().getId().toString())); - - unlockWhen("story/smelt_iron", recipeOf(AllItems.ANDESITE_ALLOY_CUBE), event); - unlockWhen("story/smelt_iron", recipeOf(AllItems.PLACEMENT_HANDGUN), event); - unlockWhen("nether/obtain_blaze_rod", recipeOf(AllItems.BLAZE_BRASS_CUBE), event); - unlockWhen("recipes/misc/popped_chorus_fruit", recipeOf(AllItems.CHORUS_CHROME_CUBE), event); - unlockWhen("recipes/decorations/end_rod", recipeOf(AllItems.SYMMETRY_WAND), event); - unlockWhen("recipes/misc/bone_meal", recipeOf(AllItems.TREE_FERTILIZER), event); - - unlockWhen("recipes/misc/book", recipeOf(AllItems.EMPTY_BLUEPRINT), event); - unlockWhen("recipes/misc/book", recipeOf(AllItems.BLUEPRINT_AND_QUILL), event); - unlockWhen("recipes/misc/book", recipeOf(AllBlocks.SCHEMATIC_TABLE), event); - unlockWhen("recipes/misc/book", recipeOf(AllBlocks.SCHEMATICANNON), event); - } - - private static void unlockWhen(String advancement, ResourceLocation recipe, AdvancementEvent event) { - AdvancementManager advancements = event.getPlayer().getServer().getAdvancementManager(); - if (event.getAdvancement() == advancements.getAdvancement(new ResourceLocation(advancement))) - event.getPlayer().unlockRecipes(new ResourceLocation[] { recipe }); - } - - private static ResourceLocation recipeOf(AllItems item) { - return item.get().getRegistryName(); - } - - private static ResourceLocation recipeOf(AllBlocks block) { - return block.get().getRegistryName(); - } - -} diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 4eee896a0..9288e865f 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -65,12 +65,6 @@ import com.simibubi.create.modules.logistics.block.extractor.LinkedExtractorBloc import com.simibubi.create.modules.logistics.block.inventories.FlexcrateBlock; import com.simibubi.create.modules.logistics.block.transposer.LinkedTransposerBlock; import com.simibubi.create.modules.logistics.block.transposer.TransposerBlock; -import com.simibubi.create.modules.logistics.management.base.LogisticalControllerBlock; -import com.simibubi.create.modules.logistics.management.base.LogisticalControllerBlock.LogisticalControllerIndicatorBlock; -import com.simibubi.create.modules.logistics.management.base.NewLogisticalCasingBlock; -import com.simibubi.create.modules.logistics.management.index.LogisticalIndexBlock; -import com.simibubi.create.modules.logistics.transport.villager.LogisticiansTableBlock; -import com.simibubi.create.modules.logistics.transport.villager.PackageFunnelBlock; import com.simibubi.create.modules.palettes.CTGlassBlock; import com.simibubi.create.modules.palettes.GlassPaneBlock; import com.simibubi.create.modules.palettes.LayeredCTBlock; @@ -196,13 +190,13 @@ public enum AllBlocks { PULSE_REPEATER(new PulseRepeaterBlock()), FLEXPEATER(new FlexpeaterBlock()), FLEXPEATER_INDICATOR(new RenderUtilityBlock()), - LOGISTICAL_CASING(new NewLogisticalCasingBlock()), - LOGISTICAL_CONTROLLER(new LogisticalControllerBlock()), - LOGISTICAL_CONTROLLER_INDICATOR(new LogisticalControllerIndicatorBlock()), - LOGISTICAL_INDEX(new LogisticalIndexBlock()), - PACKAGE_FUNNEL(new PackageFunnelBlock()), - LOGISTICIANS_TABLE(new LogisticiansTableBlock()), - LOGISTICIANS_TABLE_INDICATOR(new RenderUtilityBlock()), +// LOGISTICAL_CASING(new NewLogisticalCasingBlock()), +// LOGISTICAL_CONTROLLER(new LogisticalControllerBlock()), +// LOGISTICAL_CONTROLLER_INDICATOR(new LogisticalControllerIndicatorBlock()), +// LOGISTICAL_INDEX(new LogisticalIndexBlock()), +// PACKAGE_FUNNEL(new PackageFunnelBlock()), +// LOGISTICIANS_TABLE(new LogisticiansTableBlock()), +// LOGISTICIANS_TABLE_INDICATOR(new RenderUtilityBlock()), __CURIOSITIES__(), SYMMETRY_PLANE(new PlaneSymmetryBlock()), diff --git a/src/main/java/com/simibubi/create/AllContainers.java b/src/main/java/com/simibubi/create/AllContainers.java index bfd6f7be3..53291c0a6 100644 --- a/src/main/java/com/simibubi/create/AllContainers.java +++ b/src/main/java/com/simibubi/create/AllContainers.java @@ -7,10 +7,6 @@ import com.simibubi.create.modules.logistics.item.filter.AttributeFilterContaine import com.simibubi.create.modules.logistics.item.filter.AttributeFilterScreen; import com.simibubi.create.modules.logistics.item.filter.FilterContainer; import com.simibubi.create.modules.logistics.item.filter.FilterScreen; -import com.simibubi.create.modules.logistics.management.controller.LogisticalInventoryControllerContainer; -import com.simibubi.create.modules.logistics.management.controller.LogisticalInventoryControllerScreen; -import com.simibubi.create.modules.logistics.management.index.LogisticalIndexContainer; -import com.simibubi.create.modules.logistics.management.index.LogisticalIndexScreen; import com.simibubi.create.modules.schematics.block.SchematicTableContainer; import com.simibubi.create.modules.schematics.block.SchematicTableScreen; import com.simibubi.create.modules.schematics.block.SchematicannonContainer; @@ -34,8 +30,8 @@ public enum AllContainers { SCHEMATIC_TABLE(SchematicTableContainer::new), SCHEMATICANNON(SchematicannonContainer::new), FLEXCRATE(FlexcrateContainer::new), - LOGISTICAL_INDEX(LogisticalIndexContainer::new), - LOGISTICAL_CONTROLLER(LogisticalInventoryControllerContainer::new), +// LOGISTICAL_INDEX(LogisticalIndexContainer::new), +// LOGISTICAL_CONTROLLER(LogisticalInventoryControllerContainer::new), FILTER(FilterContainer::new), ATTRIBUTE_FILTER(AttributeFilterContainer::new), @@ -62,8 +58,8 @@ public enum AllContainers { bind(SCHEMATIC_TABLE, SchematicTableScreen::new); bind(SCHEMATICANNON, SchematicannonScreen::new); bind(FLEXCRATE, FlexcrateScreen::new); - bind(LOGISTICAL_INDEX, LogisticalIndexScreen::new); - bind(LOGISTICAL_CONTROLLER, LogisticalInventoryControllerScreen::new); +// bind(LOGISTICAL_INDEX, LogisticalIndexScreen::new); +// bind(LOGISTICAL_CONTROLLER, LogisticalInventoryControllerScreen::new); bind(FILTER, FilterScreen::new); bind(ATTRIBUTE_FILTER, AttributeFilterScreen::new); } diff --git a/src/main/java/com/simibubi/create/AllEntities.java b/src/main/java/com/simibubi/create/AllEntities.java index 5fe9394ee..9ab780d5b 100644 --- a/src/main/java/com/simibubi/create/AllEntities.java +++ b/src/main/java/com/simibubi/create/AllEntities.java @@ -4,8 +4,6 @@ import java.util.function.Function; import com.simibubi.create.modules.contraptions.components.contraptions.ContraptionEntity; import com.simibubi.create.modules.contraptions.components.contraptions.ContraptionEntityRenderer; -import com.simibubi.create.modules.logistics.transport.CardboardBoxEntity; -import com.simibubi.create.modules.logistics.transport.CardboardBoxEntityRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityClassification; @@ -20,7 +18,7 @@ import net.minecraftforge.fml.client.registry.RenderingRegistry; public enum AllEntities { - CARDBOARD_BOX(CardboardBoxEntity::new, 30, 3, CardboardBoxEntity::build), +// CARDBOARD_BOX(CardboardBoxEntity::new, 30, 3, CardboardBoxEntity::build), CONTRAPTION(ContraptionEntity::new, 30, 3, ContraptionEntity::build), ; @@ -58,7 +56,7 @@ public enum AllEntities { @OnlyIn(value = Dist.CLIENT) public static void registerRenderers() { - RenderingRegistry.registerEntityRenderingHandler(CardboardBoxEntity.class, CardboardBoxEntityRenderer::new); +// RenderingRegistry.registerEntityRenderingHandler(CardboardBoxEntity.class, CardboardBoxEntityRenderer::new); RenderingRegistry.registerEntityRenderingHandler(ContraptionEntity.class, ContraptionEntityRenderer::new); } diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index d43b46d27..45ea00132 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -9,18 +9,16 @@ import com.simibubi.create.modules.contraptions.WrenchItemRenderer; import com.simibubi.create.modules.contraptions.relays.belt.BeltConnectorItem; import com.simibubi.create.modules.contraptions.relays.gearbox.VerticalGearboxItem; import com.simibubi.create.modules.curiosities.ChromaticCompoundCubeItem; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItemRenderer; import com.simibubi.create.modules.curiosities.deforester.DeforesterItem; import com.simibubi.create.modules.curiosities.deforester.DeforesterItemRenderer; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItemRenderer; import com.simibubi.create.modules.curiosities.symmetry.SymmetryWandItem; import com.simibubi.create.modules.curiosities.symmetry.client.SymmetryWandItemRenderer; +import com.simibubi.create.modules.curiosities.tools.SandPaperItem; +import com.simibubi.create.modules.curiosities.tools.SandPaperItemRenderer; import com.simibubi.create.modules.gardens.TreeFertilizerItem; -import com.simibubi.create.modules.logistics.item.CardboardBoxItem; import com.simibubi.create.modules.logistics.item.filter.FilterItem; -import com.simibubi.create.modules.logistics.management.LogisticalDialItem; -import com.simibubi.create.modules.logistics.management.base.LogisticalControllerBlock.Type; -import com.simibubi.create.modules.logistics.management.base.LogisticalControllerItem; import com.simibubi.create.modules.schematics.item.SchematicAndQuillItem; import com.simibubi.create.modules.schematics.item.SchematicItem; @@ -42,47 +40,37 @@ import net.minecraftforge.registries.IForgeRegistry; public enum AllItems { __MATERIALS__(), - ANDESITE_ALLOY_CUBE(ingredient()), - COPPER_INGOT(ingredient()), - ZINC_CUBE(ingredient()), - BRASS_CUBE(ingredient()), COPPER_NUGGET(ingredient()), ZINC_NUGGET(ingredient()), BRASS_NUGGET(ingredient()), IRON_SHEET(ingredient()), GOLD_SHEET(ingredient()), + COPPER_SHEET(ingredient()), BRASS_SHEET(ingredient()), - - BLAZE_BRASS_CUBE(new Item(new Properties())), - CHORUS_CHROME_CUBE(new Item(new Properties().rarity(Rarity.UNCOMMON))), - SHADOW_STEEL_CUBE(new Item(new Properties().rarity(Rarity.UNCOMMON))), - ROSE_QUARTZ(new Item(new Properties())), - REFINED_ROSE_QUARTZ(new Item(new Properties())), - CHROMATIC_COMPOUND_CUBE(new ChromaticCompoundCubeItem(new Properties().rarity(Rarity.UNCOMMON))), - REFINED_RADIANCE_CUBE(new Item(new Properties().rarity(Rarity.UNCOMMON))), + LAPIS_PLATE(ingredient()), CRUSHED_IRON(ingredient()), CRUSHED_GOLD(ingredient()), CRUSHED_COPPER(ingredient()), CRUSHED_ZINC(ingredient()), CRUSHED_BRASS(ingredient()), - - ELECTRON_TUBE(ingredient()), - CIRCUIT(ingredient()), -// BLAZING_PICKAXE(new BlazingToolItem(1, -2.8F, standardProperties(), PICKAXE)), -// BLAZING_SHOVEL(new BlazingToolItem(1.5F, -3.0F, standardProperties(), SHOVEL)), -// BLAZING_AXE(new BlazingToolItem(5.0F, -3.0F, standardProperties(), AXE)), -// BLAZING_SWORD(new BlazingToolItem(3, -2.4F, standardProperties(), SWORD)), -// -// ROSE_QUARTZ_PICKAXE(new RoseQuartzToolItem(1, -2.8F, standardProperties(), PICKAXE)), -// ROSE_QUARTZ_SHOVEL(new RoseQuartzToolItem(1.5F, -3.0F, standardProperties(), SHOVEL)), -// ROSE_QUARTZ_AXE(new RoseQuartzToolItem(5.0F, -3.0F, standardProperties(), AXE)), -// ROSE_QUARTZ_SWORD(new RoseQuartzToolItem(3, -2.4F, standardProperties(), SWORD)), -// -// SHADOW_STEEL_PICKAXE(new ShadowSteelToolItem(2.5F, -2.0F, standardProperties(), PICKAXE)), -// SHADOW_STEEL_MATTOCK(new ShadowSteelToolItem(2.5F, -1.5F, standardProperties(), SHOVEL, AXE, HOE)), -// SHADOW_STEEL_SWORD(new ShadowSteelToolItem(3, -2.0F, standardProperties(), SWORD)), + ANDESITE_ALLOY(ingredient()), + COPPER_INGOT(ingredient()), + ZINC_INGOT(ingredient()), + BRASS_INGOT(ingredient()), + SAND_PAPER( + new SandPaperItem(standardItemProperties().setTEISR(() -> () -> renderUsing(AllItemRenderers.SAND_PAPER)))), + RED_SAND_PAPER( + new SandPaperItem(standardItemProperties().setTEISR(() -> () -> renderUsing(AllItemRenderers.SAND_PAPER)))), + OBSIDIAN_DUST(ingredient()), + ROSE_QUARTZ(ingredient()), + POLISHED_ROSE_QUARTZ(ingredient()), + CHROMATIC_COMPOUND(new ChromaticCompoundCubeItem(standardItemProperties().rarity(Rarity.UNCOMMON))), + SHADOW_STEEL(new Item(standardItemProperties().rarity(Rarity.UNCOMMON))), + REFINED_RADIANCE(new Item(standardItemProperties().rarity(Rarity.UNCOMMON))), + ELECTRON_TUBE(ingredient()), + INTEGRATED_CIRCUIT(ingredient()), __GARDENS__(), TREE_FERTILIZER(new TreeFertilizerItem(standardItemProperties())), @@ -102,24 +90,25 @@ public enum AllItems { GOGGLES(new GogglesItem(standardItemProperties()), true), __LOGISTICS__(), - CARDBOARD_BOX_1616(new CardboardBoxItem(standardItemProperties())), - CARDBOARD_BOX_1612(new CardboardBoxItem(standardItemProperties())), - CARDBOARD_BOX_1416(new CardboardBoxItem(standardItemProperties())), - CARDBOARD_BOX_1410(new CardboardBoxItem(standardItemProperties())), +// CARDBOARD_BOX(new CardboardBoxItem(standardItemProperties())), +// CARDBOARD_BOX_1(new CardboardBoxItem(standardItemProperties())), +// CARDBOARD_BOX_2(new CardboardBoxItem(standardItemProperties())), +// CARDBOARD_BOX_3(new CardboardBoxItem(standardItemProperties())), FILTER(new FilterItem(standardItemProperties()), true), PROPERTY_FILTER(new FilterItem(standardItemProperties()), true), - LOGISTICAL_FILTER(new FilterItem(standardItemProperties())), - LOGISTICAL_DIAL(new LogisticalDialItem(standardItemProperties())), - LOGISTICAL_CONTROLLER_SUPPLY(new LogisticalControllerItem(standardItemProperties(), Type.SUPPLY)), - LOGISTICAL_CONTROLLER_REQUEST(new LogisticalControllerItem(standardItemProperties(), Type.REQUEST)), - LOGISTICAL_CONTROLLER_STORAGE(new LogisticalControllerItem(standardItemProperties(), Type.STORAGE)), - LOGISTICAL_CONTROLLER_CALCULATION(new LogisticalControllerItem(standardItemProperties(), Type.CALCULATION)), - LOGISTICAL_CONTROLLER_TRANSACTIONS(new LogisticalControllerItem(standardItemProperties(), Type.TRANSACTIONS)), +// LOGISTICAL_FILTER(new FilterItem(standardItemProperties())), +// LOGISTICAL_DIAL(new LogisticalDialItem(standardItemProperties())), +// LOGISTICAL_CONTROLLER_SUPPLY(new LogisticalControllerItem(standardItemProperties(), Type.SUPPLY)), +// LOGISTICAL_CONTROLLER_REQUEST(new LogisticalControllerItem(standardItemProperties(), Type.REQUEST)), +// LOGISTICAL_CONTROLLER_STORAGE(new LogisticalControllerItem(standardItemProperties(), Type.STORAGE)), +// LOGISTICAL_CONTROLLER_CALCULATION(new LogisticalControllerItem(standardItemProperties(), Type.CALCULATION)), +// LOGISTICAL_CONTROLLER_TRANSACTIONS(new LogisticalControllerItem(standardItemProperties(), Type.TRANSACTIONS)), __CURIOSITIES__(), PLACEMENT_HANDGUN( - new BuilderGunItem(new Properties().setTEISR(() -> () -> renderUsing(AllItemRenderers.BUILDER_GUN))), true), + new BlockzapperItem(new Properties().setTEISR(() -> () -> renderUsing(AllItemRenderers.BUILDER_GUN))), + true), DEFORESTER( new DeforesterItem(standardItemProperties().setTEISR(() -> () -> renderUsing(AllItemRenderers.DEFORESTER))), true), @@ -197,7 +186,7 @@ public enum AllItems { // Client private enum AllItemRenderers { - SYMMETRY_WAND, BUILDER_GUN, WRENCH, DEFORESTER; + SYMMETRY_WAND, BUILDER_GUN, WRENCH, DEFORESTER, SAND_PAPER; } @OnlyIn(Dist.CLIENT) @@ -217,11 +206,13 @@ public enum AllItems { case SYMMETRY_WAND: return new SymmetryWandItemRenderer(); case BUILDER_GUN: - return new BuilderGunItemRenderer(); + return new BlockzapperItemRenderer(); case WRENCH: return new WrenchItemRenderer(); case DEFORESTER: return new DeforesterItemRenderer(); + case SAND_PAPER: + return new SandPaperItemRenderer(); default: return null; } diff --git a/src/main/java/com/simibubi/create/AllPackets.java b/src/main/java/com/simibubi/create/AllPackets.java index 00c498277..b71d50828 100644 --- a/src/main/java/com/simibubi/create/AllPackets.java +++ b/src/main/java/com/simibubi/create/AllPackets.java @@ -10,13 +10,10 @@ import com.simibubi.create.foundation.packet.SimplePacketBase; import com.simibubi.create.modules.contraptions.components.contraptions.chassis.ConfigureChassisPacket; import com.simibubi.create.modules.contraptions.components.mixer.ConfigureMixerPacket; import com.simibubi.create.modules.contraptions.components.motor.ConfigureMotorPacket; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunBeamPacket; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperBeamPacket; import com.simibubi.create.modules.curiosities.symmetry.SymmetryEffectPacket; import com.simibubi.create.modules.logistics.block.diodes.ConfigureFlexpeaterPacket; import com.simibubi.create.modules.logistics.item.filter.FilterScreenPacket; -import com.simibubi.create.modules.logistics.management.controller.LogisticalControllerConfigurationPacket; -import com.simibubi.create.modules.logistics.management.index.IndexContainerUpdatePacket; -import com.simibubi.create.modules.logistics.management.index.IndexOrderRequest; import com.simibubi.create.modules.logistics.packet.ConfigureFlexcratePacket; import com.simibubi.create.modules.logistics.packet.ConfigureStockswitchPacket; import com.simibubi.create.modules.schematics.packet.ConfigureSchematicannonPacket; @@ -39,19 +36,19 @@ public enum AllPackets { CONFIGURE_CHASSIS(ConfigureChassisPacket.class, ConfigureChassisPacket::new), CONFIGURE_MOTOR(ConfigureMotorPacket.class, ConfigureMotorPacket::new), CONFIGURE_FLEXPEATER(ConfigureFlexpeaterPacket.class, ConfigureFlexpeaterPacket::new), - CONFIGURE_LOGISTICAL_CONTROLLER(LogisticalControllerConfigurationPacket.class, - LogisticalControllerConfigurationPacket::new), +// CONFIGURE_LOGISTICAL_CONTROLLER(LogisticalControllerConfigurationPacket.class, +// LogisticalControllerConfigurationPacket::new), CONFIGURE_MIXER(ConfigureMixerPacket.class, ConfigureMixerPacket::new), PLACE_SCHEMATIC(SchematicPlacePacket.class, SchematicPlacePacket::new), UPLOAD_SCHEMATIC(SchematicUploadPacket.class, SchematicUploadPacket::new), - INDEX_ORDER_REQUEST(IndexOrderRequest.class, IndexOrderRequest::new), +// INDEX_ORDER_REQUEST(IndexOrderRequest.class, IndexOrderRequest::new), CONFIGURE_FILTER(FilterScreenPacket.class, FilterScreenPacket::new), CONFIGURE_FILTERING_AMOUNT(FilteringCountUpdatePacket.class, FilteringCountUpdatePacket::new), // Server to Client SYMMETRY_EFFECT(SymmetryEffectPacket.class, SymmetryEffectPacket::new), - BEAM_EFFECT(BuilderGunBeamPacket.class, BuilderGunBeamPacket::new), - INDEX_CONTAINER_UPDATE(IndexContainerUpdatePacket.class, IndexContainerUpdatePacket::new), + BEAM_EFFECT(BlockzapperBeamPacket.class, BlockzapperBeamPacket::new), +// INDEX_CONTAINER_UPDATE(IndexContainerUpdatePacket.class, IndexContainerUpdatePacket::new), ; diff --git a/src/main/java/com/simibubi/create/AllRecipes.java b/src/main/java/com/simibubi/create/AllRecipes.java index ef8f96165..cd368475e 100644 --- a/src/main/java/com/simibubi/create/AllRecipes.java +++ b/src/main/java/com/simibubi/create/AllRecipes.java @@ -12,7 +12,8 @@ import com.simibubi.create.modules.contraptions.components.saw.CuttingRecipe; import com.simibubi.create.modules.contraptions.processing.ProcessingRecipe; import com.simibubi.create.modules.contraptions.processing.ProcessingRecipeSerializer; import com.simibubi.create.modules.contraptions.processing.ProcessingRecipeSerializer.IRecipeFactory; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunUpgradeRecipe; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperUpgradeRecipe; +import com.simibubi.create.modules.curiosities.tools.SandPaperPolishingRecipe; import net.minecraft.inventory.IInventory; import net.minecraft.item.crafting.IRecipe; @@ -25,13 +26,14 @@ import net.minecraftforge.event.RegistryEvent; public enum AllRecipes { - BLOCKZAPPER_UPGRADE(BuilderGunUpgradeRecipe.Serializer::new, IRecipeType.CRAFTING), + BLOCKZAPPER_UPGRADE(BlockzapperUpgradeRecipe.Serializer::new, IRecipeType.CRAFTING), MECHANICAL_CRAFTING(MechanicalCraftingRecipe.Serializer::new), CRUSHING(processingSerializer(CrushingRecipe::new)), SPLASHING(processingSerializer(SplashingRecipe::new)), PRESSING(processingSerializer(PressingRecipe::new)), CUTTING(processingSerializer(CuttingRecipe::new)), MIXING(processingSerializer(MixingRecipe::new)), + SANDPAPER_POLISHING(processingSerializer(SandPaperPolishingRecipe::new)), ; diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index 716d88f4e..69198b16c 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -63,18 +63,6 @@ import com.simibubi.create.modules.logistics.block.extractor.LinkedExtractorTile import com.simibubi.create.modules.logistics.block.inventories.FlexcrateTileEntity; import com.simibubi.create.modules.logistics.block.transposer.LinkedTransposerTileEntity; import com.simibubi.create.modules.logistics.block.transposer.TransposerTileEntity; -import com.simibubi.create.modules.logistics.management.base.LogisticalCasingTileEntity; -import com.simibubi.create.modules.logistics.management.base.LogisticalControllerTileEntity; -import com.simibubi.create.modules.logistics.management.base.LogisticalControllerTileEntityRenderer; -import com.simibubi.create.modules.logistics.management.controller.CalculationTileEntity; -import com.simibubi.create.modules.logistics.management.controller.RequestTileEntity; -import com.simibubi.create.modules.logistics.management.controller.StorageTileEntity; -import com.simibubi.create.modules.logistics.management.controller.SupplyTileEntity; -import com.simibubi.create.modules.logistics.management.controller.TransactionsTileEntity; -import com.simibubi.create.modules.logistics.management.index.LogisticalIndexTileEntity; -import com.simibubi.create.modules.logistics.transport.villager.LogisticiansTableTileEntity; -import com.simibubi.create.modules.logistics.transport.villager.LogisticiansTableTileEntityRenderer; -import com.simibubi.create.modules.logistics.transport.villager.PackageFunnelTileEntity; import com.simibubi.create.modules.schematics.block.SchematicTableTileEntity; import com.simibubi.create.modules.schematics.block.SchematicannonRenderer; import com.simibubi.create.modules.schematics.block.SchematicannonTileEntity; @@ -141,15 +129,15 @@ public enum AllTileEntities { BELT_FUNNEL(FunnelTileEntity::new, AllBlocks.BELT_FUNNEL, AllBlocks.VERTICAL_FUNNEL), ENTITY_DETECTOR(BeltObserverTileEntity::new, AllBlocks.ENTITY_DETECTOR), FLEXPEATER(FlexpeaterTileEntity::new, AllBlocks.FLEXPEATER), - LOGISTICAL_CASING(LogisticalCasingTileEntity::new, AllBlocks.LOGISTICAL_CASING), - LOGISTICAL_SUPPLY_CONTROLLER(SupplyTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), - LOGISTICAL_REQUEST_CONTROLLER(RequestTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), - LOGISTICAL_STORAGE_CONTROLLER(StorageTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), - LOGISTICAL_CALCULATION_CONTROLLER(CalculationTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), - LOGISTICAL_TRANSATIONS_CONTROLLER(TransactionsTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), - LOGISTICAL_INDEX(LogisticalIndexTileEntity::new, AllBlocks.LOGISTICAL_INDEX), - LOGISTICIANS_TABLE(LogisticiansTableTileEntity::new, AllBlocks.LOGISTICIANS_TABLE), - PACKAGE_FUNNEL(PackageFunnelTileEntity::new, AllBlocks.PACKAGE_FUNNEL), +// LOGISTICAL_CASING(LogisticalCasingTileEntity::new, AllBlocks.LOGISTICAL_CASING), +// LOGISTICAL_SUPPLY_CONTROLLER(SupplyTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), +// LOGISTICAL_REQUEST_CONTROLLER(RequestTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), +// LOGISTICAL_STORAGE_CONTROLLER(StorageTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), +// LOGISTICAL_CALCULATION_CONTROLLER(CalculationTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), +// LOGISTICAL_TRANSATIONS_CONTROLLER(TransactionsTileEntity::new, AllBlocks.LOGISTICAL_CONTROLLER), +// LOGISTICAL_INDEX(LogisticalIndexTileEntity::new, AllBlocks.LOGISTICAL_INDEX), +// LOGISTICIANS_TABLE(LogisticiansTableTileEntity::new, AllBlocks.LOGISTICIANS_TABLE), +// PACKAGE_FUNNEL(PackageFunnelTileEntity::new, AllBlocks.PACKAGE_FUNNEL), // Curiosities WINDOW_IN_A_BLOCK(WindowInABlockTileEntity::new, AllBlocks.WINDOW_IN_A_BLOCK), @@ -218,12 +206,12 @@ public enum AllTileEntities { bind(TransposerTileEntity.class, new SmartTileEntityRenderer<>()); bind(LinkedTransposerTileEntity.class, new SmartTileEntityRenderer<>()); bind(FunnelTileEntity.class, new SmartTileEntityRenderer<>()); - bind(BeltTunnelTileEntity.class, new BeltTunnelTileEntityRenderer()); bind(BeltObserverTileEntity.class, new BeltObserverTileEntityRenderer()); bind(FlexpeaterTileEntity.class, new FlexpeaterTileEntityRenderer()); - bind(LogisticalControllerTileEntity.class, new LogisticalControllerTileEntityRenderer()); - bind(LogisticiansTableTileEntity.class, new LogisticiansTableTileEntityRenderer()); + +// bind(LogisticalControllerTileEntity.class, new LogisticalControllerTileEntityRenderer()); +// bind(LogisticiansTableTileEntity.class, new LogisticiansTableTileEntityRenderer()); } @OnlyIn(Dist.CLIENT) diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index 0a30eebca..fd80a2dde 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -1,18 +1,14 @@ package com.simibubi.create; -import com.simibubi.create.foundation.command.CreateCommand; -import com.simibubi.create.foundation.command.ServerLagger; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.event.server.FMLServerStartingEvent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import com.simibubi.create.foundation.command.CreateCommand; +import com.simibubi.create.foundation.command.ServerLagger; import com.simibubi.create.foundation.world.OreGeneration; import com.simibubi.create.modules.ModuleLoadedCondition; import com.simibubi.create.modules.contraptions.TorquePropagator; import com.simibubi.create.modules.logistics.RedstoneLinkNetworkHandler; -import com.simibubi.create.modules.logistics.management.LogisticalNetworkHandler; -import com.simibubi.create.modules.logistics.transport.villager.LogisticianHandler; import com.simibubi.create.modules.schematics.ServerSchematicLoader; import net.minecraft.block.Block; @@ -25,6 +21,7 @@ import net.minecraft.item.crafting.IRecipeSerializer; import net.minecraft.particles.ParticleType; import net.minecraft.tileentity.TileEntityType; import net.minecraft.village.PointOfInterestType; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.crafting.CraftingHelper; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.IEventBus; @@ -32,6 +29,7 @@ import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; +import net.minecraftforge.fml.event.server.FMLServerStartingEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; @Mod(Create.ID) @@ -45,10 +43,10 @@ public class Create { public static ItemGroup creativeTab = new CreateItemGroup(); public static ServerSchematicLoader schematicReceiver; public static RedstoneLinkNetworkHandler redstoneLinkNetworkHandler; - public static LogisticalNetworkHandler logisticalNetworkHandler; public static TorquePropagator torquePropagator; - public static LogisticianHandler logisticianHandler; public static ServerLagger lagger; +// public static LogisticalNetworkHandler logisticalNetworkHandler; +// public static LogisticianHandler logisticianHandler; public static ModConfig config; @@ -79,7 +77,7 @@ public class Create { public static void init(final FMLCommonSetupEvent event) { schematicReceiver = new ServerSchematicLoader(); redstoneLinkNetworkHandler = new RedstoneLinkNetworkHandler(); - logisticalNetworkHandler = new LogisticalNetworkHandler(); +// logisticalNetworkHandler = new LogisticalNetworkHandler(); torquePropagator = new TorquePropagator(); lagger = new ServerLagger(); @@ -92,11 +90,11 @@ public class Create { } public static void registerVillagerProfessions(RegistryEvent.Register event) { - LogisticianHandler.registerVillagerProfessions(event); +// LogisticianHandler.registerVillagerProfessions(event); } public static void registerPointsOfInterest(RegistryEvent.Register event) { - LogisticianHandler.registerPointsOfInterest(event); +// LogisticianHandler.registerPointsOfInterest(event); } public static void createConfigs(ModConfig.ModConfigEvent event) { diff --git a/src/main/java/com/simibubi/create/CreateClient.java b/src/main/java/com/simibubi/create/CreateClient.java index 502895bd8..501eb6cfe 100644 --- a/src/main/java/com/simibubi/create/CreateClient.java +++ b/src/main/java/com/simibubi/create/CreateClient.java @@ -14,10 +14,11 @@ import com.simibubi.create.foundation.utility.SuperByteBufferCache; import com.simibubi.create.modules.contraptions.WrenchModel; import com.simibubi.create.modules.contraptions.base.KineticTileEntityRenderer; import com.simibubi.create.modules.contraptions.components.contraptions.ContraptionRenderer; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperModel; import com.simibubi.create.modules.curiosities.deforester.DeforesterModel; import com.simibubi.create.modules.curiosities.partialWindows.WindowInABlockModel; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunModel; import com.simibubi.create.modules.curiosities.symmetry.client.SymmetryWandModel; +import com.simibubi.create.modules.curiosities.tools.SandPaperItemRenderer.SandPaperModel; import com.simibubi.create.modules.schematics.ClientSchematicLoader; import com.simibubi.create.modules.schematics.client.SchematicAndQuillHandler; import com.simibubi.create.modules.schematics.client.SchematicHandler; @@ -134,10 +135,15 @@ public class CreateClient { } + swapModels(modelRegistry, getItemModelLocation(AllItems.SAND_PAPER), + t -> new SandPaperModel(t)); + swapModels(modelRegistry, getItemModelLocation(AllItems.RED_SAND_PAPER), + t -> new SandPaperModel(t)); + swapModels(modelRegistry, getItemModelLocation(AllItems.SYMMETRY_WAND), t -> new SymmetryWandModel(t).loadPartials(event)); swapModels(modelRegistry, getItemModelLocation(AllItems.PLACEMENT_HANDGUN), - t -> new BuilderGunModel(t).loadPartials(event)); + t -> new BlockzapperModel(t).loadPartials(event)); swapModels(modelRegistry, getItemModelLocation(AllItems.WRENCH), t -> new WrenchModel(t).loadPartials(event)); swapModels(modelRegistry, getItemModelLocation(AllItems.DEFORESTER), t -> new DeforesterModel(t).loadPartials(event)); @@ -157,7 +163,7 @@ public class CreateClient { public static void onModelRegistry(ModelRegistryEvent event) { for (String location : SymmetryWandModel.getCustomModelLocations()) ModelLoader.addSpecialModel(new ResourceLocation(Create.ID, "item/" + location)); - for (String location : BuilderGunModel.getCustomModelLocations()) + for (String location : BlockzapperModel.getCustomModelLocations()) ModelLoader.addSpecialModel(new ResourceLocation(Create.ID, "item/" + location)); for (String location : WrenchModel.getCustomModelLocations()) ModelLoader.addSpecialModel(new ResourceLocation(Create.ID, "item/" + location)); diff --git a/src/main/java/com/simibubi/create/Events.java b/src/main/java/com/simibubi/create/Events.java index 9d457a006..886345fe9 100644 --- a/src/main/java/com/simibubi/create/Events.java +++ b/src/main/java/com/simibubi/create/Events.java @@ -44,16 +44,16 @@ public class Events { public static void onLoadWorld(WorldEvent.Load event) { IWorld world = event.getWorld(); Create.redstoneLinkNetworkHandler.onLoadWorld(world); - Create.logisticalNetworkHandler.onLoadWorld(world); Create.torquePropagator.onLoadWorld(world); +// Create.logisticalNetworkHandler.onLoadWorld(world); } @SubscribeEvent public static void onUnloadWorld(WorldEvent.Unload event) { IWorld world = event.getWorld(); Create.redstoneLinkNetworkHandler.onUnloadWorld(world); - Create.logisticalNetworkHandler.onUnloadWorld(world); Create.torquePropagator.onUnloadWorld(world); +// Create.logisticalNetworkHandler.onUnloadWorld(world); } @SubscribeEvent diff --git a/src/main/java/com/simibubi/create/ScreenResources.java b/src/main/java/com/simibubi/create/ScreenResources.java index b23056447..50ad91493 100644 --- a/src/main/java/com/simibubi/create/ScreenResources.java +++ b/src/main/java/com/simibubi/create/ScreenResources.java @@ -68,6 +68,7 @@ public enum ScreenResources { // JEI JEI_SLOT("jei/widgets.png", 18, 18), + JEI_CATALYST_SLOT("jei/widgets.png", 0, 136, 18, 18), JEI_ARROW("jei/widgets.png", 19, 10, 42, 10), JEI_LONG_ARROW("jei/widgets.png", 19, 0, 71, 10), JEI_DOWN_ARROW("jei/widgets.png", 0, 21, 18, 14), diff --git a/src/main/java/com/simibubi/create/compat/jei/BlockzapperUpgradeCategory.java b/src/main/java/com/simibubi/create/compat/jei/BlockzapperUpgradeCategory.java index 50ab29658..98687a606 100644 --- a/src/main/java/com/simibubi/create/compat/jei/BlockzapperUpgradeCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/BlockzapperUpgradeCategory.java @@ -12,7 +12,7 @@ import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import com.simibubi.create.foundation.utility.Lang; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunUpgradeRecipe; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperUpgradeRecipe; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.IRecipeLayout; @@ -30,7 +30,7 @@ import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; -public class BlockzapperUpgradeCategory implements IRecipeCategory { +public class BlockzapperUpgradeCategory implements IRecipeCategory { private static ResourceLocation ID = new ResourceLocation(Create.ID, "blockzapper_upgrade"); private IDrawable icon; @@ -51,8 +51,8 @@ public class BlockzapperUpgradeCategory implements IRecipeCategory getRecipeClass() { - return BuilderGunUpgradeRecipe.class; + public Class getRecipeClass() { + return BlockzapperUpgradeRecipe.class; } @Override @@ -66,13 +66,13 @@ public class BlockzapperUpgradeCategory implements IRecipeCategory shapedIngredients = shape.getIngredients(); @@ -93,7 +93,7 @@ public class BlockzapperUpgradeCategory implements IRecipeCategory getTooltipStrings(BuilderGunUpgradeRecipe recipe, double mouseX, double mouseY) { + public List getTooltipStrings(BlockzapperUpgradeRecipe recipe, double mouseX, double mouseY) { List list = new ArrayList<>(); if (mouseX < 91 || mouseX > 91 + 52 || mouseY < 1 || mouseY > 53) return list; @@ -106,7 +106,7 @@ public class BlockzapperUpgradeCategory implements IRecipeCategory results) { + static void addStochasticTooltip(IGuiItemStackGroup itemStacks, List results) { itemStacks.addTooltipCallback((slotIndex, input, ingredient, tooltip) -> { if (input) return; - StochasticOutput output = results.get(slotIndex - 1); + ProcessingOutput output = results.get(slotIndex - 1); if (output.getChance() != 1) tooltip.add(1, TextFormatting.GOLD + Lang.translate("recipe.processing.chance", (int) (output.getChance() * 100))); }); } + static void addCatalystTooltip(IGuiItemStackGroup itemStacks, Map catalystIndices) { + itemStacks.addTooltipCallback((slotIndex, input, ingredient, tooltip) -> { + if (!input) + return; + if (!catalystIndices.containsKey(slotIndex)) + return; + Float chance = catalystIndices.get(slotIndex); + tooltip.add(1, TextFormatting.YELLOW + Lang.translate("recipe.processing.catalyst")); + tooltip.add(2, TextFormatting.GOLD + + Lang.translate("recipe.processing.chanceToReturn", (int) (chance.floatValue() * 100))); + }); + } + } diff --git a/src/main/java/com/simibubi/create/compat/jei/CrushingCategory.java b/src/main/java/com/simibubi/create/compat/jei/CrushingCategory.java index e074a3905..47f1a65f0 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CrushingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/CrushingCategory.java @@ -9,7 +9,7 @@ import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.crusher.CrushingRecipe; -import com.simibubi.create.modules.contraptions.processing.StochasticOutput; +import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.IRecipeLayout; @@ -69,7 +69,7 @@ public class CrushingCategory implements IRecipeCategory { itemStacks.init(0, true, 50, 2); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); - List results = recipe.getRollableResults(); + List results = recipe.getRollableResults(); int size = results.size(); int offset = -size * 19 / 2; for (int outputIndex = 0; outputIndex < size; outputIndex++) { @@ -82,7 +82,7 @@ public class CrushingCategory implements IRecipeCategory { @Override public void draw(CrushingRecipe recipe, double mouseX, double mouseY) { - List results = recipe.getRollableResults(); + List results = recipe.getRollableResults(); ScreenResources.JEI_SLOT.draw(50, 2); ScreenResources.JEI_DOWN_ARROW.draw(72, 7); diff --git a/src/main/java/com/simibubi/create/compat/jei/MixingCategory.java b/src/main/java/com/simibubi/create/compat/jei/MixingCategory.java index 8302d9aec..d7e85f6e5 100644 --- a/src/main/java/com/simibubi/create/compat/jei/MixingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/MixingCategory.java @@ -1,7 +1,9 @@ package com.simibubi.create.compat.jei; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import org.apache.commons.lang3.mutable.MutableInt; @@ -13,6 +15,7 @@ import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.mixer.MixingRecipe; +import com.simibubi.create.modules.contraptions.processing.ProcessingIngredient; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.IRecipeLayout; @@ -70,6 +73,17 @@ public class MixingCategory implements IRecipeCategory { NonNullList recipeIngredients = recipe.getIngredients(); List> actualIngredients = ItemHelper.condenseIngredients(recipeIngredients); + + Map catalystIndices = new HashMap<>(9); + for (int i = 0; i < actualIngredients.size(); i++) { + for (ProcessingIngredient processingIngredient : recipe.getRollableIngredients()) { + if (processingIngredient.isCatalyst() && ItemHelper + .matchIngredients(processingIngredient.getIngredient(), actualIngredients.get(i).getKey())) { + catalystIndices.put(i, processingIngredient.getOutputChance()); + break; + } + } + } int size = actualIngredients.size(); int xOffset = size < 3 ? (3 - size) * 19 / 2 : 0; @@ -88,16 +102,29 @@ public class MixingCategory implements IRecipeCategory { itemStacks.init(i, false, 141, 50); itemStacks.set(i, recipe.getRecipeOutput().getStack()); + + CreateJEI.addCatalystTooltip(itemStacks, catalystIndices); } @Override public void draw(MixingRecipe recipe, double mouseX, double mouseY) { + // this might actually be pretty bad with big ingredients. ^ its a draw method + List> actualIngredients = ItemHelper.condenseIngredients(recipe.getIngredients()); int size = actualIngredients.size(); int xOffset = size < 3 ? (3 - size) * 19 / 2 : 0; - for (int i = 0; i < size; i++) - ScreenResources.JEI_SLOT.draw(16 + xOffset + (i % 3) * 19, 50 - (i / 3) * 19); + for (int i = 0; i < size; i++) { + ScreenResources jeiSlot = ScreenResources.JEI_SLOT; + for (ProcessingIngredient processingIngredient : recipe.getRollableIngredients()) { + if (processingIngredient.isCatalyst() && ItemHelper + .matchIngredients(processingIngredient.getIngredient(), actualIngredients.get(i).getKey())) { + jeiSlot = ScreenResources.JEI_CATALYST_SLOT; + break; + } + } + jeiSlot.draw(16 + xOffset + (i % 3) * 19, 50 - (i / 3) * 19); + } ScreenResources.JEI_SLOT.draw(141, 50); ScreenResources.JEI_DOWN_ARROW.draw(136, 32); ScreenResources.JEI_SHADOW.draw(81, 57); diff --git a/src/main/java/com/simibubi/create/compat/jei/PressingCategory.java b/src/main/java/com/simibubi/create/compat/jei/PressingCategory.java index d3b5c9524..952d7bc9c 100644 --- a/src/main/java/com/simibubi/create/compat/jei/PressingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/PressingCategory.java @@ -9,7 +9,7 @@ import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.press.PressingRecipe; -import com.simibubi.create.modules.contraptions.processing.StochasticOutput; +import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.IRecipeLayout; @@ -70,7 +70,7 @@ public class PressingCategory implements IRecipeCategory { itemStacks.init(0, true, 26, 50); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); - List results = recipe.getRollableResults(); + List results = recipe.getRollableResults(); for (int outputIndex = 0; outputIndex < results.size(); outputIndex++) { itemStacks.init(outputIndex + 1, false, 131 + 19 * outputIndex, 50); itemStacks.set(outputIndex + 1, results.get(outputIndex).getStack()); diff --git a/src/main/java/com/simibubi/create/compat/jei/SawingCategory.java b/src/main/java/com/simibubi/create/compat/jei/SawingCategory.java index 858a24c72..d9c5b3d1c 100644 --- a/src/main/java/com/simibubi/create/compat/jei/SawingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/SawingCategory.java @@ -8,7 +8,7 @@ import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.saw.CuttingRecipe; -import com.simibubi.create.modules.contraptions.processing.StochasticOutput; +import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.IRecipeLayout; @@ -69,7 +69,7 @@ public class SawingCategory implements IRecipeCategory { itemStacks.init(0, true, 43, 4); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); - List results = recipe.getRollableResults(); + List results = recipe.getRollableResults(); for (int outputIndex = 0; outputIndex < results.size(); outputIndex++) { int xOffset = outputIndex % 2 == 0 ? 0 : 19; int yOffset = (outputIndex / 2) * -19; diff --git a/src/main/java/com/simibubi/create/compat/jei/SplashingCategory.java b/src/main/java/com/simibubi/create/compat/jei/SplashingCategory.java index e9ccd4f27..3a77f4f4b 100644 --- a/src/main/java/com/simibubi/create/compat/jei/SplashingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/SplashingCategory.java @@ -10,7 +10,7 @@ import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.components.fan.SplashingRecipe; -import com.simibubi.create.modules.contraptions.processing.StochasticOutput; +import com.simibubi.create.modules.contraptions.processing.ProcessingOutput; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.IRecipeLayout; @@ -72,7 +72,7 @@ public class SplashingCategory extends ProcessingViaFanCategory itemStacks.init(0, true, 20, 47); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); - List results = recipe.getRollableResults(); + List results = recipe.getRollableResults(); boolean single = results.size() == 1; for (int outputIndex = 0; outputIndex < results.size(); outputIndex++) { int xOffset = outputIndex % 2 == 0 ? 0 : 19; diff --git a/src/main/java/com/simibubi/create/foundation/command/CreateCommand.java b/src/main/java/com/simibubi/create/foundation/command/CreateCommand.java index 3e78bd3fc..38e08ee73 100644 --- a/src/main/java/com/simibubi/create/foundation/command/CreateCommand.java +++ b/src/main/java/com/simibubi/create/foundation/command/CreateCommand.java @@ -1,6 +1,7 @@ package com.simibubi.create.foundation.command; import com.mojang.brigadier.CommandDispatcher; + import net.minecraft.command.CommandSource; public class CreateCommand { diff --git a/src/main/java/com/simibubi/create/foundation/command/KillTPSCommand.java b/src/main/java/com/simibubi/create/foundation/command/KillTPSCommand.java index 6cf33ded2..4bd0b6da9 100644 --- a/src/main/java/com/simibubi/create/foundation/command/KillTPSCommand.java +++ b/src/main/java/com/simibubi/create/foundation/command/KillTPSCommand.java @@ -4,6 +4,7 @@ import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.IntegerArgumentType; import com.simibubi.create.Create; import com.simibubi.create.foundation.utility.Lang; + import net.minecraft.command.CommandSource; import net.minecraft.command.Commands; diff --git a/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java b/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java index dc3f25297..ee2f195e2 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java @@ -1,5 +1,7 @@ package com.simibubi.create.foundation.utility; +import java.util.UUID; + import com.mojang.blaze3d.platform.GlStateManager; import net.minecraft.util.math.Vec3d; @@ -60,5 +62,12 @@ public class ColorHelper { int b = color & 0xFF; return new Vec3d(r, g, b).scale(1 / 256d); } + + public static int colorFromUUID(UUID uuid) { + if (uuid == null) + return 0x333333; + int rainbowColor = ColorHelper.rainbowColor((int) uuid.getLeastSignificantBits()); + return ColorHelper.mixColors(rainbowColor, 0xFFFFFF, .5f); + } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/CasingBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/CasingBlock.java index 22d3d8d88..4ea575723 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/CasingBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/CasingBlock.java @@ -1,10 +1,10 @@ package com.simibubi.create.modules.contraptions; import com.simibubi.create.foundation.block.connected.CTSpriteShifter; +import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType; import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; import com.simibubi.create.foundation.block.connected.IHaveConnectedTextures; import com.simibubi.create.foundation.block.connected.StandardCTBehaviour; -import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType; import net.minecraft.block.Block; import net.minecraft.block.BlockState; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntityRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntityRenderer.java index dd7d77f17..dc98fc369 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntityRenderer.java @@ -3,10 +3,10 @@ package com.simibubi.create.modules.contraptions.base; import com.simibubi.create.AllBlocks; import com.simibubi.create.CreateClient; import com.simibubi.create.foundation.utility.AnimationTickHolder; +import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.SuperByteBuffer; import com.simibubi.create.foundation.utility.SuperByteBufferCache.Compartment; import com.simibubi.create.modules.contraptions.KineticDebugger; -import com.simibubi.create.modules.logistics.management.base.LogisticalActorTileEntity; import net.minecraft.block.BlockState; import net.minecraft.client.renderer.BufferBuilder; @@ -58,7 +58,7 @@ public class KineticTileEntityRenderer extends TileEntityRendererFast { - public CrushingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + public CrushingRecipe(ResourceLocation id, String group, List ingredients, + List results, int processingDuration) { super(AllRecipes.CRUSHING, id, group, ingredients, results, processingDuration); } @@ -24,5 +24,10 @@ public class CrushingRecipe extends ProcessingRecipe { return false; return ingredients.get(0).test(inv.getStackInSlot(0)); } + + @Override + protected int getMaxOutputCount() { + return 7; + } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerBlock.java index 14a8f1312..8a6305a00 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerBlock.java @@ -15,8 +15,8 @@ import net.minecraft.item.ItemUseContext; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; import net.minecraft.util.Direction; -import net.minecraft.util.Hand; import net.minecraft.util.Direction.Axis; +import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.Vec3d; @@ -55,7 +55,7 @@ public class DeployerBlock extends DirectionalAxisKineticBlock implements IWithT } return super.onWrenched(state, context); } - + @Override public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) { if (state.hasTileEntity() && state.getBlock() != newState.getBlock()) { @@ -63,31 +63,34 @@ public class DeployerBlock extends DirectionalAxisKineticBlock implements IWithT te.player.inventory.dropAllItems(); te.overflowItems.forEach(itemstack -> te.player.dropItem(itemstack, true, false)); }); - - worldIn.removeTileEntity(pos); - } + + worldIn.removeTileEntity(pos); + } } @Override public boolean onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { - ItemStack held = player.getHeldItem(handIn); - if (AllItems.WRENCH.typeOf(held)) + ItemStack heldByPlayer = player.getHeldItem(handIn).copy(); + if (AllItems.WRENCH.typeOf(heldByPlayer)) return false; - - if (hit.getFace() == state.get(FACING)) { - if (!worldIn.isRemote) - withTileEntityDo(worldIn, pos, te -> { - ItemStack heldItemMainhand = te.player.getHeldItemMainhand(); - if (heldItemMainhand.isEmpty()) - return; - player.inventory.placeItemBackInInventory(worldIn, heldItemMainhand); - te.player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY); - te.sendData(); - }); + + if (hit.getFace() != state.get(FACING)) + return false; + if (worldIn.isRemote) return true; - } - return false; + + withTileEntityDo(worldIn, pos, te -> { + ItemStack heldByDeployer = te.player.getHeldItemMainhand().copy(); + if (heldByDeployer.isEmpty() && heldByPlayer.isEmpty()) + return; + + player.setHeldItem(handIn, heldByDeployer); + te.player.setHeldItem(Hand.MAIN_HAND, heldByPlayer); + te.sendData(); + }); + + return true; } public static Vec3d getFilterSlotPosition(BlockState state) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntity.java index 3c164c036..1d2309202 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntity.java @@ -24,6 +24,7 @@ import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.WrappedWorld; import com.simibubi.create.modules.contraptions.base.KineticTileEntity; +import com.simibubi.create.modules.curiosities.tools.SandPaperItem; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -86,6 +87,7 @@ public class DeployerTileEntity extends KineticTileEntity { protected Pair blockBreakingProgress; private ListNBT deferredInventoryList; + private ItemStack spawnItemEffects; enum State { WAITING, EXPANDING, RETRACTING, DUMPING; @@ -223,6 +225,7 @@ public class DeployerTileEntity extends KineticTileEntity { player.getAttributes().applyAttributeModifiers(attributeModifiers); activate(); player.getAttributes().removeAttributeModifiers(attributeModifiers); + heldItem = player.getHeldItemMainhand(); state = State.RETRACTING; timer = 1000; @@ -339,12 +342,11 @@ public class DeployerTileEntity extends KineticTileEntity { ItemUseContext itemusecontext = new ItemUseContext(player, hand, result); RightClickBlock event = ForgeHooks.onRightClickBlock(player, hand, clickedPos, direction.getOpposite()); - // Item has active use (food for instance) + // Item has custom active use if (event.getUseItem() != DENY) { ActionResultType actionresult = stack.onItemUseFirst(itemusecontext); if (actionresult != ActionResultType.PASS) return; - player.setHeldItem(hand, stack.onItemUseFinish(world, player)); } boolean holdingSomething = !player.getHeldItemMainhand().isEmpty(); @@ -385,7 +387,7 @@ public class DeployerTileEntity extends KineticTileEntity { return; // buckets create their own ray, We use a fake wall to contain the active area - if (item instanceof BucketItem) { + if (item instanceof BucketItem || item instanceof SandPaperItem) { world = new WrappedWorld(world) { @Override @@ -415,6 +417,17 @@ public class DeployerTileEntity extends KineticTileEntity { ActionResult onItemRightClick = item.onItemRightClick(world, player, hand); player.setHeldItem(hand, onItemRightClick.getResult()); + + CompoundNBT tag = stack.getOrCreateTag(); + if (stack.getItem() instanceof SandPaperItem && tag.contains("Polishing")) + spawnItemEffects = ItemStack.read(tag.getCompound("Polishing")); + if (stack.isFood()) + spawnItemEffects = stack.copy(); + + if (!player.getActiveItemStack().isEmpty()) + player.setHeldItem(hand, stack.onItemUseFinish(world, player)); + + player.resetActiveHand(); } protected void returnAndDeposit() { @@ -504,6 +517,10 @@ public class DeployerTileEntity extends KineticTileEntity { compound.putFloat("Reach", reach); if (player != null) compound.put("HeldItem", player.getHeldItemMainhand().serializeNBT()); + if (spawnItemEffects != null) { + compound.put("Particle", spawnItemEffects.serializeNBT()); + spawnItemEffects = null; + } return super.writeToClient(compound); } @@ -512,6 +529,12 @@ public class DeployerTileEntity extends KineticTileEntity { reach = tag.getFloat("Reach"); if (tag.contains("HeldItem")) heldItem = ItemStack.read(tag.getCompound("HeldItem")); + if (tag.contains("Particle")) { + ItemStack particleStack = ItemStack.read(tag.getCompound("Particle")); + SandPaperItem.spawnParticles(VecHelper.getCenterOf(pos).add(getMovementVector().scale(2f)), particleStack, + this.world); + } + super.readClientUpdate(tag); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/fan/SplashingRecipe.java b/src/main/java/com/simibubi/create/modules/contraptions/components/fan/SplashingRecipe.java index 6b3f853a9..4e09e1082 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/fan/SplashingRecipe.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/fan/SplashingRecipe.java @@ -3,19 +3,19 @@ package com.simibubi.create.modules.contraptions.components.fan; import java.util.List; import com.simibubi.create.AllRecipes; +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 com.simibubi.create.modules.contraptions.processing.StochasticOutput; import com.simibubi.create.modules.logistics.InWorldProcessing; import com.simibubi.create.modules.logistics.InWorldProcessing.SplashingInv; -import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; public class SplashingRecipe extends ProcessingRecipe { - public SplashingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + public SplashingRecipe(ResourceLocation id, String group, List ingredients, + List results, int processingDuration) { super(AllRecipes.SPLASHING, id, group, ingredients, results, processingDuration); } @@ -25,5 +25,10 @@ public class SplashingRecipe extends ProcessingRecipe { - public MixingRecipe(ResourceLocation id, String group, List ingredients, List results, - int processingDuration) { + public MixingRecipe(ResourceLocation id, String group, List ingredients, + List results, int processingDuration) { super(AllRecipes.MIXING, id, group, ingredients, results, processingDuration); } + @Override + protected int getMaxInputCount() { + return 9; + } + + @Override + protected int getMaxOutputCount() { + return 1; + } + + @Override + protected boolean canHaveCatalysts() { + return true; + } + @Override public boolean matches(BasinInputInventory inv, World worldIn) { if (inv.isEmpty()) @@ -56,12 +72,11 @@ public class MixingRecipe extends ProcessingRecipe { return false; } return true; - } public static MixingRecipe of(IRecipe recipe) { - return new MixingRecipe(recipe.getId(), recipe.getGroup(), recipe.getIngredients(), - Arrays.asList(new StochasticOutput(recipe.getRecipeOutput(), 1)), -1); + return new MixingRecipe(recipe.getId(), recipe.getGroup(), ProcessingIngredient.list(recipe.getIngredients()), + Arrays.asList(new ProcessingOutput(recipe.getRecipeOutput(), 1)), -1); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/press/PressingRecipe.java b/src/main/java/com/simibubi/create/modules/contraptions/components/press/PressingRecipe.java index 4d82afe7d..ea39a50c3 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/press/PressingRecipe.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/press/PressingRecipe.java @@ -4,17 +4,17 @@ import java.util.List; import com.simibubi.create.AllRecipes; import com.simibubi.create.modules.contraptions.components.press.MechanicalPressTileEntity.PressingInv; +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 com.simibubi.create.modules.contraptions.processing.StochasticOutput; -import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; public class PressingRecipe extends ProcessingRecipe { - public PressingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + public PressingRecipe(ResourceLocation id, String group, List ingredients, + List results, int processingDuration) { super(AllRecipes.PRESSING, id, group, ingredients, results, processingDuration); } @@ -24,5 +24,10 @@ public class PressingRecipe extends ProcessingRecipe { - public CuttingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + public CuttingRecipe(ResourceLocation id, String group, List ingredients, + List results, int processingDuration) { super(AllRecipes.CUTTING, id, group, ingredients, results, processingDuration); } @@ -24,5 +24,10 @@ public class CuttingRecipe extends ProcessingRecipe { return false; return ingredients.get(0).test(inv.getStackInSlot(0)); } + + @Override + protected int getMaxOutputCount() { + return 4; + } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinOperatingTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinOperatingTileEntity.java index c2d89dc3e..170a923da 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinOperatingTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinOperatingTileEntity.java @@ -120,6 +120,8 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { IItemHandlerModifiable inputs = inv.getInputHandler(); IItemHandlerModifiable outputs = inv.getOutputHandler(); + List catalysts = new ArrayList<>(); + int buckets = 0; Ingredients: for (Ingredient ingredient : lastRecipe.getIngredients()) { for (int slot = 0; slot < inputs.getSlots(); slot++) { @@ -128,6 +130,12 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { ItemStack extracted = inputs.extractItem(slot, 1, false); if (extracted.getItem() instanceof BucketItem) buckets++; + + if ((lastRecipe instanceof ProcessingRecipe)) { + ProcessingRecipe pr = (ProcessingRecipe) lastRecipe; + if (pr.getRollableIngredients().get(slot).remains()) + catalysts.add(extracted.copy()); + } continue Ingredients; } // something wasn't found @@ -137,6 +145,7 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { ItemHandlerHelper.insertItemStacked(outputs, lastRecipe.getRecipeOutput().copy(), false); if (buckets > 0) ItemHandlerHelper.insertItemStacked(outputs, new ItemStack(Items.BUCKET, buckets), false); + catalysts.forEach(c -> ItemHandlerHelper.insertItemStacked(outputs, c, false)); // Continue mixing gatherInputs(); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingIngredient.java b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingIngredient.java new file mode 100644 index 000000000..56a72f20c --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingIngredient.java @@ -0,0 +1,72 @@ +package com.simibubi.create.modules.contraptions.processing; + +import java.util.List; +import java.util.Random; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +import com.google.gson.JsonObject; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.Ingredient; +import net.minecraft.network.PacketBuffer; + +public class ProcessingIngredient implements Predicate { + + private float outputChance; + private Ingredient ingredient; + private static Random r = new Random(); + + public ProcessingIngredient(Ingredient ingredient) { + this(ingredient, 0); + } + + public ProcessingIngredient(Ingredient ingredient, float outputChance) { + this.ingredient = ingredient; + this.outputChance = outputChance; + } + + public float getOutputChance() { + return outputChance; + } + + public boolean isCatalyst() { + return outputChance > 0; + } + + public static ProcessingIngredient parse(PacketBuffer buffer) { + Ingredient ingredient = Ingredient.read(buffer); + return new ProcessingIngredient(ingredient, buffer.readFloat()); + } + + public static ProcessingIngredient parse(JsonObject json) { + Ingredient ingredient = Ingredient.deserialize(json); + float chance = 0; + if (json.has("return_chance")) + chance = json.get("return_chance").getAsFloat(); + return new ProcessingIngredient(ingredient, chance); + } + + public void write(PacketBuffer buffer) { + getIngredient().write(buffer); + buffer.writeFloat(outputChance); + } + + @Override + public boolean test(ItemStack t) { + return ingredient.test(t); + } + + public Ingredient getIngredient() { + return ingredient; + } + + public static List list(List ingredients) { + return ingredients.stream().map(ProcessingIngredient::new).collect(Collectors.toList()); + } + + public boolean remains() { + return r.nextFloat() <= outputChance; + } + +} diff --git a/src/main/java/com/simibubi/create/modules/contraptions/processing/StochasticOutput.java b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingOutput.java similarity index 79% rename from src/main/java/com/simibubi/create/modules/contraptions/processing/StochasticOutput.java rename to src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingOutput.java index 425c7a769..9127a5ee5 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/processing/StochasticOutput.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingOutput.java @@ -5,13 +5,13 @@ import java.util.Random; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketBuffer; -public class StochasticOutput { +public class ProcessingOutput { private static Random r = new Random(); private ItemStack stack; private float chance; - public StochasticOutput(ItemStack stack, float chance) { + public ProcessingOutput(ItemStack stack, float chance) { this.stack = stack; this.chance = chance; } @@ -37,8 +37,8 @@ public class StochasticOutput { buf.writeFloat(getChance()); } - public static StochasticOutput read(PacketBuffer buf) { - return new StochasticOutput(buf.readItemStack(), buf.readFloat()); + public static ProcessingOutput read(PacketBuffer buf) { + return new ProcessingOutput(buf.readItemStack(), buf.readFloat()); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipe.java b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipe.java index ef469f4ab..faee5d689 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipe.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipe.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.stream.Collectors; import com.simibubi.create.AllRecipes; +import com.simibubi.create.Create; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -16,16 +17,16 @@ import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; public abstract class ProcessingRecipe implements IRecipe { - protected final List ingredients; - private final List results; + protected final List ingredients; + private final List results; private final IRecipeType type; private final IRecipeSerializer serializer; protected final ResourceLocation id; protected final String group; protected final int processingDuration; - public ProcessingRecipe(AllRecipes recipeType, ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + public ProcessingRecipe(AllRecipes recipeType, ResourceLocation id, String group, + List ingredients, List results, int processingDuration) { this.type = recipeType.type; this.serializer = recipeType.serializer; this.id = id; @@ -33,12 +34,27 @@ public abstract class ProcessingRecipe implements IRecipe< this.ingredients = ingredients; this.results = results; this.processingDuration = processingDuration; + validate(recipeType); + } + + private void validate(AllRecipes recipeType) { + if (ingredients.size() > getMaxInputCount()) + Create.logger.warn("Your custom " + recipeType.name() + " recipe (" + id.toString() + ") has more inputs (" + + ingredients.size() + ") than supported (" + getMaxInputCount() + ")."); + if (results.size() > getMaxOutputCount()) + Create.logger.warn("Your custom " + recipeType.name() + " recipe (" + id.toString() + ") has more outputs (" + + results.size() + ") than supported (" + getMaxOutputCount() + ")."); + ingredients.forEach(i -> { + if (i.isCatalyst() && !canHaveCatalysts()) + Create.logger.warn("Your custom " + recipeType.name() + " recipe (" + id.toString() + + ") has a catalyst ingredient, which act like a regular ingredient in this type."); + }); } @Override public NonNullList getIngredients() { NonNullList nonnulllist = NonNullList.create(); - nonnulllist.addAll(this.ingredients); + this.ingredients.forEach(e -> nonnulllist.add(e.getIngredient())); return nonnulllist; } @@ -48,7 +64,7 @@ public abstract class ProcessingRecipe implements IRecipe< public List rollResults() { List stacks = new ArrayList<>(); - for (StochasticOutput output : getRollableResults()) { + for (ProcessingOutput output : getRollableResults()) { ItemStack stack = output.rollOutput(); if (!stack.isEmpty()) stacks.add(stack); @@ -91,9 +107,25 @@ public abstract class ProcessingRecipe implements IRecipe< return type; } - public List getRollableResults() { + protected int getMaxInputCount() { + return 1; + } + + protected int getMaxOutputCount() { + return 15; + } + + protected boolean canHaveCatalysts() { + return false; + } + + public List getRollableResults() { return results; } + + public List getRollableIngredients() { + return ingredients; + } public List getPossibleOutputs() { return getRollableResults().stream().map(output -> output.getStack()).collect(Collectors.toList()); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipeSerializer.java b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipeSerializer.java index e69725df8..1d605ea2d 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipeSerializer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/processing/ProcessingRecipeSerializer.java @@ -8,7 +8,6 @@ import com.google.gson.JsonObject; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.Ingredient; import net.minecraft.network.PacketBuffer; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; @@ -27,12 +26,12 @@ public class ProcessingRecipeSerializer> public T read(ResourceLocation recipeId, JsonObject json) { String s = JSONUtils.getString(json, "group", ""); - List ingredients = new ArrayList<>(); + List ingredients = new ArrayList<>(); for (JsonElement e : JSONUtils.getJsonArray(json, "ingredients")) { - ingredients.add(Ingredient.deserialize(e)); + ingredients.add(ProcessingIngredient.parse(e.getAsJsonObject())); } - List results = new ArrayList<>(); + List results = new ArrayList<>(); for (JsonElement e : JSONUtils.getJsonArray(json, "results")) { String s1 = JSONUtils.getString(e.getAsJsonObject().get("item"), "item"); int i = JSONUtils.getInt(e.getAsJsonObject().get("count"), "count"); @@ -40,7 +39,7 @@ public class ProcessingRecipeSerializer> if (JSONUtils.hasField((JsonObject) e, "chance")) chance = JSONUtils.getFloat(e.getAsJsonObject().get("chance"), "chance"); ItemStack itemstack = new ItemStack(Registry.ITEM.getOrDefault(new ResourceLocation(s1)), i); - results.add(new StochasticOutput(itemstack, chance)); + results.add(new ProcessingOutput(itemstack, chance)); } int duration = -1; @@ -53,15 +52,15 @@ public class ProcessingRecipeSerializer> public T read(ResourceLocation recipeId, PacketBuffer buffer) { String s = buffer.readString(32767); - List ingredients = new ArrayList<>(); + List ingredients = new ArrayList<>(); int ingredientCount = buffer.readInt(); for (int i = 0; i < ingredientCount; i++) - ingredients.add(Ingredient.read(buffer)); + ingredients.add(ProcessingIngredient.parse(buffer)); - List results = new ArrayList<>(); + List results = new ArrayList<>(); int outputCount = buffer.readInt(); for (int i = 0; i < outputCount; i++) - results.add(StochasticOutput.read(buffer)); + results.add(ProcessingOutput.read(buffer)); int duration = buffer.readInt(); @@ -81,7 +80,7 @@ public class ProcessingRecipeSerializer> } public interface IRecipeFactory> { - T create(ResourceLocation id, String group, List ingredients, List results, + T create(ResourceLocation id, String group, List ingredients, List results, int duration); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java index 0a3cf7144..58e53ba7d 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java @@ -6,8 +6,8 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.foundation.block.IWithTileEntity; import com.simibubi.create.foundation.block.IHaveNoBlockItem; +import com.simibubi.create.foundation.block.IWithTileEntity; import com.simibubi.create.foundation.utility.AllShapes; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.base.HorizontalKineticBlock; @@ -163,7 +163,7 @@ public class BeltBlock extends HorizontalKineticBlock implements IHaveNoBlockIte return false; ItemStack heldItem = player.getHeldItem(handIn); boolean isShaft = heldItem.getItem() == AllBlocks.SHAFT.get().asItem(); - boolean isCasing = heldItem.getItem() == AllBlocks.LOGISTICAL_CASING.get().asItem(); + boolean isCasing = heldItem.getItem() == AllBlocks.BRASS_CASING.get().asItem(); boolean isDye = Tags.Items.DYES.contains(heldItem.getItem()); boolean isHand = heldItem.isEmpty() && handIn == Hand.MAIN_HAND; @@ -238,7 +238,7 @@ public class BeltBlock extends HorizontalKineticBlock implements IHaveNoBlockIte return ActionResultType.SUCCESS; world.setBlockState(context.getPos(), state.with(CASING, false), 3); if (!player.isCreative()) - player.inventory.placeItemBackInInventory(world, new ItemStack(AllBlocks.LOGISTICAL_CASING.block)); + player.inventory.placeItemBackInInventory(world, new ItemStack(AllBlocks.BRASS_CASING.block)); return ActionResultType.SUCCESS; } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltTunnelTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltTunnelTileEntity.java index 5fd34ba36..d9d2efa6e 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltTunnelTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltTunnelTileEntity.java @@ -24,8 +24,8 @@ import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.AxisDirection; import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.common.util.Constants.NBT; +import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; diff --git a/src/main/java/com/simibubi/create/modules/curiosities/ChromaticCompoundCubeItem.java b/src/main/java/com/simibubi/create/modules/curiosities/ChromaticCompoundCubeItem.java index fc0446b3f..dd5e721b7 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/ChromaticCompoundCubeItem.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/ChromaticCompoundCubeItem.java @@ -23,12 +23,12 @@ public class ChromaticCompoundCubeItem extends Item implements IItemWithColorHan float progress = (float) ((mc.player.getYaw(pt)) / 180 * Math.PI) + (AnimationTickHolder.getRenderTick() * 1f); if (layer == 0) - return ColorHelper.mixColors(0xDDDDDD, 0xDDDDDD, ((float) MathHelper.sin(progress) + 1) / 2); + return ColorHelper.mixColors(0x6e5773, 0x6B3074, ((float) MathHelper.sin(progress) + 1) / 2); if (layer == 1) - return ColorHelper.mixColors(0x72A498, 0xB9D6FF, + return ColorHelper.mixColors(0xd45d79, 0x6e5773, ((float) MathHelper.sin((float) (progress + Math.PI)) + 1) / 2); if (layer == 2) - return ColorHelper.mixColors(0x5082CE, 0x91C5B7, + return ColorHelper.mixColors(0xea9085, 0xd45d79, ((float) MathHelper.sin((float) (progress * 1.5f + Math.PI)) + 1) / 2); return 0; } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunBeamPacket.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperBeamPacket.java similarity index 73% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunBeamPacket.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperBeamPacket.java index 6615e77d4..cf6e6d26e 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunBeamPacket.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperBeamPacket.java @@ -1,9 +1,9 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; import java.util.function.Supplier; import com.simibubi.create.foundation.packet.SimplePacketBase; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunHandler.LaserBeam; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperHandler.LaserBeam; import net.minecraft.client.Minecraft; import net.minecraft.network.PacketBuffer; @@ -14,21 +14,21 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.network.NetworkEvent.Context; -public class BuilderGunBeamPacket extends SimplePacketBase { +public class BlockzapperBeamPacket extends SimplePacketBase { public Vec3d start; public Vec3d target; public Hand hand; public boolean self; - public BuilderGunBeamPacket(Vec3d start, Vec3d target, Hand hand, boolean self) { + public BlockzapperBeamPacket(Vec3d start, Vec3d target, Hand hand, boolean self) { this.start = start; this.target = target; this.hand = hand; this.self = self; } - public BuilderGunBeamPacket(PacketBuffer buffer) { + public BlockzapperBeamPacket(PacketBuffer buffer) { start = new Vec3d(buffer.readDouble(), buffer.readDouble(), buffer.readDouble()); target = new Vec3d(buffer.readDouble(), buffer.readDouble(), buffer.readDouble()); hand = buffer.readBoolean()? Hand.MAIN_HAND : Hand.OFF_HAND; @@ -51,12 +51,12 @@ public class BuilderGunBeamPacket extends SimplePacketBase { context.get().enqueueWork(() -> DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> { if (Minecraft.getInstance().player.getPositionVector().distanceTo(start) > 100) return; - BuilderGunHandler.addBeam(new LaserBeam(start, target).followPlayer(self, hand == Hand.MAIN_HAND)); + BlockzapperHandler.addBeam(new LaserBeam(start, target).followPlayer(self, hand == Hand.MAIN_HAND)); if (self) - BuilderGunHandler.shoot(hand); + BlockzapperHandler.shoot(hand); else - BuilderGunHandler.playSound(hand, new BlockPos(start)); + BlockzapperHandler.playSound(hand, new BlockPos(start)); })); context.get().setPacketHandled(true); } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunHandler.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperHandler.java similarity index 92% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunHandler.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperHandler.java index 7909bd6eb..37de5cc2d 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunHandler.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperHandler.java @@ -1,4 +1,4 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; import java.util.LinkedList; import java.util.List; @@ -21,8 +21,6 @@ import net.minecraft.client.renderer.entity.PlayerRenderer; import net.minecraft.client.renderer.model.ItemCameraTransforms; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.world.ClientWorld; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.nbt.NBTUtil; import net.minecraft.particles.ParticleTypes; import net.minecraft.util.Hand; import net.minecraft.util.HandSide; @@ -37,14 +35,12 @@ import net.minecraftforge.client.event.RenderSpecificHandEvent; import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.event.TickEvent.ClientTickEvent; import net.minecraftforge.event.TickEvent.Phase; -import net.minecraftforge.event.world.BlockEvent.BreakEvent; -import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @SuppressWarnings("deprecation") @EventBusSubscriber(value = Dist.CLIENT) -public class BuilderGunHandler { +public class BlockzapperHandler { public static List cachedBeams; public static float leftHandAnimation; @@ -94,19 +90,19 @@ public class BuilderGunHandler { return barrelPos; } - @SubscribeEvent(priority = EventPriority.HIGHEST) - public static void onBlockBroken(BreakEvent event) { - PlayerEntity player = event.getPlayer(); - if (player == null) - return; - if (!AllItems.PLACEMENT_HANDGUN.typeOf(player.getHeldItemMainhand())) - return; - - if (event.getState().isNormalCube(player.world, event.getPos())) { - player.getHeldItemMainhand().getTag().put("BlockUsed", NBTUtil.writeBlockState(event.getState())); - } - event.setCanceled(true); - } +// @SubscribeEvent(priority = EventPriority.HIGHEST) +// public static void onBlockBroken(BreakEvent event) { +// PlayerEntity player = event.getPlayer(); +// if (player == null) +// return; +// if (!AllItems.PLACEMENT_HANDGUN.typeOf(player.getHeldItemMainhand())) +// return; +// +// if (event.getState().isNormalCube(player.world, event.getPos())) { +// player.getHeldItemMainhand().getTag().put("BlockUsed", NBTUtil.writeBlockState(event.getState())); +// } +// event.setCanceled(true); +// } @SubscribeEvent public static void onClientTick(ClientTickEvent event) { diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunItem.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperItem.java similarity index 93% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunItem.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperItem.java index 66f113dec..404b35da5 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunItem.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperItem.java @@ -1,4 +1,4 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; import java.util.HashSet; import java.util.LinkedList; @@ -16,6 +16,7 @@ import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.item.ItemDescription.Palette; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -63,10 +64,10 @@ import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.network.PacketDistributor; -public class BuilderGunItem extends Item { +public class BlockzapperItem extends Item { public static enum ComponentTier { - None(TextFormatting.DARK_GRAY), BlazeBrass(TextFormatting.GOLD), ChorusChrome(TextFormatting.LIGHT_PURPLE), + None(TextFormatting.DARK_GRAY), Brass(TextFormatting.GOLD), Chromatic(TextFormatting.LIGHT_PURPLE), ; @@ -75,16 +76,22 @@ public class BuilderGunItem extends Item { private ComponentTier(TextFormatting color) { this.color = color; } + } public static enum Components { Body, Amplifier, Accelerator, Retriever, Scope } - public BuilderGunItem(Properties properties) { + public BlockzapperItem(Properties properties) { super(properties.maxStackSize(1).rarity(Rarity.UNCOMMON)); } + @Override + public boolean canPlayerBreakBlockWhileHolding(BlockState state, World worldIn, BlockPos pos, PlayerEntity player) { + return false; + } + @Override public UseAction getUseAction(ItemStack stack) { return UseAction.NONE; @@ -121,12 +128,12 @@ public class BuilderGunItem extends Item { ItemStack gunWithGoldStuff = new ItemStack(this); for (Components c : Components.values()) - setTier(c, ComponentTier.BlazeBrass, gunWithGoldStuff); + setTier(c, ComponentTier.Brass, gunWithGoldStuff); items.add(gunWithGoldStuff); ItemStack gunWithPurpurStuff = new ItemStack(this); for (Components c : Components.values()) - setTier(c, ComponentTier.ChorusChrome, gunWithPurpurStuff); + setTier(c, ComponentTier.Chromatic, gunWithPurpurStuff); items.add(gunWithPurpurStuff); } super.fillItemGroup(group, items); @@ -214,7 +221,7 @@ public class BuilderGunItem extends Item { // Client side if (world.isRemote) { - BuilderGunHandler.dontAnimateItem(hand); + BlockzapperHandler.dontAnimateItem(hand); return new ActionResult(ActionResultType.SUCCESS, item); } @@ -254,9 +261,9 @@ public class BuilderGunItem extends Item { applyCooldown(player, item, gunInOtherHand); AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY.with(() -> player), - new BuilderGunBeamPacket(barrelPos, raytrace.getHitVec(), hand, false)); + new BlockzapperBeamPacket(barrelPos, raytrace.getHitVec(), hand, false)); AllPackets.channel.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), - new BuilderGunBeamPacket(barrelPos, raytrace.getHitVec(), hand, true)); + new BlockzapperBeamPacket(barrelPos, raytrace.getHitVec(), hand, true)); return new ActionResult(ActionResultType.SUCCESS, item); @@ -362,7 +369,7 @@ public class BuilderGunItem extends Item { @OnlyIn(Dist.CLIENT) private void openHandgunGUI(ItemStack handgun, boolean offhand) { - ScreenOpener.open(new BuilderGunScreen(handgun, offhand)); + ScreenOpener.open(new BlockzapperScreen(handgun, offhand)); } public static List getSelectedBlocks(ItemStack stack, World worldIn, PlayerEntity player) { @@ -462,9 +469,9 @@ public class BuilderGunItem extends Item { return false; if (tier == ComponentTier.None) return blockHardness < 3; - if (tier == ComponentTier.BlazeBrass) + if (tier == ComponentTier.Brass) return blockHardness < 6; - if (tier == ComponentTier.ChorusChrome) + if (tier == ComponentTier.Chromatic) return true; return false; @@ -474,9 +481,9 @@ public class BuilderGunItem extends Item { ComponentTier tier = getTier(Components.Amplifier, stack); if (tier == ComponentTier.None) return 2; - if (tier == ComponentTier.BlazeBrass) + if (tier == ComponentTier.Brass) return 4; - if (tier == ComponentTier.ChorusChrome) + if (tier == ComponentTier.Chromatic) return 8; return 0; @@ -486,9 +493,9 @@ public class BuilderGunItem extends Item { ComponentTier tier = getTier(Components.Accelerator, stack); if (tier == ComponentTier.None) return 10; - if (tier == ComponentTier.BlazeBrass) + if (tier == ComponentTier.Brass) return 6; - if (tier == ComponentTier.ChorusChrome) + if (tier == ComponentTier.Chromatic) return 2; return 20; @@ -498,9 +505,9 @@ public class BuilderGunItem extends Item { ComponentTier tier = getTier(Components.Scope, stack); if (tier == ComponentTier.None) return 15; - if (tier == ComponentTier.BlazeBrass) + if (tier == ComponentTier.Brass) return 30; - if (tier == ComponentTier.ChorusChrome) + if (tier == ComponentTier.Chromatic) return 100; return 0; @@ -545,10 +552,10 @@ public class BuilderGunItem extends Item { Block.spawnDrops(worldIn.getBlockState(placed), worldIn, placed.offset(face), tileentity); } - if (getTier(Components.Retriever, item) == ComponentTier.BlazeBrass) + if (getTier(Components.Retriever, item) == ComponentTier.Brass) Block.spawnDrops(worldIn.getBlockState(placed), worldIn, playerIn.getPosition(), tileentity); - if (getTier(Components.Retriever, item) == ComponentTier.ChorusChrome) + if (getTier(Components.Retriever, item) == ComponentTier.Chromatic) for (ItemStack stack : Block.getDrops(worldIn.getBlockState(placed), (ServerWorld) worldIn, placed, tileentity)) if (!playerIn.inventory.addItemStackToInventory(stack)) @@ -563,11 +570,11 @@ public class BuilderGunItem extends Item { public static ComponentTier getTier(Components component, ItemStack stack) { if (!stack.hasTag() || !stack.getTag().contains(component.name())) stack.getOrCreateTag().putString(component.name(), ComponentTier.None.name()); - return ComponentTier.valueOf(stack.getTag().getString(component.name())); + return NBTHelper.readEnum(stack.getTag().getString(component.name()), ComponentTier.class); } public static void setTier(Components component, ComponentTier tier, ItemStack stack) { - stack.getOrCreateTag().putString(component.name(), tier.name()); + stack.getOrCreateTag().putString(component.name(), NBTHelper.writeEnum(tier)); } } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperItemRenderer.java similarity index 73% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunItemRenderer.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperItemRenderer.java index 5af5f7ed7..d0c3e0c82 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperItemRenderer.java @@ -1,16 +1,16 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; -import static com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.Components.Accelerator; -import static com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.Components.Amplifier; -import static com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.Components.Body; -import static com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.Components.Retriever; -import static com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.Components.Scope; +import static com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.Components.Accelerator; +import static com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.Components.Amplifier; +import static com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.Components.Body; +import static com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.Components.Retriever; +import static com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.Components.Scope; import com.mojang.blaze3d.platform.GLX; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.foundation.utility.AnimationTickHolder; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.ComponentTier; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.Components; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.ComponentTier; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.Components; import net.minecraft.block.BlockState; import net.minecraft.block.FourWayBlock; @@ -24,12 +24,12 @@ import net.minecraft.nbt.NBTUtil; import net.minecraft.util.HandSide; import net.minecraft.util.math.MathHelper; -public class BuilderGunItemRenderer extends ItemStackTileEntityRenderer { +public class BlockzapperItemRenderer extends ItemStackTileEntityRenderer { @Override public void renderByItem(ItemStack stack) { ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); - BuilderGunModel mainModel = (BuilderGunModel) itemRenderer.getModelWithOverrides(stack); + BlockzapperModel mainModel = (BlockzapperModel) itemRenderer.getModelWithOverrides(stack); float pt = Minecraft.getInstance().getRenderPartialTicks(); float worldTime = AnimationTickHolder.getRenderTick(); @@ -53,10 +53,10 @@ public class BuilderGunItemRenderer extends ItemStackTileEntityRenderer { boolean leftHanded = player.getPrimaryHand() == HandSide.LEFT; boolean mainHand = player.getHeldItemMainhand() == stack; boolean offHand = player.getHeldItemOffhand() == stack; - float last = mainHand ^ leftHanded ? BuilderGunHandler.lastRightHandAnimation - : BuilderGunHandler.lastLeftHandAnimation; - float current = mainHand ^ leftHanded ? BuilderGunHandler.rightHandAnimation - : BuilderGunHandler.leftHandAnimation; + float last = mainHand ^ leftHanded ? BlockzapperHandler.lastRightHandAnimation + : BlockzapperHandler.lastLeftHandAnimation; + float current = mainHand ^ leftHanded ? BlockzapperHandler.rightHandAnimation + : BlockzapperHandler.leftHandAnimation; float animation = MathHelper.clamp(MathHelper.lerp(pt, last, current) * 5, 0, 1); // Core glows @@ -67,7 +67,7 @@ public class BuilderGunItemRenderer extends ItemStackTileEntityRenderer { } GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, multiplier * 240, 120); itemRenderer.renderItem(stack, mainModel.core); - if (BuilderGunItem.getTier(Amplifier, stack) != ComponentTier.None) + if (BlockzapperItem.getTier(Amplifier, stack) != ComponentTier.None) itemRenderer.renderItem(stack, mainModel.ampCore); GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, lastCoordx, lastCoordy); GlStateManager.enableLighting(); @@ -91,7 +91,7 @@ public class BuilderGunItemRenderer extends ItemStackTileEntityRenderer { BlockState state = NBTUtil.readBlockState(stack.getTag().getCompound("BlockUsed")); GlStateManager.pushMatrix(); - GlStateManager.translatef(-0.8F, -0.7F, -0.5F); + GlStateManager.translatef(-0.3F, -0.45F, -0.0F); GlStateManager.scalef(0.25F, 0.25F, 0.25F); IBakedModel modelForState = Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(state); @@ -105,9 +105,9 @@ public class BuilderGunItemRenderer extends ItemStackTileEntityRenderer { public void renderComponent(ItemStack stack, Components component, ItemRenderer itemRenderer, IBakedModel none, IBakedModel gold, IBakedModel chorus) { - ComponentTier tier = BuilderGunItem.getTier(component, stack); + ComponentTier tier = BlockzapperItem.getTier(component, stack); - IBakedModel model = tier == ComponentTier.ChorusChrome ? chorus : gold; + IBakedModel model = tier == ComponentTier.Chromatic ? chorus : gold; if (tier == ComponentTier.None) { if (none == null) return; diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunModel.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperModel.java similarity index 93% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunModel.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperModel.java index a3a09bf6d..fec0e35d7 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunModel.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperModel.java @@ -1,4 +1,4 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; import java.util.Arrays; import java.util.List; @@ -14,7 +14,7 @@ import net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType; import net.minecraftforge.client.event.ModelBakeEvent; @SuppressWarnings("deprecation") -public class BuilderGunModel extends CustomRenderItemBakedModel { +public class BlockzapperModel extends CustomRenderItemBakedModel { public boolean showBlock; @@ -35,7 +35,7 @@ public class BuilderGunModel extends CustomRenderItemBakedModel { public IBakedModel chorusRetriever; public IBakedModel chorusAcc; - public BuilderGunModel(IBakedModel template) { + public BlockzapperModel(IBakedModel template) { super(template); } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunScreen.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperScreen.java similarity index 96% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunScreen.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperScreen.java index a3e91db5b..28c78617d 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunScreen.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperScreen.java @@ -1,4 +1,4 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; import java.util.Collections; import java.util.Vector; @@ -35,7 +35,7 @@ import net.minecraft.util.text.TextFormatting; import net.minecraftforge.client.model.data.EmptyModelData; @SuppressWarnings("deprecation") -public class BuilderGunScreen extends AbstractSimiScreen { +public class BlockzapperScreen extends AbstractSimiScreen { private ItemStack item; private boolean offhand; @@ -57,7 +57,7 @@ public class BuilderGunScreen extends AbstractSimiScreen { private Vector patternButtons; - public BuilderGunScreen(ItemStack handgun, boolean offhand) { + public BlockzapperScreen(ItemStack handgun, boolean offhand) { super(); item = handgun; this.offhand = offhand; @@ -93,12 +93,12 @@ public class BuilderGunScreen extends AbstractSimiScreen { spreadMaterialButton.setToolTip(Lang.translate("gui.blockzapper.searchFuzzy")); spreadRangeLabel = new Label(i + 119, j + 46, "").withShadow().withSuffix("m"); - spreadRangeInput = new ScrollInput(i + 115, j + 43, 22, 14).withRange(1, BuilderGunItem.getMaxAoe(item)) + spreadRangeInput = new ScrollInput(i + 115, j + 43, 22, 14).withRange(1, BlockzapperItem.getMaxAoe(item)) .setState(1).titled(Lang.translate("gui.blockzapper.range")).writingTo(spreadRangeLabel); if (nbt.contains("SearchDistance")) spreadRangeInput.setState(nbt.getInt("SearchDistance")); - if (BuilderGunItem.getMaxAoe(item) == 2) + if (BlockzapperItem.getMaxAoe(item) == 2) spreadRangeInput.getToolTip().add(1, TextFormatting.RED + needsUpgradedAmplifier); Collections.addAll(widgets, replaceModeButton, replaceModeIndicator, spreadDiagonallyButton, diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunUpgradeRecipe.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperUpgradeRecipe.java similarity index 75% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunUpgradeRecipe.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperUpgradeRecipe.java index a4df1bd67..4c6c36f0c 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/BuilderGunUpgradeRecipe.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/BlockzapperUpgradeRecipe.java @@ -1,10 +1,10 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; import com.google.gson.JsonObject; import com.simibubi.create.AllItems; import com.simibubi.create.AllRecipes; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.ComponentTier; -import com.simibubi.create.modules.curiosities.placementHandgun.BuilderGunItem.Components; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.ComponentTier; +import com.simibubi.create.modules.curiosities.blockzapper.BlockzapperItem.Components; import net.minecraft.inventory.CraftingInventory; import net.minecraft.item.ItemStack; @@ -19,13 +19,13 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.registries.ForgeRegistryEntry; -public class BuilderGunUpgradeRecipe implements ICraftingRecipe { +public class BlockzapperUpgradeRecipe implements ICraftingRecipe { private ShapedRecipe recipe; private Components component; private ComponentTier tier; - public BuilderGunUpgradeRecipe(ShapedRecipe recipe, Components component, ComponentTier tier) { + public BlockzapperUpgradeRecipe(ShapedRecipe recipe, Components component, ComponentTier tier) { this.recipe = recipe; this.component = component; this.tier = tier; @@ -47,7 +47,7 @@ public class BuilderGunUpgradeRecipe implements ICraftingRecipe { ItemStack handgun = inv.getStackInSlot(slot).copy(); if (!AllItems.PLACEMENT_HANDGUN.typeOf(handgun)) continue; - BuilderGunItem.setTier(getUpgradedComponent(), getTier(), handgun); + BlockzapperItem.setTier(getUpgradedComponent(), getTier(), handgun); return handgun; } return ItemStack.EMPTY; @@ -56,7 +56,7 @@ public class BuilderGunUpgradeRecipe implements ICraftingRecipe { @Override public ItemStack getRecipeOutput() { ItemStack handgun = new ItemStack(AllItems.PLACEMENT_HANDGUN.get()); - BuilderGunItem.setTier(getUpgradedComponent(), getTier(), handgun); + BlockzapperItem.setTier(getUpgradedComponent(), getTier(), handgun); return handgun; } @@ -80,28 +80,28 @@ public class BuilderGunUpgradeRecipe implements ICraftingRecipe { return AllRecipes.BLOCKZAPPER_UPGRADE.serializer; } - public static class Serializer extends ForgeRegistryEntry> implements IRecipeSerializer { + public static class Serializer extends ForgeRegistryEntry> implements IRecipeSerializer { @Override - public BuilderGunUpgradeRecipe read(ResourceLocation recipeId, JsonObject json) { + public BlockzapperUpgradeRecipe read(ResourceLocation recipeId, JsonObject json) { ShapedRecipe recipe = IRecipeSerializer.CRAFTING_SHAPED.read(recipeId, json); Components component = Components.valueOf(JSONUtils.getString(json, "component")); ComponentTier tier = ComponentTier.valueOf(JSONUtils.getString(json, "tier")); - return new BuilderGunUpgradeRecipe(recipe, component, tier); + return new BlockzapperUpgradeRecipe(recipe, component, tier); } @Override - public BuilderGunUpgradeRecipe read(ResourceLocation recipeId, PacketBuffer buffer) { + public BlockzapperUpgradeRecipe read(ResourceLocation recipeId, PacketBuffer buffer) { ShapedRecipe recipe = IRecipeSerializer.CRAFTING_SHAPED.read(recipeId, buffer); Components component = Components.valueOf(buffer.readString(buffer.readInt())); ComponentTier tier = ComponentTier.valueOf(buffer.readString(buffer.readInt())); - return new BuilderGunUpgradeRecipe(recipe, component, tier); + return new BlockzapperUpgradeRecipe(recipe, component, tier); } @Override - public void write(PacketBuffer buffer, BuilderGunUpgradeRecipe recipe) { + public void write(PacketBuffer buffer, BlockzapperUpgradeRecipe recipe) { IRecipeSerializer.CRAFTING_SHAPED.write(buffer, recipe.getRecipe()); String name = recipe.getUpgradedComponent().name(); diff --git a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/PlacementPatterns.java b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/PlacementPatterns.java similarity index 90% rename from src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/PlacementPatterns.java rename to src/main/java/com/simibubi/create/modules/curiosities/blockzapper/PlacementPatterns.java index 4cb6c50c5..cdf1f0926 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/placementHandgun/PlacementPatterns.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/blockzapper/PlacementPatterns.java @@ -1,4 +1,4 @@ -package com.simibubi.create.modules.curiosities.placementHandgun; +package com.simibubi.create.modules.curiosities.blockzapper; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.utility.Lang; diff --git a/src/main/java/com/simibubi/create/modules/curiosities/partialWindows/WindowInABlockBlock.java b/src/main/java/com/simibubi/create/modules/curiosities/partialWindows/WindowInABlockBlock.java index 40b9c0a72..130af124a 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/partialWindows/WindowInABlockBlock.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/partialWindows/WindowInABlockBlock.java @@ -4,8 +4,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import com.simibubi.create.foundation.block.IWithTileEntity; import com.simibubi.create.foundation.block.IHaveNoBlockItem; +import com.simibubi.create.foundation.block.IWithTileEntity; import net.minecraft.block.Block; import net.minecraft.block.BlockState; diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java index b1e860f33..f450d9b46 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/AllToolTiers.java @@ -10,23 +10,39 @@ import net.minecraft.util.LazyLoadBase; public enum AllToolTiers implements IItemTier { - BLAZING(3, 750, 10.0F, 2.5F, 16, () -> { - return Ingredient.fromItems(AllItems.BLAZE_BRASS_CUBE.item); - }), +// BLAZING(3, 750, 10.0F, 2.5F, 16, () -> { +// return Ingredient.fromItems(AllItems.BLAZE_BRASS_CUBE.item); +// }), ROSE_QUARTZ(3, 1644, 7.0F, 2.0F, 24, () -> { - return Ingredient.fromItems(AllItems.REFINED_ROSE_QUARTZ.item); + return Ingredient.fromItems(AllItems.POLISHED_ROSE_QUARTZ.item); }), SHADOW_STEEL(4, 2303, 16.0F, 3.5F, 10, () -> { - return Ingredient.fromItems(AllItems.SHADOW_STEEL_CUBE.item); + return Ingredient.fromItems(AllItems.SHADOW_STEEL.item); }), RADIANT(4, 2303, 16.0F, 3.5F, 10, () -> { - return Ingredient.fromItems(AllItems.REFINED_RADIANCE_CUBE.item); + return Ingredient.fromItems(AllItems.REFINED_RADIANCE.item); }), ; + + /* used to belong to AllItems. Banished here until harvest events exist */ + +// BLAZING_PICKAXE(new BlazingToolItem(1, -2.8F, standardProperties(), PICKAXE)), +// BLAZING_SHOVEL(new BlazingToolItem(1.5F, -3.0F, standardProperties(), SHOVEL)), +// BLAZING_AXE(new BlazingToolItem(5.0F, -3.0F, standardProperties(), AXE)), +// BLAZING_SWORD(new BlazingToolItem(3, -2.4F, standardProperties(), SWORD)), +// +// ROSE_QUARTZ_PICKAXE(new RoseQuartzToolItem(1, -2.8F, standardProperties(), PICKAXE)), +// ROSE_QUARTZ_SHOVEL(new RoseQuartzToolItem(1.5F, -3.0F, standardProperties(), SHOVEL)), +// ROSE_QUARTZ_AXE(new RoseQuartzToolItem(5.0F, -3.0F, standardProperties(), AXE)), +// ROSE_QUARTZ_SWORD(new RoseQuartzToolItem(3, -2.4F, standardProperties(), SWORD)), +// +// SHADOW_STEEL_PICKAXE(new ShadowSteelToolItem(2.5F, -2.0F, standardProperties(), PICKAXE)), +// SHADOW_STEEL_MATTOCK(new ShadowSteelToolItem(2.5F, -1.5F, standardProperties(), SHOVEL, AXE, HOE)), +// SHADOW_STEEL_SWORD(new ShadowSteelToolItem(3, -2.0F, standardProperties(), SWORD)), private final int harvestLevel; private final int maxUses; diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItem.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItem.java new file mode 100644 index 000000000..3ab8c9c41 --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItem.java @@ -0,0 +1,169 @@ +package com.simibubi.create.modules.curiosities.tools; + +import com.simibubi.create.foundation.utility.VecHelper; +import com.simibubi.create.modules.contraptions.components.deployer.DeployerFakePlayer; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.Enchantments; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.item.ItemEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemUseContext; +import net.minecraft.item.UseAction; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.particles.ItemParticleData; +import net.minecraft.particles.ParticleTypes; +import net.minecraft.util.ActionResult; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.math.RayTraceContext; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; + +public class SandPaperItem extends Item { + + public SandPaperItem(Properties properties) { + super(properties); + } + + @Override + public UseAction getUseAction(ItemStack stack) { + return UseAction.EAT; + } + + @Override + public ActionResultType onItemUse(ItemUseContext context) { + return ActionResultType.PASS; + } + + @Override + public ActionResult onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) { + ItemStack itemstack = playerIn.getHeldItem(handIn); + ActionResult FAIL = new ActionResult<>(ActionResultType.FAIL, itemstack); + + if (itemstack.getOrCreateTag().contains("Polishing")) { + playerIn.setActiveHand(handIn); + return new ActionResult<>(ActionResultType.PASS, itemstack); + } + + RayTraceResult raytraceresult = rayTrace(worldIn, playerIn, RayTraceContext.FluidMode.NONE); + if (!(raytraceresult instanceof BlockRayTraceResult)) + return FAIL; + BlockRayTraceResult ray = (BlockRayTraceResult) raytraceresult; + Vec3d hitVec = ray.getHitVec(); + if (hitVec == null) + return FAIL; + + AxisAlignedBB bb = new AxisAlignedBB(hitVec, hitVec).grow(1f); + ItemEntity pickUp = null; + for (ItemEntity itemEntity : worldIn.getEntitiesWithinAABB(ItemEntity.class, bb)) { + if (itemEntity.getPositionVec().distanceTo(playerIn.getPositionVec()) > 3) + continue; + ItemStack stack = itemEntity.getItem(); + if (!SandPaperPolishingRecipe.canPolish(worldIn, stack)) + continue; + pickUp = itemEntity; + break; + } + + if (pickUp == null) + return FAIL; + + ItemStack item = pickUp.getItem().copy(); + ItemStack toPolish = item.split(1); + + playerIn.setActiveHand(handIn); + + if (!worldIn.isRemote) { + itemstack.getOrCreateTag().put("Polishing", toPolish.serializeNBT()); + if (item.isEmpty()) + pickUp.remove(); + else + pickUp.setItem(item); + } + + return new ActionResult<>(ActionResultType.SUCCESS, itemstack); + } + + @Override + public boolean canApplyAtEnchantingTable(ItemStack stack, Enchantment enchantment) { + return enchantment == Enchantments.FORTUNE || super.canApplyAtEnchantingTable(stack, enchantment); + } + + @Override + public ItemStack onItemUseFinish(ItemStack stack, World worldIn, LivingEntity entityLiving) { + if (!(entityLiving instanceof PlayerEntity)) + return stack; + PlayerEntity player = (PlayerEntity) entityLiving; + CompoundNBT tag = stack.getOrCreateTag(); + if (tag.contains("Polishing")) { + ItemStack toPolish = ItemStack.read(tag.getCompound("Polishing")); + ItemStack polished = SandPaperPolishingRecipe.applyPolish(worldIn, entityLiving.getPositionVec(), toPolish, + stack); + + if (worldIn.isRemote) { + spawnParticles(entityLiving.getEyePosition(1).add(entityLiving.getLookVec().scale(.5f)), toPolish, + worldIn); + return stack; + } + + if (!polished.isEmpty()) { + if (player instanceof DeployerFakePlayer) { + player.dropItem(polished, false, false); + } else + player.inventory.placeItemBackInInventory(worldIn, polished); + } + tag.remove("Polishing"); + stack.damageItem(1, entityLiving, p -> p.sendBreakAnimation(p.getActiveHand())); + } + + return stack; + } + + public static void spawnParticles(Vec3d location, ItemStack polishedStack, World world) { + for (int i = 0; i < 20; i++) { + Vec3d motion = VecHelper.offsetRandomly(Vec3d.ZERO, world.rand, 1 / 8f); + world.addParticle(new ItemParticleData(ParticleTypes.ITEM, polishedStack), location.x, location.y, + location.z, motion.x, motion.y, motion.z); + } + } + + @Override + public void onPlayerStoppedUsing(ItemStack stack, World worldIn, LivingEntity entityLiving, int timeLeft) { + if (!(entityLiving instanceof PlayerEntity)) + return; + PlayerEntity player = (PlayerEntity) entityLiving; + CompoundNBT tag = stack.getOrCreateTag(); + if (tag.contains("Polishing")) { + ItemStack toPolish = ItemStack.read(tag.getCompound("Polishing")); + player.inventory.placeItemBackInInventory(worldIn, toPolish); + tag.remove("Polishing"); + } + } + + @Override + public int getUseDuration(ItemStack stack) { + return 32; + } + + @Override + public int getItemStackLimit(ItemStack stack) { + return 1; + } + + @Override + public boolean isDamageable() { + return true; + } + + @Override + public int getMaxDamage(ItemStack stack) { + return 8; + } + +} 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 new file mode 100644 index 000000000..f1126a766 --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java @@ -0,0 +1,103 @@ +package com.simibubi.create.modules.curiosities.tools; + +import javax.vecmath.Matrix4f; + +import org.apache.commons.lang3.tuple.Pair; + +import com.mojang.blaze3d.platform.GlStateManager; +import com.simibubi.create.foundation.block.render.CustomRenderItemBakedModel; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.player.ClientPlayerEntity; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType; +import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.util.math.MathHelper; +import net.minecraftforge.client.event.ModelBakeEvent; + +@SuppressWarnings("deprecation") +public class SandPaperItemRenderer extends ItemStackTileEntityRenderer { + + @Override + public void renderByItem(ItemStack stack) { + ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); + ClientPlayerEntity player = Minecraft.getInstance().player; + SandPaperModel mainModel = (SandPaperModel) itemRenderer.getModelWithOverrides(stack); + float partialTicks = Minecraft.getInstance().getRenderPartialTicks(); + + boolean leftHand = mainModel.transformType == TransformType.FIRST_PERSON_LEFT_HAND; + boolean firstPerson = leftHand || mainModel.transformType == TransformType.FIRST_PERSON_RIGHT_HAND; + + GlStateManager.pushMatrix(); + GlStateManager.translatef(.5f, .5f, .5f); + + CompoundNBT tag = stack.getOrCreateTag(); + if (tag.contains("Polishing")) { + GlStateManager.pushMatrix(); + + if (mainModel.transformType == TransformType.GUI) { + GlStateManager.translatef(0.0F, .2f, 1.0F); + GlStateManager.scalef(.75f, .75f, .75f); + } else { + int modifier = leftHand ? -1 : 1; + GlStateManager.rotatef(modifier * 40, 0, 1, 0); + } + + // Reverse bobbing + float time = (float) player.getItemInUseCount() - 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) + GlStateManager.translatef(bobbing, bobbing, 0.0F); + else + GlStateManager.translatef(0.0f, bobbing, 0.0F); + } + + ItemStack toPolish = ItemStack.read(tag.getCompound("Polishing")); + itemRenderer.renderItem(toPolish, itemRenderer.getModelWithOverrides(toPolish).getBakedModel()); + + GlStateManager.popMatrix(); + } + + if (firstPerson) { + int itemInUseCount = player.getItemInUseCount(); + if (itemInUseCount > 0) { + int modifier = leftHand ? -1 : 1; + GlStateManager.translatef(modifier * .5f, 0, -.25f); + GlStateManager.rotatef(modifier * 40, 0, 0, 1); + GlStateManager.rotatef(modifier * 10, 1, 0, 0); + GlStateManager.rotatef(modifier * 90, 0, 1, 0); + } + } + + itemRenderer.renderItem(stack, mainModel.getBakedModel()); + + GlStateManager.popMatrix(); + } + + public static class SandPaperModel extends CustomRenderItemBakedModel { + + TransformType transformType; + + public SandPaperModel(IBakedModel template) { + super(template); + } + + @Override + public Pair handlePerspective(TransformType cameraTransformType) { + transformType = cameraTransformType; + return super.handlePerspective(cameraTransformType); + } + + @Override + public CustomRenderItemBakedModel loadPartials(ModelBakeEvent event) { + return this; + } + + } + +} diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperPolishingRecipe.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperPolishingRecipe.java new file mode 100644 index 000000000..50e4e479f --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperPolishingRecipe.java @@ -0,0 +1,101 @@ +package com.simibubi.create.modules.curiosities.tools; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import com.simibubi.create.AllRecipes; +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 com.simibubi.create.modules.curiosities.tools.SandPaperPolishingRecipe.SandPaperInv; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.enchantment.Enchantments; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.Explosion.Mode; +import net.minecraft.world.World; +import net.minecraftforge.items.ItemStackHandler; +import net.minecraftforge.items.wrapper.RecipeWrapper; + +public class SandPaperPolishingRecipe extends ProcessingRecipe { + + public static DamageSource CURSED_POLISHING = new DamageSource("create.curse_polish").setExplosion(); + + public SandPaperPolishingRecipe(ResourceLocation id, String group, List ingredients, + List results, int processingDuration) { + super(AllRecipes.SANDPAPER_POLISHING, id, group, ingredients, results, processingDuration); + } + + public static boolean canPolish(World world, ItemStack stack) { + return stack.isDamageable() || !getMatchingRecipes(world, stack).isEmpty(); + } + + public static ItemStack applyPolish(World world, Vec3d position, ItemStack stack, ItemStack sandPaperStack) { + List> matchingRecipes = getMatchingRecipes(world, stack); + if (!matchingRecipes.isEmpty()) + return matchingRecipes.get(0).getCraftingResult(new SandPaperInv(stack)).copy(); + if (stack.isDamageable()) { + + stack.setDamage(stack.getDamage() - (stack.getMaxDamage() - stack.getDamage()) / 2); + + int fortuneLevel = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, sandPaperStack); + float chanceToPunish = (float) (1 / Math.pow(2, fortuneLevel + 1)); + + if (world.rand.nextFloat() > chanceToPunish) + return stack; + + if (stack.isEnchanted()) { + Map enchantments = EnchantmentHelper.getEnchantments(stack); + ArrayList list = new ArrayList<>(enchantments.keySet()); + Enchantment randomKey = list.get(world.rand.nextInt(list.size())); + int level = enchantments.get(randomKey); + if (level <= 1) + enchantments.remove(randomKey); + else + enchantments.put(randomKey, level - 1); + EnchantmentHelper.setEnchantments(enchantments, stack); + if (randomKey.isCurse()) + if (!world.isRemote) + world.createExplosion(null, CURSED_POLISHING, position.x, position.y, position.z, 2, true, + Mode.DESTROY); + } else { + stack = ItemStack.EMPTY; + } + } + + return stack; + } + + @Override + public boolean matches(SandPaperInv inv, World worldIn) { + return ingredients.get(0).test(inv.getStackInSlot(0)); + } + + public static List> getMatchingRecipes(World world, ItemStack stack) { + return world.getRecipeManager().getRecipes(AllRecipes.SANDPAPER_POLISHING.getType(), new SandPaperInv(stack), + world); + } + + @Override + protected int getMaxOutputCount() { + return 1; + } + + public static class SandPaperInv extends RecipeWrapper { + + public SandPaperInv(ItemStack stack) { + super(new ItemStackHandler(1)); + inv.setStackInSlot(0, stack); + } + + } + + + +} diff --git a/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorBlock.java b/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorBlock.java index 582ac4efe..08e0c346b 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorBlock.java +++ b/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorBlock.java @@ -14,8 +14,8 @@ import net.minecraft.state.BooleanProperty; import net.minecraft.state.StateContainer.Builder; import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.Direction.Axis; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.shapes.ISelectionContext; diff --git a/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorTileEntity.java b/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorTileEntity.java index ae11ddf36..1289048fb 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/logistics/block/extractor/ExtractorTileEntity.java @@ -17,7 +17,6 @@ import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import com.simibubi.create.modules.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.modules.logistics.block.belts.AttachedLogisticalBlock; import com.simibubi.create.modules.logistics.item.CardboardBoxItem; -import com.simibubi.create.modules.logistics.transport.CardboardBoxEntity; import net.minecraft.entity.Entity; import net.minecraft.entity.item.ItemEntity; @@ -70,8 +69,8 @@ public class ExtractorTileEntity extends SmartTileEntity { entityPos = entityPos.add(0, .5, 0); if (stack.getItem() instanceof CardboardBoxItem) { - entityIn = new CardboardBoxEntity(world, entityPos, stack, facing.getOpposite()); - world.playSound(null, getPos(), SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, .25f, .05f); +// entityIn = new CardboardBoxEntity(world, entityPos, stack, facing.getOpposite()); +// world.playSound(null, getPos(), SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, .25f, .05f); } else { entityIn = new ItemEntity(world, entityPos.x, entityPos.y, entityPos.z, stack); diff --git a/src/main/java/com/simibubi/create/modules/logistics/block/extractor/LinkedExtractorBlock.java b/src/main/java/com/simibubi/create/modules/logistics/block/extractor/LinkedExtractorBlock.java index ed54f8377..e93785ab4 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/block/extractor/LinkedExtractorBlock.java +++ b/src/main/java/com/simibubi/create/modules/logistics/block/extractor/LinkedExtractorBlock.java @@ -10,8 +10,8 @@ import com.simibubi.create.modules.logistics.block.belts.AttachedLogisticalBlock import net.minecraft.block.BlockState; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.Direction.Axis; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.Vec3d; import net.minecraft.world.IBlockReader; diff --git a/src/main/java/com/simibubi/create/modules/logistics/item/filter/FilterItem.java b/src/main/java/com/simibubi/create/modules/logistics/item/filter/FilterItem.java index 0ac7aba75..f5de44166 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/item/filter/FilterItem.java +++ b/src/main/java/com/simibubi/create/modules/logistics/item/filter/FilterItem.java @@ -118,8 +118,6 @@ public class FilterItem extends Item implements INamedContainerProvider { ItemStack heldItem = player.getHeldItem(hand); if (!player.isSneaking() && hand == Hand.MAIN_HAND) { - if (AllItems.LOGISTICAL_FILTER.typeOf(heldItem)) - return ActionResult.newResult(ActionResultType.FAIL, heldItem); if (!world.isRemote && player instanceof ServerPlayerEntity) NetworkHooks.openGui((ServerPlayerEntity) player, this, buf -> { buf.writeItemStack(heldItem); diff --git a/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalActorTileEntity.java b/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalActorTileEntity.java index b248dbb91..6b0ad17d3 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalActorTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalActorTileEntity.java @@ -87,13 +87,6 @@ public abstract class LogisticalActorTileEntity extends SyncedTileEntity return colorFromUUID(networkId); } - public static int colorFromUUID(UUID uuid) { - if (uuid == null) - return 0x333333; - int rainbowColor = ColorHelper.rainbowColor((int) uuid.getLeastSignificantBits()); - return ColorHelper.mixColors(rainbowColor, 0xFFFFFF, .5f); - } - public LazyOptional getCasingCapability(Capability cap, Direction side) { return LazyOptional.empty(); } diff --git a/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalControllerBlock.java b/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalControllerBlock.java index ddc2d09bb..dd168d950 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalControllerBlock.java +++ b/src/main/java/com/simibubi/create/modules/logistics/management/base/LogisticalControllerBlock.java @@ -18,9 +18,9 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.Create; +import com.simibubi.create.foundation.block.IHaveNoBlockItem; import com.simibubi.create.foundation.block.IWithContainer; import com.simibubi.create.foundation.block.IWithTileEntity; -import com.simibubi.create.foundation.block.IHaveNoBlockItem; import com.simibubi.create.foundation.block.RenderUtilityBlock; import com.simibubi.create.foundation.utility.AllShapes; import com.simibubi.create.modules.logistics.management.base.LogisticalCasingBlock.Part; diff --git a/src/main/java/com/simibubi/create/modules/palettes/CTGlassBlock.java b/src/main/java/com/simibubi/create/modules/palettes/CTGlassBlock.java index 21ae8dd44..0c853b816 100644 --- a/src/main/java/com/simibubi/create/modules/palettes/CTGlassBlock.java +++ b/src/main/java/com/simibubi/create/modules/palettes/CTGlassBlock.java @@ -1,10 +1,10 @@ package com.simibubi.create.modules.palettes; import com.simibubi.create.foundation.block.connected.CTSpriteShifter; +import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType; import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; import com.simibubi.create.foundation.block.connected.IHaveConnectedTextures; import com.simibubi.create.foundation.block.connected.StandardCTBehaviour; -import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType; import net.minecraft.block.Blocks; import net.minecraft.block.GlassBlock; diff --git a/src/main/resources/assets/create/lang/en_us.json b/src/main/resources/assets/create/lang/en_us.json index 1634b7cc4..a2a0322cb 100644 --- a/src/main/resources/assets/create/lang/en_us.json +++ b/src/main/resources/assets/create/lang/en_us.json @@ -6,11 +6,9 @@ "item.create.placement_handgun": "Handheld Blockzapper", "item.create.tree_fertilizer": "Tree Fertilizer", "item.create.empty_blueprint": "Empty Schematic", - "item.create.andesite_alloy_cube": "Andesite Alloy", - "item.create.blaze_brass_cube": "Blaze Brass", - "item.create.chorus_chrome_cube": "Chorus Chrome", - "item.create.chromatic_compound_cube": "Chromatic Compound", - "item.create.shadow_steel_cube": "Shadow Steel", + "item.create.andesite_alloy": "Andesite Alloy", + "item.create.chromatic_compound": "Chromatic Compound", + "item.create.shadow_steel": "Shadow Steel", "item.create.blueprint_and_quill": "Schematic and Quill", "item.create.blueprint": "Schematic", "item.create.belt_connector": "Mechanical Belt", @@ -19,10 +17,12 @@ "item.create.property_filter": "Attribute Filter", "item.create.logistical_filter": "Address Filter", "item.create.rose_quartz": "Rose Quartz", - "item.create.refined_rose_quartz": "Refined Rose Quartz", - "item.create.refined_radiance_cube": "Refined Radiance", + "item.create.polished_rose_quartz": "Polished Rose Quartz", + "item.create.refined_radiance": "Refined Radiance", "item.create.iron_sheet": "Iron Sheets", "item.create.gold_sheet": "Gold Sheets", + "item.create.lapis_plate": "Lapis Plating", + "item.create.obsidian_dust": "Powdered Obsidian", "item.create.propeller": "Propeller", "item.create.flour": "Wheat Flour", "item.create.dough": "Dough", @@ -30,20 +30,23 @@ "item.create.deforester": "Deforester", "item.create.crushed_iron": "Crushed Iron Ore", "item.create.crushed_gold": "Crushed Gold Ore", + "item.create.sand_paper": "Sand Paper", + "item.create.red_sand_paper": "Red Sand Paper", - "item.create.brass_cube": "Brass", + "item.create.brass_ingot": "Brass Ingot", "item.create.brass_sheet": "Brass Sheets", "item.create.brass_nugget": "Brass Nugget", "item.create.crushed_brass": "Crushed Brass", - "item.create.zinc_cube": "Zinc Bar", + "item.create.zinc_ingot": "Zinc Bar", "item.create.zinc_nugget": "Zinc Nugget", "item.create.crushed_zinc": "Crushed Zinc", + "item.create.copper_sheet": "Copper Sheets", "item.create.copper_ingot": "Copper Ingot", "item.create.copper_nugget": "Copper Nugget", "item.create.crushed_copper": "Crushed Copper", "item.create.electron_tube": "Electron Tube", - "item.create.circuit": "Integrated Circuit", + "item.create.integrated_circuit": "Integrated Circuit", "item.create.logistical_controller_supply": "Item Supply", "item.create.logistical_controller_request": "Item Request", @@ -210,6 +213,7 @@ "death.attack.create.fan_lava": "%1$s was burned to death by lava fan", "death.attack.create.drill": "%1$s was impaled by Mechanical Drill", "create.block.deployer.damage_source_name": "a rogue Deployer", + "death.attack.create.curse_polish": "%1$s tried to polish a cursed item", "create.recipe.crushing": "Crushing", "create.recipe.splashing": "Bulk Washing", @@ -224,7 +228,9 @@ "create.recipe.sawing": "Sawing", "create.recipe.block_cutting": "Block Cutting", "create.recipe.blockzapperUpgrade": "Handheld Blockzapper", + "create.recipe.processing.catalyst": "Catalyst", "create.recipe.processing.chance": "%1$s%% Chance", + "create.recipe.processing.chanceToReturn": "%1$s%% Chance to return", "create.generic.range": "Range", "create.generic.radius": "Radius", @@ -283,8 +289,8 @@ "create.blockzapper.component.retriever": "Retriever", "create.blockzapper.component.scope": "Scope", "create.blockzapper.componentTier.none": "None", - "create.blockzapper.componentTier.blazebrass": "Blaze Brass", - "create.blockzapper.componentTier.choruschrome": "Chorus Chrome", + "create.blockzapper.componentTier.brass": "Brass", + "create.blockzapper.componentTier.chromatic": "Chromatic", "create.blockzapper.leftClickToSet": "Left-Click a Block to set Material", "create.blockzapper.empty": "Out of Blocks!", diff --git a/src/main/resources/assets/create/models/item/andesite_alloy.json b/src/main/resources/assets/create/models/item/andesite_alloy.json new file mode 100644 index 000000000..a493a55cb --- /dev/null +++ b/src/main/resources/assets/create/models/item/andesite_alloy.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/andesite_alloy" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/brass_cube.json b/src/main/resources/assets/create/models/item/brass_ingot.json similarity index 56% rename from src/main/resources/assets/create/models/item/brass_cube.json rename to src/main/resources/assets/create/models/item/brass_ingot.json index 474bfbe20..4a325d956 100644 --- a/src/main/resources/assets/create/models/item/brass_cube.json +++ b/src/main/resources/assets/create/models/item/brass_ingot.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "create:item/brass_cube" + "layer0": "create:item/brass_ingot" } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/cardboard_box_1410.json b/src/main/resources/assets/create/models/item/cardboard_box.json similarity index 86% rename from src/main/resources/assets/create/models/item/cardboard_box_1410.json rename to src/main/resources/assets/create/models/item/cardboard_box.json index b708c67a7..6d869a72b 100644 --- a/src/main/resources/assets/create/models/item/cardboard_box_1410.json +++ b/src/main/resources/assets/create/models/item/cardboard_box.json @@ -2,8 +2,8 @@ "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", "parent": "block/block", "textures": { - "particle": "create:item/cardboard_box_particle", - "cardboard_box_1410": "create:item/cardboard_box_1410" + "particle": "create:entity/cardboard_box/particle", + "cardboard_box_1410": "create:entity/cardboard_box/box_1410" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/item/cardboard_box_1416.json b/src/main/resources/assets/create/models/item/cardboard_box_1.json similarity index 86% rename from src/main/resources/assets/create/models/item/cardboard_box_1416.json rename to src/main/resources/assets/create/models/item/cardboard_box_1.json index 4c3c99178..ca995b30d 100644 --- a/src/main/resources/assets/create/models/item/cardboard_box_1416.json +++ b/src/main/resources/assets/create/models/item/cardboard_box_1.json @@ -2,8 +2,8 @@ "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", "parent": "block/block", "textures": { - "particle": "create:item/cardboard_box_particle", - "cardboard_box_1416": "create:item/cardboard_box_1416" + "particle": "create:entity/cardboard_box/particle", + "cardboard_box_1416": "create:entity/cardboard_box/box_1416" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/item/cardboard_box_1612.json b/src/main/resources/assets/create/models/item/cardboard_box_2.json similarity index 86% rename from src/main/resources/assets/create/models/item/cardboard_box_1612.json rename to src/main/resources/assets/create/models/item/cardboard_box_2.json index 35225b651..38aa4dfe5 100644 --- a/src/main/resources/assets/create/models/item/cardboard_box_1612.json +++ b/src/main/resources/assets/create/models/item/cardboard_box_2.json @@ -2,8 +2,8 @@ "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", "parent": "block/block", "textures": { - "particle": "create:item/cardboard_box_particle", - "cardboard_box_1612": "create:item/cardboard_box_1612" + "particle": "create:entity/cardboard_box/particle", + "cardboard_box_1612": "create:entity/cardboard_box/box_1612" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/item/cardboard_box_1616.json b/src/main/resources/assets/create/models/item/cardboard_box_3.json similarity index 86% rename from src/main/resources/assets/create/models/item/cardboard_box_1616.json rename to src/main/resources/assets/create/models/item/cardboard_box_3.json index ae58faa6f..fff74d2ec 100644 --- a/src/main/resources/assets/create/models/item/cardboard_box_1616.json +++ b/src/main/resources/assets/create/models/item/cardboard_box_3.json @@ -2,8 +2,8 @@ "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", "parent": "block/block", "textures": { - "particle": "create:item/cardboard_box_particle", - "cardboard_box_1616": "create:item/cardboard_box_1616" + "particle": "create:entity/cardboard_box/particle", + "cardboard_box_1616": "create:entity/cardboard_box/box_1616" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/item/chromatic_compound_cube.json b/src/main/resources/assets/create/models/item/chromatic_compound.json similarity index 100% rename from src/main/resources/assets/create/models/item/chromatic_compound_cube.json rename to src/main/resources/assets/create/models/item/chromatic_compound.json diff --git a/src/main/resources/assets/create/models/item/copper_sheet.json b/src/main/resources/assets/create/models/item/copper_sheet.json new file mode 100644 index 000000000..73eb4defe --- /dev/null +++ b/src/main/resources/assets/create/models/item/copper_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/copper_sheet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/chorus_chrome_cube.json b/src/main/resources/assets/create/models/item/integrated_circuit.json similarity index 53% rename from src/main/resources/assets/create/models/item/chorus_chrome_cube.json rename to src/main/resources/assets/create/models/item/integrated_circuit.json index e60f94401..d9097b6c7 100644 --- a/src/main/resources/assets/create/models/item/chorus_chrome_cube.json +++ b/src/main/resources/assets/create/models/item/integrated_circuit.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "create:item/chorus_chrome_cube" + "layer0": "create:item/integrated_circuit" } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/microchip.json b/src/main/resources/assets/create/models/item/lapis_plate.json similarity index 56% rename from src/main/resources/assets/create/models/item/microchip.json rename to src/main/resources/assets/create/models/item/lapis_plate.json index fc7097d26..cc17a7b68 100644 --- a/src/main/resources/assets/create/models/item/microchip.json +++ b/src/main/resources/assets/create/models/item/lapis_plate.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "create:item/microchip" + "layer0": "create:item/lapis_plate" } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/obsidian_dust.json b/src/main/resources/assets/create/models/item/obsidian_dust.json new file mode 100644 index 000000000..e23484e72 --- /dev/null +++ b/src/main/resources/assets/create/models/item/obsidian_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/obsidian_dust" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/placement_handgun.json b/src/main/resources/assets/create/models/item/placement_handgun.json index b832d20e5..17216f879 100644 --- a/src/main/resources/assets/create/models/item/placement_handgun.json +++ b/src/main/resources/assets/create/models/item/placement_handgun.json @@ -1,66 +1,71 @@ { - "__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)", - "ambientocclusion": true, - "display": { - "firstperson_righthand": { - "rotation": [ 10, 0, 10 ], - "translation": [ 1, 4, 1], - "scale":[ 1, 1, 1 ] - }, - "thirdperson_righthand": { - "rotation": [ 15, 0, 0 ], - "translation": [ 0, 4, -2.5], - "scale":[ 0.8, 0.8, 0.8 ] - }, - "gui": { - "rotation": [ 42, 315, 0 ], - "translation": [ -1, 3, 0], - "scale":[ 1, 1, 1 ] - }, - "ground": { - "rotation": [ 0, 0, 0 ], - "translation": [ 0, 4.2, 0], - "scale":[ 0.4, 0.4, 0.4 ] - }, - "fixed": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, -5, 0 ], - "scale": [ 1, 1, 1 ] - } - }, - "textures": { - "smooth_stone_slab_side": "block/smooth_stone_slab_side", - "4": "minecraft:block/obsidian", + "credit": "Made with Blockbench", + "textures": { + "0": "block/obsidian", + "1": "block/smooth_stone_slab_side", "particle": "block/obsidian" - }, - "elements": [ - { - "name": "Grip", - "from": [ 7.1, 1, 12 ], - "to": [ 8.9, 5, 15 ], - "rotation": { "origin": [ 8, 2, 14 ], "axis": "x", "angle": -22.5 }, - "faces": { - "north": { "texture": "#smooth_stone_slab_side", "uv": [ 5, 7, 6.8, 11 ] }, - "east": { "texture": "#smooth_stone_slab_side", "uv": [ 13, 7, 16, 11 ] }, - "south": { "texture": "#smooth_stone_slab_side", "uv": [ 7, 7, 8.8, 11 ] }, - "west": { "texture": "#smooth_stone_slab_side", "uv": [ 16, 7, 13, 11 ] }, - "up": { "texture": "#smooth_stone_slab_side", "uv": [ 5, 2, 6.8, 5 ] }, - "down": { "texture": "#smooth_stone_slab_side", "uv": [ 7, 11, 8.8, 14 ] } - } - }, - { - "name": "Trigger", - "from": [ 7.5, 3, 11 ], - "to": [ 8.5, 6, 13 ], - "rotation": { "origin": [ 8, 2, 14 ], "axis": "x", "angle": -22.5 }, - "faces": { - "north": { "texture": "#4", "uv": [ 6, 4, 7, 7 ] }, - "east": { "texture": "#4", "uv": [ 6, 4, 8, 7 ] }, - "south": { "texture": "#4", "uv": [ 6, 4, 7, 7 ] }, - "west": { "texture": "#4", "uv": [ 5, 4, 7, 7 ] }, - "up": { "texture": "#4", "uv": [ 6, 6, 7, 8 ] }, - "down": { "texture": "#4", "uv": [ 5, 6, 6, 8 ] } - } - } - ] + }, + "elements": [ + { + "name": "Grip", + "from": [7.1, 1, 12], + "to": [8.9, 5, 15], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 2, 14]}, + "faces": { + "north": {"uv": [5, 7, 6.8, 11], "texture": "#1"}, + "east": {"uv": [13, 7, 16, 11], "texture": "#1"}, + "south": {"uv": [7, 7, 8.8, 11], "texture": "#1"}, + "west": {"uv": [16, 7, 13, 11], "texture": "#1"}, + "up": {"uv": [5, 2, 6.8, 5], "texture": "#1"}, + "down": {"uv": [7, 11, 8.8, 14], "texture": "#1"} + } + }, + { + "name": "Trigger", + "from": [7.5, 3, 11], + "to": [8.5, 6, 13], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 2, 14]}, + "faces": { + "north": {"uv": [6, 4, 7, 7], "texture": "#0"}, + "east": {"uv": [6, 4, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 4, 7, 7], "texture": "#0"}, + "west": {"uv": [5, 4, 7, 7], "texture": "#0"}, + "up": {"uv": [6, 6, 7, 8], "texture": "#0"}, + "down": {"uv": [5, 6, 6, 8], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [1, 0, 0], + "translation": [0, 4, -2.5], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [1, 0, 0], + "translation": [0, 4, -2.5], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [10, 0, 10], + "translation": [1, 4, 1] + }, + "firstperson_lefthand": { + "rotation": [10, 0, 10], + "translation": [1, 4, 1] + }, + "ground": { + "rotation": [0, 0, 90], + "translation": [-2.25, -1, -0.75], + "scale": [0.75, 0.75, 0.75] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [-0.5, 3.5, 0] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [-1.25, 4.25, -1] + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/andesite_alloy_cube.json b/src/main/resources/assets/create/models/item/polished_rose_quartz.json similarity index 51% rename from src/main/resources/assets/create/models/item/andesite_alloy_cube.json rename to src/main/resources/assets/create/models/item/polished_rose_quartz.json index 5a264e6bd..27706f64e 100644 --- a/src/main/resources/assets/create/models/item/andesite_alloy_cube.json +++ b/src/main/resources/assets/create/models/item/polished_rose_quartz.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "create:item/andesite_alloy_cube" + "layer0": "create:item/polished_rose_quartz" } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/red_sand_paper.json b/src/main/resources/assets/create/models/item/red_sand_paper.json new file mode 100644 index 000000000..99c845c2c --- /dev/null +++ b/src/main/resources/assets/create/models/item/red_sand_paper.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/red_sand_paper" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/blaze_brass_cube.json b/src/main/resources/assets/create/models/item/refined_radiance.json similarity index 54% rename from src/main/resources/assets/create/models/item/blaze_brass_cube.json rename to src/main/resources/assets/create/models/item/refined_radiance.json index cf84e4e00..dcc910c37 100644 --- a/src/main/resources/assets/create/models/item/blaze_brass_cube.json +++ b/src/main/resources/assets/create/models/item/refined_radiance.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "create:item/blaze_brass_cube" + "layer0": "create:item/refined_radiance" } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/refined_radiance_cube.json b/src/main/resources/assets/create/models/item/refined_radiance_cube.json deleted file mode 100644 index 5486f6929..000000000 --- a/src/main/resources/assets/create/models/item/refined_radiance_cube.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "create:item/refined_radiance_cube" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/refined_rose_quartz.json b/src/main/resources/assets/create/models/item/refined_rose_quartz.json deleted file mode 100644 index 0f499dd0b..000000000 --- a/src/main/resources/assets/create/models/item/refined_rose_quartz.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "create:item/refined_rose_quartz" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/circuit.json b/src/main/resources/assets/create/models/item/sand_paper.json similarity index 57% rename from src/main/resources/assets/create/models/item/circuit.json rename to src/main/resources/assets/create/models/item/sand_paper.json index de68d2775..33ab8d06d 100644 --- a/src/main/resources/assets/create/models/item/circuit.json +++ b/src/main/resources/assets/create/models/item/sand_paper.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "create:item/circuit" + "layer0": "create:item/sand_paper" } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/shadow_steel.json b/src/main/resources/assets/create/models/item/shadow_steel.json new file mode 100644 index 000000000..3763ce582 --- /dev/null +++ b/src/main/resources/assets/create/models/item/shadow_steel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/shadow_steel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/shadow_steel_cube.json b/src/main/resources/assets/create/models/item/shadow_steel_cube.json deleted file mode 100644 index 1a3fc9f9e..000000000 --- a/src/main/resources/assets/create/models/item/shadow_steel_cube.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "create:item/shadow_steel_cube" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/shop_shelf.json b/src/main/resources/assets/create/models/item/shop_shelf.json deleted file mode 100644 index 889cb576f..000000000 --- a/src/main/resources/assets/create/models/item/shop_shelf.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "create:block/shop_shelf", - "display": { - "gui": { - "rotation": [ 30, 45, 0 ], - "translation": [ 0, 0, 0], - "scale":[ 0.625, 0.625, 0.625 ] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/zinc_cube.json b/src/main/resources/assets/create/models/item/zinc_ingot.json similarity index 57% rename from src/main/resources/assets/create/models/item/zinc_cube.json rename to src/main/resources/assets/create/models/item/zinc_ingot.json index 1cbe79d1d..c705ceb70 100644 --- a/src/main/resources/assets/create/models/item/zinc_cube.json +++ b/src/main/resources/assets/create/models/item/zinc_ingot.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "create:item/zinc_cube" + "layer0": "create:item/zinc_ingot" } } \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/connected/oak_window.png b/src/main/resources/assets/create/textures/block/connected/oak_window.png new file mode 100644 index 0000000000000000000000000000000000000000..467f31b3dc35133e45730d5feb401269f29141c4 GIT binary patch literal 662 zcmV;H0%`q;P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0xL;GK~z{r?Uu1l z!!Qtr-2g)?KvlcI(2gt&j0~9&tPH#W1L7f=5JMlJ3kwSmz}CJ)2L|YfR0*MU03kK1 z1ZoF_LjQ{|byM3)YC#u1DT?hsSKD{za|@Se`;m}rRZ8?Ome=V$9)2cm6^t`);YhX? zv!?|d`Ma_!#Ay62TT{kg@g&8ycmn46C7=bk*wX^eukPf~Ed738)M_=^n+4j(8a7JK6YbVgI;_LSah9l|;v70`^WC!uNghOcYHw-syCx zW72RJ&;mG)aA)3_!e-~-LJS52IWmR4WYXU6oACk;Pp{?hEO6h%U9vX|H0Xpl+HB%C1@gO$v|9@b~{|B1l2h@Y{sv9RW{r~^~07*qoM6N<$f?Js$82|tP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/item/cardboard_box_1410.png b/src/main/resources/assets/create/textures/entity/cardboard_box/box_1410.png similarity index 100% rename from src/main/resources/assets/create/textures/item/cardboard_box_1410.png rename to src/main/resources/assets/create/textures/entity/cardboard_box/box_1410.png diff --git a/src/main/resources/assets/create/textures/item/cardboard_box_1416.png b/src/main/resources/assets/create/textures/entity/cardboard_box/box_1416.png similarity index 100% rename from src/main/resources/assets/create/textures/item/cardboard_box_1416.png rename to src/main/resources/assets/create/textures/entity/cardboard_box/box_1416.png diff --git a/src/main/resources/assets/create/textures/item/cardboard_box_1612.png b/src/main/resources/assets/create/textures/entity/cardboard_box/box_1612.png similarity index 100% rename from src/main/resources/assets/create/textures/item/cardboard_box_1612.png rename to src/main/resources/assets/create/textures/entity/cardboard_box/box_1612.png diff --git a/src/main/resources/assets/create/textures/item/cardboard_box_1616.png b/src/main/resources/assets/create/textures/entity/cardboard_box/box_1616.png similarity index 100% rename from src/main/resources/assets/create/textures/item/cardboard_box_1616.png rename to src/main/resources/assets/create/textures/entity/cardboard_box/box_1616.png diff --git a/src/main/resources/assets/create/textures/item/cardboard_box_particle.png b/src/main/resources/assets/create/textures/entity/cardboard_box/particle.png similarity index 100% rename from src/main/resources/assets/create/textures/item/cardboard_box_particle.png rename to src/main/resources/assets/create/textures/entity/cardboard_box/particle.png diff --git a/src/main/resources/assets/create/textures/gui/jei/widgets.png b/src/main/resources/assets/create/textures/gui/jei/widgets.png index 42050a1b71a0ada16e6a746d8b7eb40483ad58d1..4c062dbc7e7d67a61c20a6d96dc51be44e8c9d76 100644 GIT binary patch delta 3375 zcmchZ`8(8$9>?d~I1>k>QkKRbS`MNPSqIt5Qf3q(vUF@&4%x;&-$^-4HL@h4v1S?D zkYzA-DnxdsVmOuz!&Ho&al6mGKivBV-23_Y^L{?>=k>gw=kuOBH7t{G{n+AXb2h{L z`>gr;ocYe8`2pLa^13JhJ>Vo%xd0yl9*?)O=c~-1rvY%l)JWed)NzGGbg~~6f1m8> z;LZ9CIAqTUH=}!*6v)0-x}8k!Zak${2{SLyzgv>+YDsrSl=eE?JK8Z8?>$(x_I4Vv zJ}}&f_!xDMukYO3=EbIkJzsW|iLVl_xn(L4jh3;vc3yM4){nttWu;}l zdg)|qTUS>Rxwtx$|Ab#uRP@3OH$R0)TpyjE|KN>4AiNb6N)%F4U%XJF4Cg5*aHikw zeBRml+>@j)@!JTHoJyGG+BqFo9~~XNr8k?|4C;G7alvsf>~-BLf_{wDMMd0ocgNoS zF|^#dwbivv=w5U2=zk?HE{+fv&q~w191y-$HSsdB>bF8Pk$4@`Z;rwAn(NKZ&KinZ ztB<{Z+U`^V-4i;O&a;2@?+bK5Nba?t*j_vGdxG*YuFE3CW$}SltF3p_On5f@;+P$! z4wNi{KCKy3D33r%TZNwKVqJ!ouRmrn;BhA$_)gw0v$;caVO9sR4+JskmNj&R`{Bkz6@k zKamh>aW)Y!%v<{~Zo9VAvC0ecSx6lO@!B{(L9yt7`e7GKOX0k{HDxTG75_DV8B%__ zTTslQfb1NGd;aZOE)6CyD8Xx5d%VsYe+^U=3;q#hTKy;dJ~0}+t;}sSJp%7~0X72} z<$*M!J3QU`G8>F3J$lIokV`zh8vkn$lf8W2?&P-xt5jyCWA*mr=rhXZ}F;a;l~ z%*6={smt9yLxN0X7YUj5%E8v|Q{B$|dWI7ixclW>wx1ukw%*5ba-6iiZI?!pxSWAt zp1`Olcj37c^yQfp7By(8eP?5%jAbL@@jhUGC%7Q-mo3W@bqMB<&xei``b{-dYPl)% zpWl~#GF~_P?ZQ)n_Y>KI0I*eAWBsk-yDureQNOEpji(zFL)CU;J;r?5Sa@B%u8Pka zO~`KR_pOPc6vTJDCqFMoz5IM1QAmh6{_<)gT&$O*qpnJ=sBZ9I|4gLRQlQNZ{wquG zmWJ9VM(V5T^#jYHwIi1=MgCa-FGTbLs*-(o zC_Ehbgt)EAb@=YSKm}@Pl51kn^6}EpIN(_djdTn#j8Yr}HXg6A@V}zQfSPqdUy2Y5 zUme=;@;UX`)2jy6$2g%Usn*d%Nue?x!=uR*o-^Q!|4N9Nxbq~r>CU&}R@unl8$SYD zvastUsr>U}O(@Q!ujJn)PkMH;ax9@x=z*k!*xos>%baJ;&0H>{nZd|pV5*w3TyxmI z{!BJ|X^FkWo)`_mJr92c6A*|Fn|9jAv)=;~Q93&Ke)ouQ-ELg*FhBUc9Gw#n4-_95 z$5d{v-e<>3G2!j z4NeLWovx{JORBw)G58D?wZ2 zSxqM+uBOx8uGdWu#_U28gmqLSe_e?mz(|K2qfeQ1&KL>t=PI66(Q7Qvw;N_+(`O+{ zb;*P+Fe5v@M&embHALHN?naUbG5rHX2J=TL_3XXZE}#ld`zRC@jAEVwxW?wgx%8U* zbSs#T8_u8_6$1~_FE?gHcM`O7ugLs;U&Dw-7BG1g_wax?``%^x>IY$}^Y|=ICpShm zK@U{q*!^}~0G8DVM7$M>_8tFMmdq?c37F=ik+5vpA8~*6cG&T7PF2JjfoqUw(&m|d^FYA8k{DrE!lhvkBL_H8d7$!-}E`7R#LyIk@1F`uJ_ zvC}i@;JJ8xN!%}UcMXJM;t9PE^}zw5$gBgmmi}qj9LhPLPm+)~?v&r^&uhuh1BD>k zN3=yCp{<*!gBu5f?pf4NA=R`Tqo0r10B|8umeL#sW)pGe> z*dXgjnNzn~hHJ|X!G%y5l_vbCJ^$;b#u@|VF>fL-_?ejp2;CcYPdyGk;1$NeE&Yw#JY z)v$FGuX@)2Y&qe?N<5LyXD>BBuomyMG^Yv~uP?brDF#bROT$-T+V3!rIDF`7er}ns zG4m0QX`xy~kT?|SmftkQg$A{vbs8{_YAfWzV|71z7Yp6Z7T)XES1M8{skmirWkp|^ z-;ipDu$NHbL5BEM5yEiJXCPp3@fI^wXH}jy3CGfqoD=i&^KNeQ1
ecEj3;}V{h zI3x;8gi7T+l%OgPq^5l7>2<^FwaCuJ-+-U;cSX~A&~s|`FNtR4J}VfL(=uRaOndSm z9?3jmOJkhFsb2DQ_n%rpx8_+Xmb~@?r!-IT7IN_T6@E1g!VqrCBx^3v;nKNgq zGkPH5xAW-aS#c7*&7AxY`K9gHLr%0uOsFZGySY9sib3utq&i^di9W+?zW z-2L5OxLgl&w^k9Y81$Ni-M+J@r(7NRld0a>rTsdcYoDq8RT~+(0 z==AOeAE#+|W5!(`Du&!w8USHlLAwv2{cVufN^}Au7Nwj5?C>M#LUHt?8bmP2V5%_B z4?2}pFCguEJ>a?4^dS2Yw-k**I_dpnwGa~ZSKi3tkU^ziGFd=6C@N|A{f_TX%blms z1xz8eyRBf$Y11M3=loh{ca4~g60B_V7QuA?vxJRjzQDA6**{-BQEKvN5(>r4AWC8wG34LF9gW9o<@ zuj4Tcc?@;DLyTrT4ufe1c|ULGoV(V&cddK>Jo~@B*0t^FX2O%=Po+{AQ<3ef zj3=5EPhx88I3XBJkEos6ZoB4U_+WvNPav3iifK0F<(tTM_ff zsCAm29h*~Xx21vn&Z;V}tu3#*_E@(_V_89(Q)Ofr;z#to9_ASwJl8hb_SxUgg?#z=pySYB+xcfZL%6+#$TRa?QL&`=cau%80{;4Q9W;wIkwVS1-1f83=j z7Vy~ErJygdXV+viji%Ysyw{lz>WDt9^#$y1lZ?o4_KLIUD~Ra9GG`^CIc1V%hPkhBPc6B$gkQu0U#Hj zTuJUP@4^&1f%2e0{%G&QC-z3e_MN>Gz@%>;O_xm7ky!qI|4N!Cii00%XzXQ=&QDLI z=n;lj*PcgmVxZBH!sm1$du_gXVtRg*-P@SZfPWcYX|Dzm-8B|s*H0Ke`sV)3P$Y@q zfy+SXNyzuxsEg0i`U4>^8cR=Uyr?BDFAbJn+3PBL`bi+M1?es?Yx3lDE|Ccs7;QFr zH0#)q>Ygf(`sbz!VhiFZUluKL+rcDbU$n+^NRR~C{*xZAPEzV=c_Io}Uz^`(WMu_Y zjYdP64kHasQ>#tCm;Ht?Apm6|O0%E8JvTA#e=Iji)5B^>v{u3f`k1q*Y;2*l6bLqd z8Kb*f3c6V<>cS|=8}y{VEB(@@`n=$Mx8O}-a9_1T)E3_K1uN;vM-2lNC8;$w2AyE# z;ck36;ltF@Ph;;xZ~NpQ6VOZkwBw2;&XfMVWoXsW>Ya2V|);z90%nH)+njOC>y zJsXK|4|RnOjdoQvdw}GWR=eJ170wSTWo+oJ+-Gakv4Acpi8`JN9B?H<@80)hpSL1 zbo;20>4H=*m?zxagg~MyzDf7n$Hzl34p1oRe6f{j9^WJlMaoz zdKJ1vhP{N*=T|MWk>Hvp8=$IHc0QqHe{BBpjG(YwApqFq3knY{*$g5m(7sM~Q z8>hAUmN>%kLBNJsStRZ0Xrn%QR%ze)2{UtICDJzp1?Z)7R~?HVsQ>ynMv6kSl3ci={mef15iQ3cc2J4S z`yN326e9E;>K6JM2y=RbIT%PLOSaY8f3(2b|9#m7T?i3{7M#iCy&W;UM!FNDP?^Tu zx~NUjxaHc}t^Eu<8hyCu@u`X)MQBhx6|aDH93hkMxi>xtxwQkD;hLOaqo z@_}RSkr^?+CIx?E`u9kc6pU&QG zo@1aAYA&`_fuY*QA`YKp-yTj}|IO7>Azox{hSIN22{PT_OPZ=|sq--D^E+`2`a7d0 z&(xE^87kCV=3x^h!blksEyAaq(NKV)ixN&E?}9gMK0%IEp1Z^QEkzA#Za_2BRsMkC zvlO|WyQoAY9G1YVC{5Urr@SNbMzPmzx!%Ks=2UZHi^{{=UGrM6&}y2eCPsqv6-8oH zR&4e0L`awgK37aRDZ3w+%?wU<{ECtSTLM2Hhwlj2nyuz0ag!!u>&!a&1mj9@wPH~+ zg*<>uX;h;pbsn5^FkOf=irg7|vVOuh)&x=av8YvOQVq6HDmv{=m$|tj1wtlCc9uF- zKr_yP*eY@h_~oOkQOA1_MIXTVM=G57*CM)Rr0bpN2=>Cu-5J=x`J)lh$Msq_08z^z zrmd3&S^7YQEFENd2BP%pN1&<(Au*#BPj?LW4-D`Y!x<^cX>cZqbpPehdq-|!&FUTb zsmxzF+mEuAj3aP)EQHul&p;xhe#}fa9y|ndt;ZNV(-fggm=s-$)nyn37Qqr z49rO?>!EtUU{X!}H)5R9Y~d{z#;PQDC^da>cwGjAU+&hIla!jpMTnRNoQ*e#QpXda`z{$x$kKp`>{6q%rB<*JEOgt%Sju zt24;g?|nGG$p<9ElV9$H%Vsj=Him}Dono83E(Hf!Gm-Fn9|T3)JC%xD&Ix2+1>8vf z>i6LLU`Dn)Ph>kJRs1^os4@D&h4f*p-}Vs+ZecB5(?mpzKry9W&s344VpGT_YV`7< zZ}^HKE8GP)H@EZW52k~SSWSv8PMMGmwJ=3%SkxUD5#aC1qQ5DXkm5xnU%lxCHOYmA-9Wb$d0RyN%GbBi z{*e@bQJalXeNvz%vEBoFH-`4ji*HDpN zRONS2V9Nh!1MRk8y&ZnrWfn4;cNaaqV}olI7sKU(`HpZVk4K8zGIYoulG+!eEUFS( zk71h*KXDe7C)~gz4|$=vM%`kYS#h0Z-yq;W-lPAI`ujkD@&8iw_woHf=g5vNDAPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;jv63FrU-0Xs=VK~y+TW1uQH>d{OxMlf)IQ0vhDAPnWg z0bT=Onn3t?%6u>mQVl{e1gilsO@|_9fHi?=Fgtz0|6>`8Pz=E^0HpCw&7S{-nX!`$j`nmrnYBv6VG~on_#yk-}Fl{bjj@^LyX%qj?Pnr0C zLGpzEZ&uv;f39cu|3=-E|M}8^|MMjSz?dWh+QO>-SDGfnHCGrW;5T4q!KDAoE9d=R z0mRpqpM@I$(g@Q$)uR@>0U!V}WM0k8|LZzd{J*#B*8jeoPOu>$O%p=u!5TprYb?M3 zvLU^hZE#I6jWB@I01yBf0>bE;&;h!>fdC8)0Kp|(H~0aC`Tzg`07*qoM6N<$f`P@o Ar~m)} diff --git a/src/main/resources/assets/create/textures/item/chromatic_compound_0.png b/src/main/resources/assets/create/textures/item/chromatic_compound_0.png index 8baa3e35395408a5ba2cecc177cbe64025823dbf..f0a449282798d46e86909ddfbc080c551467ea63 100644 GIT binary patch delta 407 zcmV;I0cifS1J(nONq@lr01m+cxRGn^0004NNkl z;;(#3AEE2IJjHQcSDxa0OaGB}yDiA%V}jTQYWl0dG)>&^cYlmVBiOc`*f@g3{eEAN zJsuCCST2`hy;Cj7cyWQe+I^lA;aO`%w zVYAt=kgQlN!hbLf&MAJRXQ*JYSRj>3@zhSI!;{P9GTUG<;5tpy*b~tPp6BtjYPBjO zK)2gPI-Q2&IBd;k6XWq%W`BwO*G8iuXvKQH&KuDClI3zaWV2cHdOfc5eLvDAE(SHJ z)oLh}N?5H{7!HRr6BjDp-YjZDe!t(p75yiGC-#BVWe^%hmOcOg002ovPDHLkV1fs7 B!FvDz delta 371 zcmV-(0gV3E1G58=Nq@rt01m?e$8V@)0003f4$u#V@jc%+^S)91KKuRtkD^)j zkeb|~Em*BqsOuV8mSMNs_0D%TgmArHV>+GU^?D&qQw#Xl>gzEX%@nyT$Q%{8&_)%#hdX z^@`1A!+E(}a(BY>Jlt+KwiN^c?-88>RaHSz6ut>{JD<;NB}oz%(p*GALB|5Ud^{d} zn24eXVHiS|Wo(Q_BYvi6(O$P_cg$up_MhiD;yA{9KF4CQ;P-;wXVi5as;aVo z*L5+OOxP9;^>VrJxx?Y`(RB(CRKze0zH(6%JWN4bDClhv;)kN)eG~l>z&|bKmo7@%lB`X$CJoJr zTc}>N6Sl4(QWOOzvv*?`yWAM;BkXUk)YY*FXRupno{-{N>UTvMdW#N~Qkm zH*amXH<*9`KnhB1IiC;591lnluIQ963fTX1HZb7)oZ8mNQ5c^^b_9ripN5Z7X%TW zanCbZ?unS>=YJO#CpN!r%z8*rKxwM_v~gbRC3svW334sQur|wbSQL|!_4-+=u(O?! zq~`2F@sRbIpy0+ZMs!V!!$}x6&UG)EjicjgSqG4~Xf&dVqEOXJ#f57g5)=?LO)r3C z(lm?&tQE`ZD{v~L>pCS#Qp9!~8u}cJo(s4c6kN)!7JmbhX<3$En1(sw*mknr={z${ zGe2&%N##lIo6bgI0(Eb7A1i-ta-)2bQ1|(BZY)SfK0aW$6_cI9n1p-LW V*z%XQEDQhu002ovPDHLkV1g$B{L}yd delta 560 zcmV-00?+-?1nvZoNq@rt01m?e$8V@)00065Nkl)(sEJ^EPE_D$1i&B|CV%Utg$2~^_0X24xw-lI z9_jV#OaOo!SnSc_B9r9#KgXTU$$MRI)6r-*8V+L!!4Ts4)4u)%5ICRB-uT&UW@@&r znvPSdndWPXqCUqt&MepKSRNYk-tO!m2yp`p4Fry^&dpu9EXz-41YxP>I5zuI+eP;$Cx7X2mgTP}5>hywPH!$Re;Vq9kCp?IV4csI9IRhEpjq!m`q|qO>HM zj;(82vT0e<49kiPOqsoT4|KQ>oZK0x~u y)E$39<9?@m=`# z?b}uZO9Lr!X>nN_6C1JL48Ohs4S5RE#{$+30r$Us|Mv9q*~{MzEDf1o+De`v2m?Qzt1Q*;iTX0pU0Q|1N@4cfbGq{&~*qdB3MlnfA{@+wvb!{wG)mIsnFmNPl}T>**b*Sw21a z$lP4lh>=drZOu@`;9&p)H?H0M#wo}lz{1S@o12;EKhVGb4;(rO)+8e@%?R{20|+An vTq#i(NG5%F{_@3_lZQ{ehlmbNz`y_icq-ivf1^hs00000NkvXXu0mjfWK9*+ delta 609 zcmV-n0-pWr1fKa#s(OnG#DT& zW@Lm&g?UGDfaq0Qm;C?>paHl6FwG#1Kuyd*rZ5njgii@q`T6}Ph$77ze68&25V z%W?nfL-scx-f*0`aqjJ3rvIOSRkAA=5R$%{eVc&TJ zp!&@qO~?k^etGTXcOG$`|A$zPGTNzGiyXOoT=etX&zBiKuv~n6^TFk}ci+5V<6{2> zR4WG2f@;7oQFT#<>zi&cGP^LdGpI3e|N8OkSXh7k7Wnh;#nqSpkL)|h;Arf^s3@hx^x*lu|3C~?4FM<# v2?l^^!U0IVdi~Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940gXvSK~y+TWBmXB zKLaIz2}+X<2)aO8S`e(@*|QIfAUZcU7es-VIwWB9P~BHR!d z5R{ii^#VvE2q&*?V$jd`V*t_b-@RoBjtgcG@YiRMk`lnM4Q>EPTUM zXTtFI!5c6Q;)4tk4l>3t1nvcp0oD~!3}v}R44Y1D18Wvm5Mf~Z#=`K6>kpWp7!e0n z>o0A>@bu|>h<88+7-~!YfBR(Df88AC|Dltz{-6GT=YQ?-N&h`N`QhW+MoL#Fw`@{Xe;>5v&fRzArT!5eAHmj9^2MU2^@* z6^55<7K3e6(y?clKB=4G;&WcGda&&v0P_nBgZu|`3A&9SjIJJ)0|g+3gfzl1&ZG7jrk6s%zyJVW1xEhS&v?oJ0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0b)r+K~y+TV`M-A z|NsAovIaB2>PnCx3}XY;nzH{v7|KOa#|YyvGNJ?rSQC`VP_SkN!^3@>7}if)#?X5G zF<2p7AB+Pt0H!f_*?b0eeqn|`-@h?%@bfbK{q>#U&enBsLof`e(UOB}WZ~du;FXpK z%l`ZIgW>Pb?_dK!^u1kM7;?L2FdTdI0jw8n5=e9To+AwZe!O5{X6ImFV&i0B24Pk< zsAixcPy?7aBpFUksAi~JwH0g#6UY=0I6td}fssv&;s3vXK>QbIH4uXU6Eg!VuQU+L zF|hF~Fuc2QgyF-D8xT1VfcXXF_ua)&|35!}{Qv8#=l_3y|N8&$pFcqS`~T~!N5FEc zy^a1`%JPFTSQ7|<41i&nAt24zG$Ct*Squq!AOHz~Vgh7{gO@GXnSGb;g5{1s{)nOu z1;7MAG>nbQHe@w00FOpw0810N#E}7t2r(L{3>X*yVxjZow1}p@00000NkvXXu0mjf DgMq*^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/item/integrated_circuit.png b/src/main/resources/assets/create/textures/item/integrated_circuit.png new file mode 100644 index 0000000000000000000000000000000000000000..eb593d2407605a73db3bfb9eea3f01a9152cfe16 GIT binary patch literal 502 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0gFjQK~y+TWBmXB zKLaIz2}+X<2)aO8S`e(@*|QIfAUZcU7es-EPV_nZdu%;Uq&M;^g zm@s^P^%zWp_#i`m3Wi`90`~&Q04c*FhLmW3hFxbLfHm`q$ue;K`@-;pi3iLN_Ou17 zZ7Q*6c>44`*gIeYjC7>_@7cMKLCt*?gQ9{Q+z^n>ZXT`-8q)k=jdPZ6WVrv}5d-`C zHJAp>XwP7{cjX{M&Qc|~Aus^b2m-fuhB53~)WOiT^g6@2E6*6g1~4)*G8k%0{@0iM z%+R}F9oQwY32_WZ4jjPHsH9`hFnv-t!^P*k46#;0j0_+HVBr8VtiX@p^{DG>xf0Slr* s0RPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0l`T`K~y+Ty_3%? z1YsD*zdI&B*6!>NY!oG}{`*TU1nx~ndjY^p;j(izK5Cjedqap-g%z)c}=1yq7<2ScK#9I@o0k|Vu0CM zuQn|frFeO%O@0xty$zAU>n#8YJ~6kEXA@O{?FExIG*kp2xw}S~X*;k1pKk{7k0(4v zUl}ZXvCklS@eP1(QiIUhGl=fCcBGXIQaKKCtO~8}4%FH$6k*$}-B-6)G|VP)?La;w_0l@D3BhE$XU5pRlrfjx+HH6+8!rCCk>xd>=YgQ}BQP zfer~>-(d3m3RxwAwDf^8VaI~# u2=!wu=`vA=GQe-GN`3!V3+pQJIs;#erncd+`T+R=0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0eMM8K~y+TV`KmV zX=!N?g#iv7Is|2*0y{f9D2sssZU7q_8(4r4*t2I3lm!6<4VY>z^dCfLAAJW_3j@D? z{Q|p?3ChO`K$@lX4H(4L)!+u91FQys6oW8GBaeb2gRqM;gPNNgRzpw>K-MU2YQ-R+ zq0R8+*-M7MPhK#vs49b9Ql`s?VhG#-xJICpg`*mvq7VQwQBPz?y4rJO}GViCdTPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0e(qDK~y+T&5%J$ z0#Ou&k0ni+WnqSrI0{qbA{T86A&CguNzk&D&>x5*s2@-(Y1P`GbrIG^2nyZQHWEXG zN`)ee3@b2-se7FnW>m0cA3W}Tk9W>J@0sw6D2h}X$mMcMXGD@Dr2{krK@j+$73p+Z z>1wnzh;GcwR97|+`L0T}TIGao%DyQimiz(uhDSA{ddx~Spk5}SV@O25(}@9>8&N>6 zPhxn2Uf5}|q0cdha_NyPnPe_fNF~p)9Xm5MJb}a{q{#k>Mdh>xnOr7M;S`54GaJNm zWLkR;Cpg+&lgEQ0w3|Ed_FCbIggTw7N>{f4v&D{sy%?5OcTAk1cwInzKaTIOPgrd| z9G66umuIfNu>gz7%H&ilc~@o|GLBDLn(iQkM}YX$0sZ#R54*NAoM1dUMmX;{Zu^-2ZU-uG@JS- f$b^=%{kH%=$+n%mT*a&H00000NkvXXu0mjf6TZf+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/item/shadow_steel_cube.png b/src/main/resources/assets/create/textures/item/shadow_steel.png similarity index 100% rename from src/main/resources/assets/create/textures/item/shadow_steel_cube.png rename to src/main/resources/assets/create/textures/item/shadow_steel.png diff --git a/src/main/resources/assets/create/textures/item/blaze_brass_cube.png b/src/main/resources/assets/create/textures/item/unused/blaze_brass_cube.png similarity index 100% rename from src/main/resources/assets/create/textures/item/blaze_brass_cube.png rename to src/main/resources/assets/create/textures/item/unused/blaze_brass_cube.png diff --git a/src/main/resources/assets/create/textures/item/zinc_cube.png b/src/main/resources/assets/create/textures/item/zinc_ingot.png similarity index 100% rename from src/main/resources/assets/create/textures/item/zinc_cube.png rename to src/main/resources/assets/create/textures/item/zinc_ingot.png diff --git a/src/main/resources/data/create/loot_tables/blocks/logistical_casing.json b/src/main/resources/data/create/loot_tables/blocks/andesite_casing.json similarity index 85% rename from src/main/resources/data/create/loot_tables/blocks/logistical_casing.json rename to src/main/resources/data/create/loot_tables/blocks/andesite_casing.json index dc75291c9..97a802053 100644 --- a/src/main/resources/data/create/loot_tables/blocks/logistical_casing.json +++ b/src/main/resources/data/create/loot_tables/blocks/andesite_casing.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "create:logistical_casing" + "name": "create:andesite_casing" } ], "conditions": [ diff --git a/src/main/resources/data/create/loot_tables/blocks/brass_casing.json b/src/main/resources/data/create/loot_tables/blocks/brass_casing.json new file mode 100644 index 000000000..c7882506d --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/brass_casing.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:brass_casing" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/copper_casing.json b/src/main/resources/data/create/loot_tables/blocks/copper_casing.json new file mode 100644 index 000000000..7b5198258 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/copper_casing.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:copper_casing" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/loot_tables/blocks/deployer.json b/src/main/resources/data/create/loot_tables/blocks/deployer.json new file mode 100644 index 000000000..8486d8bb8 --- /dev/null +++ b/src/main/resources/data/create/loot_tables/blocks/deployer.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:deployer" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blasting/crushed_brass.json b/src/main/resources/data/create/recipes/blasting/crushed_brass.json new file mode 100644 index 000000000..0c7d74367 --- /dev/null +++ b/src/main/resources/data/create/recipes/blasting/crushed_brass.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_brass" + }, + "result": "create:brass_ingot", + "experience": 0.1, + "cookingtime": 50 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blasting/crushed_copper.json b/src/main/resources/data/create/recipes/blasting/crushed_copper.json new file mode 100644 index 000000000..cd038b6ef --- /dev/null +++ b/src/main/resources/data/create/recipes/blasting/crushed_copper.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_copper" + }, + "result": "create:copper_ingot", + "experience": 0.1, + "cookingtime": 50 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blasting/crushed_gold.json b/src/main/resources/data/create/recipes/blasting/crushed_gold.json new file mode 100644 index 000000000..115be831c --- /dev/null +++ b/src/main/resources/data/create/recipes/blasting/crushed_gold.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_gold" + }, + "result": "minecraft:gold_ingot", + "experience": 0.1, + "cookingtime": 50 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blasting/crushed_iron.json b/src/main/resources/data/create/recipes/blasting/crushed_iron.json new file mode 100644 index 000000000..84887fe4d --- /dev/null +++ b/src/main/resources/data/create/recipes/blasting/crushed_iron.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_iron" + }, + "result": "minecraft:iron_ingot", + "experience": 0.1, + "cookingtime": 50 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blasting/crushed_zinc.json b/src/main/resources/data/create/recipes/blasting/crushed_zinc.json new file mode 100644 index 000000000..e1335010a --- /dev/null +++ b/src/main/resources/data/create/recipes/blasting/crushed_zinc.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_zinc" + }, + "result": "create:zinc_ingot", + "experience": 0.1, + "cookingtime": 50 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_accelerator.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_accelerator.json index 18d9e62c7..454e50622 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_accelerator.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_accelerator.json @@ -6,7 +6,7 @@ ], "key": { "B": { - "item": "create:blaze_brass_cube" + "item": "create:brass_ingot" }, "S": { "item": "minecraft:sugar" @@ -20,5 +20,5 @@ "count": 1 }, "component": "Accelerator", - "tier": "BlazeBrass" + "tier": "Brass" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_amplifier.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_amplifier.json index ddbfad010..592167883 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_amplifier.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_amplifier.json @@ -6,10 +6,10 @@ ], "key": { "B": { - "item": "create:blaze_brass_cube" + "item": "create:brass_ingot" }, "R": { - "item": "minecraft:end_rod" + "item": "create:refined_radiance" }, "E": { "item": "create:placement_handgun" @@ -20,5 +20,5 @@ "count": 1 }, "component": "Amplifier", - "tier": "BlazeBrass" + "tier": "Brass" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_body.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_body.json index a9ef3d8a3..3a9e75b70 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_body.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_body.json @@ -7,7 +7,7 @@ ], "key": { "B": { - "item": "create:blaze_brass_cube" + "item": "create:brass_ingot" }, "E": { "item": "create:placement_handgun" @@ -18,5 +18,5 @@ "count": 1 }, "component": "Body", - "tier": "BlazeBrass" + "tier": "Brass" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_retriever.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_retriever.json index 8fdc9b6e2..3a94c1c31 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_retriever.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_retriever.json @@ -6,7 +6,7 @@ ], "key": { "B": { - "item": "create:blaze_brass_cube" + "item": "create:brass_ingot" }, "R": { "item": "minecraft:redstone" @@ -20,5 +20,5 @@ "count": 1 }, "component": "Retriever", - "tier": "BlazeBrass" + "tier": "Brass" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_scope.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_scope.json index 5ec675892..bda785c0e 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_scope.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/gold_scope.json @@ -6,7 +6,7 @@ ], "key": { "B": { - "item": "create:blaze_brass_cube" + "item": "create:brass_ingot" }, "G": { "item": "minecraft:glass" @@ -20,5 +20,5 @@ "count": 1 }, "component": "Scope", - "tier": "BlazeBrass" + "tier": "Brass" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_accelerator.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_accelerator.json index 9437cd321..793fe98b3 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_accelerator.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_accelerator.json @@ -6,7 +6,7 @@ ], "key": { "B": { - "item": "create:chorus_chrome_cube" + "item": "create:chromatic_compound" }, "S": { "item": "minecraft:sugar" @@ -20,5 +20,5 @@ "count": 1 }, "component": "Accelerator", - "tier": "ChorusChrome" + "tier": "Chromatic" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_amplifier.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_amplifier.json index 0ed6df7cb..95aadd031 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_amplifier.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_amplifier.json @@ -7,10 +7,10 @@ ], "key": { "B": { - "item": "create:chorus_chrome_cube" + "item": "create:chromatic_compound" }, "R": { - "item": "minecraft:end_rod" + "item": "create:refined_radiance" }, "E": { "item": "create:placement_handgun" @@ -21,5 +21,5 @@ "count": 1 }, "component": "Amplifier", - "tier": "ChorusChrome" + "tier": "Chromatic" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_body.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_body.json index 9b9895a59..2b06be726 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_body.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_body.json @@ -7,7 +7,7 @@ ], "key": { "B": { - "item": "create:chorus_chrome_cube" + "item": "create:chromatic_compound" }, "E": { "item": "create:placement_handgun" @@ -18,5 +18,5 @@ "count": 1 }, "component": "Body", - "tier": "ChorusChrome" + "tier": "Chromatic" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_retriever.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_retriever.json index 24debe385..aeaebd52b 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_retriever.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_retriever.json @@ -6,7 +6,7 @@ ], "key": { "B": { - "item": "create:chorus_chrome_cube" + "item": "create:chromatic_compound" }, "R": { "item": "minecraft:ender_pearl" @@ -20,5 +20,5 @@ "count": 1 }, "component": "Retriever", - "tier": "ChorusChrome" + "tier": "Chromatic" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_scope.json b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_scope.json index 3af352b8d..5769c4808 100644 --- a/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_scope.json +++ b/src/main/resources/data/create/recipes/blockzapper_upgrade/purpur_scope.json @@ -6,7 +6,7 @@ ], "key": { "B": { - "item": "create:chorus_chrome_cube" + "item": "create:chromatic_compound" }, "G": { "item": "minecraft:glass" @@ -20,5 +20,5 @@ "count": 1 }, "component": "Scope", - "tier": "ChorusChrome" + "tier": "Chromatic" } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting/chorus_chrome_cube.json b/src/main/resources/data/create/recipes/crafting/chorus_chrome_cube.json deleted file mode 100644 index b2cf6c706..000000000 --- a/src/main/resources/data/create/recipes/crafting/chorus_chrome_cube.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "crafting_shaped", - "pattern": [ - "SW", - "WS" - ], - "key": { - "W": { - "item": "minecraft:popped_chorus_fruit" - }, - "S": { - "item": "minecraft:dragon_breath" - } - }, - "result": { - "item": "create:chorus_chrome_cube", - "count": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting/motor.json b/src/main/resources/data/create/recipes/crafting/motor.json deleted file mode 100644 index 928f7a183..000000000 --- a/src/main/resources/data/create/recipes/crafting/motor.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "crafting_shaped", - "pattern": [ - "SA ", - "ABI", - " IO" - ], - "key": { - "B": { - "item": "create:chorus_chrome_cube" - }, - "A": { - "item": "create:iron_sheet" - }, - "I": { - "item": "minecraft:iron_block" - }, - "S": { - "item": "create:shaft" - }, - "O": { - "item": "minecraft:obsidian" - } - }, - "result": { - "item": "create:motor", - "count": 1 - }, - "conditions": [ - { - "type": "create:module", - "module": "contraptions" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting/belt_connector.json b/src/main/resources/data/create/recipes/crafting_shaped/belt_connector.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/belt_connector.json rename to src/main/resources/data/create/recipes/crafting_shaped/belt_connector.json diff --git a/src/main/resources/data/create/recipes/crafting/belt_funnel.json b/src/main/resources/data/create/recipes/crafting_shaped/belt_funnel.json similarity index 90% rename from src/main/resources/data/create/recipes/crafting/belt_funnel.json rename to src/main/resources/data/create/recipes/crafting_shaped/belt_funnel.json index ef3356b01..5d659ecf2 100644 --- a/src/main/resources/data/create/recipes/crafting/belt_funnel.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/belt_funnel.json @@ -10,7 +10,7 @@ "item": "minecraft:dried_kelp" }, "N": { - "item": "create:gold_sheet" + "item": "create:brass_sheet" }, "P": { "tag": "minecraft:planks" diff --git a/src/main/resources/data/create/recipes/crafting/clutch.json b/src/main/resources/data/create/recipes/crafting_shaped/clutch.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/clutch.json rename to src/main/resources/data/create/recipes/crafting_shaped/clutch.json diff --git a/src/main/resources/data/create/recipes/crafting/cocoa_log.json b/src/main/resources/data/create/recipes/crafting_shaped/cocoa_log.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/cocoa_log.json rename to src/main/resources/data/create/recipes/crafting_shaped/cocoa_log.json diff --git a/src/main/resources/data/create/recipes/crafting/cogwheel.json b/src/main/resources/data/create/recipes/crafting_shaped/cogwheel.json similarity index 79% rename from src/main/resources/data/create/recipes/crafting/cogwheel.json rename to src/main/resources/data/create/recipes/crafting_shaped/cogwheel.json index 29dd1b237..4bdfbd623 100644 --- a/src/main/resources/data/create/recipes/crafting/cogwheel.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/cogwheel.json @@ -1,21 +1,21 @@ { "type": "crafting_shaped", "pattern": [ - " B ", + "BBB", "BSB", - " B " + "BBB" ], "key": { "B": { "tag": "minecraft:wooden_buttons" }, "S": { - "item": "create:shaft" + "item": "create:andesite_alloy" } }, "result": { "item": "create:cogwheel", - "count": 1 + "count": 8 }, "conditions": [ { diff --git a/src/main/resources/data/create/recipes/crafting/contact.json b/src/main/resources/data/create/recipes/crafting_shaped/contact.json similarity index 82% rename from src/main/resources/data/create/recipes/crafting/contact.json rename to src/main/resources/data/create/recipes/crafting_shaped/contact.json index 72c1b68a7..3cf985688 100644 --- a/src/main/resources/data/create/recipes/crafting/contact.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/contact.json @@ -10,13 +10,13 @@ "tag": "minecraft:planks" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "R": { "item": "minecraft:redstone" }, "G": { - "item": "create:gold_sheet" + "item": "create:brass_sheet" } }, "result": { diff --git a/src/main/resources/data/create/recipes/crafting/crushing_wheel.json b/src/main/resources/data/create/recipes/crafting_shaped/crushing_wheel.json similarity index 89% rename from src/main/resources/data/create/recipes/crafting/crushing_wheel.json rename to src/main/resources/data/create/recipes/crafting_shaped/crushing_wheel.json index 7ec42eb08..abc2e30cc 100644 --- a/src/main/resources/data/create/recipes/crafting/crushing_wheel.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/crushing_wheel.json @@ -10,7 +10,7 @@ "item": "minecraft:polished_andesite" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "S": { "item": "create:large_cogwheel" diff --git a/src/main/resources/data/create/recipes/crafting/placement_handgun.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/placement_handgun.json similarity index 82% rename from src/main/resources/data/create/recipes/crafting/placement_handgun.json rename to src/main/resources/data/create/recipes/crafting_shaped/curiosities/placement_handgun.json index 53a532d75..eebd64cf4 100644 --- a/src/main/resources/data/create/recipes/crafting/placement_handgun.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/placement_handgun.json @@ -7,13 +7,13 @@ ], "key": { "E": { - "item": "minecraft:end_rod" + "item": "create:refined_radiance" }, "O": { "item": "minecraft:obsidian" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" } }, "result": { diff --git a/src/main/resources/data/create/recipes/crafting/symmetry_wand.json b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/symmetry_wand.json similarity index 63% rename from src/main/resources/data/create/recipes/crafting/symmetry_wand.json rename to src/main/resources/data/create/recipes/crafting_shaped/curiosities/symmetry_wand.json index 643e5e996..e4d6df733 100644 --- a/src/main/resources/data/create/recipes/crafting/symmetry_wand.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/curiosities/symmetry_wand.json @@ -1,25 +1,22 @@ { "type": "crafting_shaped", "pattern": [ - " GB", + " GE", "LEG", "OL " ], "key": { - "B": { - "item": "minecraft:dark_oak_button" - }, "E": { - "item": "minecraft:end_rod" + "item": "create:refined_radiance" }, "L": { - "item": "minecraft:light_blue_dye" + "tag": "forge:dyes/light_blue" }, "O": { "item": "minecraft:obsidian" }, "G": { - "item": "minecraft:white_stained_glass_pane" + "tag": "forge:glass_panes/white" } }, "result": { diff --git a/src/main/resources/data/create/recipes/crafting/drill.json b/src/main/resources/data/create/recipes/crafting_shaped/drill.json similarity index 90% rename from src/main/resources/data/create/recipes/crafting/drill.json rename to src/main/resources/data/create/recipes/crafting_shaped/drill.json index f46cea6b4..89e3171b7 100644 --- a/src/main/resources/data/create/recipes/crafting/drill.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/drill.json @@ -7,7 +7,7 @@ ], "key": { "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "I": { "item": "minecraft:iron_block" diff --git a/src/main/resources/data/create/recipes/crafting_shaped/electron_tube.json b/src/main/resources/data/create/recipes/crafting_shaped/electron_tube.json new file mode 100644 index 000000000..ffc9f1268 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/electron_tube.json @@ -0,0 +1,29 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "L", + "R", + "N" + ], + "key": { + "L": { + "item": "create:polished_rose_quartz" + }, + "R": { + "item": "minecraft:redstone_torch" + }, + "N": { + "tag": "forge:nuggets/iron" + } + }, + "result": { + "item": "create:electron_tube", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting/encased_belt.json b/src/main/resources/data/create/recipes/crafting_shaped/encased_belt.json similarity index 89% rename from src/main/resources/data/create/recipes/crafting/encased_belt.json rename to src/main/resources/data/create/recipes/crafting_shaped/encased_belt.json index 74aa1900b..a847f724a 100644 --- a/src/main/resources/data/create/recipes/crafting/encased_belt.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/encased_belt.json @@ -10,7 +10,7 @@ "tag": "minecraft:planks" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "S": { "item": "create:belt_connector" diff --git a/src/main/resources/data/create/recipes/crafting/encased_fan.json b/src/main/resources/data/create/recipes/crafting_shaped/encased_fan.json similarity index 90% rename from src/main/resources/data/create/recipes/crafting/encased_fan.json rename to src/main/resources/data/create/recipes/crafting_shaped/encased_fan.json index ae505f03e..de734be39 100644 --- a/src/main/resources/data/create/recipes/crafting/encased_fan.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/encased_fan.json @@ -10,7 +10,7 @@ "item": "minecraft:iron_bars" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "S": { "item": "create:propeller" diff --git a/src/main/resources/data/create/recipes/crafting/encased_shaft.json b/src/main/resources/data/create/recipes/crafting_shaped/encased_shaft.json similarity index 89% rename from src/main/resources/data/create/recipes/crafting/encased_shaft.json rename to src/main/resources/data/create/recipes/crafting_shaped/encased_shaft.json index 6bd03183f..8f72180ac 100644 --- a/src/main/resources/data/create/recipes/crafting/encased_shaft.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/encased_shaft.json @@ -10,7 +10,7 @@ "tag": "minecraft:planks" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "S": { "item": "create:shaft" diff --git a/src/main/resources/data/create/recipes/crafting/entity_detector.json b/src/main/resources/data/create/recipes/crafting_shaped/entity_detector.json similarity index 91% rename from src/main/resources/data/create/recipes/crafting/entity_detector.json rename to src/main/resources/data/create/recipes/crafting_shaped/entity_detector.json index 786d32a08..cceb64d85 100644 --- a/src/main/resources/data/create/recipes/crafting/entity_detector.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/entity_detector.json @@ -10,7 +10,7 @@ "tag": "minecraft:planks" }, "A": { - "item": "create:gold_sheet" + "item": "create:brass_sheet" }, "S": { "item": "minecraft:observer" diff --git a/src/main/resources/data/create/recipes/crafting/extractor.json b/src/main/resources/data/create/recipes/crafting_shaped/extractor.json similarity index 92% rename from src/main/resources/data/create/recipes/crafting/extractor.json rename to src/main/resources/data/create/recipes/crafting_shaped/extractor.json index 69ef667fc..bc8e2da2e 100644 --- a/src/main/resources/data/create/recipes/crafting/extractor.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/extractor.json @@ -16,7 +16,7 @@ "item": "minecraft:dried_kelp" }, "N": { - "item": "create:gold_sheet" + "item": "create:brass_sheet" }, "P": { "tag": "minecraft:planks" diff --git a/src/main/resources/data/create/recipes/crafting/flexcrate.json b/src/main/resources/data/create/recipes/crafting_shaped/flexcrate.json similarity index 90% rename from src/main/resources/data/create/recipes/crafting/flexcrate.json rename to src/main/resources/data/create/recipes/crafting_shaped/flexcrate.json index 9cbd917be..8b782c248 100644 --- a/src/main/resources/data/create/recipes/crafting/flexcrate.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/flexcrate.json @@ -10,7 +10,7 @@ "tag": "minecraft:planks" }, "A": { - "item": "create:gold_sheet" + "item": "create:brass_sheet" }, "S": { "item": "minecraft:chest" diff --git a/src/main/resources/data/create/recipes/crafting/flexpeater.json b/src/main/resources/data/create/recipes/crafting_shaped/flexpeater.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/flexpeater.json rename to src/main/resources/data/create/recipes/crafting_shaped/flexpeater.json diff --git a/src/main/resources/data/create/recipes/crafting/gearbox.json b/src/main/resources/data/create/recipes/crafting_shaped/gearbox.json similarity index 89% rename from src/main/resources/data/create/recipes/crafting/gearbox.json rename to src/main/resources/data/create/recipes/crafting_shaped/gearbox.json index a3c481235..02421be9f 100644 --- a/src/main/resources/data/create/recipes/crafting/gearbox.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/gearbox.json @@ -10,7 +10,7 @@ "item": "create:cogwheel" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "S": { "tag": "minecraft:planks" diff --git a/src/main/resources/data/create/recipes/crafting/gearshift.json b/src/main/resources/data/create/recipes/crafting_shaped/gearshift.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/gearshift.json rename to src/main/resources/data/create/recipes/crafting_shaped/gearshift.json diff --git a/src/main/resources/data/create/recipes/crafting/harvester.json b/src/main/resources/data/create/recipes/crafting_shaped/harvester.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/harvester.json rename to src/main/resources/data/create/recipes/crafting_shaped/harvester.json diff --git a/src/main/resources/data/create/recipes/crafting/large_cogwheel.json b/src/main/resources/data/create/recipes/crafting_shaped/large_cogwheel.json similarity index 88% rename from src/main/resources/data/create/recipes/crafting/large_cogwheel.json rename to src/main/resources/data/create/recipes/crafting_shaped/large_cogwheel.json index 3a940c9ac..d7b9fbfd9 100644 --- a/src/main/resources/data/create/recipes/crafting/large_cogwheel.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/large_cogwheel.json @@ -13,12 +13,12 @@ "tag": "minecraft:planks" }, "S": { - "item": "create:shaft" + "item": "create:andesite_alloy" } }, "result": { "item": "create:large_cogwheel", - "count": 1 + "count": 2 }, "conditions": [ { diff --git a/src/main/resources/data/create/recipes/crafting/andesite_alloy_cube.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_alloy.json similarity index 75% rename from src/main/resources/data/create/recipes/crafting/andesite_alloy_cube.json rename to src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_alloy.json index 5bb96cfba..551e619d1 100644 --- a/src/main/resources/data/create/recipes/crafting/andesite_alloy_cube.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_alloy.json @@ -9,11 +9,11 @@ "item": "minecraft:andesite" }, "S": { - "item": "minecraft:iron_nugget" + "tag": "forge:nuggets/iron" } }, "result": { - "item": "create:andesite_alloy_cube", + "item": "create:andesite_alloy", "count": 1 } } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting/blaze_brass_cube.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_alloy_1.json similarity index 62% rename from src/main/resources/data/create/recipes/crafting/blaze_brass_cube.json rename to src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_alloy_1.json index 114a8e523..5a01dfcbc 100644 --- a/src/main/resources/data/create/recipes/crafting/blaze_brass_cube.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_alloy_1.json @@ -6,14 +6,14 @@ ], "key": { "W": { - "item": "minecraft:blaze_powder" + "item": "minecraft:andesite" }, "S": { - "item": "minecraft:gold_nugget" + "tag": "forge:nuggets/zinc" } }, "result": { - "item": "create:blaze_brass_cube", + "item": "create:andesite_alloy", "count": 1 } } \ 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 new file mode 100644 index 000000000..66e186697 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/andesite_casing.json @@ -0,0 +1,26 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "AAA", + "ASA", + "AAA" + ], + "key": { + "A": { + "tag": "minecraft:planks" + }, + "S": { + "item": "create:andesite_alloy" + } + }, + "result": { + "item": "create:andesite_casing", + "count": 4 + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file 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 new file mode 100644 index 000000000..166745171 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_casing.json @@ -0,0 +1,26 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "AAA", + "SSS", + "AAA" + ], + "key": { + "A": { + "tag": "minecraft:planks" + }, + "S": { + "tag": "forge:plates/brass" + } + }, + "result": { + "item": "create:brass_casing", + "count": 4 + }, + "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_casing.json b/src/main/resources/data/create/recipes/crafting_shaped/materials/copper_casing.json new file mode 100644 index 000000000..2d6510cf2 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shaped/materials/copper_casing.json @@ -0,0 +1,29 @@ +{ + "type": "crafting_shaped", + "pattern": [ + "AAA", + "CSC", + "AAA" + ], + "key": { + "A": { + "tag": "minecraft:planks" + }, + "S": { + "tag": "minecraft:logs" + }, + "C": { + "tag": "forge:plates/copper" + } + }, + "result": { + "item": "create:copper_casing", + "count": 4 + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting/mechanical_bearing.json b/src/main/resources/data/create/recipes/crafting_shaped/mechanical_bearing.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/mechanical_bearing.json rename to src/main/resources/data/create/recipes/crafting_shaped/mechanical_bearing.json diff --git a/src/main/resources/data/create/recipes/crafting/mechanical_piston.json b/src/main/resources/data/create/recipes/crafting_shaped/mechanical_piston.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/mechanical_piston.json rename to src/main/resources/data/create/recipes/crafting_shaped/mechanical_piston.json diff --git a/src/main/resources/data/create/recipes/crafting/mechanical_press.json b/src/main/resources/data/create/recipes/crafting_shaped/mechanical_press.json similarity index 91% rename from src/main/resources/data/create/recipes/crafting/mechanical_press.json rename to src/main/resources/data/create/recipes/crafting_shaped/mechanical_press.json index f861310aa..65b2257ec 100644 --- a/src/main/resources/data/create/recipes/crafting/mechanical_press.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/mechanical_press.json @@ -10,7 +10,7 @@ "tag": "minecraft:planks" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "P": { "item": "create:piston_pole" diff --git a/src/main/resources/data/create/recipes/crafting/palettes/dolomite_bricks.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_bricks.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/dolomite_bricks.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_bricks.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/dolomite_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/dolomite_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/dolomite_stairs.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_stairs.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/dolomite_stairs.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_stairs.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/dolomite_wall.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_wall.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/dolomite_wall.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/dolomite_wall.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/gabbro_bricks.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_bricks.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/gabbro_bricks.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_bricks.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/gabbro_bricks_stairs.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_bricks_stairs.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/gabbro_bricks_stairs.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_bricks_stairs.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/gabbro_bricks_wall.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_bricks_wall.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/gabbro_bricks_wall.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_bricks_wall.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/gabbro_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/gabbro_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/gabbro_stairs.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_stairs.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/gabbro_stairs.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_stairs.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/gabbro_wall.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_wall.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/gabbro_wall.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/gabbro_wall.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/indented_gabbro_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/indented_gabbro_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/indented_gabbro_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/indented_gabbro_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limesand.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limesand.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limesand.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limesand.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks_stairs.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks_stairs.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks_stairs.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks_stairs.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks_wall.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks_wall.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limestone_bricks_wall.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_bricks_wall.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limestone_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limestone_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limestone_stairs.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_stairs.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limestone_stairs.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_stairs.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/limestone_wall.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_wall.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/limestone_wall.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/limestone_wall.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/paved_gabbro_bricks_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/paved_gabbro_bricks_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/paved_gabbro_bricks_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/paved_gabbro_bricks_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/polished_dolomite.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_dolomite.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/polished_dolomite.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_dolomite.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/polished_gabbro.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_gabbro.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/polished_gabbro.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_gabbro.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/polished_limestone.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_limestone.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/polished_limestone.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_limestone.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/polished_limestone_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_limestone_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/polished_limestone_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_limestone_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/polished_weathered_limestone.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_weathered_limestone.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/polished_weathered_limestone.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_weathered_limestone.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/polished_weathered_limestone_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_weathered_limestone_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/polished_weathered_limestone_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/polished_weathered_limestone_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/tiled_glass_pane.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/tiled_glass_pane.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/tiled_glass_pane.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/tiled_glass_pane.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks_stairs.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks_stairs.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks_stairs.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks_stairs.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks_wall.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks_wall.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_bricks_wall.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_bricks_wall.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_slab.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_slab.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_slab.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_slab.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_stairs.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_stairs.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_stairs.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_stairs.json diff --git a/src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_wall.json b/src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_wall.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/palettes/weathered_limestone_wall.json rename to src/main/resources/data/create/recipes/crafting_shaped/palettes/weathered_limestone_wall.json diff --git a/src/main/resources/data/create/recipes/crafting/piston_pole.json b/src/main/resources/data/create/recipes/crafting_shaped/piston_pole.json similarity index 87% rename from src/main/resources/data/create/recipes/crafting/piston_pole.json rename to src/main/resources/data/create/recipes/crafting_shaped/piston_pole.json index 78594312e..33b01ac29 100644 --- a/src/main/resources/data/create/recipes/crafting/piston_pole.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/piston_pole.json @@ -10,7 +10,7 @@ "tag": "minecraft:planks" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" } }, "result": { diff --git a/src/main/resources/data/create/recipes/crafting/propeller.json b/src/main/resources/data/create/recipes/crafting_shaped/propeller.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/propeller.json rename to src/main/resources/data/create/recipes/crafting_shaped/propeller.json diff --git a/src/main/resources/data/create/recipes/crafting/pulse_repeater.json b/src/main/resources/data/create/recipes/crafting_shaped/pulse_repeater.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/pulse_repeater.json rename to src/main/resources/data/create/recipes/crafting_shaped/pulse_repeater.json diff --git a/src/main/resources/data/create/recipes/crafting/redstone_bridge.json b/src/main/resources/data/create/recipes/crafting_shaped/redstone_bridge.json similarity index 90% rename from src/main/resources/data/create/recipes/crafting/redstone_bridge.json rename to src/main/resources/data/create/recipes/crafting_shaped/redstone_bridge.json index a5c46d639..bf1c6b139 100644 --- a/src/main/resources/data/create/recipes/crafting/redstone_bridge.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/redstone_bridge.json @@ -9,7 +9,7 @@ "tag": "minecraft:planks" }, "G": { - "item": "create:gold_sheet" + "item": "create:brass_sheet" }, "T": { "item": "minecraft:redstone_torch" diff --git a/src/main/resources/data/create/recipes/crafting/rotation_chassis.json b/src/main/resources/data/create/recipes/crafting_shaped/rotation_chassis.json similarity index 89% rename from src/main/resources/data/create/recipes/crafting/rotation_chassis.json rename to src/main/resources/data/create/recipes/crafting_shaped/rotation_chassis.json index 31370e08f..0364d573e 100644 --- a/src/main/resources/data/create/recipes/crafting/rotation_chassis.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/rotation_chassis.json @@ -10,7 +10,7 @@ "tag": "minecraft:logs" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "P": { "tag": "minecraft:planks" diff --git a/src/main/resources/data/create/recipes/crafting/blueprint_and_quill.json b/src/main/resources/data/create/recipes/crafting_shaped/schematics/blueprint_and_quill.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/blueprint_and_quill.json rename to src/main/resources/data/create/recipes/crafting_shaped/schematics/blueprint_and_quill.json diff --git a/src/main/resources/data/create/recipes/crafting/empty_blueprint.json b/src/main/resources/data/create/recipes/crafting_shaped/schematics/empty_blueprint.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/empty_blueprint.json rename to src/main/resources/data/create/recipes/crafting_shaped/schematics/empty_blueprint.json diff --git a/src/main/resources/data/create/recipes/crafting/schematic_table.json b/src/main/resources/data/create/recipes/crafting_shaped/schematics/schematic_table.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/schematic_table.json rename to src/main/resources/data/create/recipes/crafting_shaped/schematics/schematic_table.json diff --git a/src/main/resources/data/create/recipes/crafting/schematicannon.json b/src/main/resources/data/create/recipes/crafting_shaped/schematics/schematicannon.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/schematicannon.json rename to src/main/resources/data/create/recipes/crafting_shaped/schematics/schematicannon.json diff --git a/src/main/resources/data/create/recipes/crafting/shaft.json b/src/main/resources/data/create/recipes/crafting_shaped/shaft.json similarity index 74% rename from src/main/resources/data/create/recipes/crafting/shaft.json rename to src/main/resources/data/create/recipes/crafting_shaped/shaft.json index 58d5e20ed..13f9aec61 100644 --- a/src/main/resources/data/create/recipes/crafting/shaft.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/shaft.json @@ -2,17 +2,16 @@ "type": "crafting_shaped", "pattern": [ "A", - "A", - "A" + "A" ], "key": { "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" } }, "result": { "item": "create:shaft", - "count": 16 + "count": 8 }, "conditions": [ { diff --git a/src/main/resources/data/create/recipes/crafting/sticky_mechanical_piston.json b/src/main/resources/data/create/recipes/crafting_shaped/sticky_mechanical_piston.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/sticky_mechanical_piston.json rename to src/main/resources/data/create/recipes/crafting_shaped/sticky_mechanical_piston.json diff --git a/src/main/resources/data/create/recipes/crafting/stockswitch.json b/src/main/resources/data/create/recipes/crafting_shaped/stockswitch.json similarity index 92% rename from src/main/resources/data/create/recipes/crafting/stockswitch.json rename to src/main/resources/data/create/recipes/crafting_shaped/stockswitch.json index e2fe37d6e..fca75c680 100644 --- a/src/main/resources/data/create/recipes/crafting/stockswitch.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/stockswitch.json @@ -16,7 +16,7 @@ "item": "minecraft:comparator" }, "G": { - "item": "create:gold_sheet" + "item": "create:brass_sheet" } }, "result": { diff --git a/src/main/resources/data/create/recipes/crafting/translation_chassis.json b/src/main/resources/data/create/recipes/crafting_shaped/translation_chassis.json similarity index 89% rename from src/main/resources/data/create/recipes/crafting/translation_chassis.json rename to src/main/resources/data/create/recipes/crafting_shaped/translation_chassis.json index f96951106..af0ed423e 100644 --- a/src/main/resources/data/create/recipes/crafting/translation_chassis.json +++ b/src/main/resources/data/create/recipes/crafting_shaped/translation_chassis.json @@ -10,7 +10,7 @@ "tag": "minecraft:logs" }, "A": { - "item": "create:andesite_alloy_cube" + "item": "create:andesite_alloy" }, "P": { "tag": "minecraft:planks" diff --git a/src/main/resources/data/create/recipes/crafting/turntable.json b/src/main/resources/data/create/recipes/crafting_shaped/turntable.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/turntable.json rename to src/main/resources/data/create/recipes/crafting_shaped/turntable.json diff --git a/src/main/resources/data/create/recipes/crafting/water_wheel.json b/src/main/resources/data/create/recipes/crafting_shaped/water_wheel.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/water_wheel.json rename to src/main/resources/data/create/recipes/crafting_shaped/water_wheel.json diff --git a/src/main/resources/data/create/recipes/crafting/dough.json b/src/main/resources/data/create/recipes/crafting_shapeless/dough.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/dough.json rename to src/main/resources/data/create/recipes/crafting_shapeless/dough.json diff --git a/src/main/resources/data/create/recipes/crafting/gearbox2.json b/src/main/resources/data/create/recipes/crafting_shapeless/gearbox.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/gearbox2.json rename to src/main/resources/data/create/recipes/crafting_shapeless/gearbox.json diff --git a/src/main/resources/data/create/recipes/crafting/linked_extractor.json b/src/main/resources/data/create/recipes/crafting_shapeless/linked_extractor.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/linked_extractor.json rename to src/main/resources/data/create/recipes/crafting_shapeless/linked_extractor.json diff --git a/src/main/resources/data/create/recipes/crafting_shapeless/red_sand_paper.json b/src/main/resources/data/create/recipes/crafting_shapeless/red_sand_paper.json new file mode 100644 index 000000000..17a61770f --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shapeless/red_sand_paper.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:sand/red" + }, + { + "item": "minecraft:paper" + } + ], + "result": { + "item": "create:red_sand_paper", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shapeless/rose_quartz.json b/src/main/resources/data/create/recipes/crafting_shapeless/rose_quartz.json new file mode 100644 index 000000000..7a7645554 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shapeless/rose_quartz.json @@ -0,0 +1,42 @@ +{ + "type": "crafting_shapeless", + "ingredients": [ + { + "tag": "forge:gems/quartz" + }, + { + "tag": "forge:dusts/redstone" + }, + { + "tag": "forge:dusts/redstone" + }, + { + "tag": "forge:dusts/redstone" + }, + { + "tag": "forge:dusts/redstone" + }, + { + "tag": "forge:dusts/redstone" + }, + { + "tag": "forge:dusts/redstone" + }, + { + "tag": "forge:dusts/redstone" + }, + { + "tag": "forge:dusts/redstone" + } + ], + "result": { + "item": "create:rose_quartz", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shapeless/sand_paper.json b/src/main/resources/data/create/recipes/crafting_shapeless/sand_paper.json new file mode 100644 index 000000000..29afa6913 --- /dev/null +++ b/src/main/resources/data/create/recipes/crafting_shapeless/sand_paper.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:sand/colorless" + }, + { + "item": "minecraft:paper" + } + ], + "result": { + "item": "create:sand_paper", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting/slime_ball.json b/src/main/resources/data/create/recipes/crafting_shapeless/slime_ball.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/slime_ball.json rename to src/main/resources/data/create/recipes/crafting_shapeless/slime_ball.json diff --git a/src/main/resources/data/create/recipes/crafting/tree_fertilizer.json b/src/main/resources/data/create/recipes/crafting_shapeless/tree_fertilizer.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/tree_fertilizer.json rename to src/main/resources/data/create/recipes/crafting_shapeless/tree_fertilizer.json diff --git a/src/main/resources/data/create/recipes/crafting/vertical_gearbox.json b/src/main/resources/data/create/recipes/crafting_shapeless/vertical_gearbox.json similarity index 100% rename from src/main/resources/data/create/recipes/crafting/vertical_gearbox.json rename to src/main/resources/data/create/recipes/crafting_shapeless/vertical_gearbox.json diff --git a/src/main/resources/data/create/recipes/crushing/diorite.json b/src/main/resources/data/create/recipes/crushing/diorite.json index a45a27003..58abbbc07 100644 --- a/src/main/resources/data/create/recipes/crushing/diorite.json +++ b/src/main/resources/data/create/recipes/crushing/diorite.json @@ -14,7 +14,7 @@ { "item": "minecraft:quartz", "count": 1, - "chance": 0.5 + "chance": 0.125 } ], "processingTime": 200 diff --git a/src/main/resources/data/create/recipes/crushing/granite.json b/src/main/resources/data/create/recipes/crushing/granite.json index 44f295008..82577d4d0 100644 --- a/src/main/resources/data/create/recipes/crushing/granite.json +++ b/src/main/resources/data/create/recipes/crushing/granite.json @@ -14,7 +14,7 @@ { "item": "minecraft:quartz", "count": 1, - "chance": 0.5 + "chance": 0.125 } ], "processingTime": 200 diff --git a/src/main/resources/data/create/recipes/crushing/obsidian.json b/src/main/resources/data/create/recipes/crushing/obsidian.json new file mode 100644 index 000000000..d75c3405b --- /dev/null +++ b/src/main/resources/data/create/recipes/crushing/obsidian.json @@ -0,0 +1,22 @@ +{ + "type": "create:crushing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "minecraft:obsidian" + } + ], + "results": [ + { + "item": "create:obsidian_dust", + "count": 1, + "chance": 1 + }, + { + "item": "minecraft:obsidian", + "count": 1, + "chance": 0.875 + } + ], + "processingTime": 500 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/cutting/andesite_alloy.json b/src/main/resources/data/create/recipes/cutting/andesite_alloy.json new file mode 100644 index 000000000..e59d40cd7 --- /dev/null +++ b/src/main/resources/data/create/recipes/cutting/andesite_alloy.json @@ -0,0 +1,16 @@ +{ + "type": "create:cutting", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "create:andesite_alloy" + } + ], + "results": [ + { + "item": "create:shaft", + "count": 6 + } + ], + "processingTime": 200 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/mechanical_crafting/circuit.json b/src/main/resources/data/create/recipes/mechanical_crafting/circuit.json deleted file mode 100644 index 065f1122c..000000000 --- a/src/main/resources/data/create/recipes/mechanical_crafting/circuit.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "create:mechanical_crafting", - "pattern": [ - "GI ", - "NNN" - ], - "key": { - "G": { - "tag": "forge:dyes/green" - }, - "I": { - "item": "create:iron_sheet" - }, - "N": { - "item": "create:copper_nugget" - } - }, - "result": { - "item": "create:circuit", - "count": 1 - }, - "conditions": [ - { - "type": "create:module", - "module": "contraptions" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/mechanical_crafting/integrated_circuit.json b/src/main/resources/data/create/recipes/mechanical_crafting/integrated_circuit.json new file mode 100644 index 000000000..bac6e7c36 --- /dev/null +++ b/src/main/resources/data/create/recipes/mechanical_crafting/integrated_circuit.json @@ -0,0 +1,33 @@ +{ + "type": "create:mechanical_crafting", + "pattern": [ + " L ", + "RRR", + " C ", + "NNN" + ], + "key": { + "L": { + "item": "create:lapis_plate" + }, + "R": { + "tag": "forge:dusts/redstone" + }, + "C": { + "tag": "forge:plates/iron" + }, + "N": { + "tag": "forge:nuggets/copper" + } + }, + "result": { + "item": "create:integrated_circuit", + "count": 1 + }, + "conditions": [ + { + "type": "create:module", + "module": "contraptions" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/mechanical_crafting/motor.json b/src/main/resources/data/create/recipes/mechanical_crafting/motor.json deleted file mode 100644 index 47a8e2570..000000000 --- a/src/main/resources/data/create/recipes/mechanical_crafting/motor.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "type": "create:mechanical_crafting", - "pattern": [ - "SAAA ", - "AABBI", - "ABBBI", - "ABBII", - " IIIO" - ], - "key": { - "B": { - "item": "create:chorus_chrome_cube" - }, - "A": { - "item": "create:iron_sheet" - }, - "I": { - "item": "minecraft:iron_block" - }, - "S": { - "item": "create:shaft" - }, - "O": { - "item": "minecraft:obsidian" - } - }, - "result": { - "item": "create:motor", - "count": 1 - }, - "conditions": [ - { - "type": "create:module", - "module": "contraptions" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/mixing/andesite_alloy.json b/src/main/resources/data/create/recipes/mixing/andesite_alloy.json index 4b257d05d..e09e8f5b9 100644 --- a/src/main/resources/data/create/recipes/mixing/andesite_alloy.json +++ b/src/main/resources/data/create/recipes/mixing/andesite_alloy.json @@ -6,12 +6,12 @@ "item": "minecraft:andesite" }, { - "item": "minecraft:iron_nugget" + "tag": "forge:nuggets/iron" } ], "results": [ { - "item": "create:andesite_alloy_cube", + "item": "create:andesite_alloy", "count": 1 } ] diff --git a/src/main/resources/data/create/recipes/mixing/andesite_alloy_1.json b/src/main/resources/data/create/recipes/mixing/andesite_alloy_1.json new file mode 100644 index 000000000..05d00ebb4 --- /dev/null +++ b/src/main/resources/data/create/recipes/mixing/andesite_alloy_1.json @@ -0,0 +1,18 @@ +{ + "type": "create:mixing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "minecraft:andesite" + }, + { + "tag": "forge:nuggets/zinc" + } + ], + "results": [ + { + "item": "create:andesite_alloy", + "count": 1 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/mixing/brass_nugget.json b/src/main/resources/data/create/recipes/mixing/brass_nugget.json new file mode 100644 index 000000000..ca90d73a6 --- /dev/null +++ b/src/main/resources/data/create/recipes/mixing/brass_nugget.json @@ -0,0 +1,22 @@ +{ + "type": "create:mixing", + "group": "minecraft:misc", + "ingredients": [ + { + "tag": "forge:nuggets/copper" + }, + { + "tag": "forge:nuggets/zinc" + }, + { + "item": "minecraft:blaze_rod", + "return_chance": 0.97 + } + ], + "results": [ + { + "item": "create:brass_nugget", + "count": 2 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/mixing/chromatic_compound.json b/src/main/resources/data/create/recipes/mixing/chromatic_compound.json new file mode 100644 index 000000000..95c8f6af1 --- /dev/null +++ b/src/main/resources/data/create/recipes/mixing/chromatic_compound.json @@ -0,0 +1,37 @@ +{ + "type": "create:mixing", + "group": "minecraft:misc", + "ingredients": [ + { + "tag": "forge:dusts/glowstone" + }, + { + "tag": "forge:dusts/glowstone" + }, + { + "tag": "forge:dusts/glowstone" + }, + { + "item": "create:polished_rose_quartz" + }, + { + "item": "create:obsidian_dust" + }, + { + "item": "create:obsidian_dust" + }, + { + "item": "create:obsidian_dust" + }, + { + "item": "minecraft:dragon_breath", + "return_chance": 0.94 + } + ], + "results": [ + { + "item": "create:chromatic_compound", + "count": 1 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/mixing/crushed_brass.json b/src/main/resources/data/create/recipes/mixing/crushed_brass.json new file mode 100644 index 000000000..a4a54694f --- /dev/null +++ b/src/main/resources/data/create/recipes/mixing/crushed_brass.json @@ -0,0 +1,22 @@ +{ + "type": "create:mixing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "create:crushed_copper" + }, + { + "item": "create:crushed_zinc" + }, + { + "item": "minecraft:blaze_rod", + "return_chance": 0.94 + } + ], + "results": [ + { + "item": "create:crushed_brass", + "count": 2 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/pressing/brass_ingot.json b/src/main/resources/data/create/recipes/pressing/brass_ingot.json new file mode 100644 index 000000000..7ca38827d --- /dev/null +++ b/src/main/resources/data/create/recipes/pressing/brass_ingot.json @@ -0,0 +1,16 @@ +{ + "type": "create:pressing", + "group": "minecraft:misc", + "ingredients": [ + { + "tag": "forge:ingots/brass" + } + ], + "results": [ + { + "item": "create:brass_sheet", + "count": 1 + } + ], + "processingTime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/pressing/copper_ingot.json b/src/main/resources/data/create/recipes/pressing/copper_ingot.json new file mode 100644 index 000000000..44c1c7cb0 --- /dev/null +++ b/src/main/resources/data/create/recipes/pressing/copper_ingot.json @@ -0,0 +1,16 @@ +{ + "type": "create:pressing", + "group": "minecraft:misc", + "ingredients": [ + { + "tag": "forge:ingots/copper" + } + ], + "results": [ + { + "item": "create:copper_sheet", + "count": 1 + } + ], + "processingTime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/pressing/gold_ingot.json b/src/main/resources/data/create/recipes/pressing/gold_ingot.json index 76b05f691..6e9a29362 100644 --- a/src/main/resources/data/create/recipes/pressing/gold_ingot.json +++ b/src/main/resources/data/create/recipes/pressing/gold_ingot.json @@ -3,7 +3,7 @@ "group": "minecraft:misc", "ingredients": [ { - "item": "minecraft:gold_ingot" + "tag": "forge:ingots/gold" } ], "results": [ diff --git a/src/main/resources/data/create/recipes/pressing/iron_ingot.json b/src/main/resources/data/create/recipes/pressing/iron_ingot.json index fb403fcef..e54bd8eb6 100644 --- a/src/main/resources/data/create/recipes/pressing/iron_ingot.json +++ b/src/main/resources/data/create/recipes/pressing/iron_ingot.json @@ -3,7 +3,7 @@ "group": "minecraft:misc", "ingredients": [ { - "item": "minecraft:iron_ingot" + "tag": "forge:ingots/iron" } ], "results": [ diff --git a/src/main/resources/data/create/recipes/pressing/lapis_block.json b/src/main/resources/data/create/recipes/pressing/lapis_block.json new file mode 100644 index 000000000..d7014e528 --- /dev/null +++ b/src/main/resources/data/create/recipes/pressing/lapis_block.json @@ -0,0 +1,16 @@ +{ + "type": "create:pressing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "minecraft:lapis_block" + } + ], + "results": [ + { + "item": "create:lapis_plate", + "count": 1 + } + ], + "processingTime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/sandpaper_polishing/rose_quartz.json b/src/main/resources/data/create/recipes/sandpaper_polishing/rose_quartz.json new file mode 100644 index 000000000..f04adb45f --- /dev/null +++ b/src/main/resources/data/create/recipes/sandpaper_polishing/rose_quartz.json @@ -0,0 +1,15 @@ +{ + "type": "create:sandpaper_polishing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "create:rose_quartz" + } + ], + "results": [ + { + "item": "create:polished_rose_quartz", + "count": 1 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/smelting/bread.json b/src/main/resources/data/create/recipes/smelting/bread.json index e06db8c60..a47aab4f9 100644 --- a/src/main/resources/data/create/recipes/smelting/bread.json +++ b/src/main/resources/data/create/recipes/smelting/bread.json @@ -5,11 +5,5 @@ }, "result": "minecraft:bread", "experience": 0.1, - "cookingtime": 200, - "conditions": [ - { - "type": "create:module", - "module": "contraptions" - } - ] + "cookingtime": 200 } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/smelting/crushed_brass.json b/src/main/resources/data/create/recipes/smelting/crushed_brass.json new file mode 100644 index 000000000..900b9346a --- /dev/null +++ b/src/main/resources/data/create/recipes/smelting/crushed_brass.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_brass" + }, + "result": "create:brass_ingot", + "experience": 0.1, + "cookingtime": 200 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/smelting/crushed_copper.json b/src/main/resources/data/create/recipes/smelting/crushed_copper.json new file mode 100644 index 000000000..1a5c337e0 --- /dev/null +++ b/src/main/resources/data/create/recipes/smelting/crushed_copper.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_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/crushed_gold.json b/src/main/resources/data/create/recipes/smelting/crushed_gold.json index e348b4120..8598b5002 100644 --- a/src/main/resources/data/create/recipes/smelting/crushed_gold.json +++ b/src/main/resources/data/create/recipes/smelting/crushed_gold.json @@ -5,11 +5,5 @@ }, "result": "minecraft:gold_ingot", "experience": 0.1, - "cookingtime": 200, - "conditions": [ - { - "type": "create:module", - "module": "contraptions" - } - ] + "cookingtime": 200 } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/smelting/crushed_iron.json b/src/main/resources/data/create/recipes/smelting/crushed_iron.json index a64f9a7b0..57e5f9938 100644 --- a/src/main/resources/data/create/recipes/smelting/crushed_iron.json +++ b/src/main/resources/data/create/recipes/smelting/crushed_iron.json @@ -5,11 +5,5 @@ }, "result": "minecraft:iron_ingot", "experience": 0.1, - "cookingtime": 200, - "conditions": [ - { - "type": "create:module", - "module": "contraptions" - } - ] + "cookingtime": 200 } \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/smelting/crushed_zinc.json b/src/main/resources/data/create/recipes/smelting/crushed_zinc.json new file mode 100644 index 000000000..8a500a2de --- /dev/null +++ b/src/main/resources/data/create/recipes/smelting/crushed_zinc.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_zinc" + }, + "result": "create:zinc_ingot", + "experience": 0.1, + "cookingtime": 200 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/splashing/crushed_brass.json b/src/main/resources/data/create/recipes/splashing/crushed_brass.json new file mode 100644 index 000000000..7a69fa1a4 --- /dev/null +++ b/src/main/resources/data/create/recipes/splashing/crushed_brass.json @@ -0,0 +1,22 @@ +{ + "type": "create:splashing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "create:crushed_brass" + } + ], + "results": [ + { + "item": "create:brass_nugget", + "count": 10, + "chance": 1 + }, + { + "item": "create:brass_nugget", + "count": 5, + "chance": 0.5 + } + ], + "processingTime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/splashing/crushed_copper.json b/src/main/resources/data/create/recipes/splashing/crushed_copper.json new file mode 100644 index 000000000..024f9cac9 --- /dev/null +++ b/src/main/resources/data/create/recipes/splashing/crushed_copper.json @@ -0,0 +1,22 @@ +{ + "type": "create:splashing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "create:crushed_copper" + } + ], + "results": [ + { + "item": "create:copper_nugget", + "count": 10, + "chance": 1 + }, + { + "item": "create:copper_nugget", + "count": 5, + "chance": 0.5 + } + ], + "processingTime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/splashing/crushed_zinc.json b/src/main/resources/data/create/recipes/splashing/crushed_zinc.json new file mode 100644 index 000000000..a8a8800be --- /dev/null +++ b/src/main/resources/data/create/recipes/splashing/crushed_zinc.json @@ -0,0 +1,22 @@ +{ + "type": "create:splashing", + "group": "minecraft:misc", + "ingredients": [ + { + "item": "create:crushed_zinc" + } + ], + "results": [ + { + "item": "create:zinc_nugget", + "count": 10, + "chance": 1 + }, + { + "item": "create:zinc_nugget", + "count": 5, + "chance": 0.5 + } + ], + "processingTime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/create/tags/items/crushed_ores.json b/src/main/resources/data/create/tags/items/crushed_ores.json new file mode 100644 index 000000000..7872bee65 --- /dev/null +++ b/src/main/resources/data/create/tags/items/crushed_ores.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "create:crushed_iron", + "create:crushed_gold", + "create:crushed_brass", + "create:crushed_zinc", + "create:crushed_copper" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/ingots.json b/src/main/resources/data/forge/tags/items/ingots.json new file mode 100644 index 000000000..a39dc5b72 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/ingots.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "#forge:ingots/brass", + "#forge:ingots/copper", + "#forge:ingots/zinc" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/ingots/brass.json b/src/main/resources/data/forge/tags/items/ingots/brass.json new file mode 100644 index 000000000..feebc4293 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/ingots/brass.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:brass_ingot" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/ingots/copper.json b/src/main/resources/data/forge/tags/items/ingots/copper.json new file mode 100644 index 000000000..2617d2aeb --- /dev/null +++ b/src/main/resources/data/forge/tags/items/ingots/copper.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:copper_ingot" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/ingots/zinc.json b/src/main/resources/data/forge/tags/items/ingots/zinc.json new file mode 100644 index 000000000..401a1ea1d --- /dev/null +++ b/src/main/resources/data/forge/tags/items/ingots/zinc.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:zinc_ingot" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/nuggets.json b/src/main/resources/data/forge/tags/items/nuggets.json new file mode 100644 index 000000000..f7f1b2aff --- /dev/null +++ b/src/main/resources/data/forge/tags/items/nuggets.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "#forge:nuggets/brass", + "#forge:nuggets/copper", + "#forge:nuggets/zinc" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/nuggets/brass.json b/src/main/resources/data/forge/tags/items/nuggets/brass.json new file mode 100644 index 000000000..3b9add6b0 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/nuggets/brass.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:brass_nugget" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/nuggets/copper.json b/src/main/resources/data/forge/tags/items/nuggets/copper.json new file mode 100644 index 000000000..555bdee2c --- /dev/null +++ b/src/main/resources/data/forge/tags/items/nuggets/copper.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:copper_nugget" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/nuggets/zinc.json b/src/main/resources/data/forge/tags/items/nuggets/zinc.json new file mode 100644 index 000000000..55913868b --- /dev/null +++ b/src/main/resources/data/forge/tags/items/nuggets/zinc.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:zinc_nugget" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/plates.json b/src/main/resources/data/forge/tags/items/plates.json new file mode 100644 index 000000000..5a5e32ba0 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/plates.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "#forge:plates/brass", + "#forge:plates/copper", + "#forge:plates/iron", + "#forge:plates/gold" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/plates/brass.json b/src/main/resources/data/forge/tags/items/plates/brass.json new file mode 100644 index 000000000..c4b2191c7 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/plates/brass.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:brass_sheet" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/plates/copper.json b/src/main/resources/data/forge/tags/items/plates/copper.json new file mode 100644 index 000000000..71079712b --- /dev/null +++ b/src/main/resources/data/forge/tags/items/plates/copper.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:copper_sheet" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/plates/gold.json b/src/main/resources/data/forge/tags/items/plates/gold.json new file mode 100644 index 000000000..ba9349551 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/plates/gold.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:gold_sheet" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/forge/tags/items/plates/iron.json b/src/main/resources/data/forge/tags/items/plates/iron.json new file mode 100644 index 000000000..cfbf11632 --- /dev/null +++ b/src/main/resources/data/forge/tags/items/plates/iron.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:iron_sheet" + ] +} \ No newline at end of file