From e90592403bb2678a4309f3710f8092a3b97d6633 Mon Sep 17 00:00:00 2001 From: TheDoctorSoda Date: Mon, 14 Mar 2016 21:53:05 -0700 Subject: [PATCH] Added Scrapboxinator, reverted yellow energy outlines, added grinder textures --- .../blocks/machine/BlockScrapboxinator.java | 62 ++++ .../techreborn/blocks/storage/BlockAESU.java | 4 +- .../techreborn/blocks/storage/BlockIDSU.java | 4 +- .../techreborn/blocks/storage/BlockLESU.java | 4 +- .../techreborn/blocks/storage/BlockMFSU.java | 2 +- .../java/techreborn/client/GuiHandler.java | 108 +------ .../container/ContainerScrapboxinator.java | 63 ++++ .../client/container/SlotScrapbox.java | 24 ++ .../client/gui/GuiScrapboxinator.java | 54 ++++ src/main/java/techreborn/init/ModBlocks.java | 73 +---- .../techreborn/tiles/TileScrapboxinator.java | 294 ++++++++++++++++++ .../assets/techreborn/lang/en_US.lang | 21 +- .../scrapboxinator_front_off.png | Bin 0 -> 680 bytes .../greg_machines/scrapboxinator_front_on.png | Bin 0 -> 1008 bytes .../scrapboxinator_front_on.png.mcmeta | 5 + .../tier1_machines/grinder_front_off.png | Bin 0 -> 727 bytes .../tier1_machines/grinder_front_on.png | Bin 0 -> 824 bytes .../grinder_front_on.png.mcmeta | 5 + .../tier1_machines/grinder_top_off.png | Bin 0 -> 571 bytes .../machine/tier1_machines/grinder_top_on.png | Bin 0 -> 783 bytes .../tier1_machines/grinder_top_on.png.mcmeta | 5 + .../assets/techreborn/textures/gui/aesu.png | Bin 7929 -> 7932 bytes .../textures/gui/assembling_machine.png | Bin 2693 -> 2689 bytes .../assets/techreborn/textures/gui/batbox.png | Bin 2586 -> 2584 bytes .../techreborn/textures/gui/chargebench.png | Bin 2254 -> 2268 bytes .../textures/gui/chemical_reactor.png | Bin 2691 -> 2688 bytes .../textures/gui/electric_alloy_furnace.png | Bin 2749 -> 2746 bytes .../textures/gui/electric_crafting_table.png | Bin 2314 -> 2312 bytes .../techreborn/textures/gui/generator.png | Bin 2549 -> 2545 bytes .../assets/techreborn/textures/gui/idsu.png | Bin 7914 -> 7917 bytes .../textures/gui/industrial_centrifuge.png | Bin 3021 -> 3018 bytes .../assets/techreborn/textures/gui/lathe.png | Bin 2670 -> 2663 bytes .../assets/techreborn/textures/gui/lesu.png | Bin 8446 -> 8442 bytes .../assets/techreborn/textures/gui/mfe.png | Bin 2923 -> 2919 bytes .../assets/techreborn/textures/gui/mfsu.png | Bin 2923 -> 2919 bytes .../textures/gui/plate_cutting_machine.png | Bin 2711 -> 2708 bytes .../textures/gui/rolling_machine.png | Bin 2330 -> 2327 bytes .../textures/gui/scrapboxinator.png | Bin 0 -> 2758 bytes 38 files changed, 556 insertions(+), 172 deletions(-) create mode 100644 src/main/java/techreborn/blocks/machine/BlockScrapboxinator.java create mode 100644 src/main/java/techreborn/client/container/ContainerScrapboxinator.java create mode 100644 src/main/java/techreborn/client/container/SlotScrapbox.java create mode 100644 src/main/java/techreborn/client/gui/GuiScrapboxinator.java create mode 100644 src/main/java/techreborn/tiles/TileScrapboxinator.java create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/greg_machines/scrapboxinator_front_off.png create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/greg_machines/scrapboxinator_front_on.png create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/greg_machines/scrapboxinator_front_on.png.mcmeta create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_front_off.png create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_front_on.png create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_front_on.png.mcmeta create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_off.png create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_on.png create mode 100644 src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_on.png.mcmeta create mode 100644 src/main/resources/assets/techreborn/textures/gui/scrapboxinator.png diff --git a/src/main/java/techreborn/blocks/machine/BlockScrapboxinator.java b/src/main/java/techreborn/blocks/machine/BlockScrapboxinator.java new file mode 100644 index 000000000..b0cc8b2b4 --- /dev/null +++ b/src/main/java/techreborn/blocks/machine/BlockScrapboxinator.java @@ -0,0 +1,62 @@ +package techreborn.blocks.machine; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import reborncore.common.blocks.BlockMachineBase; +import reborncore.common.blocks.IRotationTexture; +import techreborn.Core; +import techreborn.client.GuiHandler; +import techreborn.client.TechRebornCreativeTab; +import techreborn.tiles.TileScrapboxinator; +import techreborn.tiles.teir1.TileRecycler; + +public class BlockScrapboxinator extends BlockMachineBase implements IRotationTexture{ + + public BlockScrapboxinator(Material material) { + super(); + setUnlocalizedName("techreborn.scrapboxinator"); + setCreativeTab(TechRebornCreativeTab.instance); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileScrapboxinator(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if (!player.isSneaking()){ + player.openGui(Core.INSTANCE, GuiHandler.scrapboxinatorID, world, x, y, z); + } + return true; + } + + private final String prefix = "techreborn:blocks/machine/greg_machines/"; + + @Override + public String getFrontOff() { + return prefix + "scrapboxinator_front_off"; + } + + @Override + public String getFrontOn() { + return prefix + "scrapboxinator_front_on"; + } + + @Override + public String getSide() { + return prefix + "machine_side"; + } + + @Override + public String getTop() { + return prefix + "machine_top"; + } + + @Override + public String getBottom() { + return prefix + "machine_bottom"; + } +} diff --git a/src/main/java/techreborn/blocks/storage/BlockAESU.java b/src/main/java/techreborn/blocks/storage/BlockAESU.java index 5b3f3c3d4..1c78d39b7 100644 --- a/src/main/java/techreborn/blocks/storage/BlockAESU.java +++ b/src/main/java/techreborn/blocks/storage/BlockAESU.java @@ -52,12 +52,12 @@ public class BlockAESU extends BlockMachineBase implements IRotationTexture { @Override public String getTop() { - return prefix + "aesu_side"; + return prefix + "aesu_top"; } @Override public String getBottom() { - return prefix + "aesu_side"; + return prefix + "aesu_bottom"; } } diff --git a/src/main/java/techreborn/blocks/storage/BlockIDSU.java b/src/main/java/techreborn/blocks/storage/BlockIDSU.java index 4e686e1d2..63044aec5 100644 --- a/src/main/java/techreborn/blocks/storage/BlockIDSU.java +++ b/src/main/java/techreborn/blocks/storage/BlockIDSU.java @@ -63,12 +63,12 @@ public class BlockIDSU extends BlockMachineBase implements IAdvancedRotationText @Override public String getTop(boolean isActive) { - return prefix + "idsu_side"; + return prefix + "idsu_top"; } @Override public String getBottom(boolean isActive) { - return prefix + "idsu_side"; + return prefix + "idsu_bottom"; } } diff --git a/src/main/java/techreborn/blocks/storage/BlockLESU.java b/src/main/java/techreborn/blocks/storage/BlockLESU.java index 820364b69..3f23d4457 100644 --- a/src/main/java/techreborn/blocks/storage/BlockLESU.java +++ b/src/main/java/techreborn/blocks/storage/BlockLESU.java @@ -50,12 +50,12 @@ public class BlockLESU extends BlockMachineBase implements IAdvancedRotationText @Override public String getTop(boolean isActive) { - return prefix + "lesu_side"; + return prefix + "lesu_top"; } @Override public String getBottom(boolean isActive) { - return prefix + "lesu_side"; + return prefix + "lesu_bottom"; } } diff --git a/src/main/java/techreborn/blocks/storage/BlockMFSU.java b/src/main/java/techreborn/blocks/storage/BlockMFSU.java index e0317b93a..96bfe9fb8 100644 --- a/src/main/java/techreborn/blocks/storage/BlockMFSU.java +++ b/src/main/java/techreborn/blocks/storage/BlockMFSU.java @@ -23,7 +23,7 @@ public class BlockMFSU extends BlockBatBox { @Override public String getFrontOff() { - return prefix + "mfsubatbox_front"; + return prefix + "mfsu_front"; } @Override diff --git a/src/main/java/techreborn/client/GuiHandler.java b/src/main/java/techreborn/client/GuiHandler.java index 991ff3942..36740ee16 100644 --- a/src/main/java/techreborn/client/GuiHandler.java +++ b/src/main/java/techreborn/client/GuiHandler.java @@ -4,108 +4,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.network.IGuiHandler; -import techreborn.client.container.ContainerAesu; -import techreborn.client.container.ContainerAlloyFurnace; -import techreborn.client.container.ContainerAlloySmelter; -import techreborn.client.container.ContainerAssemblingMachine; -import techreborn.client.container.ContainerBlastFurnace; -import techreborn.client.container.ContainerCentrifuge; -import techreborn.client.container.ContainerChargeBench; -import techreborn.client.container.ContainerChemicalReactor; -import techreborn.client.container.ContainerChunkloader; -import techreborn.client.container.ContainerCompressor; -import techreborn.client.container.ContainerDestructoPack; -import techreborn.client.container.ContainerDieselGenerator; -import techreborn.client.container.ContainerDigitalChest; -import techreborn.client.container.ContainerElectricFurnace; -import techreborn.client.container.ContainerExtractor; -import techreborn.client.container.ContainerFusionReactor; -import techreborn.client.container.ContainerGasTurbine; -import techreborn.client.container.ContainerGenerator; -import techreborn.client.container.ContainerGrinder; -import techreborn.client.container.ContainerIDSU; -import techreborn.client.container.ContainerImplosionCompressor; -import techreborn.client.container.ContainerIndustrialElectrolyzer; -import techreborn.client.container.ContainerIndustrialGrinder; -import techreborn.client.container.ContainerIndustrialSawmill; -import techreborn.client.container.ContainerIronFurnace; -import techreborn.client.container.ContainerLesu; -import techreborn.client.container.ContainerMatterFabricator; -import techreborn.client.container.ContainerQuantumChest; -import techreborn.client.container.ContainerQuantumTank; -import techreborn.client.container.ContainerRecycler; -import techreborn.client.container.ContainerRollingMachine; -import techreborn.client.container.ContainerSemifluidGenerator; -import techreborn.client.container.ContainerThermalGenerator; -import techreborn.client.container.ContainerVacuumFreezer; -import techreborn.client.gui.GuiAesu; -import techreborn.client.gui.GuiAlloyFurnace; -import techreborn.client.gui.GuiAlloySmelter; -import techreborn.client.gui.GuiAssemblingMachine; -import techreborn.client.gui.GuiBlastFurnace; -import techreborn.client.gui.GuiCentrifuge; -import techreborn.client.gui.GuiChargeBench; -import techreborn.client.gui.GuiChemicalReactor; -import techreborn.client.gui.GuiChunkLoader; -import techreborn.client.gui.GuiCompressor; -import techreborn.client.gui.GuiDestructoPack; -import techreborn.client.gui.GuiDieselGenerator; -import techreborn.client.gui.GuiDigitalChest; -import techreborn.client.gui.GuiElectricFurnace; -import techreborn.client.gui.GuiExtractor; -import techreborn.client.gui.GuiFusionReactor; -import techreborn.client.gui.GuiGasTurbine; -import techreborn.client.gui.GuiGenerator; -import techreborn.client.gui.GuiGrinder; -import techreborn.client.gui.GuiIDSU; -import techreborn.client.gui.GuiImplosionCompressor; -import techreborn.client.gui.GuiIndustrialElectrolyzer; -import techreborn.client.gui.GuiIndustrialGrinder; -import techreborn.client.gui.GuiIndustrialSawmill; -import techreborn.client.gui.GuiIronFurnace; -import techreborn.client.gui.GuiLesu; -import techreborn.client.gui.GuiMatterFabricator; -import techreborn.client.gui.GuiQuantumChest; -import techreborn.client.gui.GuiQuantumTank; -import techreborn.client.gui.GuiRecycler; -import techreborn.client.gui.GuiRollingMachine; -import techreborn.client.gui.GuiSemifluidGenerator; -import techreborn.client.gui.GuiThermalGenerator; -import techreborn.client.gui.GuiVacuumFreezer; +import techreborn.client.container.*; +import techreborn.client.gui.*; import techreborn.manual.GuiManual; -import techreborn.tiles.TileAesu; -import techreborn.tiles.TileAlloyFurnace; -import techreborn.tiles.TileAlloySmelter; -import techreborn.tiles.TileAssemblingMachine; -import techreborn.tiles.TileBlastFurnace; -import techreborn.tiles.TileCentrifuge; -import techreborn.tiles.TileChargeBench; -import techreborn.tiles.TileChemicalReactor; -import techreborn.tiles.TileChunkLoader; -import techreborn.tiles.TileDigitalChest; -import techreborn.tiles.TileImplosionCompressor; -import techreborn.tiles.TileIndustrialElectrolyzer; -import techreborn.tiles.TileIndustrialGrinder; -import techreborn.tiles.TileIndustrialSawmill; -import techreborn.tiles.TileIronFurnace; -import techreborn.tiles.TileMatterFabricator; -import techreborn.tiles.TileQuantumChest; -import techreborn.tiles.TileQuantumTank; -import techreborn.tiles.TileRollingMachine; -import techreborn.tiles.TileVacuumFreezer; +import techreborn.tiles.*; import techreborn.tiles.fusionReactor.TileEntityFusionController; -import techreborn.tiles.generator.TileDieselGenerator; -import techreborn.tiles.generator.TileGasTurbine; -import techreborn.tiles.generator.TileGenerator; -import techreborn.tiles.generator.TileSemifluidGenerator; -import techreborn.tiles.generator.TileThermalGenerator; +import techreborn.tiles.generator.*; import techreborn.tiles.idsu.TileIDSU; import techreborn.tiles.lesu.TileLesu; -import techreborn.tiles.teir1.TileCompressor; -import techreborn.tiles.teir1.TileElectricFurnace; -import techreborn.tiles.teir1.TileExtractor; -import techreborn.tiles.teir1.TileGrinder; -import techreborn.tiles.teir1.TileRecycler; +import techreborn.tiles.teir1.*; public class GuiHandler implements IGuiHandler { @@ -144,6 +51,7 @@ public class GuiHandler implements IGuiHandler { public static final int electricFurnaceID = 35; public static final int ironFurnace = 36; public static final int recyclerID = 37; + public static final int scrapboxinatorID = 38; @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -238,6 +146,8 @@ public class GuiHandler implements IGuiHandler { return new ContainerIronFurnace((TileIronFurnace) world.getTileEntity(new BlockPos(x, y, z)), player); }else if (ID == recyclerID) { return new ContainerRecycler((TileRecycler) world.getTileEntity(new BlockPos(x, y, z)), player); + }else if (ID == scrapboxinatorID) { + return new ContainerScrapboxinator((TileScrapboxinator) world.getTileEntity(new BlockPos(x, y, z)), player); } return null; } @@ -336,6 +246,8 @@ public class GuiHandler implements IGuiHandler { return new GuiIronFurnace(player, (TileIronFurnace) world.getTileEntity(new BlockPos(x, y, z))); }else if (ID == recyclerID) { return new GuiRecycler(player, (TileRecycler) world.getTileEntity(new BlockPos(x, y, z))); + } else if (ID == scrapboxinatorID) { + return new GuiScrapboxinator(player, (TileScrapboxinator) world.getTileEntity(new BlockPos(x, y, z))); } return null; } diff --git a/src/main/java/techreborn/client/container/ContainerScrapboxinator.java b/src/main/java/techreborn/client/container/ContainerScrapboxinator.java new file mode 100644 index 000000000..13c6f76ca --- /dev/null +++ b/src/main/java/techreborn/client/container/ContainerScrapboxinator.java @@ -0,0 +1,63 @@ +package techreborn.client.container; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Slot; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import reborncore.client.gui.SlotOutput; +import reborncore.common.container.RebornContainer; +import techreborn.api.SlotUpgrade; +import techreborn.tiles.TileScrapboxinator; + +public class ContainerScrapboxinator extends RebornContainer { + + EntityPlayer player; + + TileScrapboxinator tile; + + public int connectionStatus; + + public ContainerScrapboxinator(TileScrapboxinator tileScrapboxinator, EntityPlayer player) { + super(); + tile = tileScrapboxinator; + this.player = player; + + // input + this.addSlotToContainer(new SlotScrapbox(tileScrapboxinator.inventory, 0, 56, 34)); + this.addSlotToContainer(new SlotOutput(tileScrapboxinator.inventory, 1, 116, 34)); + + + // upgrades + this.addSlotToContainer(new SlotUpgrade(tileScrapboxinator.inventory, 2, 152, 8)); + this.addSlotToContainer(new SlotUpgrade(tileScrapboxinator.inventory, 3, 152, 26)); + this.addSlotToContainer(new SlotUpgrade(tileScrapboxinator.inventory, 4, 152, 44)); + this.addSlotToContainer(new SlotUpgrade(tileScrapboxinator.inventory, 5, 152, 62)); + + int i; + + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { + this.addSlotToContainer(new Slot(player.inventory, j + i * 9 + + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for (i = 0; i < 9; ++i) { + this.addSlotToContainer(new Slot(player.inventory, i, 8 + i * 18, + 142)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer p_75145_1_) { + return true; + } + + @SideOnly(Side.CLIENT) + @Override + public void updateProgressBar(int id, int value) { + if (id == 10) { + this.connectionStatus = value; + } + } +} diff --git a/src/main/java/techreborn/client/container/SlotScrapbox.java b/src/main/java/techreborn/client/container/SlotScrapbox.java new file mode 100644 index 000000000..04b0bfd69 --- /dev/null +++ b/src/main/java/techreborn/client/container/SlotScrapbox.java @@ -0,0 +1,24 @@ +package techreborn.client.container; + +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import techreborn.init.ModItems; + +public class SlotScrapbox extends Slot { + + public SlotScrapbox(IInventory par1iInventory, int par2, int par3, int par4) { + super(par1iInventory, par2, par3, par4); + } + + public boolean isItemValid(ItemStack par1ItemStack) { + if(par1ItemStack.getItem()==ModItems.scrapBox){ + return true; + } + return false; + } + + public int getSlotStackLimit() { + return 64; + } +} \ No newline at end of file diff --git a/src/main/java/techreborn/client/gui/GuiScrapboxinator.java b/src/main/java/techreborn/client/gui/GuiScrapboxinator.java new file mode 100644 index 000000000..7c69062ea --- /dev/null +++ b/src/main/java/techreborn/client/gui/GuiScrapboxinator.java @@ -0,0 +1,54 @@ +package techreborn.client.gui; + +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; +import techreborn.client.container.ContainerScrapboxinator; +import techreborn.tiles.TileScrapboxinator; + +public class GuiScrapboxinator extends GuiContainer { + + public static final ResourceLocation texture = new ResourceLocation("techreborn", "textures/gui/scrapboxinator.png"); + + TileScrapboxinator tile; + ContainerScrapboxinator containerScrapboxinator; + + public GuiScrapboxinator(EntityPlayer player, TileScrapboxinator tileScrapboxinator) { + super(new ContainerScrapboxinator(tileScrapboxinator, player)); + this.xSize = 176; + this.ySize = 167; + tile = tileScrapboxinator; + containerScrapboxinator = (ContainerScrapboxinator) this.inventorySlots; + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(texture); + int k = (this.width - this.xSize) / 2; + int l = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); + + int j = 0; + + j = tile.gaugeProgressScaled(24); +// System.out.println(compressor.gaugeProgressScaled(10)); + if (j > 0) { + this.drawTexturedModalRect(k + 78, l + 35, 176, 14, j + 1, 16); + } + + j = tile.getEnergyScaled(12); + if (j > 0) { + this.drawTexturedModalRect(k + 24, l + 36 + 12 - j, 176, 12 - j, 14, j + 2); + } + } + + protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_) { + String name = StatCollector.translateToLocal("tile.techreborn.scrapboxinator.name"); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752); + } +} diff --git a/src/main/java/techreborn/init/ModBlocks.java b/src/main/java/techreborn/init/ModBlocks.java index 7884c3f4a..b16ed6350 100644 --- a/src/main/java/techreborn/init/ModBlocks.java +++ b/src/main/java/techreborn/init/ModBlocks.java @@ -10,81 +10,23 @@ import reborncore.common.tile.TileMachineBase; import techreborn.Core; import techreborn.blocks.*; import techreborn.blocks.advanced_machine.*; -import techreborn.blocks.generator.BlockDieselGenerator; -import techreborn.blocks.generator.BlockDragonEggSiphoner; -import techreborn.blocks.generator.BlockGasTurbine; -import techreborn.blocks.generator.BlockGenerator; -import techreborn.blocks.generator.BlockHeatGenerator; -import techreborn.blocks.generator.BlockLightningRod; -import techreborn.blocks.generator.BlockMagicEnergyAbsorber; -import techreborn.blocks.generator.BlockMagicEnergyConverter; -import techreborn.blocks.generator.BlockPlasmaGenerator; -import techreborn.blocks.generator.BlockSemiFluidGenerator; -import techreborn.blocks.generator.BlockSolarPanel; -import techreborn.blocks.generator.BlockThermalGenerator; -import techreborn.blocks.generator.BlockWaterMill; -import techreborn.blocks.generator.BlockWindMill; +import techreborn.blocks.generator.*; import techreborn.blocks.iron_machines.BlockAlloyFurnace; import techreborn.blocks.iron_machines.BlockIronFurnace; import techreborn.blocks.machine.*; import techreborn.blocks.storage.*; import techreborn.blocks.tier1.*; -import techreborn.itemblocks.ItemBlockAesu; -import techreborn.itemblocks.ItemBlockDigitalChest; -import techreborn.itemblocks.ItemBlockMachineCasing; -import techreborn.itemblocks.ItemBlockMachineFrame; -import techreborn.itemblocks.ItemBlockOre; -import techreborn.itemblocks.ItemBlockOre2; -import techreborn.itemblocks.ItemBlockPlayerDetector; -import techreborn.itemblocks.ItemBlockQuantumChest; -import techreborn.itemblocks.ItemBlockQuantumTank; -import techreborn.itemblocks.ItemBlockRubberSapling; -import techreborn.itemblocks.ItemBlockStorage; -import techreborn.itemblocks.ItemBlockStorage2; -import techreborn.tiles.TileAesu; -import techreborn.tiles.TileAlloyFurnace; -import techreborn.tiles.TileAlloySmelter; -import techreborn.tiles.TileAssemblingMachine; -import techreborn.tiles.TileBlastFurnace; -import techreborn.tiles.TileCentrifuge; -import techreborn.tiles.TileChargeBench; -import techreborn.tiles.TileChemicalReactor; -import techreborn.tiles.TileChunkLoader; -import techreborn.tiles.TileDigitalChest; -import techreborn.tiles.TileImplosionCompressor; -import techreborn.tiles.TileIndustrialElectrolyzer; -import techreborn.tiles.TileIndustrialGrinder; -import techreborn.tiles.TileIndustrialSawmill; -import techreborn.tiles.TileIronFurnace; -import techreborn.tiles.TileMachineCasing; -import techreborn.tiles.TileMatterFabricator; -import techreborn.tiles.TilePlayerDectector; -import techreborn.tiles.TileQuantumChest; -import techreborn.tiles.TileQuantumTank; -import techreborn.tiles.TileRollingMachine; -import techreborn.tiles.TileVacuumFreezer; +import techreborn.itemblocks.*; +import techreborn.tiles.*; import techreborn.tiles.fusionReactor.TileEntityFusionController; -import techreborn.tiles.generator.TileDieselGenerator; -import techreborn.tiles.generator.TileDragonEggSiphoner; -import techreborn.tiles.generator.TileGasTurbine; -import techreborn.tiles.generator.TileGenerator; -import techreborn.tiles.generator.TileHeatGenerator; -import techreborn.tiles.generator.TileSemifluidGenerator; -import techreborn.tiles.generator.TileSolarPanel; -import techreborn.tiles.generator.TileThermalGenerator; -import techreborn.tiles.generator.TileWaterMill; -import techreborn.tiles.generator.TileWindMill; +import techreborn.tiles.generator.*; import techreborn.tiles.idsu.TileIDSU; import techreborn.tiles.lesu.TileLesu; import techreborn.tiles.lesu.TileLesuStorage; import techreborn.tiles.storage.TileBatBox; import techreborn.tiles.storage.TileMFE; import techreborn.tiles.storage.TileMFSU; -import techreborn.tiles.teir1.TileCompressor; -import techreborn.tiles.teir1.TileElectricFurnace; -import techreborn.tiles.teir1.TileExtractor; -import techreborn.tiles.teir1.TileGrinder; -import techreborn.tiles.teir1.TileRecycler; +import techreborn.tiles.teir1.*; public class ModBlocks { @@ -141,6 +83,7 @@ public class ModBlocks { public static Block batBox; public static Block mfe; public static Block mfsu; + public static Block scrapboxinator; public static BlockOre ore; public static BlockOre2 ore2; @@ -402,6 +345,10 @@ public class ModBlocks { nuke = new BlockNuke(); GameRegistry.registerBlock(nuke, "nuke"); + + scrapboxinator = new BlockScrapboxinator(Material.iron); + GameRegistry.registerBlock(scrapboxinator, "scrapboxinator"); + GameRegistry.registerTileEntity(TileScrapboxinator.class, "TileScrapboxinatorTR"); registerOreDict(); Core.logHelper.info("TechReborns Blocks Loaded"); diff --git a/src/main/java/techreborn/tiles/TileScrapboxinator.java b/src/main/java/techreborn/tiles/TileScrapboxinator.java new file mode 100644 index 000000000..c9d86c1b3 --- /dev/null +++ b/src/main/java/techreborn/tiles/TileScrapboxinator.java @@ -0,0 +1,294 @@ +package techreborn.tiles; + +import java.util.Random; + +import ic2.api.tile.IWrenchable; +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.IChatComponent; +import reborncore.api.power.EnumPowerTier; +import reborncore.common.blocks.BlockMachineBase; +import reborncore.common.powerSystem.TilePowerAcceptor; +import reborncore.common.util.Inventory; +import techreborn.api.ScrapboxList; +import techreborn.init.ModBlocks; +import techreborn.init.ModItems; +import techreborn.items.ItemParts; + +public class TileScrapboxinator extends TilePowerAcceptor implements IWrenchable, IInventory, ISidedInventory { + + public Inventory inventory = new Inventory(6, "TileScrapboxinator", 64, this); + public int capacity = 1000; + public int cost = 20; + public int progress; + public int time = 200; + public int chance = 4; + public int random; + public int input1 = 0; + public int output = 1; + + public TileScrapboxinator() { + super(1); + } + + public int gaugeProgressScaled(int scale) { + return (progress * scale) / time; + } + + @Override + public void updateEntity() { + boolean burning = isBurning(); + boolean updateInventory = false; + if (getEnergy() <= cost && canOpen()) { + if (getEnergy() > cost) { + updateInventory = true; + } + } + if (isBurning() && canOpen()) { + updateState(); + + progress++; + if (progress >= time) { + progress = 0; + recycleItems(); + updateInventory = true; + } + } else { + progress = 0; + updateState(); + } + if (burning != isBurning()) { + updateInventory = true; + } + if (updateInventory) { + markDirty(); + } + } + + public void recycleItems() { + if (this.canOpen() && !worldObj.isRemote) { + int random = new Random().nextInt(ScrapboxList.stacks.size()); + ItemStack out = ScrapboxList.stacks.get(random).copy(); + if (getStackInSlot(output) == null) { + useEnergy(cost); + setInventorySlotContents(output, out); + } + + if (getStackInSlot(input1).stackSize > 1) { + useEnergy(cost); + this.decrStackSize(input1, 1); + } else { + useEnergy(cost); + setInventorySlotContents(input1, null); + } + } + } + + public boolean canOpen() { + if (getStackInSlot(input1) != null && getStackInSlot(output) == null) { + return true; + } + return false; + } + + public boolean isBurning() { + return getEnergy() > cost; + } + + public void updateState() { + IBlockState blockState = worldObj.getBlockState(pos); + if (blockState.getBlock() instanceof BlockMachineBase) { + BlockMachineBase blockMachineBase = (BlockMachineBase) blockState.getBlock(); + if (blockState.getValue(BlockMachineBase.ACTIVE) != progress > 0) + blockMachineBase.setActive(progress > 0, worldObj, pos); + } + } + + @Override + public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) { + return false; + } + + @Override + public EnumFacing getFacing() { + return getFacingEnum(); + } + + @Override + public boolean wrenchCanRemove(EntityPlayer entityPlayer) { + if (entityPlayer.isSneaking()) { + return true; + } + return false; + } + + @Override + public float getWrenchDropRate() { + return 1.0F; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(ModBlocks.scrapboxinator, 1); + } + + public boolean isComplete() { + return false; + } + + @Override + public void readFromNBT(NBTTagCompound tagCompound) { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + } + + @Override + public int getSizeInventory() { + return inventory.getSizeInventory(); + } + + @Override + public ItemStack getStackInSlot(int slot) { + return inventory.getStackInSlot(slot); + } + + @Override + public ItemStack decrStackSize(int slot, int amount) { + return inventory.decrStackSize(slot, amount); + } + + @Override + public ItemStack removeStackFromSlot(int slot) { + return inventory.removeStackFromSlot(slot); + } + + @Override + public void setInventorySlotContents(int slot, ItemStack stack) { + inventory.setInventorySlotContents(slot, stack); + } + + @Override + public int getInventoryStackLimit() { + return inventory.getInventoryStackLimit(); + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + return inventory.isUseableByPlayer(player); + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return inventory.isItemValidForSlot(slot, stack); + } + + // ISidedInventory + @Override + public int[] getSlotsForFace(EnumFacing side) { + return side == EnumFacing.DOWN ? new int[] { 0, 1, 2 } : new int[] { 0, 1, 2 }; + } + + @Override + public boolean canInsertItem(int slotIndex, ItemStack itemStack, EnumFacing side) { + if (slotIndex == 2) + return false; + if (slotIndex == 1) { + if (itemStack.getItem() == ModItems.scrapBox) { + return true; + } + } + return isItemValidForSlot(slotIndex, itemStack); + } + + @Override + public boolean canExtractItem(int slotIndex, ItemStack itemStack, EnumFacing side) { + return slotIndex == 2; + } + + @Override + public double getMaxPower() { + return capacity; + } + + @Override + public boolean canAcceptEnergy(EnumFacing direction) { + return true; + } + + @Override + public boolean canProvideEnergy(EnumFacing direction) { + return false; + } + + @Override + public double getMaxOutput() { + return 0; + } + + @Override + public double getMaxInput() { + return 32; + } + + @Override + public EnumPowerTier getTier() { + return EnumPowerTier.MEDIUM; + } + + @Override + public void openInventory(EntityPlayer player) { + inventory.openInventory(player); + } + + @Override + public void closeInventory(EntityPlayer player) { + inventory.closeInventory(player); + } + + @Override + public int getField(int id) { + return inventory.getField(id); + } + + @Override + public void setField(int id, int value) { + inventory.setField(id, value); + } + + @Override + public int getFieldCount() { + return inventory.getFieldCount(); + } + + @Override + public void clear() { + inventory.clear(); + } + + @Override + public String getName() { + return inventory.getName(); + } + + @Override + public boolean hasCustomName() { + return inventory.hasCustomName(); + } + + @Override + public IChatComponent getDisplayName() { + return inventory.getDisplayName(); + } +} diff --git a/src/main/resources/assets/techreborn/lang/en_US.lang b/src/main/resources/assets/techreborn/lang/en_US.lang index 3c6ac2fdd..2984e3614 100644 --- a/src/main/resources/assets/techreborn/lang/en_US.lang +++ b/src/main/resources/assets/techreborn/lang/en_US.lang @@ -1,3 +1,9 @@ + +item.missingRecipe.name=Missing Recipe Placeholder + + + + itemGroup.techreborn=Tech Reborn #machines @@ -69,6 +75,12 @@ tile.techreborn.watermill.name=Water Mill tile.techreborn.windmill.name=Wind Mill tile.techreborn.ironfurnace.name=Iron Furnace tile.techreborn.recycler.name=Recycler +tile.techreborn.scrapboxinator.name=Scrapbox-inator +tile.techreborn.batBox.name=Battery Box +tile.techreborn.mfe.name=MFE +tile.techreborn.mfsu.name=MFSU +tile.techreborn.reinforcedglass.name=Reinforced Glass +tile.techreborn.nuke.name=Nuke #Blocks tile.techreborn.rubberlog.name=Rubber Wood @@ -270,6 +282,7 @@ item.techreborn.dust.zinc.name=Zinc Dust item.techreborn.dust.galena.name=Galena Dust item.techreborn.dust.greenSapphire.name=Green Sapphire Dust item.techreborn.dust.sawDust.name=Saw Dust +item.techreborn.dust.olivine.name=Olivine Dust item.techreborn.lapotroncrystal.name=Lapotron Crystal item.techreborn.energycrystal.name=Energy Crystal item.techreborn.ingot.refinediron.name=Refined Iron Ingot @@ -375,6 +388,7 @@ item.techreborn.dustsmall.Voidstone.name=Small Pile of Voidstone Dust item.techreborn.dustsmall.YellowGarnet.name=Small Pile of Yellow Garnet Dust item.techreborn.dustsmall.Zinc.name=Small Pile of Zinc Dust item.techreborn.dustsmall.Galena.name=Small Pile of Galena Dust +item.techreborn.dustsmall.Olivine.name=Small Pile of Olivine Dust #Cells item.techreborn.cell.Berylium.name=Berylium Cell @@ -415,7 +429,9 @@ item.techreborn.cell.empty.name=Empty Cell item.techreborn.cell.water.name=Water Cell item.techreborn.cell.lava.name=Lava Cell item.techreborn.rebattery.name=Battery -item.techreborn.treetap.name=Tree Tap +item.techreborn.lithiumBattery.name=Lithium Battery +item.techreborn.treetap.name=Treetap +item.techreborn.nanosaber.name=Nanosaber #Gems item.techreborn.gem.ruby.name=Ruby @@ -607,9 +623,6 @@ item.techreborn.part.advancedCircuit.name=Advanced Electronic Circuit item.techreborn.part.pump.name=Pump item.techreborn.part.teleporter.name=Teleporter item.techreborn.part.advancedAlloy.name=Advanced Alloy -item.techreborn.part.lvTransformer.name=LV Transformer -item.techreborn.part.mvTransformer.name=MV Transformer -item.techreborn.part.hvTransformer.name=HV Transformer #Tools item.techreborn.rockcutter.name=Rockcutter diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/greg_machines/scrapboxinator_front_off.png b/src/main/resources/assets/techreborn/textures/blocks/machine/greg_machines/scrapboxinator_front_off.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6bdac872629ea3233b422dcdd738e00b023e18 GIT binary patch literal 680 zcmV;Z0$2TsP)<{97<5HgbW?9;ba!ELWdLwtX>N2bZe?^J zG%heMIczh2P5=M`CP_p=R5(vfl4(yI#BF zp^&=P)6*k>N~ID2L+C@TQ7Dx=FYNyQqtod$8Vw0(N~Ka1K>!Py&1Pem;`*1)(6nT? z+eHyHtyT;8ColLk#xh=iUYD4ODfN22(5uyI^?IEXD-;T{EUVRO2)w|eIxnzF+-kKF zrTb#Bn9t{zx|YpmW3d=<`t*1_?E1yZs`P5D#6zMb#E?v-Qpv7GA`wo}5(```yv@u! zk!F^jFT5YY(U|n! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/greg_machines/scrapboxinator_front_on.png b/src/main/resources/assets/techreborn/textures/blocks/machine/greg_machines/scrapboxinator_front_on.png new file mode 100644 index 0000000000000000000000000000000000000000..b91faa13d7de34ff0a31b0d3923692b51ace60b1 GIT binary patch literal 1008 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 JPDHLkV1mVn@RI-l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_on.png b/src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_on.png new file mode 100644 index 0000000000000000000000000000000000000000..55c5ad5c985ca76f3729a3593aa60fe913d73c09 GIT binary patch literal 783 zcmV+q1MvKbP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0)RN^UIwZy&TA8UJty=y~({D9vYh%nVlP(Ul^UM()skIGG47sF4m_S%QGv@ z&&}1!w+%5-+uB~--l^~IEgu{rjr{{_tz-TA-aZN=m3iS~hKGq98piyjJvZb}cNN77xXyStk~i-Sit(2KBk^3(FcAkzmSJkAjyH1`MsAo_;+$qeY{$v-5^@OX}$8V6Paotz%0*%#_8+ zo2uEEkT>hW5rS{ahthaon*M8GaZLO)SZnpiCWTb0H<01UDbIju3+ihlJhGK@8{f-o z>-e5tUP0a!ORYuw=U^Q>CfuWq9y@6zJTy8kI}x%pXGA9^b7+tQ?hxO=+g8WJf8rsZ z&j;h7P$&fEVQ_G;S8_Z!9xj20Y&IK!hrYhPU_9_cADD-SlH zJMeIk|CcE5U_5Xy3%~>SGRK4Cp?!D={QW?MpO*(%gC57j1$ijX{sPj(A<95@zzF~V N002ovPDHLkV1n2sV$=Wt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_on.png.mcmeta b/src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_on.png.mcmeta new file mode 100644 index 000000000..97596ba81 --- /dev/null +++ b/src/main/resources/assets/techreborn/textures/blocks/machine/tier1_machines/grinder_top_on.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime":2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/techreborn/textures/gui/aesu.png b/src/main/resources/assets/techreborn/textures/gui/aesu.png index b12603d8a70a91b81f8d0ac42ed6e10e365f5f70..a45d9e509c6e77ffa0c6389d9faa783419384f3b 100644 GIT binary patch delta 6396 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 AoB#j- delta 6400 zcmch4XE5At^!EPNs!J@Q1<`x&oh67~qD2?I6C`?mixlOF9wms?dx_q{>b-;{M6ih7 zg(%VfdER&4ndjsG(|ccEu4~TBxz9Os&Y3w^@)z<6V>oYKKoZAR@m8iG$7dmRAAw8& z#+ZWpw$2Pk9RMF_s3;i)TJL4W=Fpp&y`DA>%QPdfO(ooH&4aIyq^TOT+aQ%xT6Vb9 zdM}?DuNLt-1=P`;RmV*nzbI~XPTFUy%h+f057P)R&XzImJnq2$&MN!B8?bK~6udf~ zE$i(?G5(3N#dkxqt!tV|$j2{J3`zZtSC8UG(%a@c2>>?bPz4RhR#`4^kW8woLgyB8 zU>DJCYngj0gs{-PNXC#0L&m_ZlO4sAs|~&HK^O4ds{xy<%>g=e>~OLgvToyDXn8hQ zILf>I_CQzhclVpl7k}oDZRD<-sBcbBv?kZFFPg(q*@lA?=vq6DxPZ<=L9a> zbaDYUw_q<^Pzj?Lwy&pn(?Kf!H@0xpy82~8W>>9Q4C*XvK6p?5U}#?+c0~!h8ixyp zZJo5_T(rv;+l204V6TTw6;Dd2e4dF|jdHk~`8Vu^bne&=JAG!*X?-EF)#jy;F?zls zIi*t+Cb`8qa$ zi(fc7a@Su-Z+Ew-UmRZOeYoj~mlFXD)dp;7SF@BR+8mo8SD{3;X7)up-Te+Snf`Sz zp7RMVU{ccj7@Ce^eDF9!x9`2QirVBLWn22wWb^4_+a0^8jhVT*u{FKFX9xs@E z4}{s=d?J-=#TA;ob7&hdi`u-9`EXid^p901;?*RE-Xo9luplSI3-3mw^Tf_*QLnH( zll}?N*Ck>q$f%8Jv*~={>wEn*z?*G}?%)lIS|N)DiMXm!nxr`#gb|3~>~WS*S@D~+ zMnWOF@~e^8vHp1Y$lbP|7m3+L+t?TK;A?CChN|Y3>2&@ z=f##b;;M8*@$6l-f()=W^iREWyH3$Gu6_TiLHVIUkeI@r%yORD0`9UyctO0WUK=~T zc5b(y*2Io&t*DtCF>r8Nmk5bm!g3OwRSy>T>O z$=*|4rPg;E*>$^P9(5PyxS;Zel%GLj@?+Qi_7ac=YJD-`2{Y0Ot-i9s@i#DQgP7wU zJNVXfSqVhr7h=U&>!@Zg_+F;kI#&f>z2B$FHQSE6yRger1H)y)XXQLdOT4 zpbEb}>p6#H!2G+TSj)pAg1?lz;^2KMKcMf!n@x;nSBM-1IV`pCP}%gyud3PDHC5Xk zxh2`szW;gw3q7_7(2_L}K^%Uj>rC8pBu`LTJM61WStg1VJehq!v|%jDxE^t@xiP`M z_O)`d)sJi*QLb-aa0tBbYNDG7CVzb#Ul4r@@*HIzb#+S{(dt){%$5k zJRc>SD+k$2P~mbw1^p=1ckB-6}Xtv#NH$080hb2^@0HYpzGk&yJU4#q&bbhy2Y=mw31?`20m0=aZoyIF^6m$om4 zGKR}wcp>gFjD6frW}KxI(_>~3sJUvB(mu=5DR%w_Yx5ScIa>;?pHY5% zlml&L-V+ziCn==i$SJpP=vGg!T2#h@8bKpaq_>r(Ea!QN%hzrmtaKI z+N}pw4_EAjA9+P&M;}qnCAm-9<-=1|2u5j|up>_~|5+j?ys0HGBUIf*tn`58VVQ^b zhYwPd$#Bm)Q-QLFgck5ziG%Mu#KULcf>J`ICryT?-A5`F#2{*fyrw z_q3##qfUEqis46KEYP$5tp#)KKnkNT)z6do=`_09HdU0NBrhOt9n6*wZ|gPGMYyq} z){T_P6s*ztj~_2{&b|HqY~=k?Sdnt#c7qnQX5u2TCyp5hoH=LYg5Vuk^4-1FeK}1N zk;GPu4@RR2?&wR4uOsg@RMact;_-Q~EiF4V2{XCMqNHuq`_DEOAtRQOy2rD|CrOThachbO+(*meb2 zerxw;1-%XdLrs@+kdubuAJdB6Fwa@^rv_PC`b{LrCN0C*y}hjOFR}w}83fI}>h748 zLSZ;i)K{R!%O3Z+Y%H&!u0AjilT3beWGYO5riTXjOp#ehKb&*DRfRlAkDf1mEhRtMZsJd^dp<>;fvK>=9+S?L~wL2s+{JA+8T}81&ou*-xkzg@igo^Ewk=enxOy?^-rP!SHevMaDjh=;>g=SV(gtF%b*-C97`b zfgYx^jUdo5DngbM!}mI_-V^_R`PltT`vCBGl)i#R(0zhTZH4}O8lHGaWnpzva7R{~ z2WnZ%%oqCI)}DQqfC*|TtA(k2)72B3>-~~g!hL?%IRM2b#G$rATcYxTKdt? zViSZ2uQHO4Gv1*RG|=(kWJfX?z#|z=CJ6K;Pm*~7A<2s5k}wW zR&vsqi-lJdk`WYC{LT?&5VFKP8qEhI%Bts%i^D2HowzFJWf{A-$_j^q$}#1eD(p9 zA_SVcQ7cJoiLB#Awj#kQJPnT1S_QEg1ylswOx4)t|DuXPYkr_^BP^-*cTW1W<&CtxpF z_s5(BUAsg&MjCqB%wi;EiLu4diW=~7k0K{P8Z-Y@NuEE_fZ*HcZC+syJLdG(UZjDI zDoZWK-Hzl6tBo0k^(r=l7;Dp)chzZ5q>(sfimatLwJNE1Oqab>A!!+~U)Cf^;!irH z4}4>cj0Moo;K0nin>tt)VdUR&!pcNz{eu)fZHv;fRu7_)tkL;cEDELWz+-SWH0}hT zhB>FPac%4Jv^EtQ_Z&ew;3)ifWJN7JtOaS5R^7KcyZTkq+XPJOAWWG|<$Ptecx90; z_>}y8EdBYgNON1W&ZLvX-DC}Xg;>uWUIadK3Ma4BS4ndsFrs-e^%%=VPol66H7@ zNMGJG=k8^&dv0l*;J+$b{LeTpJg=}Tc{AOfc2SD9)#83njQ(3a`8-3Ww4T%p3L2eV zTdr6XP7=NR_9VpicZq8tU6nn@vh^qXg{YNa-=Y3amgASrNR97x+;JpSd{u`}@SO%+ z-n)bgP=LFp7r+(2rwQ?v)3luVuesI+JtFyb1P~JXa8v3)wC^fDY2Zo_YV{-3a^HGGs@aI#`Xo2jvJ841LKz1M_7c7{p}SpYsAKU87Os6g8cc%x|h#B5Cdx zhMdg}G<&_FQ4X&^`+|?%v@GW4iAYl$68aj#Rnm*s@#qS&~Uq#S8odj zjnQ|62>KUv7OhLJbu6=wX8I$-7Hq-YUN zOo&&ncw~!5l8;N22abJ_g^~(E(;4N!fuYjJWoa1}Q(I7e^oT zf>7(+HyripR7E?O;Ose#*tYJY4TlaiJ+f;&nQeeD#eZ!TLDao}VyBq?c<4UCAc1>w z;b#t>8t$1Ma|CT|zUd|fRoJsE-Ovjud6JPO$++29qb=bmPCHd~&pfp^*^-c~vHa0) z*}D2zLVX@E(#l>y0l9{ab;DnMsqzo^y1rM$WOv~#{`!L%9V(wDkBc8YZH*AM4_)xN zl{kWQOX}4O2xlTNg*7R(F1vLd;aE&;$<@G!WQ_1JPERy#+~3#v{Cq{=J3FAphqtNt zFs6)}<|C`#l+7hFp?N^VhRdD*bcJXBiI=u^-6tuq&$4VM?t6dxeF40Bihv;jLZ2FL zxA$m`e(TSfyVMNkN8_c}QbHRI?XDy`Bcjske1~jTK6U2eOS6C8XG%>pBLLHCYwwU@ zUBXGnp{J<_anf;^@a0MD^^=v=ms?-vFa+t)0H%Kgma4dw4EmIac77F`JD-$bZ|Yhq zUXy5nc6%`A@#k1>z@bKta`-ZiSe`{QhjR66jjht=fc5oL7;Qq!Wa19n7}n7D>y*=p z7uj12w&3w5D&-BHuCLL4p8_rmV=p}B?7 zrk;9E2Ho%O{7HkJvuY7AD)IsmM4Wj%gM%y}N53DA`DWKBNf7;531e(cg`hc{0?%bl zA?Vq;g5vu*70hox1D`aQR1c}Id|Dn~?Y1W%Ql@I8j;^>ojM|M7QB7N|7 zRqjk<*1tFm%?XBWEEA$H#&(?F+7=6=KiE0!vq~tGG}s`v=o`kIf&vVI^LUDdFN(ZN zjMUH&KeSh(WPXpaTVC1SV!v&c#!NyV11VVh5nhlj)6!U|Nv#(2>S^**MD!3oadUYA z{@CzE_yLya4nF(cXwm6S&6(2dVKAdW?J1+kW=kT9FGdSfiTM1-_S$sfIo6d}f5;g3 zSNvUx>;^OWvcADC;Z+$Lw0GT`sILz`Kd|`avQQ+I{`}!o&w|ukEmyEeJKahM3olfz zP7q3yjq%?kzE8g1tk~AWdK1)X8M*Y}O3y6YcB_CKo_n%?@ z_V`5y`_dD~H?aD`l7{)qrpo(%BUOYh<4sADIrXWDsQ*G@Un}{)`d=PGUHAd4Pi3H( z{ATs7wx=Px(Q4#D!|r>OlPmA{T;a}!|Ami*%2i8~kvKw^9Rc_6%X7Lvs@8JNpX(s& z>fh~7ren=V)G`0T|GDS?qcQ5>U-Q0+uRyuu08EZSgk0z^Ci}x&MG%wUtY>O_elPsL zpi(_eYI|Ouelu5t{ulqAwExxr^5;$OL(KSPIhM8({>`(8V~L@SX=$AD;PT7h9fD@R z!i7uM1g!x)>XWKnG}r+0#%H@*AaD0rk@m3;M{4Gf<5%xuH^bASgqt>` zkp#c+JZb*CD(ba@9W@xys_PwK{U+6RLor2YqNrIf5E#=MW0_P>k#LW`^J-dYTcVxj zOKDW1=3rIK=`3)jc z1u_QyR7_Ue3iquneQz2B6gwWVsq&L{wJ6%oMEP@B{R8}4PJrCCSSXRyIy2`g` z2%{EZU5q3SI5g#nNX3@$LMP<)%B>k3okG4pcp@Lwr?>1{b6@j04a3|NgDQSZKE?rx z9qP8{M-FnfWuqB&vkd!%2z$7?sl4wYQTjN~NZDt@>|DuUjU$ElihZ8wob1kyOp&2y zGZ-u;HLnSMONF~xLo6XOrYF6|xLA&xqdV+GXTC+a_>FIg*2lEz{e=qK>j5mC3{XE- z_x-GgZd{jxM$zaxcX~3^4`PZEDZU}-3~AW0Dn};F;*43FRqx}kdVl9k2ov`^X{4O6 z2~T<_kUeIWHyRk?DsgqQ<|Sd2W^r$d82lKV{!|H1QWIwyeCnZ-?rudLQQ|LQiw zedMrRDl}{)Kf5O=am)q({4rc%o}Q-l(4Y0@lLsNUPr{|ROZew*qWW>f5n}`g=&YjI zDZ-&=V?^Ns2e`Dv?+S{Y<-Sf82pX#Z#AdHjASC8(y`Ruv&_U923c|J-*= zPnNTuPY;HA`aRU2QCnuhk6A5EGum9fPI&*HS6#L*iPs^0t+DiM9x?QG!;DGUE>0iI zR&Bb}?j5iQ22>J`bRh9M>^k#bH@)Bv<#c$kdTC~1s(3?Q{?aGp?)8jiz|Jy1Jm3?O zei1!0u`oaQVBDCOA9C=n6kv7Z?B|mh?!nU1`ia!VSjTa*0Zuk%t#7S)H00ag{^7;^ zfi=LPIY9(P47Mw+h9;s@jJ;WB1EJxW1umBHkwEBTOTnm?UT!KzHSk1k(S}-G4@$2E z7qcu`?O~Q(tI7Vj;BC3r(773t+t2XlpRf{kPH$v3T#)y-?_I&JS2M-@aYItthL&Mc z&?5w5%H~Y9`=(7tQKRGx0+=Txyyp3c@G1(SUb8Hcl6971H+eXH{w6q#U{>3;VmTS` z;CZjr7h~RHYOxB~gnwFML0yS;sD9=+XQTQ=$l<9KOjZ(HoT)5;il%9O$G}O3H#D8I zRQ4yZ3b2R0#VQE)kWCF6comSS8dcZYd*O0K0=%_BVoEv&T|jCK`f ze5u1Gm4kzp<59(M`VXhqhM36! delta 1584 zcmb_aX;4#F6n^g|kr+0EfGh7;v>;LtF|0yjGgFvhFQ5dJ06G#tgaSfXLK>*H(|>iQcfKFzoco>ce)pbxQ727@ z6AoQY&It>`k8}eIqJ-IniYgX_mG0eXS?PrF29XJ>yQ|;%qm#E(6Z#$W(!PPl9yy5X zmhZJZYmu^AnCW-nfu{<^;oG(HDSlBeV@~g(k@CJ!*z2>RRxdAVh;SG-6c(%!VWly=Ks7W`@bRIoQ7Ez%K4g14quf}*dJFkvFVyuCWUF207hmj!E5)U@^xBo-`v9oA`>dS*g|J$XfjBQY(f1T| zY?)uR(_K}oNu0@Dvsa3f)+6P(RzoQ7Sl^mpFj}iP(`I@CUwpCRGxui+s2F@xndXS` z%YOOl5H4}#T-J-&EME}~iW+}s*E4sf740oKn_aJiR+}3R?hZYBQqL1Ts$gl^yvYKV zf2i-;KlC=0N>abR{`&lrk7azn9ICyh+Q4CG@)(D zO@~3_-?2~5Pw_&{+kk?D9(Z2-kd`n=f4P4AHUD`f{91r|?d(k(V_++5<1o^7H~nrxI^$tBG?o!oDrT z7fQMiDTQ=h1Bwq!?VLJscQY-IkBQUbJ{R1^GS@rWq4~}VYO)vk06Zc43g6ix2qwA-csUiQ!3Dwz69fwy=M(h! zlb57bDW@fY@Tqlu8l2N8mzq3lkGauY%?I!(h7lgAh zbXfuKYxih$Qqjic5ZGk`9EM^`@wo1jh-P!G>6~!Xyzvj>UVL-C=^P**oHmfi@IPUt z@5?P*vvdmi=rG=5BbE_Pd<3!&@M@p=vUS98a1xE?9a=<()!|Q|NTZ`?BEZ67H2-e)ri}xmxCfJ=V&z)tSX067Ya~_o4 zKCr}vtes9o)@LnW$)M?lz$VV*t7;7@#lxeaM4wD8x^YTA;z==z(ri}jbQ_~VF?j8v ztp{N{XL8&E4ZzU=(SxRS2F-75p{z_!fZD?zY}GUjX>GD|~axW}p; z%{I~0r~8vgOENydS7W72#vRal!VqwQyFnDdQkMX;(;!Yn;eSbyPh$TcWTGv%WEH1h WmT2u{(BGj3C>Pb^kb9XM{nDQZjj&Y! diff --git a/src/main/resources/assets/techreborn/textures/gui/batbox.png b/src/main/resources/assets/techreborn/textures/gui/batbox.png index 5361f1e23666885f674d84e876f00e4cd4cc60eb..6e17e9349d9298d23e036ce4bee489de800c6ea6 100644 GIT binary patch delta 1433 zcmcJLX;4!K5XawpzLXp`7>J;9s1t=CgLomaH2Q)88aYB}3K1h_D6NidKu|g4cn`{< z*a#Y`Ol&lQsAY_RK}b+A!2xfGC!lD8AXFg)tsqts8|{=&oqp@i|HJO=&VPTqGHN-s zRB^C!KqUdMfl?z#fYW27MXHT6oIxTP07zsIY3XB0_rRWLJcrHVr^lIO`(s>!sO|ps zrIA&2^Xk?v$&XcuXa) z%HW7)dFJ{;IN5b_z3WwZ<+4tB{sQu{T>CjQZdW3#euqgu>Pbw1*)7ZbW|tj+aFYGA zu^y%tkE%1RuOGh5V)o{!_s~|^ZSudZOFGVM`Z=$?Edac{&Kju zZD_V1i>7EOe*@fuoyCszOeDrJt7)wsK3*MXxKtT}iSrB|;rd>vfnZIL8BN^zU(*!t z{gV%)JiR*I6F}c>WwH7L!2>v>l(WH+%h2Jq^&2DgYKAjr2$_FcN5)R{< zQ|%LAVdi+%B3>K3m(U$B;(iS;5Zu&YIhGaB;ia3yqm)>vq)U2BiPh&&K$4{7(7i87 z-KO0v0@&#{&v{GS`H(a55E~9No7_g@DR{g<{XlSWg42R?oiIZnm?RXllaxN)Ab&Zy zq7mC@x%WE+K@~M<1scb3LK1N^>upxNH-klMoJCDoug|QYnrwagx=yB6Kb#xrEqd`V zlT%SlD0R@YErC$Q(8b&(9!MBs-v#Y>(xCvZLbC3PP@N+$|Bp&WN5?)pC|IwPG4dSZ zRuhS1n}G&%VI%{rio%6tpT!p7BYKhob7Jr8;EF+XtL|pJ;i((ZS{Z7a|s`@IM}; zYi?>eeekZrUfgwJt>|6au=yA@3`vMay;h33+8K>#;2n6T_@`4}WsT0YrQO^%d$i++ zV%H#DG}2(V#BtVlTissq=-?+HwgQ_XX;UJSEp7{ijVpg8A)&+lyHZQwGH-_7OVp61 zKPC?+e?w%bwj?%o*5BBUUh8Tb?c_fR9F>WIM@bKCOY&6rlu9(zb*a8=sO_JQvt(Yw!MvUpgq2L;|>f zbnfw78^N?v0@j=h&c{uH9|w$0@;i&X5%U&?d|^nln?@5`1pD}18l(wieR4$6y^N|BDZU< delta 1441 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 BvD^Rv diff --git a/src/main/resources/assets/techreborn/textures/gui/chemical_reactor.png b/src/main/resources/assets/techreborn/textures/gui/chemical_reactor.png index 5cc28d04036ba71bf4fb208970b8cff1ec705e59..ea11ef9f7c2c5cdf033426a1bd6bf25cd0f54346 100644 GIT binary patch delta 1551 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 delta 1615 zcmb_aeKga17~k(_V>T+WB5h#^adED^(~Nn$*KOs!t6B@`lv2dB*w0JqCQ_VqsWqC~ z<;pwBWV5>N3CT+*%v+|Hn~BZ!Zg!X3y?@zP0^1T_?ZMYkko@ zH*G8zj4IKF7OQeQ(^xMrNLfeQMwA`bwc*8emDYl$-P@`@QA_gQH_zw1Un)-3iSo9b zwh*RSleN~wWnIz5SCs!843MAgPJ=SbSfH3*my(;y>}=n;H(Gf!nH#KYf^gPhBpvlH zgEG4<=Y#7&S8NuJamLh(Qw;oqTI_#Ya&-&%4fEPVrfl#W@UwufV*$Ug5?8yp_K~Pe zCMoq`tT>gX6p3)W#c~S#P!A2n1v%gEJs!xTN`|{o@D9H>Qh)r|qtQY~0+Y5>D*9f^f` zbGshHOBH<(UY0kPun$^N3ve!N;G0Fr4r*22!`I&bwPiQx+L*bO2IOEq57a+O-i;u} z0)J$1e?vnUy<>;rC+C%{rYUT5Ry{sFQAOa-TXM>u(%{zOHUe{4{SGH>Cb&(c&wBFt z7hesjHMV{Sg~_Xtwob%b3072ejQS#yGle`d!jCdxjqVud;QV#6p)MTd`RJ$hshOTo zR#9TJeG3g)*}yN)-t-Q8HIf0&zdDTwP@_!&=hj^o^eMg2B?xsK#VOk{7r>9r5FqRg z%_xuR(9|azXwn!UAwFFZ)JEfFSM}SM2jQFtDCW1@xnS7yzZJooEAc7C_NxYQlbfx| zT3S{P3mZlKJ>`Ct$+|-xzJenumteCx9GYR0u8k1J$Ub4+B|_4WoayzDkHGqQf=WYj z1%@otXyvALlX=U#%#7p)=%Hm9{P%&afbR<66Q90KRHwoo(l|dMMeP;y-3f!(BClHu zSL|rijfcRA<$O{O)r+HLr9G~f3bCDt7oi&d)P%SLhcg*_Hrd2OLt^0mYMc|15yTS| z^24Pu&NG{0Ogy1xbz`AMHJEX_ZGa}Vy#Z@n?VUn~0uSs2e2Tqm7M?{c1*^sL#+i7Y zejxBbif>Cn7>;U~Ay${@Y|Pk=0}9ufU~@pqEMz|h$5nZsR5oK`oR&n61?yY0>AKs8 zzJFNJRt0AdD~uQ!M`vG;b_Wr9u==}rLvRFL+a0={q>&T8hZofB1_yi+(hoJC;cKQ; z(h1M8Mg7{qoyF{z-66nPS-U}$Bq2T96JGnqiP)Xv!ppmR%FD!deTg+}5v|`vPd1Hw zCO~pnWGKxRC|3|=?tm5nP#laekd&|1_>RHA{bT`4D8#h)d741r7rSlE zseBfK5>@VLK_im|mt_Yh3er5OXx?xn>8b8uZj36HVQ1Ip9S%$>k`o%BTy0RwTCYmavWyz9uY{T5nK02-n9iue_tC%>ZB7pdYf0+Rt- WRew<$py@`3DawcRgU3T6CG{@>VZ!_X diff --git a/src/main/resources/assets/techreborn/textures/gui/electric_crafting_table.png b/src/main/resources/assets/techreborn/textures/gui/electric_crafting_table.png index f80aa692f527b681ed37f2fdeb28fe0d037c031b..8c1a0aa9c94b0e301315c6e944c0ee723731b594 100644 GIT binary patch delta 1020 zcmeAY>JXX`J24@I>HFc0duo{`F>+%ETkJS$M4!&f!-qV7BcR9){)pf7jftXSn2ceKlA_WI??}{hRc+a!d_(8NO{U z<7YbXh5@Mk2Sb;x`6Biio0xNi8FQ{{eLw$KZN~fgQU~75mpt%pzQlqX_WBIp{J8_( z*;_RnH!p3|kGQ3DKnG~jJ6?wPJr^wZC1hGMoVy*#l)+G9Wh*oD+xppSH#Oz&+giYQ z>1X?n7Q4l5Wg|5|-O)4^Ba!gPnaujS9=tk`CVbBHYXX?BB&f&bOb^EaGWPuypf*~{`_ z!Nk8)G;e4x_$KF3!RoW>f4ys~OXc?(y=-FH_r%CF0bF?=gn z=X;-7j7vBn|Bh_$x3<_~AI=NAC6*n&cr=z_&fNPVK>zP!EIYP0Z@c*&!{hT9%}(1p z%!=y`&T5eTd|YNT)1N_0St}w)hFP5KvhT-nV7oUnecrHjkldltIeqzt!`)z`7 zf}UB!l|QFabvJvlY_O?fs4s6Zdwq`4$(w;m035gi4Gb&|>HP|f91aW?`RSYt3_rGZ ztPB^^8@+Mo0lz|%*`QLFIMlUv_Df;ehWXo+ z7(m*YfMylkJ0}D*Q2`?GpOl5F zw1YJM*gg4i)=^^z8Iah4O6%1u2lif%(dz$RZn!!u>LYK%e6!6q{~T`TxPom2X?d_` zt}5IKEDzr2ty>LrYM}}PV*zu{PlgjhpZ8pR!l>Z=;f~>xn*VGH^^z{Zg_ra`f0$CJ l%HVTrav;YX$tMhv-}sda+g4ZUcHUqB0#8>zmvv4FO#mmOy%zug delta 1030 zcmeAW>Jpj|%hX;sF(#Db(Pf73hpRt--?+J!iDldVh^o!D%pQ#O1)eUBAr*0N?{EiS zc93X&D3akQBJw_5@|%+>De+ zA^*r}z1dH>b-g#G2>I`H*!Zz|`uR6U^rEI5+4BFS1>=Ep`+^yMM;UI}HtojF-QVx| zxicKiJ{rKe;d*_py7mFT|K0Vq9^4<6+^_#rb6qA;T(?Uw;rWLB^&h56JUILN-;cZh z`XUeLMTtC(esKH8d+ut+4NN`9^X-e7_x!r@-{X(ugzeQo4*I=WSoul4`2QWlEKBoePMMimlaC} zM+@f#&&!_q-;@eC1H?H*6N2i+Em&7@viuS|vHst=GtS2uHZwIcnb@;MGdys#{Vf{3 zg5l@#hQ-?%w#FYql}`NUqnh^?>cXRllp@fj>R!tMLP`M5dhHU56iDTaewS$yk-%Tw-9eo3~-{E-3)<4WkULMt0%67wG{~1H=1LxmAVc1{K;=o&A_^0q3&jnfD^XJ)*Fzj{w zcRN3+;ZOU5lX68&XO6HH)Z99=Mu_oDzubZQvJ0>7Ds8wR)WE>f@VRUn1B(I!?)gkw-2s~$~bDyux?AHoc^<`IQ9K|_hd)ZN1le?dZBXf-zJ3VZh0il5Pr*~U;J~H zHWSQzhUaf}Al8B{tS>K$SzE!@p$rnU$WNcju;Y8w(~tl3(s-{rf!umIZPs!5jMbCl z*(G)V+&x>m^^v4PAJCFVdQ&MBb@0Pj%9rvLx| diff --git a/src/main/resources/assets/techreborn/textures/gui/generator.png b/src/main/resources/assets/techreborn/textures/gui/generator.png index 210de1d3e91023a31dd459297657e5eaaf582b20..11193eac75a815b15a117a98cbe99e2f69ab5c06 100644 GIT binary patch delta 1381 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 delta 6399 zcmch4XE5At^!EPNs!J@Q1<`x&oh67~qD2=(Z$YBxw@6W*=uv`Ly_e`MtlmqI5WymP z7otS_=Xu|GXP%G$Pw#zwxvn`g=RW7mIcMhV$#2WYx8uBh2}x*Q#ao$z9G?Z(<^mZ2 zj4>JaU9BdLIsiVrV8wrt+ZU=Aem5Ah0ZNx z!!Dv)*E0502w@?65sbkXhKvDQCp(HKR~vfY125paSN%3uoBed?n4u&!WbMZLkg_bU zFqBu@?SZc1@2EHrvZowY7pb|zgbYD;Lrkzy$Z){edK&Y za#E)-RC0@R_{8eeFxdCVZ*p8_Ecs-9^(7TG2wlAVGw4?J`Rr@bJJ{9lxZ9O2&X+XM zm%nhb<*uhmZ+Ew-UmjlQeZ1+8lM?|9)%tB|S2LByTc0*Uu0n`v%^ zzTgvFz$B;oGBh4Vd*gA2Y~Ooj6}ibl%C_{U(dP5Twi|X)8#8lrVc*v-_&Jm5JWep{ z9tg9!`AjO;f-5v}=g`)F7PWaH^YOIU=pU;N#OnzRy?ZX@VSaY7C*F-l$BCWMqFzB+ z2K^JDw^PJakWm}cYSZ!3$LIR1zZcsQ-N9QFwL&Hh5^+_nG(mGX03#5=+2bsxvf?*s ziGV_MHLNgR(<|Krw|qndMxw1>9wau>3evy;gR5 z?VK)Ot??b(8c{PjV&LGkHUSc`gykeyf#P+7%mg=s*|)Q-6ieqqkHmklN&Mpndf{lk zmc6ICO0DlWyz6?$Jn}B=>4M5zQho-BiBFyP+loONsP)CT2h2z(r0U8B$Irm56=IHi z?BG+!WhD@WUw{>3t)-g1;Cq!~>r^#p=Za7_PkYfz2|Sm{g12(<7q7XTgOSK53NZy`))04~4W=1Gm?2Z1cEehoI z97q#$f#czJtelzL6?$l09O7(kdyIrub_~tj&ZnZrZ{`G@e(1}EXZnT_i|6@m?&D>z z>tw+z?JeoK0_2tAz*_^Kow=H#Xs`EG8d$@{2;EtT!XbhRNp4ir`Wi*8=z9S}%pF;l z2YyL_w5)v!lTYkyrOX)8&Qc7d+dIc6jCJjF5VTU3IDRcvRelc1@hv6X?s@sg7CJWI z2vzv?Mb9ZX9p={+$yyc~9yDF%f`j+D?0~)(Z#E%{T_IuwtDUjO*d|ni}Hm zYu+d)S^dc35#{>!Ro;JPJ`|pVug<#EO9y6lYq2v4lrM5$CEa$S`CIe!?C&?>6nZTA# zfw;H!dxZAgVzYzKgt%T2o%+5}$p7r_G84)d!Q;32;HHW-xJAdMIvursY_aP4n+Ixr z_3Pbu$mzI125OQIYtY)g7aKgIZZctbL>k_=VG=VE4LY7|Zv+HO(sikqy0{{7-i|$6 zeOFET*xLO?SPbGYBfI_CWuxM8E(u95>p(Q5Q-|Brh;G10_+D1TBalmXwTpF#c4_-! zFny>Lh8OG>&DhKBXvSGWF*Rxiftsr}D($l@onq&2ur}`iOAg>3XT2WYHuaL_45Gdt zXi57CV)x@Y@qZMu9JW=6KCt8Av>=Cz77XQUbjq|`xbp(0m6m};q?pAuY7zQ?${=y5 zC-$a7vBeK+lo<59x-v>?JqM#Y)2W4?GK5gQDaCYhQCR&rSLur2|0&YTINByz!ULhc7w3IJ(t66 z+q2hTXf-30#>VxO{BBB*1ZeLG`*<Wg_};v7bUhnVSe zt7^VfJ9VTRcFOS&9Gw6H6C)jmGo2s#P&v3V55|u9c^5y-jgkM|g>Jv^PpHT2I0qpr z*KXaZy18P;eaXus+IxwzFUh@AFCU(&LNH2GgzdSCdCwCtVU5kX=^^UQVkHMG4@=#> zK7N#%NP>IRnhKOYB(#9%NF01;x@3X)X6tSEy4ge)Gna{omoPUy$e1b=3qsUHQ&jT) zK=)27=}$17fIp;vfsPBTW4Loof;!(|X!q!pue-7G@qL~;=TE}#buQFD=JW2;VB45t z-_w#}jy&zbDS{t?F+lhFw`R<>11XHYL_b&Jr{lttcNlDvSpbr4$~ytT(r7vai| zS~pTERj@|qJ$}5*Irr}S^WhImp@qr`+x1$|>hX(&?pS6VaORwm3xaoG$#?fw_tg|l zcp_U3J{W~2xT7yEzK*U!hOgo%ej7l^4r*CX&}`@GvbVSsTEt66^cM_ z(GB!G#?brIGuln$6CZWh*j*r5outNd+&=S9(fABA?*+Q*JCUbM5IkPS z!U5sk9-e8!`KGRUay{q5=MowL<8=d$gZ+fE>mm(se@E-?66QNn44dnec#==U5Z=Gu z`0RimF5|*br#wkExTbQ~a&d!Q@C?=q=c7*=2l-_FWF>nH20bm(?+qfbuhhALAAIP; zj%U2YV$g5rXFs7@6cXwTP3uf}dFes1J!@GE`9sT*6zTgcqNfA-qrpuL#6&FQm#n%K z2YQ%_R)T=1k>RqO7``{LbsqTl%SP{K*!zRWBlP7gf^OqvYAf{LQ}M)uD+;O-gW5A& z-BHV0WtTM3c5 zLP-{E6!&x;(<47i9KAEgH#`D_%|r{4M$=qO6!-&tj}?@s`p$5oQEq1lZw}&pW`cXS zDS_}23^={p`9OYigQI1HBGva2uKg92nHLUCX@PF0J<+`&j ztw#-bSr4BfAqKWy!kFT{^G96?i+?6N5U%w!={TAa@gEM6lv6$2>t4j#fnrvCHS{B2 z#Ks8`o~0z8X1qcqXrN<5NhV}6fO}E`nIO=c)Jf(E1SbiROTswdO%_QWMYX_#CX z^m1})KB8u2Mt@V@4%WdeZljQRFwJ2Be2C%qkr@2~E$dPfQX9=7yPU=yoOHTYZ=pT6 zN1M={a2Jt{wpU&)X5>yvwxR$hr`J5R)mPcIGYs`R9Aj+>DSpE*oOXfZkv_38NCbOs zTfs?VE*4f^Kt_;X{ySTgLC6yGXe18|FRiloV#9oeH~}7)Gz7LG4*WI=jgNt}i1D;e z8vMct?DZG&lLz(jv4mH~q$y2natpvn*cv2MER%m~+5Ao?@fcZkUk5d{kgljt(%DB) ziV$e*LaihYM5C@N2vj}7pBQonN3GYYISRSWZgomWc4^O+r~yA2%~%?Q<-mJq89AGT z%&*m2+}Y6SkVN(z7TYRbWfn3yMzv9GQ}SGEI@H(s+?D}2ol?D-=O?8F_jOXTZvVX? z-5+xjbZru87-{Hf6N{0QCB_y*D{8>UJ%StuY0UgqC3*fx1A_0Owt0o!?U>VAdXNS- zsw_1aH#?FmtTtu{)}z=2VysPH-BqVKkw)T_DzcW~)TpG~F)7q44+I9#Vd<6 z!Dr+jV(8C@M4DQgbS4}n?j~vAE5vy005h2T(oVpo1zDFIt^D?*varha5!i|VkLGy1 z5*Jd%25X!7+&3Ff`n3f4-1zVAM86Y>MPE38gR^2oQQc3;{80XDx8V?bTZx%YDp)YH zdwSDSJzn`xAmBo_xfN4ik!bgKycQ$C%+>;M5$a%-<*9(#*k*F!T zTbTG>W#lvqrba}?n&4N7{t;JTBrZf^l3(H`tTT@l_r^!FTL; z{@@%YKmqQWUI1789wx+Fj#F~xzvf!%^@!x#5I}Iq!%e9J(cY`L#QrNmsMV7wARkk} z<)B7UOHkSa#Jz%oq<7G``@1}9Im(Y?6-SRTcRIt(PGr~9;CaC{s-p%0bYJ|5C+MIHd4`fw2pJq zhUFw}YR0wGy@{ILw@#B`k-g2 z+Jd(3oBN5Tg7c2Dz9G`ZiIcm_p_tLH{n0mF-m~BbJ<5mlfZJ6oCll{|HdmouQX}4Y z9Pl~!2jw`**)Qu-K2b3y3<`~56iWk2XKkfBULUswyc(YmP8s+kW>%z(e%~TyZixT z^c^9Bz6G5{>*8x2%dDfB-iai}OdM$~rM{~mx5|kY=dRxUAepMU5kX~4x=>RvRBXn1 zJZ>?bUFi+6aw+z7#a_opq$(*@B|5ynKgCj~)^vp|0fsusSyqPaK2zmlxAp5eeazml zkx?+>&|XJnJ(5KThC9I0m6L`lG1N_;a21d8sK^8nIPrfMS;B6f96S8Fc8n7#T8IN7FHZGu@@Mqg0feP*;S-MJ#A!J6=IMGDy1Cfs30QO zfJX3!*=pPCbHlNG6&v_-N@+qchl}~)$U75{!FP6afEh?qdLRlTuDPT^%FpP<(g(gI z)H?SGLw!C~(GDUwdqE?%t@~)hp&d<+>>NvC>nBY1TU$jCb?u+nDW*LhyiYJd;FeVI zg@dP>d#2kQL0gk&x=BG5`aDxNesO0a^pW;;hBHpsjXf6Sqkj6EZvFy-q&_t0I!b1e^7wXyPDhe z16rfc`b)+xHG}!lSjn}N&_;cm3yIFKsI)rYA={OAt-1Kp?4J)AQsYesz_iNRD|kqk zaN_CUvy_8a=~ztI@&xw!$;#@ht?4-oK^oMb=^ufmN^T{CUL~TPUq$9lC&k#C+UD{% zBwC=|9?WU%1(q9dsFtG~x{M{3XVJ{2T>V;YtF+l~ef3HHv z_RfMWXsnS+d4s3(Yn1P2e+?uH>ik-9Bpi2}(aga@k0e)php9Ug&CB&hNQVnhxr6WJ zddgI`=Zj;$**QWINIzQ47*ky?Xbz{qb6!&j ze15K=_+d^3^V`?JI~69?O{#eqVHM2j7v|n~Xf=77`LYTY9(1cblalgV5VR3f6Xn7ii10G#X-3qXoTsmh=n}HHc5#RF;oF zI&=|sfF-(v&we*bbZS#`rX*_!OwU()#wfDcoPgqs*1}XEzWlMhHXVO~bs^RtG{*fE zcUK~--b}uvRfY!bRr@yb>w_;3EPgpJ6iTJNcsSX;AT?LR6(rI|w-U_43ze%C zgwkYT{5Fa2ldm@^wsy1L1a{blCo?(uq^+HaDX9`8+5`4VobFO@&-*^b1xKkQD1_SR z63B-Z#u)2cc`uWSoiu=C9m4wb?jfs-kbtws`|3YG4E9t-bUmi?d@DZ#_VW61! zX7#P6yFRPIYWP9@?gx~k3-9+F;g0(Mg^z`bRZElMSVHF=0k`kVbGkn&*K*8X=pbwB z-tSJNVah!$xzJxs^o6>JASS+9&(w7PUig1O zrFfXsbiX?NX08VPFaEt~|EvGyFB(4toAJwXEN#XAn`bx25<@G~(ir8z<@CTEf+pXB zg-e%st$snEsS`A072h0AW|;rAm6(8Pkbg`|==>w%{r@+r^1uI1zu9-=7HGL-P-lKB R+6(#nG*op}DwS=+{|A%}55E8a diff --git a/src/main/resources/assets/techreborn/textures/gui/industrial_centrifuge.png b/src/main/resources/assets/techreborn/textures/gui/industrial_centrifuge.png index 21fd5b3eaa76b1d53766cbc4467dadb3accf482a..f586c81cd3325b7eed3f8af5adf7bc6cc3c8ef6b 100644 GIT binary patch delta 1724 zcmYL{dsI_b7RK+rAt4aN@CZa9G++uW4J0FqfM73q09hc0F631LsW3>}P?gevQpgpU z5P3)tEh3IGXj|+E1cL~o64XLko>L1&sw4_j5QxZApd`IAcJ-|9kG=Og=ePF$&hD}O z$yT0FniL5wKWO+N4JxC8CPu~GmzI=%m>^KX7WD@a?)E2cI$o zO=3F%<8hCi{_Tv~U^oyGs4rru$#j$Hi?34dhmA=CU)-csVz$&qTzRI5sr{N1lJ9b5 zVB&KxGA8tADmsMKb@nVcWg3M3WFLfrEl0Op7&qDhuLqAxbW5uZN z=bnZ-co#0r@`uBWzWVURxrHRCH$H@M*&t2?KUrN$2?yUS?tbs;9;?}>%E`I>t}iBG z8;3NTS@$MHR62eZOP9p!m(TqhkOW#Q6wtmiVmdgPav|&K$Vdd1Uam2uiol(i&!6`q z|Ki2oqd@moj;}r{T}INAHp}SL{g1d}y=~#DS#!qgE5&FtaRj-N0sXuQ?CMh@bl-{B zmg-(Zo7h5xS5S=^C+?WI-=I+M3PjyN(H8HFXC4@*c-)bm$MNSUC2iiAX#yLQI$Nzo zCibubkn55Pqryffc<$Df0Q0ys5^+6Z2p^^PbS;XW2pzT$*cZ2gMw7`JX%N zuxu&RoxD-MD)}d~uPqXCdV=2_kyot)XG908d2mOzN7af4i|m1}#jnuVbRp1rIFF7_ z6071-LMHc{yP#ISojHo2k`3g07}R04Yb(|sx9u%v#Th}} zG4-<3bocd&9vwh@F&CaHpv3hqT8$(!Z~9A>uahxjJLDiJc`+a8v33~nBWh7|cK2KQ ztHyfh6+M~-4$S7_C++SNyzX8q>MVPFt+9lGF58|REcFPH4WD@u>*8lY?b3vyKfF_f z?u9^g?W^G5*vKCza6Udlqj0Zo=j1bnsS>~g&W=}=2$EM2j%V_iXG{{u_m|isNrO zgMpDnw~05m9;Cjfy^jC*NqY^RY3twa*=nk2i>-dWI3g|r(z*Ci^MHf!sZqkw$ULS_ zI0l`Wmgv6EThJZggQ-hgxWxfEX1vXoSRjWkk{nUGpAG5*N}FhS_qradUM=VG|6f!B zhc}Rymw_^U(neT<9qQ5sY=rg8K;*kxIN!BO>IoKaFtbQnDYVL<{-QB&-GWGvW{x#d z!nLN!uz|W$Za}cON1!?3ia_rKjGE)HeBdvsemADA4q8P6FWs>gpY4@l_bxuPK`NS@ zpC{@D*`PK2PULjv-wXtLelV4_$gx3g2m3!9Hb2xJ>eql3ep`FWi&N3M_%|KspqQCf z0e=a}ICqinSBf>mysfC3b4v;E%uVW{EZYX*cbA5sqc@|iUgr$fmPt(Q-F}z8JVh6h zQP_mdELDmO1YJsJa)^qp&sy@~**~~QG%nZCE-lE(cU)0bWi3#|`Dwv4lB)0z04du>b%7 delta 1745 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 R9}UpIOs~9LD<^$Su3N3m1HA#EcR?hOtJ$ik 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 z z?bc)pXJ2HJYU%6;s~guy^J96e1`E}Mg$!2<<7*NT<$5g~MDB?e)Hbqv4qoUkVr zLS)@KGqUs#>3}HT3so!Bd}@ZjiJei=4`bVVP#pP;MMTr3@gF@XHlq;`xWE(So2TwlP?;qB9z8YM z+&Y)X%4E`t@{|CsqRpv|-jt5Ht&H^Eyj8dNQikZpZYkvAt639j1I4Pux0$phFw}ToBO<}LWE4}L=(=0^=}@( z833GTFkH_*cx}gt{UuSy$kRJl`=mvUI}im(R$w4<8b>44_V6_ojViQ6yFs6cPVAVE zO6ayLY)nBv#atGr`FhwsG`-l4_K!Y^CWNZJy;IP<;2N!Vd^7phZ^%uqPTdmxCe3D6J&gpO z=%;@ThGEsdQ|+$3i6bNgx&HuaQ>fqZ*P&8nj<6uv8u1mJS4N5c<=D`nVEwOQc99D_bQQMnJ>p%YP zjRJC91wv|-PY0fBQ@ggOe@@@ZMyU=Zmw>(@+ zwx{5-$J0Q2_tu{x^p_+dUf5zczXv z{f0sJrUfBOH9VLnYR4BVX+0~tid zLE<2+QlQ_nM4%Vd{DF@Mm1T)c%(H^_*C)LnJ-Yr^Mm mSNwmtTK~)ALi!g!{h{0yF%=W^aL^$5yR_8wA5^IzL;nNGl~-s0 delta 5972 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 diff --git a/src/main/resources/assets/techreborn/textures/gui/mfe.png b/src/main/resources/assets/techreborn/textures/gui/mfe.png index 5277a0bb631810285a1544f7ba2a96a275033efe..4b459a40744ab4480dc3b11eca72fb16d86d11be 100644 GIT binary patch delta 1629 zcmYLHYgm&76#l+%7skeQgE1fx88}F83zLYD!H_@$K@sJd;xu#!!$A<&UA_>!KoS=f z7@0%lPB{W^Yv9CK5;zD5MM6Ijm@>JY|U6)}opsP-Y-r9{>pY;G~Yiu_zr)6Ez0<`GloLPKt964~0=qv$heO_J&t) zP<4)8?Mu508_;BgPbv2aPB8Eh}vH2_2=9)0dYt%yZ>Z)6 z1sBC`OB^g8!p3iXT{VzTtc!H5t@C|i2fo81{;?_5fnxk#J|K6Yfd zG;RFS$q!=P#!}p;BFS!0t57tugR>+j&Wyf(pEI`Fq?$a_`RMD7RvW&7uio3*XB0oJ zu9yAsEl+H-_#(3+7a7lJVv<5W>ggw((7i1R)vf6&vykKB0%bTMFGnJVWVp4fISB2F_jW(94l?N#k&r{Al-Z5MoLzjd z{ftR=Ke}f9rl;1mi4luYUJV?y)v-;#(||@k_4M&gIJZUNG|@GjIhah6tPBMvU9bnE z!6-V=h-vO)Dn>{19!aT)GS;Q+tRq$-hKHHgk9@57ZQ?8;dW`q6V&tM`bB<|zwCa-yd+4S|blNzbc376J@9fJ@~RsjsLoB9gG3b z^DNd|W3UVhNZxMEvwTjz-);{>`A>xcyJUrim$OmS+s2K z-v#gPh2o!{Gronj7V!3kN#IOxbQ^m9_CckP5*i-dYt~}{eYjpC8m7A0_;$QF)uE^op63dAhv8jB2fLm&{E& zNaiHLv)qieI8SpTLe{G?UsE|Rtxy4n6_!g>Aj9$vzNf^ywY!vyJNv!u_%BZDFQ7d2 zl>%d<%W~F4L#98VY$+B=i}Xd{q7sk$A$4!!SWQ12msA)qSP@5~Laqy}td_mququM> z4`c5?>wGq3?gr|=zdW}=M*z~Q?rvg2a?Um1;vf043qBWZV>o8-QLRTF<_lkSRJ_{} z`DHQe&(VKpBe=YCaenBz>Qk?i*?OrFF8;o-%rN9uRyAJQ7L5z36=ksSFK2`G)bO<{ z#%*ad{}CwcPdagfojEbYv3%2BMN(sA**DvQ3Lw>_S?rC(jOs&9N{$J-u;{i}bPb)xmppMX&8=*47`Ac;f5Mp|vIRlPYqXzm=O?-)z3a-Lf8r&|D+dk^ zVY0mJs?e(K5egu4F-{V;ZCM$BAyD*kM; zi|aAhpi<~b{$}gt=`(NgK`^--?#H~`mq0}jhQROvi7hnkfhPR37~oo;&vM|V0%*1R zR9BI&O)f&W2XszjG1s;zruIde>>=lGH(`JSA~d_yO){63cOipIU>xBkY>n~K_TK`Y z3)aI+fPVq2Fx{b=Mn^#743Zxu8=-6#9+TmMfwmF$)b%rvJ^U8h2>Sdhq19sZ>}a)C zose{j$WDmUp~y_-fqpM7}frC6W|XuOBb^T4jXExZ-K~3r~db0uXq}Ba*x*~OcY9c!XUJni;Etg zS0Bd`Ah8EOnH=zu$iRsabgB!voK$#V@d4MT=s7;V=qCO{i#E*GvUL>iaNY0Ht+R&! OZ3XTK_WRD4o%t8=cg;Tl delta 1640 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 delta 1640 zcmYL}c~Daa5XRqod4U`%5Mqc1xlzDyX+;i^a0CegJ~=9}1Y?YVN)WGNLCuqML=ogr zL4?>TSgU}F7_FvBRTPB=1jH85pd3XchelMc(9E>eo!_53-+nva&i+k#ODU?wDo(lUv-m1a2<9-T;QK#xWx*ZQd*XXd8X9H+lUjQo;5&FSLiB z(F)Bssre)9im;llOXR$Wi;YWiyv1ft=Lu^?I0sA$ImE%a%w|}sj2Xvi^6xzes#%OB zg&wD%8(aZlsH|YyvghB9oT)rl*cQJ(dYiI%=ghn2Z5NA>&7C-O%-C#Ma4sqJ?P!|( zN&oBc#DtI6wSE0!d0F{iiiY#vD@fp30VjCv_ob+7p=7+WYI@>2B~|;OznG-y%Gt1C ziPy>O&PY#iizBF(J9G9VR7rlO$%o7T`c%*Hb4h@Ohh`tFm%q6mDvQ!4R+imw_c~)y zd(C^ljp|_b)m}rx@ zZYJ^^-H6v{6+3B|A8>9=O?gd~&F2r}IlG>(ql?a00~}bonu&yi99X!KsVQl1?F!~fx3l0=60nNLWr}7vV7q2k(9xpr4HaNq9v?vssqIJ zE7Nw3c!r@W_3(lSekKW}FeuYjO=vt14vVOtp6>(6rMmoMEj-Iu)6}`6imSHVtq0n$ z`?X?Q?&JfuX*0p|>7lL%Cd5?Xo_3Q=Q{T_fy_q^(Y|@eB_>-F%BnW)#zwn0jKu&^o za?_auMD}=Abd;#tdOa^#HZ(hJ)Z>n$<6>|1#`(^%EugSq-=J{N7n8~6`pdpcJonP) zGVxaodmQ7#L<)4QXpj~)KvOH8w*f7IsFXTnX^Z_(>Q95#sFj7ny(FYzcTO$;` zdFzNsjO-;@b9eRHUo+|?b}YA>hYZI2$<~G35m}YaMFbBl;^D9);CmCK&ZA@OM{KlH875ua z<$oA~T|ao;bw25CY)tK#d_|&vU}|;}AY|mqFJF-DB%XLtDVnaGf8S#W2cP zC~}w1pqOUkB0j4vF;?e;9dDCb*;;wUh}~nc!UEt#hToiq=?)LjmfMYug#S^dd?>T( zVA*W1t}?@#pqCW(W6LJyQ7f?taFW~1?98m0z3ITEr(2eIF2aqT)8#^V&8HBi%Q5Uc z$1EpSx7?Z>%($0lJ=>#ebb9Rh#9l_ba&*{4q|Qzgnp>m~FeXprRaLkM0OA@M_ zWQ0L$MvcnSk=wF?mxzS)WMrqlC_i-@cqYjzcFtc)L3WF*qh$Lf5_exgg$>rc_sZ^M z^PS~)nmh4sm$&NNBN>A!tpY*6^F^T1d_;`k4!$zS4ge1(;f2R~?Q7u~PAKSoA)Z%@rh>`>sftBG6#ci-8e$^B1TVMr z@D5zkjqX>~dkG;Q>2BNI!poubqNP>|g@^%}fpQ$I(!lhXe%znEkqXRv_^gzW1PW{e zL?}0{=%u4wB;%@2%c|+@A^d0-l*;2HjNhPQHK~y)hu-H2AqQCnK;M@;PxW`p?MF8O z@<*4x!Ja^n%=nL6sx}co_yRRfV=lI6g|4bdygdR#ce{;+0+70cLtii=nLq&S|L9N9 z0foLWUN^*lwv7$+a02M{N~>JEv1`tNZQXHU^Y3@X7GLFM2NDgwXkZakQdW5-olbPn zFA9>;xAGGVpeH_%Uaz+KS3=>zp&z-Rtjqg4N*|v8SNmk{?p3QV>ka3FdbwoK)C1n{ zG_{YIg$4Eh`3?!kuaZ(kwf`B^m;}_!Z=Reh&0=8u;Z=N|P4Q N7mFDYR3E_2{09L)#5e!| diff --git a/src/main/resources/assets/techreborn/textures/gui/plate_cutting_machine.png b/src/main/resources/assets/techreborn/textures/gui/plate_cutting_machine.png index 33141facda7496a2ceffa8e581fca87a08dca322..5da80ac63257c3ea45b102c5548192365099e744 100644 GIT binary patch delta 1594 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 diff --git a/src/main/resources/assets/techreborn/textures/gui/rolling_machine.png b/src/main/resources/assets/techreborn/textures/gui/rolling_machine.png index 8dbe4e4218b244cb69264fc052fe9f4c5c0e5d8e..f3be8bd13b6b746a97fef4c32927bfe7a7220962 100644 GIT binary patch delta 1027 zcmbOwG+k&y)Wp~jrtgP0?rdP1#K_4~f8}GuW?NGazB{mg->@|_p0leJxhC)xNvQat~8jdP%c z$0YUD6&gHKdgt${$P$j_QRrOxKXjVIfhRXsGE}dVxN*}nM^0|<=9eB0mFpx{u*mqv z-%JrTm|3^2eG5~)od5Fvd9t$vcS$((FsUuS{CKkd5vI8Pv(xhX)t5Esu?alY{b2h0 z@0~b?HB6h{oK??b)VKGu7g*28+P?gK?xJo+7cGVAAU2@(DNJd)XAG-ey3S#8TRick zk_~sohI5RY5}jH7zd3k2Bp#^wuFG&e^6XbLQJb60SEUkoC361P3pK=52`+C)lHBrk z`d?!%1FluyPO?m?PL93ct*_$1q$Hdm{@)bH-okNAv*B-QKt1Q8`Y^_A|4-cKvE9>a zY?Gj@%c!13b91#SKE-o}A6Qe{ zVLPwQ`aQ=&U2d;w0jwqUzsn1_XE<4FuV4|Gt1QJNy5ZXXZdZY$Od?)Qq7%x(9L*Sy z?(Pn~wU0xFV+HR6fflWVt9!X)I5b2PB7|S)2E_bbeC?qFqs6-h`BtrjTFEEE0c)7v zl^*!-ADh`gsEh#XkfytzeDO-4}1fEuk+yeR^>cnh!NLDc(E^oP0^q$GdnF$y{2Knh84J<(P;EkXHqmTmQ zjP1rM3``$3cC`Jnznt~2@aT4iJu}xwwuVh);G6(OXKqUZRf145m@>Cl5R5vync>ZD zlZrdH9nEq=Kk71sNA(`>-Wl%-vIT|h4jeqhhsK+XgAvYU_pjZHZmCVHRgLsszPkF0C)T64A(XpI6N z&=EUW-~14mp#E&n#RrZK^B&wWe6XipdBG0eMGNOlj^#<QU7#W-2&nZ(`_ zB|paIg9lQ?=CRsjY;Il?5qNO2ZGi9uNrU;d+y`v5cg8JmQm8qTVhEi4`mDNJu3-Dlcc;?$imhv`N<+tD4|dJHC}tqhV_@_qW_u*i z%KuXfSbbi#-*~)o$LBtQTbmZ7aE8`9Y_4bD-k^D9bAy+|HOoax0gP+^#p*O^q%D{r zyrv;ASu{m>!rt8xeXk}TXl%H|z~{JvY1-M{2U;6q7~51E?=jtcBY%ajn(IIzbB$&Q zeQac11vb-7l8AOZ&PE2H| z7s>yypL4@hBdsRk4=c{DT)9gy;C#~umIuG5&zYU|UsiF>*``UV5sZfg*}@pURcOum z+ZV8aXzadGCim*N{6-nd>!XrIHBwSm*ZHa~fl3sac0{(}E~6QbY6I%Ie>uy`=6yDcfC zzz9SZ)huuU2F7Rl8>FVx&kXz2uf31;!P%OVMq9eT@<2Teptw;4=@F_2YZWp$_+NE3 z$J$4c4Buk4Y~H<9(7v|nhgieRut$YP<*Px)LJ-0>h@Jn+ief@-xDV{}ZauzNHsxrP z=zS)G%U(8q&+i_86OlB vd<))56x`b{IN>ha#R>6~BRE!w&-%xBy2{}3uH(|t3_#%N>gTe~DWM4feg4I} diff --git a/src/main/resources/assets/techreborn/textures/gui/scrapboxinator.png b/src/main/resources/assets/techreborn/textures/gui/scrapboxinator.png new file mode 100644 index 0000000000000000000000000000000000000000..13a4f0670f824b704f8ac2283aea14a9e801d5df GIT binary patch literal 2758 zcmeHIdr*^C7QbJ}7eWFw!4Tf>g6Z&35emWpNtWtl$ zwJw6lBRrN;riv^=DUao~L>yX3MMSVbge@z`O94Ti`{7vo@BX`%&gb(50s*iR1L|Z95Q}M`--N6%CJz~thK#jGjP^YN;%G+qZ8Q6%`d17nhWjl$Ms}Hm(ikuE~3P@b000;pUr$;vH)6gB|M{pFDXa6Fv9F#a46a#x zQF!0dKU8`;)L84&0Nn2G{+~|I_|WNEp&<8}Wo#Ah?u2oN>Q`t3w`UP6YFAXfHGp!+`zCPmG$$=8pSYPUT1lv?= zDSkcuS`ZwrDZul!t(B7JOUt#jD~E$GqVD3>9r_I1^l?o*$5#H^v|-rKzIC{wOlVT_ z(XhwqGqVtqw19ICth0{Xez4J=mLi5Xv6^-s5|_pfbn6s* zsPwxHEO!q~tkqj9XNLx8CO)J(aN=ZNI}i38^mdaw+fo+=ZCGBdAJtj#I9l3=;-#z4 zGL(6EERO0XZ{lI9U#}jicKa({p)E6xHY5{%#tacpl~hLC@8c<5XX7idjv&Bg)-+(lG+8;3zZL`AezNw@MVJYW@}Z0LTE_GZ&zi zZScc0eLH;bJT_|liSuV2rhO;EorM{~t*eA-c5Ve6Ieuu7^BiDMuU+W{-#NyS57Oki zYKqM>2QtUrr8L85H43or@f6uadq+Jf4?e42Pz2R%ZNE$DMp=D7+#odQ;eIQy+Lhwr zN)25sHsMm5kr{Hh7)^Ry3rq8N9CYK~t>@ez`9sa^-b?pf6s?TCk^xqYC_D$ALGS}mvS{CA^s=RcTe*O#Fjy_8 zLtKnH`d=xcgNYXm!=bn5mE!dlD&HHs+$g6(4?XC<$63H$?(#iM z*&@lt>%6efs4V&rL7D9RB1DRQv0bZ^A=!%%m0sSx_O%n_3>}b;NYLm7)={K|XwP5~ z>&W0>niRx1oTX_N71FCz<5XHaHhiIC=`cu)(|i>s6w9oQ%Bq+s!x;n=0bNZJ6`B!b z9_hBSW81=-7^rv-%d&J4FF)sXv2e}`rGr=@l1L5?m2{&AhGM8FD!IYvMGF!YdT+wNgkAcLJw^79gu8bTw)a(#nj@(GS;D>fnKibCBlhW=rEzvg z>UOAb6m!R{=)Qj(w=bCn`P4B%kPS&l!o#LL^#94Nd3ZdBom7?aK)8 Jyi1SF{14DzDg^)l literal 0 HcmV?d00001