diff --git a/gradle.properties b/gradle.properties index 56dd9af..9ebd200 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,4 @@ version_minecraft=1.16.2 version_forge_minecraft=1.16.2-33.0.37 version_fml_mappings=20200723-1.16.1 version_jei=1.16.2:7.1.3.19 -version_engineersdecor=1.1.2-b5 +version_engineersdecor=1.1.2-b6 diff --git a/meta/update.json b/meta/update.json index 93b1a79..7884244 100644 --- a/meta/update.json +++ b/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.16.2": { + "1.1.2-b6": "[A] Signs added: Generic Caution, Magical Hazard, Radioactive Hazard, Laser Hazard, Fire Hazard, Caution Hot Surface, Magnetic Field Caution, Frost Warning.\n[A] Water Freezer added (generates Ice, Packed Ice, Blue Ice from water).\n[F] Mineral Smelter GUI model facing fixed.\n[M] Hatch handling improved.\n[M] Ladder fast-move improved.\n[F] Roof Chimney Trunk shape hollow to allow feeding IE Wire power over the roof into the building.\n[A] Roof Chimney added (smoking offset for Dark Shingle Roof Chimney Trunk block).\n[A] Metal Bar (ingredient item) added to circumvent recipe collisions with other mods.\n[M] Recipes for metallic blocks modified accordingly to depend on Metal Bars.", "1.1.2-b5": "[A] Sandstone Ornamented Clinker Brick added.\n[A] Old Industrial Wood Planks/Stairs/Slabs/Slab Slices added.\n[A] Old Industrial Wood Door added.\n[M] Wood textures made slightly darker.\n[F] Milking Machine fluid transfer re-added (thx gebcrafter).\n[F] Fluid Barrel status overlay message format fixed.\n[F] Fixed missing Dense Grit Dirt loot table (issue #124, thx vaelzan).", "1.1.2-b4": "[F] Mapping adaption to Forge 1.16.2-33.0.22/20200723-1.16.1.\n[F] Fixed conditional recipe tag dependency (thx Blu, Cyborgmas).", "1.1.2-b3": "[F] Mapping adaption to Forge 1.16.2-33.0.20.", @@ -8,7 +9,7 @@ "1.1.2-b1": "[U] Ported to MC1.16.2." }, "promos": { - "1.16.2-recommended": "1.1.2-b5", - "1.16.2-latest": "1.1.2-b5" + "1.16.2-recommended": "1.1.2-b6", + "1.16.2-latest": "1.1.2-b6" } } \ No newline at end of file diff --git a/readme.md b/readme.md index 495c2da..816bdb6 100644 --- a/readme.md +++ b/readme.md @@ -11,6 +11,17 @@ Mod sources for Minecraft version 1.16.2. ## Version history + - v1.1.2-b6 [A] Signs added: Generic Caution, Magical Hazard, Radioactive Hazard, Laser Hazard, + Fire Hazard, Caution Hot Surface, Magnetic Field Caution, Frost Warning. + [A] Water Freezer added (generates Ice, Packed Ice, Blue Ice from water). + [F] Mineral Smelter GUI model facing fixed. + [M] Hatch handling improved. + [M] Ladder fast-move improved. + [F] Roof Chimney Trunk shape hollow to allow feeding IE Wire power over the roof into the building. + [A] Roof Chimney added (smoking offset for Dark Shingle Roof Chimney Trunk block). + [A] Metal Bar (ingredient item) added to circumvent recipe collisions with other mods. + [M] Recipes for metallic blocks modified accordingly to depend on Metal Bars. + - v1.1.2-b5 [A] Sandstone Ornamented Clinker Brick added. [A] Old Industrial Wood Planks/Stairs/Slabs/Slab Slices added. [A] Old Industrial Wood Door added. diff --git a/src/main/java/wile/engineersdecor/ModContent.java b/src/main/java/wile/engineersdecor/ModContent.java index 15cbcf2..cfa606a 100644 --- a/src/main/java/wile/engineersdecor/ModContent.java +++ b/src/main/java/wile/engineersdecor/ModContent.java @@ -17,6 +17,7 @@ import wile.engineersdecor.blocks.EdFurnace.FurnaceBlock; import wile.engineersdecor.blocks.EdFurnace.FurnaceContainer; import wile.engineersdecor.blocks.EdFurnace.FurnaceGui; import wile.engineersdecor.blocks.EdFurnace.FurnaceTileEntity; +import wile.engineersdecor.items.EdItem; import wile.engineersdecor.libmc.blocks.StandardBlocks; import wile.engineersdecor.libmc.blocks.StandardBlocks.IStandardBlock; import wile.engineersdecor.libmc.detail.Auxiliaries; @@ -57,6 +58,8 @@ import javax.annotation.Nonnull; @SuppressWarnings("unused") public class ModContent { + private static final String MODID = ModEngineersDecor.MODID; + //-------------------------------------------------------------------------------------------------------------------- // Blocks //-------------------------------------------------------------------------------------------------------------------- @@ -64,255 +67,263 @@ public class ModContent public static final DecorBlock.Normal CLINKER_BRICK_BLOCK = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_block")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_block")); public static final EdSlabBlock CLINKER_BRICK_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_slab")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_slab")); public static final EdStairsBlock CLINKER_BRICK_STAIRS = (EdStairsBlock)(new EdStairsBlock( DecorBlock.CFG_DEFAULT, CLINKER_BRICK_BLOCK.getDefaultState(), Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_stairs")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_stairs")); public static final EdWallBlock CLINKER_BRICK_WALL = (EdWallBlock)(new EdWallBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_wall")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_wall")); public static final DecorBlock.Normal CLINKER_BRICK_STAINED_BLOCK = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_stained_block")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_stained_block")); public static final EdSlabBlock CLINKER_BRICK_STAINED_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_stained_slab")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_stained_slab")); public static final EdStairsBlock CLINKER_BRICK_STAINED_STAIRS = (EdStairsBlock)(new EdStairsBlock( DecorBlock.CFG_DEFAULT, CLINKER_BRICK_BLOCK.getDefaultState(), Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_stained_stairs")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_stained_stairs")); public static final EdCornerOrnamentedBlock CLINKER_BRICK_SASTOR_CORNER = (EdCornerOrnamentedBlock)(new EdCornerOrnamentedBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE), new Block[]{CLINKER_BRICK_BLOCK, CLINKER_BRICK_STAINED_BLOCK, CLINKER_BRICK_SLAB, CLINKER_BRICK_STAIRS, CLINKER_BRICK_STAINED_SLAB, CLINKER_BRICK_STAINED_STAIRS} - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_sastor_corner_block")); + )).setRegistryName(new ResourceLocation(MODID, "clinker_brick_sastor_corner_block")); // ------------------------------------------------------------------------------------------------------------------- public static final DecorBlock.Normal SLAG_BRICK_BLOCK = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_block")); + )).setRegistryName(new ResourceLocation(MODID, "slag_brick_block")); public static final EdSlabBlock SLAG_BRICK_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_slab")); + )).setRegistryName(new ResourceLocation(MODID, "slag_brick_slab")); public static final EdStairsBlock SLAG_BRICK_STAIRS = (EdStairsBlock)(new EdStairsBlock( DecorBlock.CFG_DEFAULT, SLAG_BRICK_BLOCK.getDefaultState(), Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_stairs")); + )).setRegistryName(new ResourceLocation(MODID, "slag_brick_stairs")); public static final EdWallBlock SLAG_BRICK_WALL = (EdWallBlock)(new EdWallBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(3f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_wall")); + )).setRegistryName(new ResourceLocation(MODID, "slag_brick_wall")); // ------------------------------------------------------------------------------------------------------------------- public static final DecorBlock.Normal REBAR_CONCRETE_BLOCK = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete")); + )).setRegistryName(new ResourceLocation(MODID, "rebar_concrete")); public static final EdSlabBlock REBAR_CONCRETE_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_slab")); + )).setRegistryName(new ResourceLocation(MODID, "rebar_concrete_slab")); public static final EdStairsBlock REBAR_CONCRETE_STAIRS = (EdStairsBlock)(new EdStairsBlock( DecorBlock.CFG_DEFAULT, REBAR_CONCRETE_BLOCK.getDefaultState(), Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_stairs")); + )).setRegistryName(new ResourceLocation(MODID, "rebar_concrete_stairs")); public static final EdWallBlock REBAR_CONCRETE_WALL = (EdWallBlock)(new EdWallBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_wall")); + )).setRegistryName(new ResourceLocation(MODID, "rebar_concrete_wall")); public static final EdSlabSliceBlock HALFSLAB_REBARCONCRETE = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_rebar_concrete")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_rebar_concrete")); // ------------------------------------------------------------------------------------------------------------------- public static final DecorBlock.Normal GAS_CONCRETE_BLOCK = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1.5f, 10f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "gas_concrete")); + )).setRegistryName(new ResourceLocation(MODID, "gas_concrete")); public static final EdSlabBlock GAS_CONCRETE_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1.5f, 10f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "gas_concrete_slab")); + )).setRegistryName(new ResourceLocation(MODID, "gas_concrete_slab")); public static final EdStairsBlock GAS_CONCRETE_STAIRS = (EdStairsBlock)(new EdStairsBlock( DecorBlock.CFG_DEFAULT, REBAR_CONCRETE_BLOCK.getDefaultState(), Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1.5f, 10f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "gas_concrete_stairs")); + )).setRegistryName(new ResourceLocation(MODID, "gas_concrete_stairs")); public static final EdWallBlock GAS_CONCRETE_WALL = (EdWallBlock)(new EdWallBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1.5f, 10f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "gas_concrete_wall")); + )).setRegistryName(new ResourceLocation(MODID, "gas_concrete_wall")); public static final EdSlabSliceBlock HALFSLAB_GASCONCRETE = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1.5f, 10f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_gas_concrete")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_gas_concrete")); // ------------------------------------------------------------------------------------------------------------------- public static final DecorBlock.Normal REBAR_CONCRETE_TILE = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_tile")); + )).setRegistryName(new ResourceLocation(MODID, "rebar_concrete_tile")); public static final EdSlabBlock REBAR_CONCRETE_TILE_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_tile_slab")); + )).setRegistryName(new ResourceLocation(MODID, "rebar_concrete_tile_slab")); public static final EdStairsBlock REBAR_CONCRETE_TILE_STAIRS = (EdStairsBlock)(new EdStairsBlock( DecorBlock.CFG_DEFAULT, REBAR_CONCRETE_TILE.getDefaultState(), Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_tile_stairs")); + )).setRegistryName(new ResourceLocation(MODID, "rebar_concrete_tile_stairs")); // ------------------------------------------------------------------------------------------------------------------- public static final EdGlassBlock PANZERGLASS_BLOCK = (EdGlassBlock)(new EdGlassBlock( DecorBlock.CFG_TRANSLUCENT, Block.Properties.create(Material.GLASS, MaterialColor.AIR).hardnessAndResistance(0.7f, 2000f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "panzerglass_block")); + )).setRegistryName(new ResourceLocation(MODID, "panzerglass_block")); public static final EdSlabBlock PANZERGLASS_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_TRANSLUCENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(0.7f, 2000f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "panzerglass_slab")); + )).setRegistryName(new ResourceLocation(MODID, "panzerglass_slab")); // ------------------------------------------------------------------------------------------------------------------- public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF = (EdRoofBlock)(new EdRoofBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof")); + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof")); public static final DecorBlock.Normal DARK_CERAMIC_SHINGLE_ROOF_BLOCK = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_block")); + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof_block")); public static final EdSlabBlock DARK_CERAMIC_SHINGLE_ROOF_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_slab")); + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof_slab")); public static final EdSlabSliceBlock HALFSLAB_DARK_CERAMIC_SHINGLE_ROOF = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_slabslice")); + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof_slabslice")); public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF_METALIZED = (EdRoofBlock)(new EdRoofBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_metallized")); + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof_metallized")); public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF_SKYLIGHT = (EdRoofBlock)(new EdRoofBlock( DecorBlock.CFG_TRANSLUCENT, Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_skylight")); + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof_skylight")); public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF_CHIMNEYTRUNK = (EdRoofBlock)(new EdRoofBlock( DecorBlock.CFG_CUTOUT, - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_chimneytrunk")); + Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE), + VoxelShapes.create(Auxiliaries.getPixeledAABB(3, 0, 3, 13, 16, 13)), + VoxelShapes.create(Auxiliaries.getPixeledAABB(5, 0, 5, 11, 16, 11)) + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof_chimneytrunk")); + + public static final EdChimneyBlock DARK_CERAMIC_SHINGLE_ROOF_CHIMNEY = (EdChimneyBlock)(new EdChimneyBlock( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(5f, 2000f).sound(SoundType.STONE), + Auxiliaries.getPixeledAABB(3, 0, 3, 13, 6, 13) + )).setRegistryName(new ResourceLocation(MODID, "dark_shingle_roof_chimney")); // ------------------------------------------------------------------------------------------------------------------- public static final EdGroundBlock DENSE_GRIT_SAND = (EdGroundBlock)(new EdGroundBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.EARTH, MaterialColor.DIRT).hardnessAndResistance(0.5f, 3f).sound(SoundType.GROUND).harvestTool(ToolType.SHOVEL) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dense_grit_sand_block")); + )).setRegistryName(new ResourceLocation(MODID, "dense_grit_sand_block")); public static final EdGroundBlock DENSE_GRIT_DIRT = (EdGroundBlock)(new EdGroundBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.EARTH, MaterialColor.DIRT).hardnessAndResistance(0.5f, 3f).sound(SoundType.GROUND).harvestTool(ToolType.SHOVEL) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dense_grit_dirt_block")); + )).setRegistryName(new ResourceLocation(MODID, "dense_grit_dirt_block")); // ------------------------------------------------------------------------------------------------------------------- public static final EdLadderBlock METAL_RUNG_LADDER = (EdLadderBlock)(new EdLadderBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.0f, 25f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_ladder")); + )).setRegistryName(new ResourceLocation(MODID, "metal_rung_ladder")); public static final EdLadderBlock METAL_RUNG_STEPS = (EdLadderBlock)(new EdLadderBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.0f, 25f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_steps")); + )).setRegistryName(new ResourceLocation(MODID, "metal_rung_steps")); public static final EdLadderBlock TREATED_WOOD_LADDER = (EdLadderBlock)(new EdLadderBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.0f, 25f).sound(SoundType.WOOD).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_ladder")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_ladder")); public static final EdHatchBlock IRON_HATCH = (EdHatchBlock)(new EdHatchBlock( DecorBlock.CFG_LOOK_PLACEMENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 2000f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0.5,1,0, 15.5,3,14), Auxiliaries.getPixeledAABB(0.5,1,0, 15.5,14.,2) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_hatch")); + )).setRegistryName(new ResourceLocation(MODID, "iron_hatch")); // ------------------------------------------------------------------------------------------------------------------- public static final DecorBlock.Normal OLD_INDUSTRIAL_PLANKS = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.5f, 8f).sound(SoundType.WOOD) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "old_industrial_wood_planks")); + )).setRegistryName(new ResourceLocation(MODID, "old_industrial_wood_planks")); public static final EdSlabBlock OLD_INDUSTRIAL_SLAB = (EdSlabBlock)(new EdSlabBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.5f, 8f).sound(SoundType.WOOD) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "old_industrial_wood_slab")); + )).setRegistryName(new ResourceLocation(MODID, "old_industrial_wood_slab")); public static final EdStairsBlock OLD_INDUSTRIAL_STAIRS = (EdStairsBlock)(new EdStairsBlock( DecorBlock.CFG_DEFAULT, OLD_INDUSTRIAL_PLANKS.getDefaultState(), Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.5f, 8f).sound(SoundType.WOOD) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "old_industrial_wood_stairs")); + )).setRegistryName(new ResourceLocation(MODID, "old_industrial_wood_stairs")); public static final EdSlabSliceBlock OLD_INDUSTRIAL_SLABSLICE = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.5f, 8f).sound(SoundType.WOOD).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "old_industrial_wood_slabslice")); + )).setRegistryName(new ResourceLocation(MODID, "old_industrial_wood_slabslice")); public static final EdDoorBlock OLD_INDUSTRIAL_WOOD_DOOR = (EdDoorBlock)(new EdDoorBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.5f, 12f).sound(SoundType.WOOD).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "old_industrial_wood_door")); + )).setRegistryName(new ResourceLocation(MODID, "old_industrial_wood_door")); // ------------------------------------------------------------------------------------------------------------------- @@ -320,7 +331,7 @@ public class ModContent DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(1,0,1, 15,15.9,15) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_table")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_table")); public static final EdChair.ChairBlock TREATED_WOOD_STOOL = (EdChair.ChairBlock)(new EdChair.ChairBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT, @@ -331,7 +342,7 @@ public class ModContent Auxiliaries.getPixeledAABB(4,0,7, 12,1,9), Auxiliaries.getPixeledAABB(7,0,4, 9,1,12), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_stool")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_stool")); public static final DecorBlock.WaterLoggable TREATED_WOOD_SIDE_TABLE = (DecorBlock.WaterLoggable)(new DecorBlock.WaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT, @@ -347,19 +358,19 @@ public class ModContent Auxiliaries.getPixeledAABB( 2, 0, 7, 14, 1, 9), Auxiliaries.getPixeledAABB( 7, 0, 2, 9, 1,14) } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_side_table")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_side_table")); public static final DecorBlock.DirectedWaterLoggable TREATED_WOOD_WINDOWSILL = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(0.5,15,10.5, 15.5,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_windowsill")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_windowsill")); public static final DecorBlock.DirectedWaterLoggable TREATED_WOOD_BROAD_WINDOWSILL = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_FACING_PLACEMENT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(0,14.5,4, 16,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_broad_windowsill")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_broad_windowsill")); // ------------------------------------------------------------------------------------------------------------------- @@ -367,13 +378,13 @@ public class ModContent DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).setLightLevel((state)->15).notSolid(), Auxiliaries.getPixeledAABB(5.2,5.2,0, 10.8,10.8,0.3) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_inset_light")); + )).setRegistryName(new ResourceLocation(MODID, "iron_inset_light")); public static final DecorBlock.DirectedWaterLoggable FLOOR_EDGE_LIGHT_IRON = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).setLightLevel((state)->15).notSolid(), Auxiliaries.getPixeledAABB(5,0,0, 11,2,0.5) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_floor_edge_light")); + )).setRegistryName(new ResourceLocation(MODID, "iron_floor_edge_light")); public static final DecorBlock.DirectedWaterLoggable CEILING_EDGE_LIGHT_IRON = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, @@ -384,7 +395,7 @@ public class ModContent Auxiliaries.getPixeledAABB( 0,14.0,0, 1,16,2.0), Auxiliaries.getPixeledAABB(15,14.0,0, 16,16,2.0), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_ceiling_edge_light")); + )).setRegistryName(new ResourceLocation(MODID, "iron_ceiling_edge_light")); public static final DecorBlock.DirectedWaterLoggable BULB_LIGHT_IRON = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT|DecorBlock.CFG_AI_PASSABLE, @@ -393,7 +404,7 @@ public class ModContent Auxiliaries.getPixeledAABB(6.5,6.5,1, 9.5,9.5,4), Auxiliaries.getPixeledAABB(6.0,6.0,0, 10.0,10.0,1.0) } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_bulb_light")); + )).setRegistryName(new ResourceLocation(MODID, "iron_bulb_light")); // ------------------------------------------------------------------------------------------------------------------- @@ -401,13 +412,13 @@ public class ModContent DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0,0,0, 16,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_table")); + )).setRegistryName(new ResourceLocation(MODID, "steel_table")); public static final EdFloorGratingBlock STEEL_FLOOR_GRATING = (EdFloorGratingBlock)(new EdFloorGratingBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0,14,0, 16,15.5,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_floor_grating")); + )).setRegistryName(new ResourceLocation(MODID, "steel_floor_grating")); // ------------------------------------------------------------------------------------------------------------------- @@ -415,13 +426,13 @@ public class ModContent DecorBlock.CFG_LOOK_PLACEMENT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.GLASS).notSolid(), Auxiliaries.getPixeledAABB(0,0,7, 16,16,9) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_window")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_window")); public static final EdWindowBlock STEEL_FRAMED_WINDOW = (EdWindowBlock)(new EdWindowBlock( DecorBlock.CFG_LOOK_PLACEMENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.GLASS).notSolid(), Auxiliaries.getPixeledAABB(0,0,7.5, 16,16,8.5) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_framed_window")); + )).setRegistryName(new ResourceLocation(MODID, "steel_framed_window")); // ------------------------------------------------------------------------------------------------------------------- @@ -429,49 +440,49 @@ public class ModContent DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_IF_SAME, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_pole")); public static final EdStraightPoleBlock TREATED_WOOD_POLE_HEAD = (EdStraightPoleBlock)(new EdStraightPoleBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_IF_SAME, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole_head")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_pole_head")); public static final EdStraightPoleBlock TREATED_WOOD_POLE_SUPPORT = (EdStraightPoleBlock)(new EdStraightPoleBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_IF_SAME, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole_support")); + )).setRegistryName(new ResourceLocation(MODID, "treated_wood_pole_support")); public static final EdStraightPoleBlock THIN_STEEL_POLE = (EdStraightPoleBlock)(new EdStraightPoleBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(6,6,0, 10,10,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thin_steel_pole")); + )).setRegistryName(new ResourceLocation(MODID, "thin_steel_pole")); public static final EdStraightPoleBlock THIN_STEEL_POLE_HEAD = (EdStraightPoleBlock)(new EdStraightPoleBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_IF_SAME, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(6,6,0, 10,10,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thin_steel_pole_head")); + )).setRegistryName(new ResourceLocation(MODID, "thin_steel_pole_head")); public static final EdStraightPoleBlock THICK_STEEL_POLE = (EdStraightPoleBlock)(new EdStraightPoleBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(5,5,0, 11,11,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thick_steel_pole")); + )).setRegistryName(new ResourceLocation(MODID, "thick_steel_pole")); public static final EdStraightPoleBlock THICK_STEEL_POLE_HEAD = (EdStraightPoleBlock)(new EdStraightPoleBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_IF_SAME, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(5,5,0, 11,11,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thick_steel_pole_head")); + )).setRegistryName(new ResourceLocation(MODID, "thick_steel_pole_head")); public static final EdHorizontalSupportBlock STEEL_DOUBLE_T_SUPPORT = (EdHorizontalSupportBlock)(new EdHorizontalSupportBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(5,11,0, 11,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_double_t_support")); + )).setRegistryName(new ResourceLocation(MODID, "steel_double_t_support")); // ------------------------------------------------------------------------------------------------------------------- @@ -479,37 +490,85 @@ public class ModContent DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1000f).sound(SoundType.WOOD).setLightLevel((state)->1).notSolid(), Auxiliaries.getPixeledAABB(0,0,15.6, 16,16,16.0) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_decor")); + )).setRegistryName(new ResourceLocation(MODID, "sign_decor")); public static final DecorBlock.DirectedWaterLoggable SIGN_HOTWIRE = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_hotwire")); + )).setRegistryName(new ResourceLocation(MODID, "sign_hotwire")); public static final DecorBlock.DirectedWaterLoggable SIGN_DANGER = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_danger")); + )).setRegistryName(new ResourceLocation(MODID, "sign_danger")); public static final DecorBlock.DirectedWaterLoggable SIGN_DEFENSE = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_defense")); + )).setRegistryName(new ResourceLocation(MODID, "sign_defense")); public static final DecorBlock.DirectedWaterLoggable SIGN_FACTORY_AREA = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_factoryarea")); + )).setRegistryName(new ResourceLocation(MODID, "sign_factoryarea")); public static final DecorBlock.DirectedWaterLoggable SIGN_EXIT = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), Auxiliaries.getPixeledAABB(3,7,15.6, 13,13,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_exit")); + )).setRegistryName(new ResourceLocation(MODID, "sign_exit")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_RADIOACTIVE = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_radioactive")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_LASER = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_laser")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_CAUTION = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_caution")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_MAGIC_HAZARD = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_magichazard")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_FIRE_HAZARD = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_firehazard")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_HOT_SURFACE = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_hotsurface")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_MAGNETIC_FIELD = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_magneticfield")); + + public static final DecorBlock.DirectedWaterLoggable SIGN_FROST_WARNING = (DecorBlock.DirectedWaterLoggable)(new DecorBlock.DirectedWaterLoggable( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_AI_PASSABLE, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(), + Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) + )).setRegistryName(new ResourceLocation(MODID, "sign_frost")); // ------------------------------------------------------------------------------------------------------------------- @@ -520,7 +579,7 @@ public class ModContent Auxiliaries.getPixeledAABB(0,15,0, 16,16,16), Auxiliaries.getPixeledAABB(1, 0,1, 15,16,15) } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_crafting_table")); + )).setRegistryName(new ResourceLocation(MODID, "metal_crafting_table")); public static final FurnaceBlock SMALL_LAB_FURNACE = (FurnaceBlock)(new FurnaceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, @@ -529,7 +588,7 @@ public class ModContent Auxiliaries.getPixeledAABB(1,0,1, 15, 1,15), Auxiliaries.getPixeledAABB(0,1,1, 16,16,16), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_lab_furnace")); + )).setRegistryName(new ResourceLocation(MODID, "small_lab_furnace")); public static final EdElectricalFurnace.ElectricalFurnaceBlock SMALL_ELECTRICAL_FURNACE = (EdElectricalFurnace.ElectricalFurnaceBlock)(new EdElectricalFurnace.ElectricalFurnaceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, @@ -541,13 +600,13 @@ public class ModContent Auxiliaries.getPixeledAABB(3,13,0, 13,14,16), Auxiliaries.getPixeledAABB(4,14,0, 12,16,16), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_electrical_furnace")); + )).setRegistryName(new ResourceLocation(MODID, "small_electrical_furnace")); public static final EdDropper.DropperBlock FACTORY_DROPPER = (EdDropper.DropperBlock)(new EdDropper.DropperBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0,0,1, 16,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "factory_dropper")); + )).setRegistryName(new ResourceLocation(MODID, "factory_dropper")); public static final EdPlacer.PlacerBlock FACTORY_PLACER = (EdPlacer.PlacerBlock)(new EdPlacer.PlacerBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_SHIFTCLICK|DecorBlock.CFG_OPPOSITE_PLACEMENT, @@ -557,7 +616,7 @@ public class ModContent Auxiliaries.getPixeledAABB( 0,0,0, 1,16, 2), Auxiliaries.getPixeledAABB(15,0,0,16,16, 2) } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "factory_placer")); + )).setRegistryName(new ResourceLocation(MODID, "factory_placer")); public static final EdBreaker.BreakerBlock SMALL_BLOCK_BREAKER = (EdBreaker.BreakerBlock)(new EdBreaker.BreakerBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_SHIFTCLICK, @@ -570,7 +629,7 @@ public class ModContent Auxiliaries.getPixeledAABB(15,0,0, 16, 5, 4), Auxiliaries.getPixeledAABB(15,0,4, 16,12,16) } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_block_breaker")); + )).setRegistryName(new ResourceLocation(MODID, "small_block_breaker")); public static final EdHopper.HopperBlock FACTORY_HOPPER = (EdHopper.HopperBlock)(new EdHopper.HopperBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, @@ -616,19 +675,25 @@ public class ModContent VoxelShapes.fullCube() )); } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "factory_hopper")); + )).setRegistryName(new ResourceLocation(MODID, "factory_hopper")); public static final EdWasteIncinerator.WasteIncineratorBlock SMALL_WASTE_INCINERATOR = (EdWasteIncinerator.WasteIncineratorBlock)(new EdWasteIncinerator.WasteIncineratorBlock( DecorBlock.CFG_DEFAULT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL), Auxiliaries.getPixeledAABB(0,0,0, 16,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_waste_incinerator")); + )).setRegistryName(new ResourceLocation(MODID, "small_waste_incinerator")); public static final EdMineralSmelter.MineralSmelterBlock SMALL_MINERAL_SMELTER = (EdMineralSmelter.MineralSmelterBlock)(new EdMineralSmelter.MineralSmelterBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(1.1,0,1.1, 14.9,16,14.9) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_mineral_smelter")); + )).setRegistryName(new ResourceLocation(MODID, "small_mineral_smelter")); + + public static final EdFreezer.FreezerBlock SMALL_FREEZER = (EdFreezer.FreezerBlock)(new EdFreezer.FreezerBlock( + DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT, + Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), + Auxiliaries.getPixeledAABB(1.1,0,1.1, 14.9,16,14.9) + )).setRegistryName(new ResourceLocation(MODID, "small_freezer")); public static final EdSolarPanel.SolarPanelBlock SMALL_SOLAR_PANEL = (EdSolarPanel.SolarPanelBlock)(new EdSolarPanel.SolarPanelBlock( DecorBlock.CFG_CUTOUT, @@ -637,7 +702,7 @@ public class ModContent Auxiliaries.getPixeledAABB(0,0,0, 16,2,16), Auxiliaries.getPixeledAABB(6,1.5,3, 10,10.5,13), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_solar_panel")); + )).setRegistryName(new ResourceLocation(MODID, "small_solar_panel")); public static final EdMilker.MilkerBlock SMALL_MILKING_MACHINE = (EdMilker.MilkerBlock)(new EdMilker.MilkerBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT, @@ -649,7 +714,7 @@ public class ModContent Auxiliaries.getPixeledAABB( 0, 1,1, 1,14,11), Auxiliaries.getPixeledAABB(15, 1,1, 16,14,11) } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_milking_machine")); + )).setRegistryName(new ResourceLocation(MODID, "small_milking_machine")); public static final EdTreeCutter.TreeCutterBlock SMALL_TREE_CUTTER = (EdTreeCutter.TreeCutterBlock)(new EdTreeCutter.TreeCutterBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_SHIFTCLICK, @@ -662,7 +727,7 @@ public class ModContent Auxiliaries.getPixeledAABB( 0,0,13, 16,8,16), Auxiliaries.getPixeledAABB( 5,6,12, 16,8,13), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_tree_cutter")); + )).setRegistryName(new ResourceLocation(MODID, "small_tree_cutter")); public static final EdPipeValve.PipeValveBlock STRAIGHT_CHECK_VALVE = (EdPipeValve.PipeValveBlock)(new EdPipeValve.PipeValveBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_SHIFTCLICK, @@ -674,7 +739,7 @@ public class ModContent Auxiliaries.getPixeledAABB(3,3, 5, 13,13,11), Auxiliaries.getPixeledAABB(4,4, 2, 12,12,14), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "straight_pipe_valve")); + )).setRegistryName(new ResourceLocation(MODID, "straight_pipe_valve")); public static final EdPipeValve.PipeValveBlock STRAIGHT_REDSTONE_VALVE = (EdPipeValve.PipeValveBlock)(new EdPipeValve.PipeValveBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, @@ -686,7 +751,7 @@ public class ModContent Auxiliaries.getPixeledAABB(3,3, 5, 13,13,11), Auxiliaries.getPixeledAABB(4,4, 2, 12,12,14), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "straight_pipe_valve_redstone")); + )).setRegistryName(new ResourceLocation(MODID, "straight_pipe_valve_redstone")); public static final EdPipeValve.PipeValveBlock STRAIGHT_REDSTONE_ANALOG_VALVE = (EdPipeValve.PipeValveBlock)(new EdPipeValve.PipeValveBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, @@ -698,13 +763,13 @@ public class ModContent Auxiliaries.getPixeledAABB(3,3, 5, 13,13,11), Auxiliaries.getPixeledAABB(4,4, 2, 12,12,14), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "straight_pipe_valve_redstone_analog")); + )).setRegistryName(new ResourceLocation(MODID, "straight_pipe_valve_redstone_analog")); @Deprecated // remove in 1.17/1.16.3, not needed by anyone public static final DecorBlock.Normal PASSIVE_FLUID_ACCUMULATOR = (DecorBlock.Normal)(new DecorBlock.Normal( DecorBlock.CFG_EXPERIMENTAL, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "passive_fluid_accumulator")); + )).setRegistryName(new ResourceLocation(MODID, "passive_fluid_accumulator")); public static final EdFluidBarrel.FluidBarrelBlock FLUID_BARREL = (EdFluidBarrel.FluidBarrelBlock)(new EdFluidBarrel.FluidBarrelBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, @@ -716,7 +781,7 @@ public class ModContent Auxiliaries.getPixeledAABB(1,14,0, 15,15,16), Auxiliaries.getPixeledAABB(2,15,0, 14,16,16), } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "fluid_barrel")); + )).setRegistryName(new ResourceLocation(MODID, "fluid_barrel")); public static final EdFluidFunnel.FluidFunnelBlock SMALL_FLUID_FUNNEL = (EdFluidFunnel.FluidFunnelBlock)(new EdFluidFunnel.FluidFunnelBlock( DecorBlock.CFG_CUTOUT, @@ -726,45 +791,45 @@ public class ModContent Auxiliaries.getPixeledAABB(1,14,1, 15,15,15), Auxiliaries.getPixeledAABB(0,15,0, 16,16,16) } - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_fluid_funnel")); + )).setRegistryName(new ResourceLocation(MODID, "small_fluid_funnel")); public static final EdLabeledCrate.LabeledCrateBlock LABELED_CRATE = (EdLabeledCrate.LabeledCrateBlock)(new EdLabeledCrate.LabeledCrateBlock( DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(0.5f, 128f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0,0,0, 16,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "labeled_crate")); + )).setRegistryName(new ResourceLocation(MODID, "labeled_crate")); // ------------------------------------------------------------------------------------------------------------------- public static final EdSlabSliceBlock HALFSLAB_TREATEDWOOD = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 4f).sound(SoundType.WOOD).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_treated_wood")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_treated_wood")); public static final EdSlabSliceBlock HALFSLAB_SHEETMETALIRON = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_iron")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_sheetmetal_iron")); public static final EdSlabSliceBlock HALFSLAB_SHEETMETALSTEEL = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_steel")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_sheetmetal_steel")); public static final EdSlabSliceBlock HALFSLAB_SHEETMETALCOPPER = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_copper")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_sheetmetal_copper")); public static final EdSlabSliceBlock HALFSLAB_SHEETMETALGOLD = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_gold")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_sheetmetal_gold")); public static final EdSlabSliceBlock HALFSLAB_SHEETMETALALUMINIUM = (EdSlabSliceBlock)(new EdSlabSliceBlock( DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid() - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_aluminum")); + )).setRegistryName(new ResourceLocation(MODID, "halfslab_sheetmetal_aluminum")); // ------------------------------------------------------------------------------------------------------------------- @@ -772,13 +837,13 @@ public class ModContent DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), 1.5, 16, 0.25, 0, 16, 16 - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_mesh_fence")); + )).setRegistryName(new ResourceLocation(MODID, "steel_mesh_fence")); public static final EdDoubleGateBlock STEEL_MESH_FENCE_GATE = (EdDoubleGateBlock)(new EdDoubleGateBlock( DecorBlock.CFG_CUTOUT, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0,0,6.5, 16,16,9.5) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_mesh_fence_gate")); + )).setRegistryName(new ResourceLocation(MODID, "steel_mesh_fence_gate")); // ------------------------------------------------------------------------------------------------------------------- @@ -786,7 +851,7 @@ public class ModContent DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_FLIP_PLACEMENT_SHIFTCLICK, Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(0f, 32000f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0,0,0, 16,16,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "test_block")); + )).setRegistryName(new ResourceLocation(MODID, "test_block")); // ------------------------------------------------------------------------------------------------------------------- @@ -803,6 +868,7 @@ public class ModContent SMALL_SOLAR_PANEL, SMALL_WASTE_INCINERATOR, SMALL_MINERAL_SMELTER, + SMALL_FREEZER, SMALL_MILKING_MACHINE, FLUID_BARREL, STRAIGHT_CHECK_VALVE, @@ -852,6 +918,7 @@ public class ModContent DARK_CERAMIC_SHINGLE_ROOF_BLOCK, DARK_CERAMIC_SHINGLE_ROOF_SLAB, HALFSLAB_DARK_CERAMIC_SHINGLE_ROOF, + DARK_CERAMIC_SHINGLE_ROOF_CHIMNEY, METAL_RUNG_LADDER, METAL_RUNG_STEPS, TREATED_WOOD_LADDER, @@ -889,6 +956,14 @@ public class ModContent SIGN_DEFENSE, SIGN_FACTORY_AREA, SIGN_EXIT, + SIGN_RADIOACTIVE, + SIGN_LASER, + SIGN_CAUTION, + SIGN_MAGIC_HAZARD, + SIGN_FIRE_HAZARD, + SIGN_HOT_SURFACE, + SIGN_MAGNETIC_FIELD, + SIGN_FROST_WARNING, SIGN_MODLOGO, }; @@ -903,87 +978,92 @@ public class ModContent public static final TileEntityType TET_CRAFTING_TABLE = TileEntityType.Builder .create(EdCraftingTable.CraftingTableTileEntity::new, CRAFTING_TABLE) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_treated_wood_crafting_table"); + .setRegistryName(MODID, "te_treated_wood_crafting_table"); public static final TileEntityType TET_LABELED_CRATE = TileEntityType.Builder .create(EdLabeledCrate.LabeledCrateTileEntity::new, LABELED_CRATE) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_labeled_crate"); + .setRegistryName(MODID, "te_labeled_crate"); public static final TileEntityType TET_SMALL_LAB_FURNACE = TileEntityType.Builder .create(FurnaceTileEntity::new, SMALL_LAB_FURNACE) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_lab_furnace"); + .setRegistryName(MODID, "te_small_lab_furnace"); public static final TileEntityType TET_SMALL_ELECTRICAL_FURNACE = TileEntityType.Builder .create(EdElectricalFurnace.ElectricalFurnaceTileEntity::new, SMALL_ELECTRICAL_FURNACE) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_electrical_furnace"); + .setRegistryName(MODID, "te_small_electrical_furnace"); public static final TileEntityType TET_FACTORY_DROPPER = TileEntityType.Builder .create(EdDropper.DropperTileEntity::new, FACTORY_DROPPER) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_factory_dropper"); + .setRegistryName(MODID, "te_factory_dropper"); public static final TileEntityType TET_FACTORY_PLACER = TileEntityType.Builder .create(EdPlacer.PlacerTileEntity::new, FACTORY_PLACER) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_factory_placer"); + .setRegistryName(MODID, "te_factory_placer"); public static final TileEntityType TET_SMALL_BLOCK_BREAKER = TileEntityType.Builder .create(EdBreaker.BreakerTileEntity::new, SMALL_BLOCK_BREAKER) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_block_breaker"); + .setRegistryName(MODID, "te_small_block_breaker"); public static final TileEntityType TET_FACTORY_HOPPER = TileEntityType.Builder .create(EdHopper.HopperTileEntity::new, FACTORY_HOPPER) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_factory_hopper"); + .setRegistryName(MODID, "te_factory_hopper"); public static final TileEntityType TET_WASTE_INCINERATOR = TileEntityType.Builder .create(EdWasteIncinerator.WasteIncineratorTileEntity::new, SMALL_WASTE_INCINERATOR) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_waste_incinerator"); + .setRegistryName(MODID, "te_small_waste_incinerator"); public static final TileEntityType TET_STRAIGHT_PIPE_VALVE = TileEntityType.Builder .create(EdPipeValve.PipeValveTileEntity::new, STRAIGHT_CHECK_VALVE, STRAIGHT_REDSTONE_VALVE, STRAIGHT_REDSTONE_ANALOG_VALVE) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_pipe_valve"); + .setRegistryName(MODID, "te_pipe_valve"); public static final TileEntityType TET_FLUID_BARREL = TileEntityType.Builder .create(EdFluidBarrel.FluidBarrelTileEntity::new, FLUID_BARREL) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_fluid_barrel"); + .setRegistryName(MODID, "te_fluid_barrel"); public static final TileEntityType TET_SMALL_FLUID_FUNNEL = TileEntityType.Builder .create(EdFluidFunnel.FluidFunnelTileEntity::new, SMALL_FLUID_FUNNEL) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_fluid_funnel"); + .setRegistryName(MODID, "te_small_fluid_funnel"); public static final TileEntityType TET_MINERAL_SMELTER = TileEntityType.Builder .create(EdMineralSmelter.MineralSmelterTileEntity::new, SMALL_MINERAL_SMELTER) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_mineral_smelter"); + .setRegistryName(MODID, "te_small_mineral_smelter"); + + public static final TileEntityType TET_FREEZER = TileEntityType.Builder + .create(EdFreezer.FreezerTileEntity::new, SMALL_FREEZER) + .build(null) + .setRegistryName(MODID, "te_small_freezer"); public static final TileEntityType TET_SMALL_SOLAR_PANEL = TileEntityType.Builder .create(EdSolarPanel.SolarPanelTileEntity::new, SMALL_SOLAR_PANEL) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_solar_panel"); + .setRegistryName(MODID, "te_small_solar_panel"); public static final TileEntityType TET_SMALL_MILKING_MACHINE = TileEntityType.Builder .create(EdMilker.MilkerTileEntity::new, SMALL_MILKING_MACHINE) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_milking_machine"); + .setRegistryName(MODID, "te_small_milking_machine"); public static final TileEntityType TET_SMALL_TREE_CUTTER = TileEntityType.Builder .create(EdTreeCutter.TreeCutterTileEntity::new, SMALL_TREE_CUTTER) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_small_tree_cutter"); + .setRegistryName(MODID, "te_small_tree_cutter"); public static final TileEntityType TET_TEST_BLOCK = TileEntityType.Builder .create(EdTestBlock.TestTileEntity::new, TEST_BLOCK) .build(null) - .setRegistryName(ModEngineersDecor.MODID, "te_test_block"); + .setRegistryName(MODID, "te_test_block"); private static final TileEntityType tile_entity_types[] = { TET_CRAFTING_TABLE, @@ -997,6 +1077,7 @@ public class ModContent TET_SMALL_TREE_CUTTER, TET_WASTE_INCINERATOR, TET_MINERAL_SMELTER, + TET_FREEZER, TET_SMALL_SOLAR_PANEL, TET_SMALL_MILKING_MACHINE, TET_STRAIGHT_PIPE_VALVE, @@ -1005,6 +1086,19 @@ public class ModContent TET_TEST_BLOCK }; + //-------------------------------------------------------------------------------------------------------------------- + // Items + //-------------------------------------------------------------------------------------------------------------------- + + private static Item.Properties default_item_properties() + { return (new Item.Properties()).group(ModEngineersDecor.ITEMGROUP); } + + public static final EdItem METAL_BAR_ITEM = (EdItem)((new EdItem(default_item_properties()).setRegistryName(MODID, "metal_bar"))); + + private static final EdItem modItems[] = { + METAL_BAR_ITEM + }; + //-------------------------------------------------------------------------------------------------------------------- // Entities bound exclusively to the blocks above //-------------------------------------------------------------------------------------------------------------------- @@ -1016,8 +1110,8 @@ public class ModContent .immuneToFire().size(1e-3f, 1e-3f).disableSerialization() .setShouldReceiveVelocityUpdates(false).setUpdateInterval(4) .setCustomClientFactory(EdChair.EntityChair::customClientFactory) - .build(new ResourceLocation(ModEngineersDecor.MODID, "et_chair").toString()) - .setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "et_chair")) + .build(new ResourceLocation(MODID, "et_chair").toString()) + .setRegistryName(new ResourceLocation(MODID, "et_chair")) ); private static final EntityType entity_types[] = { @@ -1039,21 +1133,21 @@ public class ModContent static { CT_TREATED_WOOD_CRAFTING_TABLE = (new ContainerType(EdCraftingTable.CraftingTableContainer::new)); - CT_TREATED_WOOD_CRAFTING_TABLE.setRegistryName(ModEngineersDecor.MODID,"ct_treated_wood_crafting_table"); + CT_TREATED_WOOD_CRAFTING_TABLE.setRegistryName(MODID,"ct_treated_wood_crafting_table"); CT_FACTORY_DROPPER = (new ContainerType(EdDropper.DropperContainer::new)); - CT_FACTORY_DROPPER.setRegistryName(ModEngineersDecor.MODID,"ct_factory_dropper"); + CT_FACTORY_DROPPER.setRegistryName(MODID,"ct_factory_dropper"); CT_FACTORY_PLACER = (new ContainerType(EdPlacer.PlacerContainer::new)); - CT_FACTORY_PLACER.setRegistryName(ModEngineersDecor.MODID,"ct_factory_placer"); + CT_FACTORY_PLACER.setRegistryName(MODID,"ct_factory_placer"); CT_FACTORY_HOPPER = (new ContainerType(EdHopper.HopperContainer::new)); - CT_FACTORY_HOPPER.setRegistryName(ModEngineersDecor.MODID,"ct_factory_hopper"); + CT_FACTORY_HOPPER.setRegistryName(MODID,"ct_factory_hopper"); CT_SMALL_LAB_FURNACE = (new ContainerType(FurnaceContainer::new)); - CT_SMALL_LAB_FURNACE.setRegistryName(ModEngineersDecor.MODID,"ct_small_lab_furnace"); + CT_SMALL_LAB_FURNACE.setRegistryName(MODID,"ct_small_lab_furnace"); CT_SMALL_ELECTRICAL_FURNACE = (new ContainerType(EdElectricalFurnace.ElectricalFurnaceContainer::new)); - CT_SMALL_ELECTRICAL_FURNACE.setRegistryName(ModEngineersDecor.MODID,"ct_small_electrical_furnace"); + CT_SMALL_ELECTRICAL_FURNACE.setRegistryName(MODID,"ct_small_electrical_furnace"); CT_WASTE_INCINERATOR = (new ContainerType(EdWasteIncinerator.WasteIncineratorContainer::new)); - CT_WASTE_INCINERATOR.setRegistryName(ModEngineersDecor.MODID,"ct_small_waste_incinerator"); + CT_WASTE_INCINERATOR.setRegistryName(MODID,"ct_small_waste_incinerator"); CT_LABELED_CRATE = (new ContainerType(EdLabeledCrate.LabeledCrateContainer::new)); - CT_LABELED_CRATE.setRegistryName(ModEngineersDecor.MODID,"ct_labeled_crate"); + CT_LABELED_CRATE.setRegistryName(MODID,"ct_labeled_crate"); } // DON'T FORGET TO REGISTER THE GUI in registerContainerGuis(), no list/map format found yet for that. @@ -1127,6 +1221,9 @@ public class ModContent } } + public static final void registerItems(final RegistryEvent.Register event) + { for(Item e:modItems) event.getRegistry().register(e); } + public static final void registerTileEntities(final RegistryEvent.Register> event) { int n_registered = 0; diff --git a/src/main/java/wile/engineersdecor/ModEngineersDecor.java b/src/main/java/wile/engineersdecor/ModEngineersDecor.java index 1718302..f9d7bfd 100644 --- a/src/main/java/wile/engineersdecor/ModEngineersDecor.java +++ b/src/main/java/wile/engineersdecor/ModEngineersDecor.java @@ -103,7 +103,7 @@ public class ModEngineersDecor @SubscribeEvent public static void onItemRegistry(final RegistryEvent.Register event) - { ModContent.registerBlockItems(event); } + { ModContent.registerItems(event); ModContent.registerBlockItems(event); } @SubscribeEvent public static void onTileEntityRegistry(final RegistryEvent.Register> event) diff --git a/src/main/java/wile/engineersdecor/blocks/EdChimneyBlock.java b/src/main/java/wile/engineersdecor/blocks/EdChimneyBlock.java new file mode 100644 index 0000000..e419955 --- /dev/null +++ b/src/main/java/wile/engineersdecor/blocks/EdChimneyBlock.java @@ -0,0 +1,92 @@ +/* + * @file EdChimneyBlock.java + * @author Stefan Wilhelm (wile) + * @copyright (C) 2019 Stefan Wilhelm + * @license MIT (see https://opensource.org/licenses/MIT) + * + * Block type for smoking chimneys. + */ +package wile.engineersdecor.blocks; + +import net.minecraft.block.*; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.particles.ParticleTypes; +import net.minecraft.state.IntegerProperty; +import net.minecraft.state.StateContainer; +import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvents; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.world.World; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +import javax.annotation.Nullable; +import java.util.Random; + +public class EdChimneyBlock extends DecorBlock.Normal implements IDecorBlock +{ + public static final IntegerProperty POWER = BlockStateProperties.POWER_0_15; + + public EdChimneyBlock(long config, Block.Properties properties, AxisAlignedBB aabb) + { super(config, properties, aabb); } + + public EdChimneyBlock(long config, Block.Properties builder) + { + this(config, builder, new AxisAlignedBB(0,0,0,1,1,1)); + setDefaultState(super.getDefaultState().with(POWER, 0)); // no smoke in JEI + } + + @Override + protected void fillStateContainer(StateContainer.Builder builder) + { super.fillStateContainer(builder); builder.add(POWER); } + + @Override + @Nullable + public BlockState getStateForPlacement(BlockItemUseContext context) + { + int p = context.getWorld().getRedstonePowerFromNeighbors(context.getPos()); + return super.getStateForPlacement(context).with(POWER, p==0 ? 5 : p); + } + + @Override + @SuppressWarnings("deprecation") + public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult) + { world.setBlockState(pos, state.with(POWER, (state.get(POWER)+1) & 0xf), 1|2); return ActionResultType.SUCCESS; } + + @Override + @SuppressWarnings("deprecation") + public void neighborChanged(BlockState state, World world, BlockPos pos, Block block, BlockPos fromPos, boolean unused) + { + int p = world.getRedstonePowerFromNeighbors(pos); + if(p != state.get(POWER)) world.setBlockState(pos, state.with(POWER, p), 2); + } + + @Override + @OnlyIn(Dist.CLIENT) + public void animateTick(BlockState state, World world, BlockPos pos, Random rnd) + { + if(state.getBlock() != this) return; + final int p = state.get(POWER); + if(p==0) return; + int end = 1+rnd.nextInt(10) * p / 15; + for(int i=0; i 0.7 ? ParticleTypes.LARGE_SMOKE : (rv>0.4 ? ParticleTypes.SMOKE : ParticleTypes.CAMPFIRE_COSY_SMOKE)), + 0.5+pos.getX()+(rnd.nextDouble()*0.2), + 0.9+pos.getY()+(rnd.nextDouble()*0.1), + 0.5+pos.getZ()+(rnd.nextDouble()*0.2), + -0.02 + rnd.nextDouble()*0.04, + +0.05 + rnd.nextDouble()*0.1, + -0.02 + rnd.nextDouble()*0.04 + ); + } + } + +} diff --git a/src/main/java/wile/engineersdecor/blocks/EdFreezer.java b/src/main/java/wile/engineersdecor/blocks/EdFreezer.java new file mode 100644 index 0000000..09123ac --- /dev/null +++ b/src/main/java/wile/engineersdecor/blocks/EdFreezer.java @@ -0,0 +1,385 @@ +/* + * @file EdFreezer.java + * @author Stefan Wilhelm (wile) + * @copyright (C) 2019 Stefan Wilhelm + * @license MIT (see https://opensource.org/licenses/MIT) + * + * Small highly insulated stone liquification furnace + * (magmatic phase). + */ +package wile.engineersdecor.blocks; + +import net.minecraftforge.common.util.Constants; +import wile.engineersdecor.ModContent; +import wile.engineersdecor.ModEngineersDecor; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.World; +import net.minecraft.block.*; +import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityType; +import net.minecraft.item.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.*; +import net.minecraft.util.math.*; +import net.minecraft.state.IntegerProperty; +import net.minecraft.state.StateContainer; +import net.minecraft.fluid.Fluids; +import net.minecraftforge.common.capabilities.ICapabilityProvider; +import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.energy.CapabilityEnergy; +import net.minecraftforge.energy.IEnergyStorage; +import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.items.CapabilityItemHandler; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import wile.engineersdecor.libmc.detail.Fluidics; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.*; + +public class EdFreezer +{ + //-------------------------------------------------------------------------------------------------------------------- + // Block + //-------------------------------------------------------------------------------------------------------------------- + + public static class FreezerBlock extends DecorBlock.Horizontal implements IDecorBlock + { + public static final int PHASE_MAX = 4; + public static final IntegerProperty PHASE = IntegerProperty.create("phase", 0, PHASE_MAX); + + public FreezerBlock(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB) + { super(config, builder, unrotatedAABB); } + + @Override + protected void fillStateContainer(StateContainer.Builder builder) + { super.fillStateContainer(builder); builder.add(PHASE); } + + @Override + @Nullable + public BlockState getStateForPlacement(BlockItemUseContext context) + { return super.getStateForPlacement(context).with(PHASE, 0); } + + @Override + @SuppressWarnings("deprecation") + public boolean hasComparatorInputOverride(BlockState state) + { return true; } + + @Override + @SuppressWarnings("deprecation") + public int getComparatorInputOverride(BlockState state, World world, BlockPos pos) + { return MathHelper.clamp((state.get(PHASE)*4), 0, 15); } + + @Override + public boolean hasTileEntity(BlockState state) + { return true; } + + @Override + @Nullable + public TileEntity createTileEntity(BlockState state, IBlockReader world) + { return new EdFreezer.FreezerTileEntity(); } + + @Override + public void onBlockPlacedBy(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) + {} + + @Override + public boolean hasDynamicDropList() + { return true; } + + @Override + public List dropList(BlockState state, World world, TileEntity te, boolean explosion) + { + final List stacks = new ArrayList(); + if(world.isRemote) return stacks; + if(!(te instanceof FreezerTileEntity)) return stacks; + ((FreezerTileEntity)te).reset_process(); + stacks.add(new ItemStack(this, 1)); + return stacks; + } + + @Override + public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult) + { + if(player.isSneaking()) return ActionResultType.PASS; + if(world.isRemote) return ActionResultType.SUCCESS; + FreezerTileEntity te = getTe(world, pos); + if(te==null) return ActionResultType.FAIL; + final ItemStack stack = player.getHeldItem(hand); + boolean dirty = false; + if(Fluidics.manualFluidHandlerInteraction(world, pos, null, player, hand)) { + world.playSound(null, pos, SoundEvents.ITEM_BUCKET_EMPTY, SoundCategory.BLOCKS, 0.5f, 1.4f); + return ActionResultType.SUCCESS; + } + if(stack.getItem()==Items.WATER_BUCKET) { + return ActionResultType.SUCCESS; // would be already handled + } else if(stack.isEmpty()) { + ItemStack ice = te.getIceItem(true); + if(!ice.isEmpty()) { + player.addItemStackToInventory(ice); + world.playSound(null, pos, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, 0.3f, 1.1f); + } else { + world.playSound(null, pos, SoundEvents.BLOCK_IRON_TRAPDOOR_OPEN, SoundCategory.BLOCKS, 0.2f, 0.02f); + } + return ActionResultType.SUCCESS; + } else { + return ActionResultType.PASS; + } + } + + @Override + @OnlyIn(Dist.CLIENT) + public void animateTick(BlockState state, World world, BlockPos pos, Random rnd) + {} + + @Nullable + private FreezerTileEntity getTe(World world, BlockPos pos) + { final TileEntity te=world.getTileEntity(pos); return (!(te instanceof FreezerTileEntity)) ? (null) : ((FreezerTileEntity)te); } + } + + //-------------------------------------------------------------------------------------------------------------------- + // Tile entity + //-------------------------------------------------------------------------------------------------------------------- + + public static class FreezerTileEntity extends TileEntity implements ITickableTileEntity, IEnergyStorage, ICapabilityProvider + { + public static final int TICK_INTERVAL = 20; + public static final int MAX_FLUID_LEVEL = 2000; + public static final int MAX_ENERGY_BUFFER = 32000; + public static final int MAX_ENERGY_TRANSFER = 8192; + public static final int DEFAULT_ENERGY_CONSUMPTION = 92; + public static final int DEFAULT_COOLDOWN_RATE = 2; + public static final int PHASE_EMPTY = 0; + public static final int PHASE_WATER = 1; + public static final int PHASE_ICE = 2; + public static final int PHASE_PACKEDICE = 3; + public static final int PHASE_BLUEICE = 4; + + private static int energy_consumption = DEFAULT_ENERGY_CONSUMPTION; + private static int cooldown_rate = DEFAULT_COOLDOWN_RATE; + private static int reheat_rate = 1; + private final Fluidics.Tank tank_ = new Fluidics.Tank(2000, fs->fs.getFluid()==Fluids.WATER); + private int tick_timer_; + private int energy_stored_; + private int progress_; + private boolean force_block_update_; + + public static void on_config(int consumption, int cooldown_per_second) + { + energy_consumption = MathHelper.clamp(consumption, 8, 4096); + cooldown_rate = MathHelper.clamp(cooldown_per_second, 1, 5); + reheat_rate = MathHelper.clamp(cooldown_per_second/2, 1, 5); + ModEngineersDecor.logger().info("Config freezer energy consumption:" + energy_consumption + "rf/t, cooldown-rate: " + cooldown_rate + "%/s."); + } + + public FreezerTileEntity() + { this(ModContent.TET_FREEZER); } + + public FreezerTileEntity(TileEntityType te_type) + { super(te_type); } + + public int progress() + { return progress_; } + + public int phase() + { + if(tank_.getFluidAmount() < 1000) return PHASE_EMPTY; + if(progress_ >= 100) return PHASE_BLUEICE; + if(progress_ >= 70) return PHASE_PACKEDICE; + if(progress_ >= 30) return PHASE_ICE; + return PHASE_WATER; + } + + public ItemStack getIceItem(boolean extract) + { + ItemStack stack; + switch(phase()) { + case PHASE_ICE: stack = new ItemStack(Items.ICE); break; + case PHASE_PACKEDICE: stack = new ItemStack(Items.PACKED_ICE); break; + case PHASE_BLUEICE: stack = new ItemStack(Items.BLUE_ICE); break; + default: return ItemStack.EMPTY; + } + if(extract) reset_process(); + return stack; + } + + public int comparator_signal() + { return phase() * 4; } + + protected void reset_process() + { + force_block_update_ = true; + tank_.drain(1000); + tick_timer_ = 0; + progress_ = 0; + } + + public void readnbt(CompoundNBT nbt) + { + energy_stored_ = nbt.getInt("energy"); + progress_ = nbt.getInt("progress"); + if(nbt.contains("tank", Constants.NBT.TAG_COMPOUND)) tank_.readnbt(nbt.getCompound("tank")); + } + + protected void writenbt(CompoundNBT nbt) + { + nbt.putInt("energy", MathHelper.clamp(energy_stored_,0 , MAX_ENERGY_BUFFER)); + nbt.putInt("progress", MathHelper.clamp(progress_,0 , 100)); + if(!tank_.isEmpty()) nbt.put("tank", tank_.writenbt(new CompoundNBT())); + } + + // TileEntity ------------------------------------------------------------------------------ + + @Override + public void read(BlockState state, CompoundNBT nbt) + { super.read(state, nbt); readnbt(nbt); } + + @Override + public CompoundNBT write(CompoundNBT nbt) + { super.write(nbt); writenbt(nbt); return nbt; } + + @Override + public void remove() + { + super.remove(); + energy_handler_.invalidate(); + fluid_handler_.invalidate(); + item_handler_.invalidate(); + } + + // IItemHandler -------------------------------------------------------------------------------- + + private LazyOptional item_handler_ = LazyOptional.of(() -> (IItemHandler)new FreezerItemHandler(this)); + + protected static class FreezerItemHandler implements IItemHandler + { + private FreezerTileEntity te; + + FreezerItemHandler(FreezerTileEntity te) + { this.te = te; } + + @Override + public int getSlots() + { return 1; } + + @Override + public int getSlotLimit(int index) + { return 1; } + + @Override + public boolean isItemValid(int slot, @Nonnull ItemStack stack) + { return false; } + + @Override + @Nonnull + public ItemStack getStackInSlot(int index) + { return (index!=0) ? ItemStack.EMPTY : te.getIceItem(false); } + + @Override + @Nonnull + public ItemStack insertItem(int index, @Nonnull ItemStack stack, boolean simulate) + { return ItemStack.EMPTY; } + + @Override + @Nonnull + public ItemStack extractItem(int index, int amount, boolean simulate) + { return te.getIceItem(!simulate); } + } + + // IFluidHandler -------------------------------------------------------------------------------- + + private final LazyOptional fluid_handler_ = LazyOptional.of(() -> new Fluidics.SingleTankFluidHandler(tank_)); + + // IEnergyStorage ---------------------------------------------------------------------------- + + protected LazyOptional energy_handler_ = LazyOptional.of(() -> (IEnergyStorage)this); + + @Override + public boolean canExtract() + { return false; } + + @Override + public boolean canReceive() + { return true; } + + @Override + public int getMaxEnergyStored() + { return MAX_ENERGY_BUFFER; } + + @Override + public int getEnergyStored() + { return energy_stored_; } + + @Override + public int extractEnergy(int maxExtract, boolean simulate) + { return 0; } + + @Override + public int receiveEnergy(int maxReceive, boolean simulate) + { + if(energy_stored_ >= MAX_ENERGY_BUFFER) return 0; + int n = Math.min(maxReceive, (MAX_ENERGY_BUFFER - energy_stored_)); + if(n > MAX_ENERGY_TRANSFER) n = MAX_ENERGY_TRANSFER; + if(!simulate) {energy_stored_ += n; markDirty(); } + return n; + } + + // Capability export ---------------------------------------------------------------------------- + + @Override + public LazyOptional getCapability(net.minecraftforge.common.capabilities.Capability capability, @Nullable Direction facing) + { + if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) return item_handler_.cast(); + if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) return fluid_handler_.cast(); + if(capability == CapabilityEnergy.ENERGY) return energy_handler_.cast(); + return super.getCapability(capability, facing); + } + + // ITickable ------------------------------------------------------------------------------------ + + @Override + public void tick() + { + if(world.isRemote) return; + if(--tick_timer_ > 0) return; + tick_timer_ = TICK_INTERVAL; + BlockState state = world.getBlockState(pos); + if(!(state.getBlock() instanceof FreezerBlock)) return; + boolean dirty = false; + final int last_phase = phase(); + if(tank_.getFluidAmount() < 1000) { + progress_ = 0; + } else if((energy_stored_ <= 0) || (world.isBlockPowered(pos))) { + progress_ = MathHelper.clamp(progress_-reheat_rate, 0,100); + } else if(progress_ >= 100) { + progress_ = 100; + energy_stored_ = MathHelper.clamp(energy_stored_-((energy_consumption*TICK_INTERVAL)/20), 0, MAX_ENERGY_BUFFER); + } else { + energy_stored_ = MathHelper.clamp(energy_stored_-(energy_consumption*TICK_INTERVAL), 0, MAX_ENERGY_BUFFER); + progress_ = MathHelper.clamp(progress_+cooldown_rate, 0, 100); + } + int new_phase = phase(); + if(new_phase > last_phase) { + world.playSound(null, pos, SoundEvents.BLOCK_SAND_FALL, SoundCategory.BLOCKS, 0.2f, 0.7f); + } else if(new_phase < last_phase) { + world.playSound(null, pos, SoundEvents.BLOCK_SAND_FALL, SoundCategory.BLOCKS, 0.2f, 0.7f); + } + // Block state + if((force_block_update_ || (state.get(FreezerBlock.PHASE) != new_phase))) { + state = state.with(FreezerBlock.PHASE, new_phase); + world.setBlockState(pos, state,3|16); + world.notifyNeighborsOfStateChange(getPos(), state.getBlock()); + force_block_update_ = false; + } + if(dirty) markDirty(); + } + } +} diff --git a/src/main/java/wile/engineersdecor/blocks/EdGroundBlock.java b/src/main/java/wile/engineersdecor/blocks/EdGroundBlock.java index 6536134..f2d87aa 100644 --- a/src/main/java/wile/engineersdecor/blocks/EdGroundBlock.java +++ b/src/main/java/wile/engineersdecor/blocks/EdGroundBlock.java @@ -1,5 +1,5 @@ /* - * @file EdSoilBlock.java + * @file EdGroundBlock.java * @author Stefan Wilhelm (wile) * @copyright (C) 2019 Stefan Wilhelm * @license MIT (see https://opensource.org/licenses/MIT) @@ -11,10 +11,8 @@ package wile.engineersdecor.blocks; import net.minecraft.block.*; - public class EdGroundBlock extends DecorBlock.Normal implements IDecorBlock { public EdGroundBlock(long config, Block.Properties builder) { super(config, builder); } - } diff --git a/src/main/java/wile/engineersdecor/blocks/EdHatchBlock.java b/src/main/java/wile/engineersdecor/blocks/EdHatchBlock.java index 9cd2476..cb65b2e 100644 --- a/src/main/java/wile/engineersdecor/blocks/EdHatchBlock.java +++ b/src/main/java/wile/engineersdecor/blocks/EdHatchBlock.java @@ -10,9 +10,7 @@ package wile.engineersdecor.blocks; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.entity.EntitySpawnPlacementRegistry; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.*; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.pathfinding.PathType; import net.minecraft.state.BooleanProperty; @@ -24,6 +22,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; +import net.minecraft.util.math.vector.Vector3d; import net.minecraft.world.IBlockReader; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; @@ -66,7 +65,7 @@ public class EdHatchBlock extends DecorBlock.HorizontalWaterLoggable implements @Override public boolean isLadder(BlockState state, IWorldReader world, BlockPos pos, LivingEntity entity) - { return state.get(OPEN); } + { return state.get(OPEN) && world.getBlockState(pos.up()).isLadder(world, pos, entity); } @Override public boolean canCreatureSpawn(BlockState state, IBlockReader world, BlockPos pos, EntitySpawnPlacementRegistry.PlacementType type, @Nullable EntityType entityType) @@ -97,4 +96,19 @@ public class EdHatchBlock extends DecorBlock.HorizontalWaterLoggable implements world.setBlockState(pos, state.with(OPEN, powered).with(POWERED, powered), 1|2); } + @Override + @SuppressWarnings("deprecation") + public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) + { + if((!state.get(OPEN)) || (!(entity instanceof PlayerEntity))) return; + final PlayerEntity player = (PlayerEntity)entity; + if(entity.getLookVec().getY() > -0.75) return; + if(player.getHorizontalFacing() != state.get(HORIZONTAL_FACING)) return; + Vector3d ppos = player.getPositionVec(); + Vector3d centre = Vector3d.copyCenteredHorizontally(pos); + Vector3d v = centre.subtract(ppos); + if(ppos.getY() < (centre.getY()-0.1) || (v.lengthSquared() > 0.3)) return; + v = v.scale(0.3); + player.addVelocity(v.x, 0, v.z); + } } diff --git a/src/main/java/wile/engineersdecor/blocks/EdHopper.java b/src/main/java/wile/engineersdecor/blocks/EdHopper.java index a734457..fe1f879 100644 --- a/src/main/java/wile/engineersdecor/blocks/EdHopper.java +++ b/src/main/java/wile/engineersdecor/blocks/EdHopper.java @@ -9,6 +9,7 @@ package wile.engineersdecor.blocks; import com.mojang.blaze3d.matrix.MatrixStack; +import net.minecraft.world.IWorldReader; import wile.engineersdecor.ModContent; import wile.engineersdecor.ModEngineersDecor; import wile.engineersdecor.libmc.detail.Auxiliaries; @@ -173,6 +174,10 @@ public class EdHopper ((HopperTileEntity)te).collection_timer_ = 0; } + @Override + public boolean shouldCheckWeakPower(BlockState state, IWorldReader world, BlockPos pos, Direction side) + { return false; } + @Override @SuppressWarnings("deprecation") public boolean canProvidePower(BlockState state) diff --git a/src/main/java/wile/engineersdecor/blocks/EdLadderBlock.java b/src/main/java/wile/engineersdecor/blocks/EdLadderBlock.java index 6fd4542..ca0e667 100644 --- a/src/main/java/wile/engineersdecor/blocks/EdLadderBlock.java +++ b/src/main/java/wile/engineersdecor/blocks/EdLadderBlock.java @@ -87,12 +87,22 @@ public class EdLadderBlock extends LadderBlock implements IDecorBlock { if((without_speed_boost_) || (player.isOnGround()) || (!player.isOnLadder()) || (player.isSteppingCarefully()) || (player.isSpectator())) return; double lvy = player.getLookVec().y; - if(Math.abs(lvy) < 0.94) return; + if(Math.abs(lvy) < 0.92) return; final BlockPos pos = player.getPosition(); final BlockState state = player.world.getBlockState(pos); if(!(state.getBlock() instanceof EdLadderBlock)) return; player.fallDistance = 0; - player.setMotionMultiplier(state, new Vector3d(0.2, (lvy>0)?(3):(6), 0.2)); + if((player.getMotion().getY() < 0) == (player.getLookVec().y < 0)) { + player.setMotionMultiplier(state, new Vector3d(0.2, (lvy>0)?(3):(6), 0.2)); + if(Math.abs(player.getMotion().getY()) > 0.1) { + Vector3d vdiff = Vector3d.copyCenteredHorizontally(pos).subtract(player.getPositionVec()).scale(1); + vdiff.add(Vector3d.copyCenteredHorizontally(state.get(FACING).getDirectionVec()).scale(0.5)); + vdiff = new Vector3d(vdiff.x, player.getMotion().y, vdiff.z); + player.setMotion(vdiff); + } + } else if(player.getLookVec().y > 0) { + player.setMotionMultiplier(state, new Vector3d(1, 0.05, 1)); + } } } diff --git a/src/main/java/wile/engineersdecor/blocks/EdRoofBlock.java b/src/main/java/wile/engineersdecor/blocks/EdRoofBlock.java index 50dbade..13fa6c6 100644 --- a/src/main/java/wile/engineersdecor/blocks/EdRoofBlock.java +++ b/src/main/java/wile/engineersdecor/blocks/EdRoofBlock.java @@ -21,6 +21,7 @@ import net.minecraft.util.*; import net.minecraft.util.Direction.Axis; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.shapes.IBooleanFunction; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.util.math.shapes.VoxelShapes; @@ -36,14 +37,16 @@ public class EdRoofBlock extends StandardBlocks.HorizontalWaterLoggable implemen { public static final EnumProperty SHAPE = BlockStateProperties.STAIRS_SHAPE; public static final EnumProperty HALF = BlockStateProperties.HALF; - private static final VoxelShape[][][] SHAPE_CACHE = makeShapes(); + private final VoxelShape[][][] shape_cache_; public EdRoofBlock(long config, Block.Properties properties) + { this(config, properties, VoxelShapes.empty(), VoxelShapes.empty()); } + + public EdRoofBlock(long config, Block.Properties properties, VoxelShape add, VoxelShape cut) { - super(config, - properties,//.func_235838_a_((state)->1).notSolid(), //shade rendering again messed up - Auxiliaries.getPixeledAABB(0, 0,0,16, 8, 16)); + super(config, properties, Auxiliaries.getPixeledAABB(0, 0,0,16, 8, 16)); setDefaultState(stateContainer.getBaseState().with(HORIZONTAL_FACING, Direction.NORTH).with(SHAPE, StairsShape.STRAIGHT).with(WATERLOGGED, false)); + shape_cache_ = makeShapes(add, cut); } @Override @@ -53,7 +56,7 @@ public class EdRoofBlock extends StandardBlocks.HorizontalWaterLoggable implemen @Override public VoxelShape getShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext context) - { return SHAPE_CACHE[state.get(HALF).ordinal()][state.get(HORIZONTAL_FACING).getIndex()][state.get(SHAPE).ordinal()]; } + { return shape_cache_[state.get(HALF).ordinal()][state.get(HORIZONTAL_FACING).getIndex()][state.get(SHAPE).ordinal()]; } @Override protected void fillStateContainer(StateContainer.Builder builder) @@ -123,13 +126,22 @@ public class EdRoofBlock extends StandardBlocks.HorizontalWaterLoggable implemen return (!isRoofBlock(st)) || (st.get(HORIZONTAL_FACING) != state.get(HORIZONTAL_FACING)); } - private static VoxelShape[][][] makeShapes() + private static VoxelShape[][][] makeShapes(VoxelShape add, VoxelShape cut) { VoxelShape[][][] shapes = new VoxelShape[2][6][5]; for(int half_index=0; half_index ENABLED_TABS = Collections.singletonList(ModEngineersDecor.ITEMGROUP); + public static final Collection DISABLED_TABS = new ArrayList(); + + public EdItem(Item.Properties properties) + { super(properties.group(ModEngineersDecor.ITEMGROUP)); } + + @Override + @OnlyIn(Dist.CLIENT) + public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) + { Auxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); } + + @Override + public Collection getCreativeTabs() + { return ModConfig.isOptedOut(this) ? (DISABLED_TABS) : (ENABLED_TABS); } + +} diff --git a/src/main/java/wile/engineersdecor/libmc/detail/Fluidics.java b/src/main/java/wile/engineersdecor/libmc/detail/Fluidics.java index 86e173e..e4cfb8e 100644 --- a/src/main/java/wile/engineersdecor/libmc/detail/Fluidics.java +++ b/src/main/java/wile/engineersdecor/libmc/detail/Fluidics.java @@ -69,6 +69,9 @@ public class Fluidics public Tank(int capacity) { capacity_ = capacity; } + public Tank(int capacity, Predicate validator) + { capacity_ = capacity; setValidator(validator); } + public Tank readnbt(CompoundNBT nbt) { setFluid(FluidStack.loadFluidStackFromNBT(nbt)); return this; } @@ -136,6 +139,10 @@ public class Fluidics } } + @Nonnull + public FluidStack drain(int maxDrain) + { return drain(maxDrain, FluidAction.EXECUTE); } + @Nonnull @Override public FluidStack drain(FluidStack fs, FluidAction action) diff --git a/src/main/resources/assets/engineersdecor/blockstates/dark_shingle_roof_chimney.json b/src/main/resources/assets/engineersdecor/blockstates/dark_shingle_roof_chimney.json new file mode 100644 index 0000000..a418fdf --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/dark_shingle_roof_chimney.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": [ + { "model": "engineersdecor:block/roof/dark_shingle_roof_chimney_model" } + ] + } +} diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_caution.json b/src/main/resources/assets/engineersdecor/blockstates/sign_caution.json new file mode 100644 index 0000000..2fea45c --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_caution.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_caution_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_caution_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_caution_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_caution_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_caution_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_caution_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_firehazard.json b/src/main/resources/assets/engineersdecor/blockstates/sign_firehazard.json new file mode 100644 index 0000000..dffe7f7 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_firehazard.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_firehazard_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_firehazard_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_firehazard_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_firehazard_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_firehazard_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_firehazard_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_frost.json b/src/main/resources/assets/engineersdecor/blockstates/sign_frost.json new file mode 100644 index 0000000..069d8b0 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_frost.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_frost_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_frost_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_frost_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_frost_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_frost_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_frost_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_hotsurface.json b/src/main/resources/assets/engineersdecor/blockstates/sign_hotsurface.json new file mode 100644 index 0000000..c7f4a5a --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_hotsurface.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_hotsurface_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_hotsurface_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_hotsurface_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_hotsurface_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_hotsurface_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_hotsurface_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_laser.json b/src/main/resources/assets/engineersdecor/blockstates/sign_laser.json new file mode 100644 index 0000000..38fca3a --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_laser.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_laser_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_laser_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_laser_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_laser_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_laser_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_laser_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_magichazard.json b/src/main/resources/assets/engineersdecor/blockstates/sign_magichazard.json new file mode 100644 index 0000000..34cf058 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_magichazard.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_magichazard_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_magichazard_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_magichazard_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_magichazard_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_magichazard_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_magichazard_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_magneticfield.json b/src/main/resources/assets/engineersdecor/blockstates/sign_magneticfield.json new file mode 100644 index 0000000..529cc9d --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_magneticfield.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_magneticfield_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_magneticfield_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_magneticfield_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_magneticfield_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_magneticfield_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_magneticfield_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/sign_radioactive.json b/src/main/resources/assets/engineersdecor/blockstates/sign_radioactive.json new file mode 100644 index 0000000..c1121bb --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/sign_radioactive.json @@ -0,0 +1,10 @@ +{ + "variants": { + "facing=north": { "model": "engineersdecor:block/sign/sign_radioactive_model", "y":180 }, + "facing=south": { "model": "engineersdecor:block/sign/sign_radioactive_model" }, + "facing=west": { "model": "engineersdecor:block/sign/sign_radioactive_model", "y":90 }, + "facing=east": { "model": "engineersdecor:block/sign/sign_radioactive_model", "y":270 }, + "facing=up": { "model": "engineersdecor:block/sign/sign_radioactive_model" }, + "facing=down": { "model": "engineersdecor:block/sign/sign_radioactive_model" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/blockstates/small_freezer.json b/src/main/resources/assets/engineersdecor/blockstates/small_freezer.json new file mode 100644 index 0000000..3323cd9 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/blockstates/small_freezer.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north,phase=0": { "model": "engineersdecor:block/device/small_freezer_model", "y": 0 }, + "facing=south,phase=0": { "model": "engineersdecor:block/device/small_freezer_model", "y": 180 }, + "facing=west,phase=0": { "model": "engineersdecor:block/device/small_freezer_model", "y": 270 }, + "facing=east,phase=0": { "model": "engineersdecor:block/device/small_freezer_model", "y": 90 }, + "facing=north,phase=1": { "model": "engineersdecor:block/device/small_freezer_model_s1", "y": 0 }, + "facing=south,phase=1": { "model": "engineersdecor:block/device/small_freezer_model_s1", "y": 180 }, + "facing=west,phase=1": { "model": "engineersdecor:block/device/small_freezer_model_s1", "y": 270 }, + "facing=east,phase=1": { "model": "engineersdecor:block/device/small_freezer_model_s1", "y": 90 }, + "facing=north,phase=2": { "model": "engineersdecor:block/device/small_freezer_model_s2", "y": 0 }, + "facing=south,phase=2": { "model": "engineersdecor:block/device/small_freezer_model_s2", "y": 180 }, + "facing=west,phase=2": { "model": "engineersdecor:block/device/small_freezer_model_s2", "y": 270 }, + "facing=east,phase=2": { "model": "engineersdecor:block/device/small_freezer_model_s2", "y": 90 }, + "facing=north,phase=3": { "model": "engineersdecor:block/device/small_freezer_model_s3", "y": 0 }, + "facing=south,phase=3": { "model": "engineersdecor:block/device/small_freezer_model_s3", "y": 180 }, + "facing=west,phase=3": { "model": "engineersdecor:block/device/small_freezer_model_s3", "y": 270 }, + "facing=east,phase=3": { "model": "engineersdecor:block/device/small_freezer_model_s3", "y": 90 }, + "facing=north,phase=4": { "model": "engineersdecor:block/device/small_freezer_model_s4", "y": 0 }, + "facing=south,phase=4": { "model": "engineersdecor:block/device/small_freezer_model_s4", "y": 180 }, + "facing=west,phase=4": { "model": "engineersdecor:block/device/small_freezer_model_s4", "y": 270 }, + "facing=east,phase=4": { "model": "engineersdecor:block/device/small_freezer_model_s4", "y": 90 } + } +} diff --git a/src/main/resources/assets/engineersdecor/lang/en_us.json b/src/main/resources/assets/engineersdecor/lang/en_us.json index d1e79b6..2025256 100644 --- a/src/main/resources/assets/engineersdecor/lang/en_us.json +++ b/src/main/resources/assets/engineersdecor/lang/en_us.json @@ -67,7 +67,10 @@ "block.engineersdecor.clinker_brick_wall.help": "§6Simplistic Clinker Brick Wall.", "block.engineersdecor.dark_shingle_roof": "Dark Shingle Roof", "block.engineersdecor.dark_shingle_roof_block": "Dark Shingle Roof Block", + "block.engineersdecor.dark_shingle_roof_chimney": "§6Dark Shingle Roof Chimney.", + "block.engineersdecor.dark_shingle_roof_chimney.help": "Smoking chimney fitting to the Dark Shingle Roof Chimney Trunk. Click to change the smoke intensity.", "block.engineersdecor.dark_shingle_roof_chimneytrunk": "Dark Shingle Roof Chimney Trunk", + "block.engineersdecor.dark_shingle_roof_chimneytrunk.help": "Trunk to put a chimney on or place a IE Wire Connector to feed RF power into the building over the roof.", "block.engineersdecor.dark_shingle_roof_metallized": "Dark Shingle Roof Show Guard", "block.engineersdecor.dark_shingle_roof_skylight": "Dark Shingle Roof Skylight", "block.engineersdecor.dark_shingle_roof_slab": "Dark Shingle Roof Slab", @@ -180,20 +183,23 @@ "block.engineersdecor.rebar_concrete_tile_stairs.help": "§6Steel reinforced concrete tile stairs.§r Expensive but Creeper-proof like obsidian.", "block.engineersdecor.rebar_concrete_wall": "Rebar Concrete Wall", "block.engineersdecor.rebar_concrete_wall.help": "§6Steel reinforced concrete wall.§r Expensive but Creeper-proof like obsidian.", + "block.engineersdecor.sign_caution": "Sign \"Generic Caution\"", "block.engineersdecor.sign_danger": "Sign \"Caution Really Dangerous There\"", - "block.engineersdecor.sign_danger.help": "§6General danger warning.", "block.engineersdecor.sign_decor": "Sign Plate (Engineer's decor)", "block.engineersdecor.sign_decor.help": "§6This should not be craftable or visible in JEI. Used for creative tab and screenshots.", "block.engineersdecor.sign_defense": "Sign \"Caution Defense System Ahead\"", - "block.engineersdecor.sign_defense.help": "§6Warning sign for turrets, Tesla Coils, and traps.", "block.engineersdecor.sign_exit": "Exit Sign", "block.engineersdecor.sign_exit.help": "§6There's the door, please ...", "block.engineersdecor.sign_factoryarea": "Sign \"Factory Area\"", - "block.engineersdecor.sign_factoryarea.help": "§6Marker sign for buildings or areas where the really big machines are located.", + "block.engineersdecor.sign_firehazard": "Sign \"Fire Hazard\"", + "block.engineersdecor.sign_frost": "Sign \"Frost Warning\"", + "block.engineersdecor.sign_hotsurface": "Sign \"Caution Hot Surface\"", "block.engineersdecor.sign_hotwire": "Sign \"Caution Hot Wire\"", "block.engineersdecor.sign_hotwire.help": "§6Electrical hazard warning. Don't forget to place around HV, or you will have a nonconformity in the next audit.", - "block.engineersdecor.sign_mindstep": "Sign \"Mind The Step\"", - "block.engineersdecor.sign_mindstep.help": "§6Placable on walls (horizontally).", + "block.engineersdecor.sign_laser": "Sign \"Laser Hazard\"", + "block.engineersdecor.sign_magichazard": "Sign \"Caution Magical Hazard\"", + "block.engineersdecor.sign_magneticfield": "Sign \"Caution Strong Magnetic Field\"", + "block.engineersdecor.sign_radioactive": "Sign \"Radioactive Hazard\"", "block.engineersdecor.slag_brick_block": "Slag Brick Block", "block.engineersdecor.slag_brick_block.help": "§6A gray-brown brick block with position dependent texture variations.", "block.engineersdecor.slag_brick_slab": "Slag Brick Slab", @@ -211,6 +217,8 @@ "block.engineersdecor.small_electrical_furnace.tooltips.speed": "Smelting speed selection §8(OFF/I/II/III)", "block.engineersdecor.small_fluid_funnel": "Small Fluid Collection Funnel", "block.engineersdecor.small_fluid_funnel.help": "§6Collects fluids above it.§r Has an internal tank with three buckets capacity. Traces flowing fluids to nearby source blocks. The fluid can be obtained with fluid transfer systems or a bucket. Fills only tanks below (gravity transfer). Compatible with vanilla infinite-water-source creation.", + "block.engineersdecor.small_freezer": "Small Water Freezer", + "block.engineersdecor.small_freezer.help": "§6Ice production device.§r\nCools down water to ice, packed ice, and finally blue ice. Click with a water bucket or pipe in water and ensure the device is RF powered. Use a Hopper or other item extraction to retrieve the ice variant. Remove the RF power or apply a redstone signal to disable the freezer. For automation, you can use a redstone comparator to detect which ice phase is currently present.", "block.engineersdecor.small_lab_furnace": "Small Laboratory Furnace", "block.engineersdecor.small_lab_furnace.help": "§6Small metal cased lab kiln.§r Solid fuel consuming, updraught. Slightly hotter and better isolated than a cobblestone furnace, therefore more efficient. Two auxiliary slots e.g. for storage. Two stack internal hopper fifos for input, output, and fuel. Place an external heater into a aux slot and connect power for electrical smelting speed boost.", "block.engineersdecor.small_milking_machine": "Small Milking Machine", @@ -276,5 +284,6 @@ "block.engineersdecor.treated_wood_window": "Treated Wood Window", "block.engineersdecor.treated_wood_window.help": "§6Wood framed triple glazed window. Well insulating.§r Does not connect to adjacent blocks like glass panes.", "block.engineersdecor.treated_wood_windowsill": "Treated Wood Window Sill", - "block.engineersdecor.treated_wood_windowsill.help": "§6Simple window decoration." + "block.engineersdecor.treated_wood_windowsill.help": "§6Simple window decoration.", + "item.engineersdecor.metal_bar": "Metal Bar" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/lang/ru_ru.json b/src/main/resources/assets/engineersdecor/lang/ru_ru.json index 75b4519..c98251e 100644 --- a/src/main/resources/assets/engineersdecor/lang/ru_ru.json +++ b/src/main/resources/assets/engineersdecor/lang/ru_ru.json @@ -67,7 +67,10 @@ "block.engineersdecor.clinker_brick_wall.help": "§6Обыкновенная клинкерная кирпичная стена.", "block.engineersdecor.dark_shingle_roof": "Dark Ceramic Shingle Roof", "block.engineersdecor.dark_shingle_roof_block": "Dark Ceramic Shingle Roof Block", + "block.engineersdecor.dark_shingle_roof_chimney": "§6Dark Shingle Roof Chimney.", + "block.engineersdecor.dark_shingle_roof_chimney.help": "Smoking chimney fitting to the Dark Shingle Roof Chimney Trunk. Click to change the smoke intensity.", "block.engineersdecor.dark_shingle_roof_chimneytrunk": "Dark Shingle Roof Chimney Trunk", + "block.engineersdecor.dark_shingle_roof_chimneytrunk.help": "Trunk to put a chimney on or place a IE Wire Connector to feed RF power into the building over the roof.", "block.engineersdecor.dark_shingle_roof_metallized": "Dark Shingle Roof Show Guard", "block.engineersdecor.dark_shingle_roof_skylight": "Dark Shingle Roof Skylight", "block.engineersdecor.dark_shingle_roof_slab": "Dark Ceramic Shingle Roof Slab", @@ -180,20 +183,23 @@ "block.engineersdecor.rebar_concrete_tile_stairs.help": "§6Ступеньки из железобетонной плитки.§r Дорогие, но взрывоустойчивые, как обсидиан.", "block.engineersdecor.rebar_concrete_wall": "Железобетонная стена", "block.engineersdecor.rebar_concrete_wall.help": "§6Стальная железобетонная стена.§r Дорогая, но взрывоустойчивая, как обсидиан.", + "block.engineersdecor.sign_caution": "Sign \"Generic Caution\"", "block.engineersdecor.sign_danger": "Знак «Осторожно, там опасность»", - "block.engineersdecor.sign_danger.help": "§6Общее предупреждение об опасности.", "block.engineersdecor.sign_decor": "Табличка с надписью (Логотип Engineer's decor)", "block.engineersdecor.sign_decor.help": "§Это не должно быть крафтовым или видимым в JEI. Используется для творческой вкладки и скриншотов.", "block.engineersdecor.sign_defense": "Знак «Осторожно, впереди система обороны»", - "block.engineersdecor.sign_defense.help": "§6Предупреждающий знак для турелей, катушек Тесла и ловушек.", "block.engineersdecor.sign_exit": "Знак «Выход»", "block.engineersdecor.sign_exit.help": "§6Там дверь, пожалуйста ...", "block.engineersdecor.sign_factoryarea": "Знак «Заводская зона»", - "block.engineersdecor.sign_factoryarea.help": "§6Маркерный знак для зданий или областей, где расположены действительно большие машины.", + "block.engineersdecor.sign_firehazard": "Sign \"Fire Hazard\"", + "block.engineersdecor.sign_frost": "Sign \"Frost Warning\"", + "block.engineersdecor.sign_hotsurface": "Sign \"Caution Hot Surface\"", "block.engineersdecor.sign_hotwire": "Знак «Осторожно, под напряжением»", "block.engineersdecor.sign_hotwire.help": "§6Предупреждение об опасности поражения электрическим током. Не забудьте разместить около высокого напряжения, иначе у вас будет штраф при следующей проверке.", - "block.engineersdecor.sign_mindstep": "Знак «Осторожно, там ступеньки!»", - "block.engineersdecor.sign_mindstep.help": "§6Размещается на стенах (горизонтально)", + "block.engineersdecor.sign_laser": "Sign \"Laser Hazard\"", + "block.engineersdecor.sign_magichazard": "Sign \"Caution Magical Hazard\"", + "block.engineersdecor.sign_magneticfield": "Sign \"Caution Strong Magnetic Field\"", + "block.engineersdecor.sign_radioactive": "Sign \"Radioactive Hazard\"", "block.engineersdecor.slag_brick_block": "Шлакоблок", "block.engineersdecor.slag_brick_block.help": "§6Серо-коричневый кирпичный блок с зависимыми от положения вариациями текстуры.", "block.engineersdecor.slag_brick_slab": "Плита из шлакоблока", @@ -211,6 +217,8 @@ "block.engineersdecor.small_electrical_furnace.tooltips.speed": "Smelting speed selection §8(OFF/I/II/III)", "block.engineersdecor.small_fluid_funnel": "Малая воронка для сбора жидкости", "block.engineersdecor.small_fluid_funnel.help": "§6Собирает жидкости над ним.§r Имеет внутренний бак на три ведра. Прослеживает текучие жидкости к соседним блокам источника. Жидкость может быть получена с помощью систем передачи жидкости или ведра. Заполняет только резервуары ниже (сила гравитации). Совместим с ванильным источником бесконечной воды.", + "block.engineersdecor.small_freezer": "Small Water Freezer", + "block.engineersdecor.small_freezer.help": "§6Ice production device.§r\nCools down water to ice, packed ice, and finally blue ice. Click with a water bucket or pipe in water and ensure the device is RF powered. Use a Hopper or other item extraction to retrieve the ice variant. Remove the RF power or apply a redstone signal to disable the freezer. For automation, you can use a redstone comparator to detect which ice phase is currently present.", "block.engineersdecor.small_lab_furnace": "Компактная лабораторная печь", "block.engineersdecor.small_lab_furnace.help": "§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива сверху. Немного горячее и изолированней каменной, поэтому быстрее. Два вспомогательных слота, например для хранения. Два слота-воронки для ввода, вывода, и топлива. Поместите внешний нагреватель в слот AUX и подключите питание для электрического повышения скорости обработки.", "block.engineersdecor.small_milking_machine": "Малый доильный аппарат", @@ -276,5 +284,6 @@ "block.engineersdecor.treated_wood_window": "Обработанное деревянное окно", "block.engineersdecor.treated_wood_window.help": "§6Деревянный каркас окна с тройным остеклением. Ну и шумоизоляция.", "block.engineersdecor.treated_wood_windowsill": "Обработанный деревянный подоконник", - "block.engineersdecor.treated_wood_windowsill.help": "§6Простое оформление окон." + "block.engineersdecor.treated_wood_windowsill.help": "§6Простое оформление окон.", + "item.engineersdecor.metal_bar": "Metal Bar" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/lang/zh_cn.json b/src/main/resources/assets/engineersdecor/lang/zh_cn.json index 8becae0..f0e2376 100644 --- a/src/main/resources/assets/engineersdecor/lang/zh_cn.json +++ b/src/main/resources/assets/engineersdecor/lang/zh_cn.json @@ -67,7 +67,10 @@ "block.engineersdecor.clinker_brick_wall.help": "§6简单的过烧砖墙。", "block.engineersdecor.dark_shingle_roof": "Dark Ceramic Shingle Roof", "block.engineersdecor.dark_shingle_roof_block": "Dark Ceramic Shingle Roof Block", + "block.engineersdecor.dark_shingle_roof_chimney": "§6Dark Shingle Roof Chimney.", + "block.engineersdecor.dark_shingle_roof_chimney.help": "Smoking chimney fitting to the Dark Shingle Roof Chimney Trunk. Click to change the smoke intensity.", "block.engineersdecor.dark_shingle_roof_chimneytrunk": "Dark Shingle Roof Chimney Trunk", + "block.engineersdecor.dark_shingle_roof_chimneytrunk.help": "Trunk to put a chimney on or place a IE Wire Connector to feed RF power into the building over the roof.", "block.engineersdecor.dark_shingle_roof_metallized": "Dark Shingle Roof Show Guard", "block.engineersdecor.dark_shingle_roof_skylight": "Dark Shingle Roof Skylight", "block.engineersdecor.dark_shingle_roof_slab": "Dark Ceramic Shingle Roof Slab", @@ -180,20 +183,23 @@ "block.engineersdecor.rebar_concrete_tile_stairs.help": "§6钢强化的混凝土砖楼梯。§r昂贵但像黑曜石一样防爬行者爆炸。", "block.engineersdecor.rebar_concrete_wall": "钢筋混凝土墙", "block.engineersdecor.rebar_concrete_wall.help": "§6钢强化的混凝土墙。§r 昂贵但像黑曜石一样防爬行者爆炸。", + "block.engineersdecor.sign_caution": "Sign \"Generic Caution\"", "block.engineersdecor.sign_danger": "指示牌 \"小心危险\"", - "block.engineersdecor.sign_danger.help": "§6通用危险警告。", "block.engineersdecor.sign_decor": "标志板(工程师的装饰)", "block.engineersdecor.sign_decor.help": "§6这不应该可合成或在JEI看到。用于创造模式的物品栏标签和截屏。", "block.engineersdecor.sign_defense": "指示牌 \"小心防御系统\"", - "block.engineersdecor.sign_defense.help": "§6用于警告炮塔、特斯拉线圈和陷阱。", "block.engineersdecor.sign_exit": "出口指示牌", "block.engineersdecor.sign_exit.help": "§6There's the door, please ...", "block.engineersdecor.sign_factoryarea": "指示牌 \"工厂区域\"", - "block.engineersdecor.sign_factoryarea.help": "§6用于指示真的很大的机器所在的建筑和区域。", + "block.engineersdecor.sign_firehazard": "Sign \"Fire Hazard\"", + "block.engineersdecor.sign_frost": "Sign \"Frost Warning\"", + "block.engineersdecor.sign_hotsurface": "Sign \"Caution Hot Surface\"", "block.engineersdecor.sign_hotwire": "指示牌 \"小心电线\"", "block.engineersdecor.sign_hotwire.help": "§6电气危害警告。不要忘记在高压线周围放置,否则下次审计时你会发现不合格。", - "block.engineersdecor.sign_mindstep": "指示牌 \"小心脚滑\"", - "block.engineersdecor.sign_mindstep.help": "§6能(水平)放在墙上。", + "block.engineersdecor.sign_laser": "Sign \"Laser Hazard\"", + "block.engineersdecor.sign_magichazard": "Sign \"Caution Magical Hazard\"", + "block.engineersdecor.sign_magneticfield": "Sign \"Caution Strong Magnetic Field\"", + "block.engineersdecor.sign_radioactive": "Sign \"Radioactive Hazard\"", "block.engineersdecor.slag_brick_block": "炉渣砖块", "block.engineersdecor.slag_brick_block.help": "§6一种放在不同位置贴图有不同变化的灰棕色砖块。", "block.engineersdecor.slag_brick_slab": "炉渣砖台阶", @@ -211,6 +217,8 @@ "block.engineersdecor.small_electrical_furnace.tooltips.speed": "Smelting speed selection §8(OFF/I/II/III)", "block.engineersdecor.small_fluid_funnel": "小型流体收集漏斗", "block.engineersdecor.small_fluid_funnel.help": "§6收集上方的流体。§r有一个三桶大的内部储罐。会 追溯流体到附近的源方块。流体可被流体运输系统或桶 移出。只会装满下方的储罐(重力传输)。与原版 无限水兼容。", + "block.engineersdecor.small_freezer": "Small Water Freezer", + "block.engineersdecor.small_freezer.help": "§6Ice production device.§r\nCools down water to ice, packed ice, and finally blue ice. Click with a water bucket or pipe in water and ensure the device is RF powered. Use a Hopper or other item extraction to retrieve the ice variant. Remove the RF power or apply a redstone signal to disable the freezer. For automation, you can use a redstone comparator to detect which ice phase is currently present.", "block.engineersdecor.small_lab_furnace": "小型实验室炉", "block.engineersdecor.small_lab_furnace.help": "§6小型金属壳实验室窑。§r消耗固体燃料,向上排气。 比圆石炉稍微热一点,隔热性也更好,因此效率更高。 有两个用于储存的辅助格。两个堆叠的内部漏斗对输入、输出和燃料进行队列管理。 在辅助格放置一个外置加热器并通入电力可以加快熔炼速度。", "block.engineersdecor.small_milking_machine": "小型挤奶机", @@ -276,5 +284,6 @@ "block.engineersdecor.treated_wood_window": "防腐木窗", "block.engineersdecor.treated_wood_window.help": "§6木框三层玻璃窗。绝缘良好。§r不像玻璃板一样连接到相邻方块。", "block.engineersdecor.treated_wood_windowsill": "防腐木窗台", - "block.engineersdecor.treated_wood_windowsill.help": "§6简单的窗户装饰。" + "block.engineersdecor.treated_wood_windowsill.help": "§6简单的窗户装饰。", + "item.engineersdecor.metal_bar": "Metal Bar" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model.json b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model.json new file mode 100644 index 0000000..4b7a2e5 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model.json @@ -0,0 +1,10 @@ +{ + "parent": "engineersdecor:block/device/small_mineral_smelter_model", + "textures": { + "front": "engineersdecor:block/furnace/small_freezer_front_s0", + "top": "engineersdecor:block/furnace/small_freezer_top", + "particle": "engineersdecor:block/furnace/small_freezer_side", + "side": "engineersdecor:block/furnace/small_freezer_side", + "bottom": "engineersdecor:block/furnace/small_freezer_bottom" + } +} diff --git a/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s1.json b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s1.json new file mode 100644 index 0000000..7c2a7b7 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s1.json @@ -0,0 +1,6 @@ +{ + "parent": "engineersdecor:block/device/small_freezer_model", + "textures": { + "front": "engineersdecor:block/furnace/small_freezer_front_s1" + } +} diff --git a/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s2.json b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s2.json new file mode 100644 index 0000000..ba30f66 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s2.json @@ -0,0 +1,6 @@ +{ + "parent": "engineersdecor:block/device/small_freezer_model", + "textures": { + "front": "engineersdecor:block/furnace/small_freezer_front_s2" + } +} diff --git a/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s3.json b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s3.json new file mode 100644 index 0000000..1d07b83 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s3.json @@ -0,0 +1,6 @@ +{ + "parent": "engineersdecor:block/device/small_freezer_model", + "textures": { + "front": "engineersdecor:block/furnace/small_freezer_front_s3" + } +} diff --git a/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s4.json b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s4.json new file mode 100644 index 0000000..0fc6664 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/device/small_freezer_model_s4.json @@ -0,0 +1,6 @@ +{ + "parent": "engineersdecor:block/device/small_freezer_model", + "textures": { + "front": "engineersdecor:block/furnace/small_freezer_front_s4" + } +} diff --git a/src/main/resources/assets/engineersdecor/models/block/device/small_mineral_smelter_model.json b/src/main/resources/assets/engineersdecor/models/block/device/small_mineral_smelter_model.json index fec8185..dfdd992 100644 --- a/src/main/resources/assets/engineersdecor/models/block/device/small_mineral_smelter_model.json +++ b/src/main/resources/assets/engineersdecor/models/block/device/small_mineral_smelter_model.json @@ -3,8 +3,8 @@ "textures": { "front": "engineersdecor:block/furnace/small_mineral_smelter_front_s0", "top": "engineersdecor:block/furnace/small_mineral_smelter_top", - "side": "engineersdecor:block/furnace/small_mineral_smelter_side", "particle": "engineersdecor:block/furnace/small_mineral_smelter_side", + "side": "engineersdecor:block/furnace/small_mineral_smelter_side", "bottom": "engineersdecor:block/furnace/small_mineral_smelter_bottom" }, "elements": [ @@ -12,95 +12,101 @@ "from": [1, 1, 1], "to": [15, 15, 15], "faces": { - "north": {"texture": "#side"}, - "east": {"texture": "#side"}, - "south": {"texture": "#front"}, - "west": {"texture": "#side"}, - "up": {"texture": "#front"}, - "down": {"texture": "#top"} + "north": {"uv": [1, 1, 15, 15], "texture": "#side"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#side"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#front"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#front"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#top"} } }, { "from": [0, 15, 0], "to": [16, 16, 16], "faces": { - "north": {"texture": "#side"}, - "east": {"texture": "#side"}, - "south": {"texture": "#front"}, - "west": {"texture": "#side"}, - "up": {"texture": "#top"}, - "down": {"texture": "#top"} + "north": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#front"}, + "west": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#top"} } }, { "from": [0, 1, 2], "to": [1, 15, 14], "faces": { - "north": {"texture": "#side"}, - "south": {"texture": "#front"}, - "west": {"texture": "#side"}, - "up": {"texture": "#front"}, - "down": {"texture": "#top"} + "north": {"uv": [15, 1, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 1, 1, 15], "texture": "#front"}, + "west": {"uv": [2, 1, 14, 15], "texture": "#side"}, + "up": {"uv": [0, 2, 1, 14], "texture": "#front"}, + "down": {"uv": [0, 2, 1, 14], "texture": "#top"} } }, { "from": [15, 1, 2], "to": [16, 15, 14], "faces": { - "north": {"texture": "#side"}, - "east": {"texture": "#side"}, - "south": {"texture": "#front"}, - "up": {"texture": "#front"}, - "down": {"texture": "#top"} + "north": {"uv": [0, 1, 1, 15], "texture": "#side"}, + "east": {"uv": [2, 1, 14, 15], "texture": "#side"}, + "south": {"uv": [15, 1, 16, 15], "texture": "#front"}, + "up": {"uv": [15, 2, 16, 14], "texture": "#front"}, + "down": {"uv": [15, 2, 16, 14], "texture": "#top"} } }, { "from": [2, 1, 0], "to": [14, 15, 1], "faces": { - "north": {"texture": "#side"}, - "east": {"texture": "#side"}, - "south": {"texture": "#side"}, - "west": {"texture": "#side"}, - "up": {"texture": "#side"}, - "down": {"texture": "#side"} + "north": {"uv": [2, 1, 14, 15], "texture": "#side"}, + "east": {"uv": [15, 1, 16, 15], "texture": "#side"}, + "south": {"uv": [2, 1, 14, 15], "texture": "#side"}, + "west": {"uv": [0, 1, 1, 15], "texture": "#side"}, + "up": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "down": {"uv": [2, 15, 14, 16], "texture": "#side"} } }, { "from": [2, 1, 15], "to": [14, 15, 16], "faces": { - "north": {"texture": "#front"}, - "east": {"texture": "#side"}, - "south": {"texture": "#front"}, - "west": {"texture": "#side"}, - "up": {"texture": "#front"}, - "down": {"texture": "#front"} + "north": {"uv": [2, 1, 14, 15], "texture": "#front"}, + "east": {"uv": [0, 1, 1, 15], "texture": "#side"}, + "south": {"uv": [2, 1, 14, 15], "texture": "#front"}, + "west": {"uv": [15, 1, 16, 15], "texture": "#side"}, + "up": {"uv": [2, 15, 14, 16], "texture": "#front"}, + "down": {"uv": [2, 0, 14, 1], "texture": "#front"} } }, { "from": [0, 0, 0], "to": [16, 1, 16], "faces": { - "north": {"texture": "#side"}, - "east": {"texture": "#side"}, - "south": {"texture": "#front"}, - "west": {"texture": "#side"}, - "up": {"texture": "#bottom"}, - "down": {"texture": "#bottom"} + "north": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#front"}, + "west": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#bottom"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#bottom"} } } ], "display": { - "ground": { - "translation": [0, 1.75, 0], - "scale": [0.2, 0.2, 0.2] + "thirdperson_righthand": { + "rotation": [75, -134, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] }, "gui": { - "rotation": [30, 225, 0], + "rotation": [30, -45, 0], "scale": [0.625, 0.625, 0.625] }, "fixed": { + "rotation": [0, -180, 0], "scale": [0.5, 0.5, 0.5] } } diff --git a/src/main/resources/assets/engineersdecor/models/block/roof/dark_shingle_roof_chimney_model.json b/src/main/resources/assets/engineersdecor/models/block/roof/dark_shingle_roof_chimney_model.json new file mode 100644 index 0000000..df2808f --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/roof/dark_shingle_roof_chimney_model.json @@ -0,0 +1,81 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "particle": "engineersdecor:block/pole/thick_steel_pole_top_texture", + "t": "engineersdecor:block/pole/thick_steel_pole_top_texture" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 6, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 11.5, 7]}, + "faces": { + "north": {"uv": [3, 10, 13, 16], "texture": "#t"}, + "east": {"uv": [11, 10, 13, 16], "texture": "#t"}, + "south": {"uv": [3, 10, 13, 16], "texture": "#t"}, + "west": {"uv": [3, 10, 5, 16], "texture": "#t"}, + "up": {"uv": [3, 3, 13, 5], "texture": "#t"}, + "down": {"uv": [3, 11, 13, 13], "texture": "#t"} + } + }, + { + "from": [3, 0, 11], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 11.5, 15]}, + "faces": { + "north": {"uv": [3, 10, 13, 16], "texture": "#t"}, + "east": {"uv": [3, 10, 5, 16], "texture": "#t"}, + "south": {"uv": [3, 10, 13, 16], "texture": "#t"}, + "west": {"uv": [11, 10, 13, 16], "texture": "#t"}, + "up": {"uv": [3, 11, 13, 13], "texture": "#t"}, + "down": {"uv": [3, 3, 13, 5], "texture": "#t"} + } + }, + { + "from": [11, 0, 5], + "to": [13, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 11.5, 12]}, + "faces": { + "east": {"uv": [5, 10, 11, 16], "texture": "#t"}, + "west": {"uv": [5, 10, 11, 16], "texture": "#t"}, + "up": {"uv": [11, 5, 13, 11], "texture": "#t"}, + "down": {"uv": [11, 5, 13, 11], "texture": "#t"} + } + }, + { + "from": [3, 0, 5], + "to": [5, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 11.5, 12]}, + "faces": { + "east": {"uv": [5, 10, 11, 16], "texture": "#t"}, + "west": {"uv": [5, 10, 11, 16], "texture": "#t"}, + "up": {"uv": [3, 5, 5, 11], "texture": "#t"}, + "down": {"uv": [3, 5, 5, 11], "texture": "#t"} + } + }, + { + "from": [5, 0, 5], + "to": [11, 1, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11.5, 12]}, + "faces": { + "up": {"uv": [5, 5, 11, 11], "texture": "#t"}, + "down": {"uv": [5, 5, 11, 11], "texture": "#t"} + } + } + ], + "display": { + "thirdperson_lefthand": { + "rotation": [75, -135, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [0, -90, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/roof/dark_shingle_roof_chimneytrunk_model.json b/src/main/resources/assets/engineersdecor/models/block/roof/dark_shingle_roof_chimneytrunk_model.json index 68d704c..9250729 100644 --- a/src/main/resources/assets/engineersdecor/models/block/roof/dark_shingle_roof_chimneytrunk_model.json +++ b/src/main/resources/assets/engineersdecor/models/block/roof/dark_shingle_roof_chimneytrunk_model.json @@ -1,6 +1,6 @@ { - "parent": "block/block", - "ambientocclusion": false, + "parent": "block/block", + "ambientocclusion": false, "textures": { "particle": "engineersdecor:block/roof/dark_shingle_roof", "s": "engineersdecor:block/roof/dark_shingle_roof", @@ -20,25 +20,72 @@ }, { "from": [4, 0, 0], - "to": [8, 7.5, 16], + "to": [8, 7.5, 3], "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, "faces": { - "north": {"uv": [8, 8, 12, 16], "texture": "#s", "cullface": "north"}, - "south": {"uv": [4, 8, 8, 16], "texture": "#s", "cullface": "south"}, - "west": {"uv": [0, 8, 16, 16], "texture": "#s"}, - "up": {"uv": [4, 0, 8, 16], "texture": "#s"}, - "down": {"uv": [4, 0, 8, 16], "texture": "#s", "cullface": "down"} + "north": {"uv": [8, 8.5, 12, 16], "texture": "#s", "cullface": "north"}, + "south": {"uv": [4, 8.5, 8, 16], "texture": "#s", "cullface": "south"}, + "west": {"uv": [0, 8.5, 3, 16], "texture": "#s"}, + "up": {"uv": [4, 0, 8, 3], "texture": "#s"}, + "down": {"uv": [4, 13, 8, 16], "texture": "#s", "cullface": "down"} } }, { - "from": [3, 3, 3], - "to": [11, 11.5, 13], + "from": [4, 0, 13], + "to": [8, 7.5, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 21]}, + "faces": { + "north": {"uv": [8, 8.5, 12, 16], "texture": "#s", "cullface": "north"}, + "south": {"uv": [4, 8.5, 8, 16], "texture": "#s", "cullface": "south"}, + "west": {"uv": [13, 8.5, 16, 16], "texture": "#s"}, + "up": {"uv": [4, 13, 8, 16], "texture": "#s"}, + "down": {"uv": [4, 0, 8, 3], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [3, 1, 3], + "to": [12, 11.5, 5], "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, "faces": { - "north": {"uv": [5, 4.5, 13, 13], "texture": "#s"}, - "south": {"uv": [3, 4.5, 11, 13], "texture": "#s"}, - "west": {"uv": [3, 4.5, 13, 13], "texture": "#s"}, - "up": {"uv": [3, 3, 11, 13], "texture": "#t"} + "north": {"uv": [4, 4.5, 13, 15], "texture": "#s"}, + "south": {"uv": [3, 4.5, 12, 15], "texture": "#t"}, + "west": {"uv": [3, 4.5, 5, 15], "texture": "#s"}, + "up": {"uv": [3, 3, 12, 5], "texture": "#t"} + } + }, + { + "from": [4, 0, 3], + "to": [12, 1.25, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 8]}, + "faces": { + "north": {"uv": [4, 14.75, 12, 16], "texture": "#s"}, + "south": {"uv": [4, 14.75, 12, 16], "texture": "#t"}, + "west": {"uv": [3, 14.75, 5, 16], "texture": "#s"}, + "up": {"uv": [4, 3, 12, 5], "texture": "#t"}, + "down": {"uv": [4, 11, 12, 13], "texture": "#t"} + } + }, + { + "from": [4, 0, 11], + "to": [12, 1, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 16]}, + "faces": { + "north": {"uv": [4, 15, 12, 16], "texture": "#s"}, + "south": {"uv": [4, 15, 12, 16], "texture": "#t"}, + "west": {"uv": [11, 15, 13, 16], "texture": "#s"}, + "up": {"uv": [4, 11, 12, 13], "texture": "#t"}, + "down": {"uv": [4, 3, 12, 5], "texture": "#t"} + } + }, + { + "from": [3, 1, 11], + "to": [12, 11.5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 16]}, + "faces": { + "north": {"uv": [4, 4.5, 13, 15], "texture": "#t"}, + "south": {"uv": [3, 4.5, 12, 15], "texture": "#s"}, + "west": {"uv": [11, 4.5, 13, 15], "texture": "#s"}, + "up": {"uv": [3, 11, 12, 13], "texture": "#t"} } }, { @@ -86,26 +133,51 @@ "down": {"uv": [3, 5, 5, 11], "texture": "#s"} } }, + { + "from": [3, 1, 5], + "to": [5, 11.5, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 18.5, 12]}, + "faces": { + "east": {"uv": [5, 4.5, 11, 15], "texture": "#t"}, + "west": {"uv": [5, 4.5, 11, 15], "texture": "#s"}, + "up": {"uv": [3, 5, 5, 11], "texture": "#t"}, + "down": {"uv": [3, 5, 5, 11], "texture": "#t"} + } + }, + { + "from": [11, 0, 5], + "to": [12, 11.5, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 18.5, 12]}, + "faces": { + "east": {"uv": [5, 4.5, 11, 16], "texture": "#t"}, + "west": {"uv": [5, 4.5, 11, 16], "texture": "#t"}, + "up": {"uv": [11, 5, 12, 11], "texture": "#t"}, + "down": {"uv": [11, 5, 12, 11], "texture": "#t"} + } + }, + { + "from": [4, 0, 5], + "to": [5, 1, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [4.75, 18.5, 12]}, + "faces": { + "east": {"uv": [5, 15, 11, 16], "texture": "#t"}, + "west": {"uv": [5, 15, 11, 16], "texture": "#t"}, + "up": {"uv": [4, 5, 5, 11], "texture": "#t"}, + "down": {"uv": [4, 5, 5, 11], "texture": "#t"} + } + }, { "from": [8, 0, 0], - "to": [12, 11.5, 5], + "to": [12, 11.5, 3], "faces": { "north": {"uv": [4, 4.5, 8, 16], "texture": "#s", "cullface": "north"}, - "west": {"uv": [0, 4.5, 5, 16], "texture": "#s"}, - "up": {"uv": [8, 0, 12, 5], "texture": "#s"}, - "down": {"uv": [8, 11, 12, 16], "texture": "#s", "cullface": "down"} + "west": {"uv": [0, 4.5, 3, 16], "texture": "#s"}, + "up": {"uv": [8, 0, 12, 3], "texture": "#s"}, + "down": {"uv": [8, 13, 12, 16], "texture": "#s", "cullface": "down"} } }, { - "from": [8, 0, 5], - "to": [12, 5.5, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 8]}, - "faces": { - "down": {"uv": [8, 5, 12, 11], "texture": "#s", "cullface": "down"} - } - }, - { - "from": [8, 0, 11], + "from": [8, 0, 13], "to": [12, 11.5, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 19]}, "faces": { diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_caution_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_caution_model.json new file mode 100644 index 0000000..0a8e528 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_caution_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_caution_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_firehazard_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_firehazard_model.json new file mode 100644 index 0000000..7592df2 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_firehazard_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_firehazard_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_frost_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_frost_model.json new file mode 100644 index 0000000..665cb53 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_frost_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_frost_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_hotsurface_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_hotsurface_model.json new file mode 100644 index 0000000..eff0073 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_hotsurface_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_hotsurface_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_laser_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_laser_model.json new file mode 100644 index 0000000..65f8d14 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_laser_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_laser_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_magichazard_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_magichazard_model.json new file mode 100644 index 0000000..16f74ef --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_magichazard_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_magichazard_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_magneticfield_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_magneticfield_model.json new file mode 100644 index 0000000..cb51074 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_magneticfield_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_magneticfield_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_mindstep_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_mindstep_model.json deleted file mode 100644 index 5809d95..0000000 --- a/src/main/resources/assets/engineersdecor/models/block/sign/sign_mindstep_model.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "engineersdecor:block/sign/sign_decor_model", - "textures": { "f": "engineersdecor:block/sign/sign_mindstep_texture" } -} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/block/sign/sign_radioactive_model.json b/src/main/resources/assets/engineersdecor/models/block/sign/sign_radioactive_model.json new file mode 100644 index 0000000..632a374 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/block/sign/sign_radioactive_model.json @@ -0,0 +1,4 @@ +{ + "parent": "engineersdecor:block/sign/sign_triangular_model", + "textures": { "f": "engineersdecor:block/sign/sign_radioactive_texture" } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/dark_shingle_roof_chimney.json b/src/main/resources/assets/engineersdecor/models/item/dark_shingle_roof_chimney.json new file mode 100644 index 0000000..a1f1623 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/dark_shingle_roof_chimney.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/roof/dark_shingle_roof_chimney_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/metal_bar.json b/src/main/resources/assets/engineersdecor/models/item/metal_bar.json new file mode 100644 index 0000000..416400c --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/metal_bar.json @@ -0,0 +1,43 @@ +{ + "parent": "block/block", + "textures": { + "particle": "engineersdecor:block/material/steel_texture", + "o": "engineersdecor:block/material/steel_texture" + }, + "elements": [ + { + "from": [0, 6, 7.5], + "to": [16, 10, 8.5], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 7.5, 8]}, + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#o"}, + "east": {"uv": [7.5, 6, 8.5, 10], "texture": "#o"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#o"}, + "west": {"uv": [7.5, 6, 8.5, 10], "texture": "#o"}, + "up": {"uv": [0, 7.5, 16, 8.5], "texture": "#o"}, + "down": {"uv": [0, 7.5, 16, 8.5], "texture": "#o"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [16, -87, -56], + "translation": [0, 0.25, 0.25], + "scale": [0.36, 0.36, 0.36] + }, + "firstperson_lefthand": { + "rotation": [-5, 55, 3], + "translation": [-20.5, 0, 0.25], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [0, -180, 0], + "translation": [0.25, 0, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_caution.json b/src/main/resources/assets/engineersdecor/models/item/sign_caution.json new file mode 100644 index 0000000..c5d900b --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_caution.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_caution_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_firehazard.json b/src/main/resources/assets/engineersdecor/models/item/sign_firehazard.json new file mode 100644 index 0000000..725314e --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_firehazard.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_firehazard_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_frost.json b/src/main/resources/assets/engineersdecor/models/item/sign_frost.json new file mode 100644 index 0000000..519a379 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_frost.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_frost_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_hotsurface.json b/src/main/resources/assets/engineersdecor/models/item/sign_hotsurface.json new file mode 100644 index 0000000..2afc84b --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_hotsurface.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_hotsurface_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_laser.json b/src/main/resources/assets/engineersdecor/models/item/sign_laser.json new file mode 100644 index 0000000..ad0100e --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_laser.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_laser_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_magichazard.json b/src/main/resources/assets/engineersdecor/models/item/sign_magichazard.json new file mode 100644 index 0000000..99d7cf9 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_magichazard.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_magichazard_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_magneticfield.json b/src/main/resources/assets/engineersdecor/models/item/sign_magneticfield.json new file mode 100644 index 0000000..c81c1f9 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_magneticfield.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_magneticfield_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/sign_radioactive.json b/src/main/resources/assets/engineersdecor/models/item/sign_radioactive.json new file mode 100644 index 0000000..6950126 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/sign_radioactive.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_radioactive_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/models/item/small_freezer.json b/src/main/resources/assets/engineersdecor/models/item/small_freezer.json new file mode 100644 index 0000000..43164d4 --- /dev/null +++ b/src/main/resources/assets/engineersdecor/models/item/small_freezer.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/device/small_freezer_model" } \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_bottom.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_bottom.png new file mode 100644 index 0000000..4d89bb0 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_bottom.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s0.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s0.png new file mode 100644 index 0000000..9704db6 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s0.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s1.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s1.png new file mode 100644 index 0000000..54dc577 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s1.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s1.png.mcmeta b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s1.png.mcmeta new file mode 100644 index 0000000..9b7ccbf --- /dev/null +++ b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s1.png.mcmeta @@ -0,0 +1 @@ +{ "animation":{ "frames": [0,1], "frametime":32, "interpolate":true }} \ No newline at end of file diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s2.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s2.png new file mode 100644 index 0000000..29221f4 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s2.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s3.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s3.png new file mode 100644 index 0000000..789c3eb Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s3.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s4.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s4.png new file mode 100644 index 0000000..87417f4 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_front_s4.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_side.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_side.png new file mode 100644 index 0000000..773dae2 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_side.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_top.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_top.png new file mode 100644 index 0000000..b76daf1 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_freezer_top.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s0.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s0.png index f75510d..80e3caf 100644 Binary files a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s0.png and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s0.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s1.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s1.png index cb1a7ef..57fbdd0 100644 Binary files a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s1.png and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s1.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s2.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s2.png index bb90c61..331c0ba 100644 Binary files a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s2.png and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s2.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s3.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s3.png index c7b176a..2955f17 100644 Binary files a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s3.png and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_front_s3.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_side.png b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_side.png index 2f94b05..9be7ffe 100644 Binary files a/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_side.png and b/src/main/resources/assets/engineersdecor/textures/block/furnace/small_mineral_smelter_side.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_caution_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_caution_texture.png new file mode 100644 index 0000000..863bc3d Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_caution_texture.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_firehazard_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_firehazard_texture.png new file mode 100644 index 0000000..29930fa Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_firehazard_texture.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_frost_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_frost_texture.png new file mode 100644 index 0000000..3a4b5c3 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_frost_texture.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_hotsurface_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_hotsurface_texture.png new file mode 100644 index 0000000..a7f0f06 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_hotsurface_texture.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_laser_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_laser_texture.png new file mode 100644 index 0000000..c183e2b Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_laser_texture.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_magichazard_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_magichazard_texture.png new file mode 100644 index 0000000..d6a2339 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_magichazard_texture.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_magneticfield_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_magneticfield_texture.png new file mode 100644 index 0000000..5e5e85c Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_magneticfield_texture.png differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_mindstep_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_mindstep_texture.png deleted file mode 100644 index 3e3ce82..0000000 Binary files a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_mindstep_texture.png and /dev/null differ diff --git a/src/main/resources/assets/engineersdecor/textures/block/sign/sign_radioactive_texture.png b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_radioactive_texture.png new file mode 100644 index 0000000..b02ece6 Binary files /dev/null and b/src/main/resources/assets/engineersdecor/textures/block/sign/sign_radioactive_texture.png differ diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/dark_shingle_roof_chimney.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/dark_shingle_roof_chimney.json new file mode 100644 index 0000000..cc9a223 --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/dark_shingle_roof_chimney.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "dark_shingle_roof_chimney_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:dark_shingle_roof_chimney" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_caution.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_caution.json new file mode 100644 index 0000000..37ed7af --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_caution.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_caution_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_caution" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_firehazard.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_firehazard.json new file mode 100644 index 0000000..f951c3b --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_firehazard.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_firehazard_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_firehazard" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_frost.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_frost.json new file mode 100644 index 0000000..7fdccde --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_frost.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_frost_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_frost" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_hotsurface.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_hotsurface.json new file mode 100644 index 0000000..90b2b05 --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_hotsurface.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_hotsurface_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_hotsurface" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_laser.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_laser.json new file mode 100644 index 0000000..9c2c6a6 --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_laser.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_laser_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_laser" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_magichazard.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_magichazard.json new file mode 100644 index 0000000..9220373 --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_magichazard.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_magichazard_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_magichazard" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_magneticfield.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_magneticfield.json new file mode 100644 index 0000000..8145a51 --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_magneticfield.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_magneticfield_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_magneticfield" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_radioactive.json b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_radioactive.json new file mode 100644 index 0000000..122aab2 --- /dev/null +++ b/src/main/resources/data/engineersdecor/loot_tables/blocks/sign_radioactive.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "sign_radioactive_dlt", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + } + ], + "name": "engineersdecor:sign_radioactive" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/factory_dropper_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/factory_dropper_recipe.json deleted file mode 100644 index 3cc800e..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/factory_dropper_recipe.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:factory_dropper", - "required": ["#forge:treated_wood", "#forge:plates/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "WWW", - "WDW", - "WPW" - ], - "key": { - "D": { "item": "minecraft:dropper" }, - "P": { "tag" : "forge:plates/iron" }, - "W": { "tag" : "forge:treated_wood" } - }, - "result": { - "item": "engineersdecor:factory_dropper", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:factory_dropper", - "required": ["engineersdecor:old_industrial_wood_planks"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "WWW", - "WDW", - "WPW" - ], - "key": { - "D": { "item": "minecraft:dropper" }, - "P": { "item": "minecraft:iron_ingot" }, - "W": { "item": "engineersdecor:old_industrial_wood_planks" } - }, - "result": { - "item": "engineersdecor:factory_dropper", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/factory_hopper_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/factory_hopper_recipe.json deleted file mode 100644 index 9114953..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/factory_hopper_recipe.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:factory_hopper", - "required": ["#forge:plates/iron", "#forge:treated_wood"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "WWW", - "WDW", - "WPW" - ], - "key": { - "D": { "item": "minecraft:hopper" }, - "P": { "tag" : "forge:plates/iron" }, - "W": { "tag" : "forge:treated_wood" } - }, - "result": { - "item": "engineersdecor:factory_hopper", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:factory_hopper", - "required": ["engineersdecor:old_industrial_wood_planks"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "WWW", - "WHW", - "WPW" - ], - "key": { - "H": { "item": "minecraft:hopper" }, - "P": { "item": "minecraft:iron_ingot" }, - "W": { "item": "engineersdecor:old_industrial_wood_planks" } - }, - "result": { - "item": "engineersdecor:factory_hopper", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/factory_placer_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/factory_placer_recipe.json deleted file mode 100644 index f17e7ce..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/factory_placer_recipe.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:factory_placer", - "required": ["#forge:plates/iron", "#forge:treated_wood"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "WWW", - "WDP", - "WWW" - ], - "key": { - "D": { "item": "minecraft:dispenser" }, - "P": { "tag" : "forge:plates/iron" }, - "W": { "tag" : "forge:treated_wood" } - }, - "result": { - "item": "engineersdecor:factory_placer", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:factory_placer", - "required": ["engineersdecor:old_industrial_wood_planks"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "WWW", - "WDP", - "WWW" - ], - "key": { - "D": { "item": "minecraft:dispenser" }, - "P": { "item": "minecraft:iron_ingot" }, - "W": { "item": "engineersdecor:old_industrial_wood_planks" } - }, - "result": { - "item": "engineersdecor:factory_placer", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/fluid_barrel_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/fluid_barrel_recipe.json deleted file mode 100644 index 9c25857..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/fluid_barrel_recipe.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:fluid_barrel", - "required": ["#forge:plates/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PBP", - "RPP" - ], - "key": { - "B": { "item": "minecraft:barrel" }, - "R": { "item": "minecraft:redstone" }, - "P": { "tag": "forge:plates/iron" } - }, - "result": { - "item": "engineersdecor:fluid_barrel", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:fluid_barrel" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PBP", - "RPP" - ], - "key": { - "B": { "item": "minecraft:barrel" }, - "R": { "item": "minecraft:redstone" }, - "P": { "item": "minecraft:iron_ingot" } - }, - "result": { - "item": "engineersdecor:fluid_barrel", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/iron_hatch_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/iron_hatch_recipe.json deleted file mode 100644 index 0127047..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/iron_hatch_recipe.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:iron_hatch", - "required": ["#forge:rods/iron", "#forge:plates/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "RTR" - ], - "key": { - "T": { "item": "minecraft:iron_trapdoor" }, - "R": { "tag": "forge:rods/iron" }, - "P": { "tag": "forge:plates/iron" } - }, - "result": { - "item": "engineersdecor:iron_hatch", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:iron_hatch" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "III", - "ITI" - ], - "key": { - "T": { "item": "minecraft:iron_trapdoor" }, - "I": { "item": "minecraft:iron_ingot" } - }, - "result": { - "item": "engineersdecor:iron_hatch", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/iron_inset_light_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/iron_inset_light_recipe.json deleted file mode 100644 index a786a58..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/iron_inset_light_recipe.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:iron_inset_light", - "required": ["#forge:plates/iron", "#forge:glass_panes", "#engineersdecor:luminescent_blocks"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "GGG", - "PLP" - ], - "key": { - "L": { "tag": "engineersdecor:luminescent_blocks" }, - "P": { "tag": "forge:plates/iron" }, - "G": { "tag": "forge:glass_panes" } - }, - "result": { - "item": "engineersdecor:iron_inset_light", - "count": 8 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:iron_inset_light", - "required": ["#engineersdecor:luminescent_blocks"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - " ", - "GGG", - "PLP" - ], - "key": { - "P": { "item": "minecraft:iron_ingot" }, - "L": { "tag" : "engineersdecor:luminescent_blocks" }, - "G": { "tag" : "engineersdecor:plain_glass_panes" } - }, - "result": { - "item": "engineersdecor:iron_inset_light", - "count": 8 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:iron_inset_light" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - " ", - "GGG", - "PLP" - ], - "key": { - "P": { "item": "minecraft:iron_ingot" }, - "L": { "item" : "minecraft:glowstone" }, - "G": { "item" : "minecraft:glass_pane" } - }, - "result": { - "item": "engineersdecor:iron_inset_light", - "count": 8 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/labeled_crate_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/labeled_crate_recipe.json deleted file mode 100644 index 66717f4..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/labeled_crate_recipe.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:labeled_crate", - "required": ["#forge:rods/iron", "immersiveengineering:crate"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "RCR", - "CFC", - "RCR" - ], - "key": { - "R": { "tag" : "forge:rods/iron"}, - "C": { "item": "immersiveengineering:crate"}, - "F": { "item": "minecraft:item_frame"} - }, - "result": { - "item": "engineersdecor:labeled_crate", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:labeled_crate" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "RCR", - "CFC", - "RCR" - ], - "key": { - "R": { "item": "minecraft:iron_nugget"}, - "C": { "tag": "forge:chests/wooden"}, - "F": { "item": "minecraft:item_frame"} - }, - "result": { - "item": "engineersdecor:labeled_crate", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/treated_wood_floor_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/metal_bar_recipe.json similarity index 54% rename from src/main/resources/data/engineersdecor/recipes/dependent/treated_wood_floor_recipe.json rename to src/main/resources/data/engineersdecor/recipes/dependent/metal_bar_recipe.json index aa8c283..d65afc6 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/treated_wood_floor_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/dependent/metal_bar_recipe.json @@ -5,22 +5,22 @@ "conditions": [ { "type": "engineersdecor:optional", - "result": "engineersdecor:treated_wood_floor", - "required": ["#forge:treated_wood_slab"] + "result": "engineersdecor:metal_bar" } ], "recipe": { "type": "minecraft:crafting_shaped", "pattern": [ - "SSS", - "SSS" + " S", + " S ", + "S " ], "key": { - "S": { "tag": "forge:treated_wood_slab"} + "S": { "item": "minecraft:iron_ingot" } }, "result": { - "item": "engineersdecor:treated_wood_floor", - "count": 1 + "item": "engineersdecor:metal_bar", + "count": 12 } } } diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/panzerglass_block_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/panzerglass_block_recipe.json deleted file mode 100644 index fb556ca..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/panzerglass_block_recipe.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:panzerglass_block", - "required": ["#forge:glass", "#forge:rods/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "SGS", - "GSG", - "SGS" - ], - "key": { - "G": { "tag": "forge:glass" }, - "S": { "tag": "forge:rods/iron" } - }, - "result": { - "item": "engineersdecor:panzerglass_block", - "count": 8 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:panzerglass_block" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "SGS", - "GDG", - "SGS" - ], - "key": { - "G": { "tag": "engineersdecor:plain_glass_blocks" }, - "S": { "item": "minecraft:iron_ingot" }, - "D": { "item": "minecraft:diamond" } - }, - "result": { - "item": "engineersdecor:panzerglass_block", - "count": 8 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/rebar_concrete_block_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/rebar_concrete_block_recipe.json deleted file mode 100644 index a81c7bc..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/rebar_concrete_block_recipe.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:rebar_concrete", - "required": ["#forge:rods/steel", "immersiveengineering:concrete"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "SCS", - "CSC", - "SCS" - ], - "key": { - "C": { "item": "immersiveengineering:concrete"}, - "S": { "tag" : "forge:rods/steel"} - }, - "result": { - "item": "engineersdecor:rebar_concrete", - "count": 4 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:rebar_concrete" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "SCS", - "CSC", - "SCS" - ], - "key": { - "C": { "tag": "engineersdecor:plain_concretes" }, - "S": { "item": "minecraft:iron_ingot" } - }, - "result": { - "item": "engineersdecor:rebar_concrete", - "count": 4 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_block_breaker_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_block_breaker_recipe.json deleted file mode 100644 index 9748729..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_block_breaker_recipe.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_block_breaker", - "required": ["immersiveengineering:component_iron", "#forge:plates/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PAO", - "CRC" - ], - "key": { - "O": { "item": "minecraft:observer" }, - "P": { "tag" : "forge:plates/iron" }, - "A": { "item": "minecraft:iron_pickaxe" }, - "R": { "item": "minecraft:redstone_block" }, - "C": { "item": "immersiveengineering:component_iron" } - }, - "result": { - "item": "engineersdecor:small_block_breaker", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_block_breaker" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PAO", - "PRP" - ], - "key": { - "O": { "item": "minecraft:observer" }, - "P": { "item": "minecraft:iron_ingot" }, - "A": { "item": "minecraft:iron_pickaxe" }, - "R": { "item": "minecraft:redstone_block" } - }, - "result": { - "item": "engineersdecor:small_block_breaker", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_fluid_funnel_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_fluid_funnel_recipe.json deleted file mode 100644 index 564e51c..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_fluid_funnel_recipe.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_fluid_funnel", - "required": ["#forge:plates/iron", "immersiveengineering:metal_barrel"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "HHH", - "PBP", - "PPP" - ], - "key": { - "P": { "tag" : "forge:plates/iron" }, - "B": { "item": "immersiveengineering:metal_barrel" }, - "H": { "item": "minecraft:hopper"} - }, - "result": { - "item": "engineersdecor:small_fluid_funnel", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_fluid_funnel" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "HHH", - "IBI", - "III" - ], - "key": { - "B": { "item": "minecraft:bucket" }, - "I": { "item": "minecraft:iron_ingot" }, - "H": { "item": "minecraft:hopper" } - }, - "result": { - "item": "engineersdecor:small_fluid_funnel", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_lab_furnace_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_lab_furnace_recipe.json deleted file mode 100644 index 932c846..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_lab_furnace_recipe.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_lab_furnace", - "required": ["#forge:plates/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "HPP", - "PFP", - "PPP" - ], - "key": { - "P": { "tag" : "forge:plates/iron"}, - "F": { "item": "minecraft:furnace"}, - "H": { "item": "minecraft:hopper"} - }, - "result": { - "item": "engineersdecor:small_lab_furnace", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_lab_furnace" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "HPP", - "PFP", - "PPP" - ], - "key": { - "F": { "item": "minecraft:furnace" }, - "P": { "item": "minecraft:iron_ingot" }, - "H": { "item": "minecraft:hopper" } - }, - "result": { - "item": "engineersdecor:small_lab_furnace", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_milking_machine_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_milking_machine_recipe.json deleted file mode 100644 index f61eaaa..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_milking_machine_recipe.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_milking_machine", - "required": ["immersiveengineering:component_iron", "immersiveengineering:metal_barrel", "#forge:plates/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PAO", - "CBC" - ], - "key": { - "P": { "tag" : "forge:plates/iron"}, - "O": { "item": "minecraft:observer"}, - "A": { "item": "minecraft:milk_bucket"}, - "B": { "item": "immersiveengineering:metal_barrel"}, - "C": { "item": "immersiveengineering:component_iron"} - }, - "result": { - "item": "engineersdecor:small_milking_machine", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_milking_machine" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PAO", - "PRP" - ], - "key": { - "O": { "item": "minecraft:observer" }, - "P": { "item": "minecraft:iron_ingot" }, - "A": { "item": "minecraft:milk_bucket" }, - "R": { "item": "minecraft:redstone_block" } - }, - "result": { - "item": "engineersdecor:small_milking_machine", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_mineral_smelter_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_mineral_smelter_recipe.json deleted file mode 100644 index 372a5d4..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_mineral_smelter_recipe.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_mineral_smelter", - "required": ["#forge:storage_blocks/steel", "immersiveengineering:metal_barrel", "immersiveengineering:furnace_heater", "engineersdecor:panzerglass_block"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "SOS", - "GBO", - "HOH" - ], - "key": { - "H": { "item": "immersiveengineering:furnace_heater" }, - "G": { "item": "engineersdecor:panzerglass_block" }, - "S": { "tag" : "forge:storage_blocks/steel" }, - "B": { "item": "immersiveengineering:metal_barrel" }, - "O": { "item": "minecraft:obsidian" } - }, - "result": { - "item": "engineersdecor:small_mineral_smelter", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_mineral_smelter", - "required": ["engineersdecor:panzerglass_block"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "SOS", - "GFO", - "SOS" - ], - "key": { - "G": { "item": "engineersdecor:panzerglass_block" }, - "F": { "item": "minecraft:furnace" }, - "S": { "item": "minecraft:iron_ingot" }, - "O": { "item": "minecraft:obsidian" } - }, - "result": { - "item": "engineersdecor:small_mineral_smelter", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_solar_panel_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_solar_panel_recipe.json index 13221ea..88837f2 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_solar_panel_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/dependent/small_solar_panel_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:small_solar_panel", - "required": ["#forge:ingots/steel", "#forge:storage_blocks/lead"] + "required": ["engineersdecor:metal_bar", "#forge:storage_blocks/lead"] } ], "recipe": { @@ -19,7 +19,7 @@ "key": { "Q": { "item": "minecraft:quartz" }, "R": { "item": "minecraft:redstone_block" }, - "S": { "tag" : "forge:ingots/steel" }, + "S": { "item" : "engineersdecor:metal_bar" }, "L": { "tag" : "forge:storage_blocks/lead" } }, "result": { @@ -32,7 +32,8 @@ "conditions": [ { "type": "engineersdecor:optional", - "result": "engineersdecor:small_solar_panel" + "result": "engineersdecor:small_solar_panel", + "required": ["engineersdecor:metal_bar"] } ], "recipe": { @@ -44,7 +45,7 @@ ], "key": { "Q": { "item": "minecraft:quartz" }, - "S": { "item": "minecraft:iron_ingot" }, + "S": { "item": "engineersdecor:metal_bar" }, "R": { "item": "minecraft:redstone_block" } }, "result": { diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_tree_cutter_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_tree_cutter_recipe.json deleted file mode 100644 index c70abfe..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_tree_cutter_recipe.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_tree_cutter", - "required": ["#forge:plates/iron", "immersiveengineering:component_iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PAO", - "CRC" - ], - "key": { - "P": { "tag" : "forge:plates/iron" }, - "O": { "item": "minecraft:observer" }, - "A": { "item": "minecraft:iron_axe" }, - "R": { "item": "minecraft:redstone_block" }, - "C": { "item": "immersiveengineering:component_iron" } - }, - "result": { - "item": "engineersdecor:small_tree_cutter", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_tree_cutter" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "PPP", - "PAO", - "PRP" - ], - "key": { - "O": { "item": "minecraft:observer" }, - "P": { "item": "minecraft:iron_ingot" }, - "A": { "item": "minecraft:iron_axe" }, - "R": { "item": "minecraft:redstone_block" } - }, - "result": { - "item": "engineersdecor:small_tree_cutter", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_waste_incinerator_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/small_waste_incinerator_recipe.json deleted file mode 100644 index 43ea74c..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_waste_incinerator_recipe.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_waste_incinerator", - "required": ["#forge:plates/iron"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "HPP", - "PHP", - "PLP" - ], - "key": { - "P": { "tag" : "forge:plates/iron" }, - "L": { "item": "minecraft:lava_bucket" }, - "H": { "item": "minecraft:hopper" } - }, - "result": { - "item": "engineersdecor:small_waste_incinerator", - "count": 1 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:small_waste_incinerator" - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - "HPP", - "PHP", - "PLP" - ], - "key": { - "H": { "item": "minecraft:hopper" }, - "P": { "item": "minecraft:iron_ingot" }, - "L": { "item": "minecraft:lava_bucket" } - }, - "result": { - "item": "engineersdecor:small_waste_incinerator", - "count": 1 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/straight_pipe_valve_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/straight_pipe_valve_recipe.json index 46281bc..57c3210 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/straight_pipe_valve_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/dependent/straight_pipe_valve_recipe.json @@ -29,7 +29,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:straight_pipe_valve", - "required": ["engineersdecor:thick_steel_pole"] + "required": ["engineersdecor:thick_steel_pole", "engineersdecor:metal_bar"] } ], "recipe": { @@ -39,7 +39,7 @@ ], "key": { "P": { "item": "engineersdecor:thick_steel_pole" }, - "I": { "item": "minecraft:iron_ingot" } + "I": { "item": "engineersdecor:metal_bar" } }, "result": { "item": "engineersdecor:straight_pipe_valve", diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/thin_steel_pole_recipe.json b/src/main/resources/data/engineersdecor/recipes/dependent/thin_steel_pole_recipe.json deleted file mode 100644 index da781bb..0000000 --- a/src/main/resources/data/engineersdecor/recipes/dependent/thin_steel_pole_recipe.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:thin_steel_pole", - "required": ["#forge:ingots/steel"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - " S", - " S ", - "S " - ], - "key": { - "S": { "tag": "forge:ingots/steel" } - }, - "result": { - "item": "engineersdecor:thin_steel_pole", - "count": 12 - } - } - }, - { - "conditions": [ - { - "type": "engineersdecor:optional", - "result": "engineersdecor:thin_steel_pole", - "missing": ["#forge:ingots/steel"] - } - ], - "recipe": { - "type": "minecraft:crafting_shaped", - "pattern": [ - " S", - " S ", - "S " - ], - "key": { - "S": { "item": "minecraft:iron_ingot" } - }, - "result": { - "item": "engineersdecor:thin_steel_pole", - "count": 12 - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/dark_shingle_roof_chimney_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/dark_shingle_roof_chimney_recipe.json new file mode 100644 index 0000000..02af0bc --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/dark_shingle_roof_chimney_recipe.json @@ -0,0 +1,33 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:dark_shingle_roof_chimney", + "required": [ "engineersdecor:thick_steel_pole" ] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "P", + "F" + ], + "key": { + "P": { + "item": "engineersdecor:thick_steel_pole" + }, + "F": { + "item": "minecraft:campfire" + } + }, + "result": { + "item": "engineersdecor:dark_shingle_roof_chimney", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/dark_shingle_roof_metallized_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/dark_shingle_roof_metallized_recipe.json index 92c44f3..4fc6cd8 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/dark_shingle_roof_metallized_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/dark_shingle_roof_metallized_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:dark_shingle_roof_metallized", - "required": [ "engineersdecor:dark_shingle_roof" ] + "required": [ "engineersdecor:dark_shingle_roof", "engineersdecor:metal_bar" ] } ], "recipe": { @@ -17,7 +17,7 @@ ], "key": { "N": { - "item": "minecraft:iron_nugget" + "item": "engineersdecor:metal_bar" }, "R": { "item": "engineersdecor:dark_shingle_roof" diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/dense_grit_sand_block_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/dense_grit_sand_block_recipe.json similarity index 74% rename from src/main/resources/data/engineersdecor/recipes/dependent/dense_grit_sand_block_recipe.json rename to src/main/resources/data/engineersdecor/recipes/independent/dense_grit_sand_block_recipe.json index 4398987..ff9943c 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/dense_grit_sand_block_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/dense_grit_sand_block_recipe.json @@ -2,8 +2,7 @@ "conditions": [ { "type": "engineersdecor:optional", - "result": "engineersdecor:dense_grit_sand_block", - "required": ["minecraft:sand", "minecraft:gravel", "minecraft:dirt"] + "result": "engineersdecor:dense_grit_sand_block" } ], "type": "minecraft:crafting_shaped", diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/dense_grit_sand_dirt_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/dense_grit_sand_dirt_recipe.json similarity index 74% rename from src/main/resources/data/engineersdecor/recipes/dependent/dense_grit_sand_dirt_recipe.json rename to src/main/resources/data/engineersdecor/recipes/independent/dense_grit_sand_dirt_recipe.json index 3fe7bc1..f1a28a0 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/dense_grit_sand_dirt_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/dense_grit_sand_dirt_recipe.json @@ -2,8 +2,7 @@ "conditions": [ { "type": "engineersdecor:optional", - "result": "engineersdecor:dense_grit_dirt_block", - "required": ["minecraft:sand", "minecraft:gravel", "minecraft:dirt"] + "result": "engineersdecor:dense_grit_dirt_block" } ], "type": "minecraft:crafting_shaped", diff --git a/src/main/resources/data/engineersdecor/recipes/independent/factory_dropper_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/factory_dropper_recipe.json new file mode 100644 index 0000000..cd83e80 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/factory_dropper_recipe.json @@ -0,0 +1,31 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:factory_dropper", + "required": ["engineersdecor:old_industrial_wood_planks", "engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "WWW", + "WDW", + "WPW" + ], + "key": { + "D": { "item": "minecraft:dropper" }, + "P": { "item": "engineersdecor:metal_bar" }, + "W": { "item": "engineersdecor:old_industrial_wood_planks" } + }, + "result": { + "item": "engineersdecor:factory_dropper", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/clinker_brick_halfslab_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/factory_hopper_recipe.json similarity index 50% rename from src/main/resources/data/engineersdecor/recipes/independent/clinker_brick_halfslab_recipe.json rename to src/main/resources/data/engineersdecor/recipes/independent/factory_hopper_recipe.json index 4cf9aef..b929a0d 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/clinker_brick_halfslab_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/factory_hopper_recipe.json @@ -5,26 +5,25 @@ "conditions": [ { "type": "engineersdecor:optional", - "result": "engineersdecor:halfslab_clinker_brick", - "required": ["engineersdecor:clinker_brick_slab"] + "result": "engineersdecor:factory_hopper", + "required": ["engineersdecor:metal_bar"] } ], "recipe": { "type": "minecraft:crafting_shaped", "pattern": [ - "SS", - "SS" + "PHP", + "PPP" ], "key": { - "S": { - "item": "engineersdecor:clinker_brick_slab" - } + "H": { "item": "minecraft:hopper" }, + "P": { "item": "engineersdecor:metal_bar" } }, "result": { - "item": "engineersdecor:halfslab_clinker_brick", - "count": 16 + "item": "engineersdecor:factory_hopper", + "count": 1 } } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/factory_placer_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/factory_placer_recipe.json new file mode 100644 index 0000000..93e2c6c --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/factory_placer_recipe.json @@ -0,0 +1,31 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:factory_placer", + "required": ["engineersdecor:old_industrial_wood_planks", "engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "WWW", + "WDP", + "WWW" + ], + "key": { + "D": { "item": "minecraft:dispenser" }, + "P": { "item": "engineersdecor:metal_bar" }, + "W": { "item": "engineersdecor:old_industrial_wood_planks" } + }, + "result": { + "item": "engineersdecor:factory_placer", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/fluid_barrel_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/fluid_barrel_recipe.json new file mode 100644 index 0000000..90a0166 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/fluid_barrel_recipe.json @@ -0,0 +1,30 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:fluid_barrel", + "required": ["engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "PPP", + "PBP", + "PPP" + ], + "key": { + "B": { "item": "minecraft:barrel" }, + "P": { "item": "engineersdecor:metal_bar" } + }, + "result": { + "item": "engineersdecor:fluid_barrel", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/iron_hatch_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/iron_hatch_recipe.json new file mode 100644 index 0000000..c861078 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/iron_hatch_recipe.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:iron_hatch", + "required": ["engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "III", + "ITI" + ], + "key": { + "T": { "item": "minecraft:iron_trapdoor" }, + "I": { "item": "engineersdecor:metal_bar" } + }, + "result": { + "item": "engineersdecor:iron_hatch", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/iron_inset_light_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/iron_inset_light_recipe.json new file mode 100644 index 0000000..5956b42 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/iron_inset_light_recipe.json @@ -0,0 +1,31 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:iron_inset_light", + "required": ["#engineersdecor:luminescent_blocks", "engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + " ", + "GGG", + "PLP" + ], + "key": { + "P": { "item": "engineersdecor:metal_bar" }, + "L": { "tag" : "engineersdecor:luminescent_blocks" }, + "G": { "tag" : "engineersdecor:plain_glass_panes" } + }, + "result": { + "item": "engineersdecor:iron_inset_light", + "count": 8 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/labeled_crate_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/labeled_crate_recipe.json new file mode 100644 index 0000000..cdf257e --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/labeled_crate_recipe.json @@ -0,0 +1,30 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:labeled_crate", + "required": ["engineersdecor:metal_bar", "engineersdecor:old_industrial_wood_planks"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "RCR", + "C C", + "RCR" + ], + "key": { + "R": { "item": "engineersdecor:metal_bar"}, + "C": { "item": "engineersdecor:old_industrial_wood_planks"} + }, + "result": { + "item": "engineersdecor:labeled_crate", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/metal_rung_ladder_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/metal_rung_ladder_recipe.json similarity index 81% rename from src/main/resources/data/engineersdecor/recipes/dependent/metal_rung_ladder_recipe.json rename to src/main/resources/data/engineersdecor/recipes/independent/metal_rung_ladder_recipe.json index a0c178d..b409452 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/metal_rung_ladder_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/metal_rung_ladder_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:metal_rung_ladder", - "required": ["engineersdecor:thin_steel_pole"] + "required": ["engineersdecor:metal_bar"] } ], "recipe": { @@ -17,7 +17,7 @@ " " ], "key": { - "S": { "item": "engineersdecor:thin_steel_pole" } + "S": { "item": "engineersdecor:metal_bar" } }, "result": { "item": "engineersdecor:metal_rung_ladder", diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/metal_rung_steps_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/metal_rung_steps_recipe.json similarity index 81% rename from src/main/resources/data/engineersdecor/recipes/dependent/metal_rung_steps_recipe.json rename to src/main/resources/data/engineersdecor/recipes/independent/metal_rung_steps_recipe.json index 02d7a1a..77ccca3 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/metal_rung_steps_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/metal_rung_steps_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:metal_rung_steps", - "required": ["engineersdecor:thin_steel_pole"] + "required": ["engineersdecor:metal_bar"] } ], "recipe": { @@ -17,7 +17,7 @@ " SS" ], "key": { - "S": { "item": "engineersdecor:thin_steel_pole" } + "S": { "item": "engineersdecor:metal_bar" } }, "result": { "item": "engineersdecor:metal_rung_steps", diff --git a/src/main/resources/data/engineersdecor/recipes/independent/panzerglass_block_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/panzerglass_block_recipe.json new file mode 100644 index 0000000..3ff21c7 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/panzerglass_block_recipe.json @@ -0,0 +1,30 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:panzerglass_block", + "required": ["engineersdecor:metal_bar", "#engineersdecor:plain_glass_blocks"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "SGS", + "GSG", + "SGS" + ], + "key": { + "G": { "tag": "engineersdecor:plain_glass_blocks" }, + "S": { "item": "engineersdecor:metal_bar" } + }, + "result": { + "item": "engineersdecor:panzerglass_block", + "count": 8 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/rebar_concrete_block_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/rebar_concrete_block_recipe.json new file mode 100644 index 0000000..24d476f --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/rebar_concrete_block_recipe.json @@ -0,0 +1,30 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:rebar_concrete", + "required": ["engineersdecor:metal_bar", "engineersdecor:gas_concrete"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "SCS", + "CSC", + "SCS" + ], + "key": { + "C": { "item": "engineersdecor:gas_concrete" }, + "S": { "item": "engineersdecor:metal_bar" } + }, + "result": { + "item": "engineersdecor:rebar_concrete", + "count": 4 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_caution_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_caution_recipe.json new file mode 100644 index 0000000..5361283 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_caution_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_caution", + "required": ["engineersdecor:sign_laser"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_laser" } + ], + "result": { + "item": "engineersdecor:sign_caution" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_firehazard_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_firehazard_recipe.json new file mode 100644 index 0000000..58c7a14 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_firehazard_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_firehazard", + "required": ["engineersdecor:sign_magichazard"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_magichazard" } + ], + "result": { + "item": "engineersdecor:sign_firehazard" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_frost_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_frost_recipe.json new file mode 100644 index 0000000..579e146 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_frost_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_frost", + "required": ["engineersdecor:sign_magneticfield"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_magneticfield" } + ], + "result": { + "item": "engineersdecor:sign_frost" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_hotsurface_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_hotsurface_recipe.json new file mode 100644 index 0000000..769f50b --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_hotsurface_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_hotsurface", + "required": ["engineersdecor:sign_firehazard"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_firehazard" } + ], + "result": { + "item": "engineersdecor:sign_hotsurface" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_hotwire_recipe_wrapback.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_hotwire_recipe_wrapback.json index 386d9aa..0f747b5 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/sign_hotwire_recipe_wrapback.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_hotwire_recipe_wrapback.json @@ -6,13 +6,13 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:sign_hotwire", - "required": ["engineersdecor:sign_exit"] + "required": ["engineersdecor:sign_frost"] } ], "recipe": { "type": "minecraft:crafting_shapeless", "ingredients": [ - { "item": "engineersdecor:sign_exit" } + { "item": "engineersdecor:sign_frost" } ], "result": { "item": "engineersdecor:sign_hotwire" diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_laser_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_laser_recipe.json new file mode 100644 index 0000000..3205b57 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_laser_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_radioactive", + "required": ["engineersdecor:sign_exit"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_exit" } + ], + "result": { + "item": "engineersdecor:sign_radioactive" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_magichazard_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_magichazard_recipe.json new file mode 100644 index 0000000..b71798f --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_magichazard_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_magichazard", + "required": ["engineersdecor:sign_caution"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_caution" } + ], + "result": { + "item": "engineersdecor:sign_magichazard" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_magneticfield_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_magneticfield_recipe.json new file mode 100644 index 0000000..f80215a --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_magneticfield_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_magneticfield", + "required": ["engineersdecor:sign_hotsurface"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_hotsurface" } + ], + "result": { + "item": "engineersdecor:sign_magneticfield" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/sign_radioactive_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/sign_radioactive_recipe.json new file mode 100644 index 0000000..4cbaf87 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/sign_radioactive_recipe.json @@ -0,0 +1,23 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:sign_laser", + "required": ["engineersdecor:sign_radioactive"] + } + ], + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:sign_radioactive" } + ], + "result": { + "item": "engineersdecor:sign_laser" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_block_breaker_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_block_breaker_recipe.json new file mode 100644 index 0000000..5a1ed91 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_block_breaker_recipe.json @@ -0,0 +1,32 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_block_breaker", + "required": ["engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "PPP", + "PAO", + "PRP" + ], + "key": { + "O": { "item": "minecraft:observer" }, + "P": { "item": "engineersdecor:metal_bar" }, + "A": { "item": "minecraft:iron_pickaxe" }, + "R": { "item": "minecraft:redstone_block" } + }, + "result": { + "item": "engineersdecor:small_block_breaker", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/dependent/small_electrical_furnace_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_electrical_furnace_recipe.json similarity index 90% rename from src/main/resources/data/engineersdecor/recipes/dependent/small_electrical_furnace_recipe.json rename to src/main/resources/data/engineersdecor/recipes/independent/small_electrical_furnace_recipe.json index c539bef..80cc2ae 100644 --- a/src/main/resources/data/engineersdecor/recipes/dependent/small_electrical_furnace_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_electrical_furnace_recipe.json @@ -33,7 +33,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:small_electrical_furnace", - "required": ["engineersdecor:small_lab_furnace"] + "required": ["engineersdecor:small_lab_furnace", "engineersdecor:metal_bar"] } ], "recipe": { @@ -44,7 +44,7 @@ ], "key": { "F": { "item": "engineersdecor:small_lab_furnace" }, - "C": { "item": "minecraft:iron_ingot" }, + "C": { "item": "engineersdecor:metal_bar" }, "H": { "item": "minecraft:hopper" } }, "result": { diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_fluid_funnel_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_fluid_funnel_recipe.json new file mode 100644 index 0000000..225d15a --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_fluid_funnel_recipe.json @@ -0,0 +1,31 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_fluid_funnel", + "required": ["engineersdecor:fluid_barrel", "engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "HHH", + "PBP", + "PPP" + ], + "key": { + "P": { "item": "engineersdecor:metal_bar" }, + "B": { "item": "engineersdecor:fluid_barrel" }, + "H": { "item": "minecraft:hopper"} + }, + "result": { + "item": "engineersdecor:small_fluid_funnel", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_freezer_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_freezer_recipe.json new file mode 100644 index 0000000..0cbf437 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_freezer_recipe.json @@ -0,0 +1,32 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_freezer", + "required": ["engineersdecor:panzerglass_block", "engineersdecor:fluid_barrel", "engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "SSS", + "GFS", + "SBS" + ], + "key": { + "G": { "item": "engineersdecor:panzerglass_block" }, + "F": { "item": "minecraft:water_bucket" }, + "B": { "item": "engineersdecor:fluid_barrel" }, + "S": { "item": "engineersdecor:metal_bar" } + }, + "result": { + "item": "engineersdecor:small_freezer", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_lab_furnace_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_lab_furnace_recipe.json new file mode 100644 index 0000000..6476b4b --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_lab_furnace_recipe.json @@ -0,0 +1,31 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_lab_furnace", + "required": ["engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "HPP", + "PFP", + "PPP" + ], + "key": { + "P": { "item" : "engineersdecor:metal_bar"}, + "F": { "item": "minecraft:furnace"}, + "H": { "item": "minecraft:hopper"} + }, + "result": { + "item": "engineersdecor:small_lab_furnace", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_milking_machine_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_milking_machine_recipe.json new file mode 100644 index 0000000..1563644 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_milking_machine_recipe.json @@ -0,0 +1,33 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_milking_machine", + "required": ["engineersdecor:fluid_barrel", "engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "PPP", + "PAO", + "PBC" + ], + "key": { + "P": { "item": "engineersdecor:metal_bar"}, + "O": { "item": "minecraft:observer"}, + "A": { "item": "minecraft:milk_bucket"}, + "B": { "item": "engineersdecor:fluid_barrel"}, + "C": { "item": "minecraft:redstone"} + }, + "result": { + "item": "engineersdecor:small_milking_machine", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_mineral_smelter_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_mineral_smelter_recipe.json new file mode 100644 index 0000000..abac873 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_mineral_smelter_recipe.json @@ -0,0 +1,32 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_mineral_smelter", + "required": ["engineersdecor:panzerglass_block", "engineersdecor:fluid_barrel", "engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "SSS", + "GFS", + "SBS" + ], + "key": { + "G": { "item": "engineersdecor:panzerglass_block" }, + "F": { "item": "minecraft:lava_bucket" }, + "S": { "item": "engineersdecor:metal_bar" }, + "B": { "item": "engineersdecor:fluid_barrel" } + }, + "result": { + "item": "engineersdecor:small_mineral_smelter", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_tree_cutter_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_tree_cutter_recipe.json new file mode 100644 index 0000000..ecf300c --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_tree_cutter_recipe.json @@ -0,0 +1,32 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_tree_cutter", + "required": ["engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "PPP", + "PAO", + "PRP" + ], + "key": { + "O": { "item": "minecraft:observer" }, + "P": { "item": "engineersdecor:metal_bar" }, + "A": { "item": "minecraft:iron_axe" }, + "R": { "item": "minecraft:redstone_block" } + }, + "result": { + "item": "engineersdecor:small_tree_cutter", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/small_waste_incinerator_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/small_waste_incinerator_recipe.json new file mode 100644 index 0000000..5c403a0 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/small_waste_incinerator_recipe.json @@ -0,0 +1,31 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:small_waste_incinerator", + "required": ["engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "HPP", + "PHP", + "PLP" + ], + "key": { + "H": { "item": "minecraft:hopper" }, + "P": { "item": "engineersdecor:metal_bar" }, + "L": { "item": "minecraft:lava_bucket" } + }, + "result": { + "item": "engineersdecor:small_waste_incinerator", + "count": 1 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/engineersdecor/recipes/independent/steel_floor_grating_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/steel_floor_grating_recipe.json index 4b0b27c..797e32f 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/steel_floor_grating_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/steel_floor_grating_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:steel_floor_grating", - "required": ["engineersdecor:thin_steel_pole"] + "required": ["engineersdecor:metal_bar"] } ], "recipe": { @@ -18,12 +18,12 @@ ], "key": { "S": { - "item": "engineersdecor:thin_steel_pole" + "item": "engineersdecor:metal_bar" } }, "result": { "item": "engineersdecor:steel_floor_grating", - "count": 4 + "count": 2 } } } diff --git a/src/main/resources/data/engineersdecor/recipes/independent/steel_framed_window_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/steel_framed_window_recipe.json index 8e77b51..33995aa 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/steel_framed_window_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/steel_framed_window_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:steel_framed_window", - "required": ["#engineersdecor:plain_glass_panes", "engineersdecor:thin_steel_pole"] + "required": ["#engineersdecor:plain_glass_panes", "engineersdecor:metal_bar"] } ], "recipe": { @@ -17,12 +17,12 @@ "WGW" ], "key": { - "W": { "item": "engineersdecor:thin_steel_pole" }, + "W": { "item": "engineersdecor:metal_bar" }, "G": { "tag": "engineersdecor:plain_glass_panes" } }, "result": { "item": "engineersdecor:steel_framed_window", - "count": 9 + "count": 8 } } } diff --git a/src/main/resources/data/engineersdecor/recipes/independent/steel_mesh_fence_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/steel_mesh_fence_recipe.json index 771a6b9..05ef05d 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/steel_mesh_fence_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/steel_mesh_fence_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:steel_mesh_fence", - "required": ["engineersdecor:thin_steel_pole"] + "required": ["engineersdecor:thin_steel_pole", "engineersdecor:metal_bar"] } ], "recipe": { @@ -20,7 +20,7 @@ "item": "engineersdecor:thin_steel_pole" }, "N": { - "item": "minecraft:iron_nugget" + "item": "engineersdecor:metal_bar" } }, "result": { diff --git a/src/main/resources/data/engineersdecor/recipes/independent/steel_table_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/steel_table_recipe.json index 845bff4..1ecb61a 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/steel_table_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/steel_table_recipe.json @@ -6,7 +6,7 @@ { "type": "engineersdecor:optional", "result": "engineersdecor:steel_table", - "required": ["engineersdecor:steel_floor_grating", "engineersdecor:thin_steel_pole"] + "required": ["engineersdecor:metal_bar", "engineersdecor:thin_steel_pole"] } ], "recipe": { @@ -18,7 +18,7 @@ ], "key": { "W": { - "item": "engineersdecor:steel_floor_grating" + "item": "engineersdecor:metal_bar" }, "S": { "item": "engineersdecor:thin_steel_pole" @@ -26,7 +26,7 @@ }, "result": { "item": "engineersdecor:steel_table", - "count": 6 + "count": 2 } } } diff --git a/src/main/resources/data/engineersdecor/recipes/independent/thick_steel_pole_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/thick_steel_pole_recipe.json index 3ec34e1..a8c8a58 100644 --- a/src/main/resources/data/engineersdecor/recipes/independent/thick_steel_pole_recipe.json +++ b/src/main/resources/data/engineersdecor/recipes/independent/thick_steel_pole_recipe.json @@ -21,7 +21,7 @@ }, "result": { "item": "engineersdecor:thick_steel_pole", - "count": 12 + "count": 6 } } } diff --git a/src/main/resources/data/engineersdecor/recipes/independent/thin_steel_pole_recipe.json b/src/main/resources/data/engineersdecor/recipes/independent/thin_steel_pole_recipe.json new file mode 100644 index 0000000..fbc31f3 --- /dev/null +++ b/src/main/resources/data/engineersdecor/recipes/independent/thin_steel_pole_recipe.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "engineersdecor:optional", + "result": "engineersdecor:thin_steel_pole", + "required": ["engineersdecor:metal_bar"] + } + ], + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "S", + "S", + "S" + ], + "key": { + "S": { "item": "engineersdecor:metal_bar" } + }, + "result": { + "item": "engineersdecor:thin_steel_pole", + "count": 4 + } + } + } + ] +} \ No newline at end of file