Merge branch '1.18' into 1.18-Ayutac-datagen-6

# Conflicts:
#	src/main/java/techreborn/init/TRContent.java
#	src/main/resources/data/techreborn/recipes/compressor/chrome_plate.json
#	src/main/resources/data/techreborn/recipes/compressor/chrome_plate_from_block.json
#	src/main/resources/data/techreborn/recipes/grinder/chrome_dust.json
This commit is contained in:
Ayutac 2022-02-26 12:14:11 +01:00
commit e35e222fa6
25 changed files with 359 additions and 120 deletions

View file

@ -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();
}

View file

@ -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;

View file

@ -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)
}
}

View file

@ -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;

View file

@ -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() {

View file

@ -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);
}
}

View file

@ -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();
}
}

View file

@ -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;

View file

@ -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<Item> STORAGE_BLOCK_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "storage_blocks"));
public enum StorageBlocks implements ItemConvertible, TagConvertible<Item> {
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<Item> 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<Item> DUSTS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "dusts"));
public enum Dusts implements ItemConvertible, TagConvertible<Item> {
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<Item> 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<Item> SMALL_DUSTS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "small_dusts"));
public enum SmallDusts implements ItemConvertible, TagConvertible<Item> {
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<Item> 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<Item> INGOTS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "ingots"));
public enum Ingots implements ItemConvertible, TagConvertible<Item> {
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<Item> 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<Item> NUGGETS_TAG = TagFactory.ITEM.create(new Identifier(TechReborn.MOD_ID, "nuggets"));
public enum Nuggets implements ItemConvertible, TagConvertible<Item> {
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<Item> 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<Item> 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() {

View file

@ -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:"
}
}

View file

@ -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"
]
}

View file

@ -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"
]
}

View file

@ -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"
]
}

View file

@ -7,7 +7,7 @@
],
"key": {
"C": {
"tag": "c:chrome_ingots"
"tag": "c:chromium_ingots"
},
"I": {
"item": "techreborn:iridium_alloy_plate"

View file

@ -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"
}
}
}

View file

@ -2,8 +2,7 @@
"type": "minecraft:crafting_shaped",
"pattern": [
"TMT",
"TCT",
" "
"TCT"
],
"key": {
"C": {
@ -19,4 +18,4 @@
"result": {
"item": "techreborn:extractor"
}
}
}

View file

@ -10,7 +10,7 @@
"item": "techreborn:industrial_machine_frame"
},
"R": {
"tag": "c:chrome_plates"
"tag": "c:chromium_plates"
},
"C": {
"item": "techreborn:data_storage_core"

View file

@ -10,7 +10,7 @@
"item": "techreborn:advanced_machine_casing"
},
"R": {
"tag": "c:chrome_plates"
"tag": "c:chromium_plates"
},
"C": {
"item": "techreborn:data_storage_core"

View file

@ -10,7 +10,7 @@
"item": "techreborn:advanced_machine_frame"
},
"C": {
"tag": "c:chrome_plates"
"tag": "c:chromium_plates"
},
"T": {
"tag": "c:titanium_plates"

View file

@ -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"
}
]
}
"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
}
]
}

View file

@ -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"
}
]
}

View file

@ -13,11 +13,11 @@
],
"results": [
{
"item": "techreborn:iridium_ingot"
"item": "techreborn:raw_iridium"
},
{
"item": "techreborn:platinum_small_dust",
"count": 2
}
]
}
}

View file

@ -11,7 +11,7 @@
"tag": "c:nickel_ingots"
},
"C": {
"tag": "c:chrome_ingots"
"tag": "c:chromium_ingots"
}
},
"result": {

View file

@ -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"
}
]
}

View file

@ -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
}
]
}