diff --git a/RebornCore/src/main/java/reborncore/client/RenderUtil.java b/RebornCore/src/main/java/reborncore/client/RenderUtil.java index c4e19b79d..e67995761 100644 --- a/RebornCore/src/main/java/reborncore/client/RenderUtil.java +++ b/RebornCore/src/main/java/reborncore/client/RenderUtil.java @@ -91,12 +91,15 @@ public class RenderUtil { int renderAmount = (int) Math.max(Math.min(height, amount.getRawValue() * height / capacity.getRawValue()), 1); int posY = (int) (y + height - renderAmount); - RenderUtil.bindBlockTexture(); - int color = 0; - // FIXME 1.17 what is the input range of the shader? 255.0F or 1.0F? - RenderSystem.setShaderColor((byte) (color >> 16 & 0xFF), (byte) (color >> 8 & 0xFF), (byte) (color & 0xFF), 1.0F); + bindBlockTexture(); + int color = FluidRenderHandlerRegistry.INSTANCE.get(fluid.getFluid()).getFluidColor(null, null, fluid.getFluid().getDefaultState()); + float r = (float) (color >> 16 & 0xFF) / 255.0F; + float g = (float) (color >> 8 & 0xFF) / 255.0F; + float b = (float) (color & 0xFF) / 255.0F; + RenderSystem.setShaderColor(r, g, b, 1.0F); RenderSystem.enableBlend(); + RenderLayer.getTranslucent().startDrawing(); for (int i = 0; i < width; i += 16) { for (int j = 0; j < renderAmount; j += 16) { int drawWidth = (int) Math.min(width - i, 16); @@ -112,16 +115,35 @@ public class RenderUtil { Tessellator tessellator = Tessellator.getInstance(); BufferBuilder tes = tessellator.getBuffer(); - tes.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR); - tes.vertex(drawX, drawY + drawHeight, 0).texture(minU, minV + (maxV - minV) * drawHeight / 16F).next(); + tes.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL); + tes.vertex(drawX, drawY + drawHeight, 0) + .color(r, g, b, 1.0F) + .texture(minU, minV + (maxV - minV) * drawHeight / 16F) + .light(LightmapTextureManager.MAX_LIGHT_COORDINATE) + .normal(0, 1, 0) + .next(); tes.vertex(drawX + drawWidth, drawY + drawHeight, 0) - .texture(minU + (maxU - minU) * drawWidth / 16F, minV + (maxV - minV) * drawHeight / 16F) - .next(); - tes.vertex(drawX + drawWidth, drawY, 0).texture(minU + (maxU - minU) * drawWidth / 16F, minV).next(); - tes.vertex(drawX, drawY, 0).texture(minU, minV).next(); + .color(r, g, b, 1.0F) + .texture(minU + (maxU - minU) * drawWidth / 16F, minV + (maxV - minV) * drawHeight / 16F) + .light(LightmapTextureManager.MAX_LIGHT_COORDINATE) + .normal(0, 1, 0) + .next(); + tes.vertex(drawX + drawWidth, drawY, 0) + .color(r, g, b, 1.0F) + .texture(minU + (maxU - minU) * drawWidth / 16F, minV) + .light(LightmapTextureManager.MAX_LIGHT_COORDINATE) + .normal(0, 1, 0) + .next(); + tes.vertex(drawX, drawY, 0) + .color(r, g, b, 1.0F) + .texture(minU, minV) + .light(LightmapTextureManager.MAX_LIGHT_COORDINATE) + .normal(0, 1, 0) + .next(); tessellator.draw(); } } + RenderLayer.getTranslucent().endDrawing(); RenderSystem.disableBlend(); } diff --git a/RebornCore/src/main/java/reborncore/common/powerSystem/PowerAcceptorBlockEntity.java b/RebornCore/src/main/java/reborncore/common/powerSystem/PowerAcceptorBlockEntity.java index 98242e410..c9d00e6c6 100644 --- a/RebornCore/src/main/java/reborncore/common/powerSystem/PowerAcceptorBlockEntity.java +++ b/RebornCore/src/main/java/reborncore/common/powerSystem/PowerAcceptorBlockEntity.java @@ -65,7 +65,10 @@ public abstract class PowerAcceptorBlockEntity extends MachineBaseBlockEntity im @Override public long getMaxExtract(@Nullable Direction side) { - return PowerAcceptorBlockEntity.this.getMaxOutput(side); + if (PowerAcceptorBlockEntity.this.canProvideEnergy(side)) { + return PowerAcceptorBlockEntity.this.getMaxOutput(side); + } + return 0; } }; private RcEnergyTier blockEntityPowerTier; diff --git a/src/datagen/groovy/techreborn/datagen/recipes/smelting/SmeltingRecipesProvider.groovy b/src/datagen/groovy/techreborn/datagen/recipes/smelting/SmeltingRecipesProvider.groovy index 9236a6bf9..a8ee9bf4a 100644 --- a/src/datagen/groovy/techreborn/datagen/recipes/smelting/SmeltingRecipesProvider.groovy +++ b/src/datagen/groovy/techreborn/datagen/recipes/smelting/SmeltingRecipesProvider.groovy @@ -61,7 +61,7 @@ class SmeltingRecipesProvider extends TechRebornRecipesProvider { (TRContent.Dusts.ZINC.asTag()) : TRContent.Ingots.ZINC ].each { input, output -> offerSmelting(input, output) - offerBlasting(input, output) + offerBlasting(input, output, 0.5f, 100) } } diff --git a/src/main/java/techreborn/blockentity/machine/iron/IronFurnaceBlockEntity.java b/src/main/java/techreborn/blockentity/machine/iron/IronFurnaceBlockEntity.java index 7beb5b5f2..0f174f69a 100644 --- a/src/main/java/techreborn/blockentity/machine/iron/IronFurnaceBlockEntity.java +++ b/src/main/java/techreborn/blockentity/machine/iron/IronFurnaceBlockEntity.java @@ -50,7 +50,8 @@ public class IronFurnaceBlockEntity extends AbstractIronMachineBlockEntity imple int inputSlot = 0; int outputSlot = 1; public float experience; - + private boolean previousValid = false; + private ItemStack previousStack = ItemStack.EMPTY; private Recipe lastRecipe = null; public IronFurnaceBlockEntity(BlockPos pos, BlockState state) { @@ -75,6 +76,9 @@ public class IronFurnaceBlockEntity extends AbstractIronMachineBlockEntity imple // Fast fail if there is no input, no point checking the recipes if the machine is empty return ItemStack.EMPTY; } + if (previousStack.isItemEqualIgnoreDamage(stack) && !previousValid){ + return ItemStack.EMPTY; + } // Check the previous recipe to see if it still applies to the current inv, saves rechecking the whole recipe list if (lastRecipe != null && RecipeUtils.matchesSingleInput(lastRecipe, stack)) { @@ -123,11 +127,18 @@ public class IronFurnaceBlockEntity extends AbstractIronMachineBlockEntity imple ItemStack inputStack = inventory.getStack(inputSlot); if (inputStack.isEmpty()) return false; - + if (previousStack != inputStack) { + previousStack = inputStack; + previousValid = true; + } ItemStack outputStack = getResultFor(inputStack); - if (outputStack.isEmpty()) + if (outputStack.isEmpty()) { + previousValid = false; return false; - + } + else { + previousValid = true; + } ItemStack outputSlotStack = inventory.getStack(outputSlot); if (outputSlotStack.isEmpty()) return true; diff --git a/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java b/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java index 2de31c150..7a36018db 100644 --- a/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/energy/AdjustableSUBlockEntity.java @@ -162,8 +162,8 @@ public class AdjustableSUBlockEntity extends EnergyStorageBlockEntity implements @Override public BuiltScreenHandler createScreenHandler(int syncID, PlayerEntity player) { return new ScreenHandlerBuilder("aesu").player(player.getInventory()).inventory().hotbar().armor() - .complete(8, 18).addArmor().addInventory().blockEntity(this).energySlot(0, 62, 45).energySlot(1, 98, 45) - .syncEnergyValue().sync(this::getCurrentOutput, this::setCurrentOutput).addInventory().create(this, syncID); + .complete(8, 18).addArmor().addInventory().blockEntity(this).energySlot(0, 62, 45).energySlot(1, 98, 45) + .syncEnergyValue().sync(this::getCurrentOutput, this::setCurrentOutput).addInventory().create(this, syncID); } public int getCurrentOutput() { diff --git a/src/main/java/techreborn/blocks/misc/BlockMachineCasing.java b/src/main/java/techreborn/blocks/misc/BlockMachineCasing.java index b024d1011..de1d94f49 100644 --- a/src/main/java/techreborn/blocks/misc/BlockMachineCasing.java +++ b/src/main/java/techreborn/blocks/misc/BlockMachineCasing.java @@ -39,7 +39,7 @@ public class BlockMachineCasing extends BlockMultiblockBase { public final int heatCapacity; public BlockMachineCasing(int heatCapacity) { - super(FabricBlockSettings.of(Material.METAL).strength(2f, 2f).sounds(BlockSoundGroup.METAL)); + super(FabricBlockSettings.of(Material.METAL).strength(2f, 2f).sounds(BlockSoundGroup.METAL).requiresTool()); this.heatCapacity = heatCapacity; } @@ -56,5 +56,4 @@ public class BlockMachineCasing extends BlockMultiblockBase { public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { return new MachineCasingBlockEntity(pos, state); } - } diff --git a/src/main/java/techreborn/blocks/misc/BlockStorage.java b/src/main/java/techreborn/blocks/misc/BlockStorage.java index 6e86f1086..3eb70edae 100644 --- a/src/main/java/techreborn/blocks/misc/BlockStorage.java +++ b/src/main/java/techreborn/blocks/misc/BlockStorage.java @@ -31,15 +31,15 @@ import reborncore.common.BaseBlock; public class BlockStorage extends BaseBlock { - public BlockStorage(boolean isHot) { - super(isHot ? getDefaultSettings().luminance(15).nonOpaque() : getDefaultSettings()); - } - public BlockStorage() { - this(false); + this(false, 3f, 6f); } - public static FabricBlockSettings getDefaultSettings() { - return FabricBlockSettings.of(Material.METAL).strength(2f, 2f).sounds(BlockSoundGroup.METAL); + public BlockStorage(boolean isHot, float hardness, float resistance) { + super(isHot ? getDefaultSettings(hardness, resistance).luminance(15).nonOpaque() : getDefaultSettings(hardness, resistance)); + } + + public static FabricBlockSettings getDefaultSettings(float hardness, float resistance) { + return FabricBlockSettings.of(Material.METAL).strength(hardness, resistance).sounds(BlockSoundGroup.METAL).requiresTool(); } } diff --git a/src/main/java/techreborn/config/TechRebornConfig.java b/src/main/java/techreborn/config/TechRebornConfig.java index 0e38c71e1..f7b554304 100644 --- a/src/main/java/techreborn/config/TechRebornConfig.java +++ b/src/main/java/techreborn/config/TechRebornConfig.java @@ -439,25 +439,25 @@ public class TechRebornConfig { public static int electricFurnaceMaxEnergy = 1000; @Config(config = "machines", category = "storage", key = "CrudeStorageUnitMaxStorage", comment = "Maximum amount of items a Crude Storage Unit can store") - public static int crudeStorageUnitMaxStorage = 2048; + public static int crudeStorageUnitMaxStorage = 1 << 11; // 2^11, around 2,000, holds 2^5=32 64-stacks @Config(config = "machines", category = "storage", key = "BasicStorageUnitMaxStorage", comment = "Maximum amount of items a Basic Storage Unit can store") - public static int basicStorageUnitMaxStorage = 8192; + public static int basicStorageUnitMaxStorage = 1 << 13; // 2^13, around 8,000, holds 2^7=128 64-stacks @Config(config = "machines", category = "storage", key = "BasicTankUnitCapacity", comment = "How much liquid a Basic Tank Unit can take (Value in buckets, 1000 Mb)") - public static int basicTankUnitCapacity = 35; + public static int basicTankUnitCapacity = 1 << 7; // 2^7=128, holds 2^3=8 16-stacks cells (content only) @Config(config = "machines", category = "storage", key = "AdvancedStorageMaxStorage", comment = "Maximum amount of items an Advanced Storage Unit can store") - public static int advancedStorageUnitMaxStorage = 32768; + public static int advancedStorageUnitMaxStorage = 1 << 15; // 2^15, around 32,000, holds 2^9=512 64-stacks @Config(config = "machines", category = "storage", key = "AdvancedTankUnitMaxStorage", comment = "How much liquid an Advanced Tank Unit can take (Value in buckets, 1000 Mb)") - public static int advancedTankUnitMaxStorage = 200; + public static int advancedTankUnitMaxStorage = 1 << 9; // 2^9=512, holds 2^5=32 16-stacks cells (content only) @Config(config = "machines", category = "storage", key = "IndustrialStorageMaxStorage", comment = "Maximum amount of items an Industrial Storage Unit can store (Compat: >= 32768)") - public static int industrialStorageUnitMaxStorage = 65536; + public static int industrialStorageUnitMaxStorage = 1 << 16; // 2^16, around 65,000, holds 2^10=1024 64-stacks @Config(config = "machines", category = "storage", key = "IndustrialTankUnitCapacity", comment = "How much liquid an Industrial Tank Unit can take (Value in buckets, 1000 Mb)") - public static int industrialTankUnitCapacity = 500; + public static int industrialTankUnitCapacity = 1 << 10; // 2^10, around 1,000, holds 2^6=64 16-stacks cells (content only) @Config(config = "machines", category = "storage", key = "QuantumStorageUnitMaxStorage", comment = "Maximum amount of items a Quantum Storage Unit can store (Compat: == MAX_VALUE)") public static int quantumStorageUnitMaxStorage = Integer.MAX_VALUE; diff --git a/src/main/java/techreborn/init/TRContent.java b/src/main/java/techreborn/init/TRContent.java index 84a20c124..bcf6177c2 100644 --- a/src/main/java/techreborn/init/TRContent.java +++ b/src/main/java/techreborn/init/TRContent.java @@ -451,7 +451,8 @@ public class TRContent { block = new OreBlock(FabricBlockSettings.of(Material.STONE) .requiresTool() .sounds(name.startsWith("deepslate") ? BlockSoundGroup.DEEPSLATE : BlockSoundGroup.STONE) - .strength(2f, 2f), + .hardness(name.startsWith("deepslate") ? 4.5f : 3f) + .resistance(3f), distribution != null ? distribution.experienceDropped : experienceDroppedFallback ); this.industrial = industrial; @@ -508,13 +509,47 @@ public class TRContent { } } + /** + * The base tag name for chrome items. "chromium" is proper spelling, but changing the enum constant names or + * directly registry names will result in item loss upon updating. Hence, only the base tag is changed, where needed. + */ + public static final String CHROME_TAG_NAME_BASE = "chromium"; + public static final Tag.Identified STORAGE_BLOCK_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "storage_blocks")); public enum StorageBlocks implements ItemConvertible, TagConvertible { - ADVANCED_ALLOY, ALUMINUM, BRASS, BRONZE, CHROME, ELECTRUM, HOT_TUNGSTENSTEEL(true), INVAR, IRIDIUM, - IRIDIUM_REINFORCED_STONE, IRIDIUM_REINFORCED_TUNGSTENSTEEL, LEAD, NICKEL, PERIDOT, PLATINUM, RAW_IRIDIUM, - RAW_LEAD, RAW_SILVER, RAW_TIN, RAW_TUNGSTEN, RED_GARNET, REFINED_IRON, RUBY, SAPPHIRE, SILVER, STEEL, TIN, - TITANIUM, TUNGSTEN, TUNGSTENSTEEL, YELLOW_GARNET, ZINC; + ADVANCED_ALLOY(5f, 6f), + ALUMINUM(), + BRASS(), + BRONZE(5f, 6f), + CHROME(false, 5f, 6f, CHROME_TAG_NAME_BASE), + ELECTRUM(), + HOT_TUNGSTENSTEEL(true, 5f, 6f), + INVAR(), + IRIDIUM(5f, 6f), + IRIDIUM_REINFORCED_STONE(30f, 800f), + IRIDIUM_REINFORCED_TUNGSTENSTEEL(50f, 1200f), + LEAD(), + NICKEL(5f, 6f), + PERIDOT(5f, 6f), + PLATINUM(5f, 6f), + RAW_IRIDIUM(2f, 2f), + RAW_LEAD(2f, 2f), + RAW_SILVER(2f, 2f), + RAW_TIN(2f, 2f), + RAW_TUNGSTEN(2f, 2f), + RED_GARNET(5f, 6f), + REFINED_IRON(5f, 6f), + RUBY(5f, 6f), + SAPPHIRE(5f, 6f), + SILVER(5f, 6f), + STEEL(5f, 6f), + TIN(), + TITANIUM(5f, 6f), + TUNGSTEN(5f, 6f), + TUNGSTENSTEEL(30f, 800f), + YELLOW_GARNET(5f, 6f), + ZINC(5f, 6f); private final String name; private final Block block; @@ -523,11 +558,11 @@ public class TRContent { private final WallBlock wallBlock; private final Tag.Identified tag; - StorageBlocks(boolean isHot) { + StorageBlocks(boolean isHot, float hardness, float resistance, String tagNameBase) { name = this.toString().toLowerCase(Locale.ROOT); - block = new BlockStorage(isHot); + block = new BlockStorage(isHot, hardness, resistance); InitUtils.setup(block, name + "_storage_block"); - tag = TagFactory.ITEM.create(new Identifier("c", name + "_blocks")); + tag = TagFactory.ITEM.create(new Identifier("c", Objects.requireNonNullElse(tagNameBase, name) + "_blocks")); stairsBlock = new TechRebornStairsBlock(block.getDefaultState(), FabricBlockSettings.copyOf(block)); InitUtils.setup(stairsBlock, name + "_storage_block_stairs"); @@ -539,8 +574,16 @@ public class TRContent { InitUtils.setup(wallBlock, name + "_storage_block_wall"); } + StorageBlocks(boolean isHot, float hardness, float resistance) { + this(isHot, hardness, resistance, null); + } + + StorageBlocks(float hardness, float resistance) { + this(false, hardness, resistance, null); + } + StorageBlocks() { - this(false); + this(false, 3f, 6f); } @Override @@ -698,7 +741,7 @@ public class TRContent { public static final Tag.Identified DUSTS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "dusts")); public enum Dusts implements ItemConvertible, TagConvertible { - ALMANDINE, ALUMINUM, AMETHYST, ANDESITE, ANDRADITE, ASHES, BASALT, BAUXITE, BRASS, BRONZE, CALCITE, CHARCOAL, CHROME, + ALMANDINE, ALUMINUM, AMETHYST, ANDESITE, ANDRADITE, ASHES, BASALT, BAUXITE, BRASS, BRONZE, CALCITE, CHARCOAL, CHROME(CHROME_TAG_NAME_BASE), CINNABAR, CLAY, COAL, DARK_ASHES, DIAMOND, DIORITE, ELECTRUM, EMERALD, ENDER_EYE, ENDER_PEARL, ENDSTONE, FLINT, GALENA, GRANITE, GROSSULAR, INVAR, LAZURITE, MAGNESIUM, MANGANESE, MARBLE, NETHERRACK, NICKEL, OBSIDIAN, OLIVINE, PERIDOT, PHOSPHOROUS, PLATINUM, PYRITE, PYROPE, QUARTZ, RED_GARNET, RUBY, SALTPETER, @@ -708,11 +751,15 @@ public class TRContent { private final Item item; private final Tag.Identified tag; - Dusts() { + Dusts(String tagNameBase) { name = this.toString().toLowerCase(Locale.ROOT); item = new Item(new Item.Settings().group(TechReborn.ITEMGROUP)); InitUtils.setup(item, name + "_dust"); - tag = TagFactory.ITEM.create(new Identifier("c", name + "_dusts")); + tag = TagFactory.ITEM.create(new Identifier("c", Objects.requireNonNullElse(tagNameBase, name) + "_dusts")); + } + + Dusts() { + this(null); } public ItemStack getStack() { @@ -814,7 +861,7 @@ public class TRContent { public static final Tag.Identified SMALL_DUSTS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "small_dusts")); public enum SmallDusts implements ItemConvertible, TagConvertible { - ALMANDINE, ANDESITE, ANDRADITE, ASHES, BASALT, BAUXITE, CALCITE, CHARCOAL, CHROME, + ALMANDINE, ANDESITE, ANDRADITE, ASHES, BASALT, BAUXITE, CALCITE, CHARCOAL, CHROME(CHROME_TAG_NAME_BASE), CINNABAR, CLAY, COAL, DARK_ASHES, DIAMOND, DIORITE, ELECTRUM, EMERALD, ENDER_EYE, ENDER_PEARL, ENDSTONE, FLINT, GALENA, GLOWSTONE(Items.GLOWSTONE_DUST), GRANITE, GROSSULAR, INVAR, LAZURITE, MAGNESIUM, MANGANESE, MARBLE, NETHERRACK, NICKEL, OBSIDIAN, OLIVINE, PERIDOT, PHOSPHOROUS, PLATINUM, PYRITE, PYROPE, QUARTZ, REDSTONE(Items.REDSTONE), @@ -826,7 +873,7 @@ public class TRContent { private final ItemConvertible dust; private final Tag.Identified tag; - SmallDusts(ItemConvertible dustVariant) { + SmallDusts(String tagNameBase, ItemConvertible dustVariant) { name = this.toString().toLowerCase(Locale.ROOT); item = new Item(new Item.Settings().group(TechReborn.ITEMGROUP)); if (dustVariant == null) @@ -838,11 +885,19 @@ public class TRContent { } dust = dustVariant; InitUtils.setup(item, name + "_small_dust"); - tag = TagFactory.ITEM.create(new Identifier("c", name + "_small_dusts")); + tag = TagFactory.ITEM.create(new Identifier("c", Objects.requireNonNullElse(tagNameBase, name) + "_small_dusts")); + } + + SmallDusts(String tagNameBase) { + this(tagNameBase, null); + } + + SmallDusts(ItemConvertible dustVariant) { + this(null, dustVariant); } SmallDusts() { - this(null); + this(null, null); } public ItemStack getStack() { @@ -988,7 +1043,7 @@ public class TRContent { public static final Tag.Identified INGOTS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "ingots")); public enum Ingots implements ItemConvertible, TagConvertible { - ADVANCED_ALLOY, ALUMINUM, BRASS, BRONZE, CHROME, ELECTRUM, HOT_TUNGSTENSTEEL, INVAR, IRIDIUM_ALLOY, IRIDIUM, + ADVANCED_ALLOY, ALUMINUM, BRASS, BRONZE, CHROME(CHROME_TAG_NAME_BASE), ELECTRUM, HOT_TUNGSTENSTEEL, INVAR, IRIDIUM_ALLOY, IRIDIUM, LEAD, MIXED_METAL, NICKEL, PLATINUM, REFINED_IRON, SILVER, STEEL, TIN, TITANIUM, TUNGSTEN, TUNGSTENSTEEL, ZINC; private final String name; @@ -997,7 +1052,7 @@ public class TRContent { private final StorageBlocks storageBlock; private final Tag.Identified tag; - Ingots() { + Ingots(String tagNameBase) { name = this.toString().toLowerCase(Locale.ROOT); item = new Item(new Item.Settings().group(TechReborn.ITEMGROUP)); Dusts dustVariant = null; @@ -1023,7 +1078,11 @@ public class TRContent { } storageBlock = blockVariant; InitUtils.setup(item, name + "_ingot"); - tag = TagFactory.ITEM.create(new Identifier("c", name + "_ingots")); + tag = TagFactory.ITEM.create(new Identifier("c", Objects.requireNonNullElse(tagNameBase, name) + "_ingots")); + } + + Ingots() { + this(null); } public ItemStack getStack() { @@ -1080,7 +1139,7 @@ public class TRContent { public static final Tag.Identified NUGGETS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "nuggets")); public enum Nuggets implements ItemConvertible, TagConvertible { - ALUMINUM, BRASS, BRONZE, CHROME, COPPER(Items.COPPER_INGOT, false), DIAMOND(Items.DIAMOND, true), + ALUMINUM, BRASS, BRONZE, CHROME(CHROME_TAG_NAME_BASE), COPPER(Items.COPPER_INGOT, false), DIAMOND(Items.DIAMOND, true), ELECTRUM, EMERALD(Items.EMERALD, true), HOT_TUNGSTENSTEEL, INVAR, IRIDIUM, LEAD, NICKEL, PLATINUM, REFINED_IRON, SILVER, STEEL, TIN, TITANIUM, TUNGSTEN, TUNGSTENSTEEL, ZINC; @@ -1090,7 +1149,7 @@ public class TRContent { private final boolean ofGem; private final Tag.Identified tag; - Nuggets(ItemConvertible ingotVariant, boolean ofGem) { + Nuggets(String tagNameBase, ItemConvertible ingotVariant, boolean ofGem) { name = this.toString().toLowerCase(Locale.ROOT); item = new Item(new Item.Settings().group(TechReborn.ITEMGROUP)); if (ingotVariant == null) @@ -1103,7 +1162,15 @@ public class TRContent { ingot = ingotVariant; this.ofGem = ofGem; InitUtils.setup(item, name + "_nugget"); - tag = TagFactory.ITEM.create(new Identifier("c", name + "_nuggets")); + tag = TagFactory.ITEM.create(new Identifier("c", Objects.requireNonNullElse(tagNameBase, name) + "_nuggets")); + } + + Nuggets(ItemConvertible ingotVariant, boolean ofGem) { + this(null, ingotVariant, ofGem); + } + + Nuggets(String tagNameBase) { + this(tagNameBase, null, false); } Nuggets() { @@ -1234,7 +1301,7 @@ public class TRContent { BRASS, BRONZE, CARBON(Parts.CARBON_MESH), - CHROME, + CHROME(CHROME_TAG_NAME_BASE), COAL(Dusts.COAL, Items.COAL_BLOCK), COPPER(Items.COPPER_INGOT, Items.COPPER_BLOCK), DIAMOND(Dusts.DIAMOND, Items.DIAMOND_BLOCK), @@ -1277,7 +1344,7 @@ public class TRContent { private final boolean industrial; private final Tag.Identified tag; - Plates(ItemConvertible source, ItemConvertible sourceBlock, boolean industrial) { + Plates(ItemConvertible source, ItemConvertible sourceBlock, boolean industrial, String tagNameBase) { name = this.toString().toLowerCase(Locale.ROOT); item = new Item(new Item.Settings().group(TechReborn.ITEMGROUP)); ItemConvertible sourceVariant = null; @@ -1316,7 +1383,11 @@ public class TRContent { this.source = sourceVariant; this.industrial = industrial; InitUtils.setup(item, name + "_plate"); - tag = TagFactory.ITEM.create(new Identifier("c", name + "_plates")); + tag = TagFactory.ITEM.create(new Identifier("c", Objects.requireNonNullElse(tagNameBase, name) + "_plates")); + } + + Plates(String tagNameBase) { + this(null, null, false); } Plates(ItemConvertible source, ItemConvertible sourceBlock) { @@ -1332,7 +1403,7 @@ public class TRContent { } Plates() { - this(null); + this(null, null, false); } public ItemStack getStack() { diff --git a/src/main/resources/assets/techreborn/lang/en_us.json b/src/main/resources/assets/techreborn/lang/en_us.json index c8eb88ed7..d3cc130c4 100644 --- a/src/main/resources/assets/techreborn/lang/en_us.json +++ b/src/main/resources/assets/techreborn/lang/en_us.json @@ -166,10 +166,10 @@ "block.techreborn.bronze_storage_block_stairs": "Bronze Stairs", "block.techreborn.bronze_storage_block_slab": "Bronze Slab", "block.techreborn.bronze_storage_block_wall": "Bronze Wall", - "block.techreborn.chrome_storage_block": "Block of Chrome", - "block.techreborn.chrome_storage_block_stairs": "Chrome Stairs", - "block.techreborn.chrome_storage_block_slab": "Chrome Slab", - "block.techreborn.chrome_storage_block_wall": "Chrome Wall", + "block.techreborn.chrome_storage_block": "Block of Chromium", + "block.techreborn.chrome_storage_block_stairs": "Chromium Stairs", + "block.techreborn.chrome_storage_block_slab": "Chromium Slab", + "block.techreborn.chrome_storage_block_wall": "Chromium Wall", "block.techreborn.copper_wall": "Copper Wall", "block.techreborn.electrum_storage_block": "Block of Electrum", "block.techreborn.electrum_storage_block_stairs": "Electrum Stairs", @@ -395,7 +395,7 @@ "item.techreborn.bronze_dust": "Bronze Dust", "item.techreborn.calcite_dust": "Calcite Dust", "item.techreborn.charcoal_dust": "Charcoal Dust", - "item.techreborn.chrome_dust": "Chrome Dust", + "item.techreborn.chrome_dust": "Chromium Dust", "item.techreborn.cinnabar_dust": "Cinnabar Dust", "item.techreborn.clay_dust": "Clay Dust", "item.techreborn.coal_dust": "Coal Dust", @@ -459,7 +459,7 @@ "item.techreborn.bronze_small_dust": "Small Pile of Bronze Dust", "item.techreborn.calcite_small_dust": "Small Pile of Calcite Dust", "item.techreborn.charcoal_small_dust": "Small Pile of Charcoal Dust", - "item.techreborn.chrome_small_dust": "Small Pile of Chrome Dust", + "item.techreborn.chrome_small_dust": "Small Pile of Chromium Dust", "item.techreborn.cinnabar_small_dust": "Small Pile of Cinnabar Dust", "item.techreborn.clay_small_dust": "Small Pile of Clay Dust", "item.techreborn.coal_small_dust": "Small Pile of Coal Dust", @@ -524,7 +524,7 @@ "item.techreborn.aluminum_ingot": "Aluminium Ingot", "item.techreborn.brass_ingot": "Brass Ingot", "item.techreborn.bronze_ingot": "Bronze Ingot", - "item.techreborn.chrome_ingot": "Chrome Ingot", + "item.techreborn.chrome_ingot": "Chromium Ingot", "item.techreborn.electrum_ingot": "Electrum Ingot", "item.techreborn.hot_tungstensteel_ingot": "Hot Tungstensteel Ingot", "item.techreborn.invar_ingot": "Invar Ingot", @@ -547,7 +547,7 @@ "item.techreborn.aluminum_nugget": "Aluminium Nugget", "item.techreborn.brass_nugget": "Brass Nugget", "item.techreborn.bronze_nugget": "Bronze Nugget", - "item.techreborn.chrome_nugget": "Chrome Nugget", + "item.techreborn.chrome_nugget": "Chromium Nugget", "item.techreborn.copper_nugget": "Copper Nugget", "item.techreborn.diamond_nugget": "Diamond Nugget", "item.techreborn.electrum_nugget": "Electrum Nugget", @@ -574,7 +574,7 @@ "item.techreborn.brass_plate": "Brass Plate", "item.techreborn.bronze_plate": "Bronze Plate", "item.techreborn.carbon_plate": "Carbon Plate", - "item.techreborn.chrome_plate": "Chrome Plate", + "item.techreborn.chrome_plate": "Chromium Plate", "item.techreborn.coal_plate": "Coal Plate", "item.techreborn.copper_plate": "Copper Plate", "item.techreborn.diamond_plate": "Diamond Plate", @@ -611,37 +611,37 @@ "item.techreborn.zinc_plate": "Zinc Plate", "_comment13": "Parts", - "item.techreborn.carbon_fiber": "Carbon Fiber", - "item.techreborn.carbon_mesh": "Carbon Mesh", + "item.techreborn.carbon_fiber": "Carbon Fiber", + "item.techreborn.carbon_mesh": "Carbon Mesh", "item.techreborn.electronic_circuit": "Electronic Circuit", "item.techreborn.advanced_circuit": "Advanced Circuit", - "item.techreborn.industrial_circuit": "Industrial Circuit", + "item.techreborn.industrial_circuit": "Industrial Circuit", "item.techreborn.machine_parts": "Machine Parts", "item.techreborn.basic_display": "Basic Display", "item.techreborn.digital_display": "Digital Display", "item.techreborn.data_storage_core": "Data Storage Core", - "item.techreborn.data_storage_chip": "Data Storage Chip", + "item.techreborn.data_storage_chip": "Data Storage Chip", "item.techreborn.energy_flow_chip": "Energy Flow Chip", - "item.techreborn.superconductor": "Superconductor", - "item.techreborn.diamond_saw_blade": "Diamond Saw Blade", + "item.techreborn.superconductor": "Superconductor", + "item.techreborn.diamond_saw_blade": "Diamond Saw Blade", "item.techreborn.diamond_grinding_head": "Diamond Grinding Head", - "item.techreborn.tungsten_grinding_head": "Tungsten Grinding Head", + "item.techreborn.tungsten_grinding_head": "Tungsten Grinding Head", "item.techreborn.cupronickel_heating_coil": "Cupronickel Heating Coil", - "item.techreborn.kanthal_heating_coil": "Kanthal Heating Coil", - "item.techreborn.nichrome_heating_coil": "Nichrome Heating Coil", + "item.techreborn.kanthal_heating_coil": "Kanthal Heating Coil", + "item.techreborn.nichrome_heating_coil": "Nichrome Heating Coil", "item.techreborn.neutron_reflector": "Neutron Reflector", - "item.techreborn.thick_neutron_reflector": "Thick Neutron Reflector", + "item.techreborn.thick_neutron_reflector": "Thick Neutron Reflector", "item.techreborn.iridium_neutron_reflector": "Iridium Neutron Reflector", "item.techreborn.water_coolant_cell_10k": "10k Water Coolant Cell", "item.techreborn.water_coolant_cell_30k": "30k Water Coolant Cell", "item.techreborn.water_coolant_cell_60k": "60k Water Coolant Cell", "item.techreborn.helium_coolant_cell_60k": "60k Helium Coolant Cell", "item.techreborn.helium_coolant_cell_180k": "180k Helium Coolant Cell", - "item.techreborn.helium_coolant_cell_360k": "360k Helium Coolant Cell", + "item.techreborn.helium_coolant_cell_360k": "360k Helium Coolant Cell", "item.techreborn.nak_coolant_cell_60k": "60k NaK Coolant Cell", "item.techreborn.nak_coolant_cell_180k": "180k NaK Coolant Cell", "item.techreborn.nak_coolant_cell_360k": "360k NaK Coolant Cell", - "item.techreborn.rubber": "Rubber", + "item.techreborn.rubber": "Rubber", "item.techreborn.sap": "Sap", "item.techreborn.scrap": "Scrap", "item.techreborn.uu_matter": "UU-Matter", @@ -649,7 +649,7 @@ "item.techreborn.compressed_plantball": "Compressed Plantball", "item.techreborn.sponge_piece": "Piece of Sponge", "item.techreborn.synthetic_redstone_crystal": "Synthetic Redstone Crystal", - + "_comment14": "Items-Armor", "item.techreborn.cloaking_device": "Cloaking Device", "item.techreborn.lapotronic_orbpack": "Lapotronic Orbpack", @@ -1083,4 +1083,4 @@ "gui.techreborn.tank.amount": "Fluid Amount:", "gui.techreborn.storage.store": "Storing:", "gui.techreborn.storage.amount": "Amount:" -} +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index b1501edbd..28a976479 100644 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -27,6 +27,41 @@ "techreborn:tin_ore", "techreborn:deepslate_tin_ore", "techreborn:tungsten_ore", - "techreborn:deepslate_tungsten_ore" + "techreborn:deepslate_tungsten_ore", + "techreborn:hot_tungstensteel_storage_block", + "techreborn:iridium_storage_block", + "techreborn:iridium_reinforced_stone_storage_block", + "techreborn:iridium_reinforced_tungstensteel_storage_block", + "techreborn:raw_iridium_storage_block", + "techreborn:raw_tungsten_storage_block", + "techreborn:titanium_storage_block", + "techreborn:tungsten_storage_block", + "techreborn:tungstensteel_storage_block", + "techreborn:advanced_alloy_storage_block", + "techreborn:aluminum_storage_block", + "techreborn:brass_storage_block", + "techreborn:bronze_storage_block", + "techreborn:chrome_storage_block", + "techreborn:electrum_storage_block", + "techreborn:invar_storage_block", + "techreborn:lead_storage_block", + "techreborn:nickel_storage_block", + "techreborn:peridot_storage_block", + "techreborn:platinum_storage_block", + "techreborn:raw_lead_storage_block", + "techreborn:raw_silver_storage_block", + "techreborn:raw_tin_storage_block", + "techreborn:red_garnet_storage_block", + "techreborn:refined_iron_storage_block", + "techreborn:ruby_storage_block", + "techreborn:sapphire_storage_block", + "techreborn:silver_storage_block", + "techreborn:steel_storage_block", + "techreborn:tin_storage_block", + "techreborn:yellow_garnet_storage_block", + "techreborn:zinc_storage_block", + "techreborn:basic_machine_casing", + "techreborn:advanced_machine_casing", + "techreborn:industrial_machine_casing" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json index 40995a82e..3d68d2829 100644 --- a/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json +++ b/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json @@ -8,6 +8,15 @@ "techreborn:sodalite_ore", "techreborn:deepslate_sodalite_ore", "techreborn:tungsten_ore", - "techreborn:deepslate_tungsten_ore" + "techreborn:deepslate_tungsten_ore", + "techreborn:hot_tungstensteel_storage_block", + "techreborn:iridium_storage_block", + "techreborn:iridium_reinforced_stone_storage_block", + "techreborn:iridium_reinforced_tungstensteel_storage_block", + "techreborn:raw_iridium_storage_block", + "techreborn:raw_tungsten_storage_block", + "techreborn:titanium_storage_block", + "techreborn:tungsten_storage_block", + "techreborn:tungstensteel_storage_block" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json index ac2f5f3ad..24850f42f 100644 --- a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json +++ b/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json @@ -17,6 +17,32 @@ "techreborn:deepslate_sapphire_ore", "techreborn:silver_ore", "techreborn:deepslate_silver_ore", - "techreborn:sphalerite_ore" + "techreborn:sphalerite_ore", + "techreborn:advanced_alloy_storage_block", + "techreborn:aluminum_storage_block", + "techreborn:brass_storage_block", + "techreborn:bronze_storage_block", + "techreborn:chrome_storage_block", + "techreborn:electrum_storage_block", + "techreborn:invar_storage_block", + "techreborn:lead_storage_block", + "techreborn:nickel_storage_block", + "techreborn:peridot_storage_block", + "techreborn:platinum_storage_block", + "techreborn:raw_lead_storage_block", + "techreborn:raw_silver_storage_block", + "techreborn:raw_tin_storage_block", + "techreborn:red_garnet_storage_block", + "techreborn:refined_iron_storage_block", + "techreborn:ruby_storage_block", + "techreborn:sapphire_storage_block", + "techreborn:silver_storage_block", + "techreborn:steel_storage_block", + "techreborn:tin_storage_block", + "techreborn:yellow_garnet_storage_block", + "techreborn:zinc_storage_block", + "techreborn:basic_machine_casing", + "techreborn:advanced_machine_casing", + "techreborn:industrial_machine_casing" ] } \ No newline at end of file diff --git a/src/main/resources/data/techreborn/recipes/crafting_table/armor/cloaking_device.json b/src/main/resources/data/techreborn/recipes/crafting_table/armor/cloaking_device.json index 1fdf39702..b677f4eb7 100644 --- a/src/main/resources/data/techreborn/recipes/crafting_table/armor/cloaking_device.json +++ b/src/main/resources/data/techreborn/recipes/crafting_table/armor/cloaking_device.json @@ -7,7 +7,7 @@ ], "key": { "C": { - "tag": "c:chrome_ingots" + "tag": "c:chromium_ingots" }, "I": { "item": "techreborn:iridium_alloy_plate" diff --git a/src/main/resources/data/techreborn/recipes/crafting_table/armor/quantum_helmet.json b/src/main/resources/data/techreborn/recipes/crafting_table/armor/quantum_helmet.json index 692e3efd8..6d554768b 100644 --- a/src/main/resources/data/techreborn/recipes/crafting_table/armor/quantum_helmet.json +++ b/src/main/resources/data/techreborn/recipes/crafting_table/armor/quantum_helmet.json @@ -2,8 +2,7 @@ "type": "minecraft:crafting_shaped", "pattern": [ "DLD", - "S S", - " " + "S S" ], "key": { "S": { @@ -19,4 +18,4 @@ "result": { "item": "techreborn:quantum_helmet" } -} \ No newline at end of file +} diff --git a/src/main/resources/data/techreborn/recipes/crafting_table/machine/extractor.json b/src/main/resources/data/techreborn/recipes/crafting_table/machine/extractor.json index b81dc03b9..9fe7d3ab5 100644 --- a/src/main/resources/data/techreborn/recipes/crafting_table/machine/extractor.json +++ b/src/main/resources/data/techreborn/recipes/crafting_table/machine/extractor.json @@ -2,8 +2,7 @@ "type": "minecraft:crafting_shaped", "pattern": [ "TMT", - "TCT", - " " + "TCT" ], "key": { "C": { @@ -19,4 +18,4 @@ "result": { "item": "techreborn:extractor" } -} \ No newline at end of file +} diff --git a/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing.json b/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing.json index 33bface4a..34599de92 100644 --- a/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing.json +++ b/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing.json @@ -10,7 +10,7 @@ "item": "techreborn:industrial_machine_frame" }, "R": { - "tag": "c:chrome_plates" + "tag": "c:chromium_plates" }, "C": { "item": "techreborn:data_storage_core" diff --git a/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing_alt.json b/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing_alt.json index f94f89f68..1993de4e9 100644 --- a/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing_alt.json +++ b/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_casing_alt.json @@ -10,7 +10,7 @@ "item": "techreborn:advanced_machine_casing" }, "R": { - "tag": "c:chrome_plates" + "tag": "c:chromium_plates" }, "C": { "item": "techreborn:data_storage_core" diff --git a/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_frame.json b/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_frame.json index e1e418934..b7324f9c3 100644 --- a/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_frame.json +++ b/src/main/resources/data/techreborn/recipes/crafting_table/machine_block/industrial_machine_frame.json @@ -10,7 +10,7 @@ "item": "techreborn:advanced_machine_frame" }, "C": { - "tag": "c:chrome_plates" + "tag": "c:chromium_plates" }, "T": { "tag": "c:titanium_plates" diff --git a/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_mercury.json b/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_mercury.json index 0c33de1a8..471899d3c 100644 --- a/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_mercury.json +++ b/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_mercury.json @@ -1,22 +1,24 @@ { - "type": "techreborn:industrial_grinder", - "power": 64, - "time": 100, - "tank": { - "fluid": "techreborn:mercury", - "amount": 1000 - }, - "ingredients": [ - { - "tag": "c:iridium_ores" - } - ], - "results": [ - { - "item": "techreborn:iridium_ingot" - }, - { - "item": "techreborn:platinum_dust" - } - ] -} \ No newline at end of file + "type": "techreborn:industrial_grinder", + "power": 64, + "time": 100, + "tank": { + "fluid": "techreborn:mercury", + "amount": 1000 + }, + "ingredients": [ + { + "tag": "c:iridium_ores" + } + ], + "results": [ + { + "item": "techreborn:raw_iridium", + "count": 2 + }, + { + "item": "techreborn:platinum_small_dust", + "count": 2 + } + ] +} diff --git a/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_sodiumpersulfate.json b/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_sodiumpersulfate.json new file mode 100644 index 000000000..4681cd96d --- /dev/null +++ b/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_sodiumpersulfate.json @@ -0,0 +1,22 @@ +{ + "type": "techreborn:industrial_grinder", + "power": 64, + "time": 100, + "tank": { + "fluid": "techreborn:sodium_persulfate", + "amount": 1000 + }, + "ingredients": [ + { + "tag": "c:iridium_ores" + } + ], + "results": [ + { + "item": "techreborn:raw_iridium" + }, + { + "item": "techreborn:platinum_dust" + } + ] +} diff --git a/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_water.json b/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_water.json index 7ef3cb88d..ef0298afa 100644 --- a/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_water.json +++ b/src/main/resources/data/techreborn/recipes/industrial_grinder/iridium_ore_with_water.json @@ -13,11 +13,11 @@ ], "results": [ { - "item": "techreborn:iridium_ingot" + "item": "techreborn:raw_iridium" }, { "item": "techreborn:platinum_small_dust", "count": 2 } ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/techreborn/recipes/rolling_machine/nichrome_heating_coil.json b/src/main/resources/data/techreborn/recipes/rolling_machine/nichrome_heating_coil.json index 9f76006f6..6eefca405 100644 --- a/src/main/resources/data/techreborn/recipes/rolling_machine/nichrome_heating_coil.json +++ b/src/main/resources/data/techreborn/recipes/rolling_machine/nichrome_heating_coil.json @@ -11,7 +11,7 @@ "tag": "c:nickel_ingots" }, "C": { - "tag": "c:chrome_ingots" + "tag": "c:chromium_ingots" } }, "result": { diff --git a/src/main/resources/data/techreborn/recipes/solid_canning_machine/helium_coolant_cell_60k.json b/src/main/resources/data/techreborn/recipes/solid_canning_machine/helium_coolant_cell_60k.json new file mode 100644 index 000000000..9703f17a5 --- /dev/null +++ b/src/main/resources/data/techreborn/recipes/solid_canning_machine/helium_coolant_cell_60k.json @@ -0,0 +1,20 @@ +{ + "type": "techreborn:solid_canning_machine", + "power": 1, + "time": 60, + "ingredients": [ + { + "fluid": "techreborn:helium", + "holder": "techreborn:cell" + }, + { + "item": "techreborn:tin_ingot", + "count": 2 + } + ], + "results": [ + { + "item": "techreborn:helium_coolant_cell_60k" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/techreborn/recipes/solid_canning_machine/water_coolant_cell_10k.json b/src/main/resources/data/techreborn/recipes/solid_canning_machine/water_coolant_cell_10k.json new file mode 100644 index 000000000..1a9edbb6f --- /dev/null +++ b/src/main/resources/data/techreborn/recipes/solid_canning_machine/water_coolant_cell_10k.json @@ -0,0 +1,21 @@ +{ + "type": "techreborn:solid_canning_machine", + "power": 1, + "time": 60, + "ingredients": [ + { + "fluid": "minecraft:water", + "holder": "techreborn:cell" + }, + { + "item": "techreborn:tin_ingot", + "count": 2 + } + ], + "results": [ + { + "item": "techreborn:water_coolant_cell_10k", + "count": 2 + } + ] +} \ No newline at end of file