From 3df24a18314ae2cbd733987e5534808364088f76 Mon Sep 17 00:00:00 2001 From: Prospector Date: Mon, 28 Mar 2016 01:26:54 -0700 Subject: [PATCH 1/3] Add tools/armour to creative tab --- src/main/java/techreborn/items/armor/ItemTRArmour.java | 2 ++ src/main/java/techreborn/items/tools/ItemTRAxe.java | 2 ++ src/main/java/techreborn/items/tools/ItemTRHoe.java | 3 ++- src/main/java/techreborn/items/tools/ItemTRPickaxe.java | 3 ++- src/main/java/techreborn/items/tools/ItemTRSpade.java | 3 ++- src/main/java/techreborn/items/tools/ItemTRSword.java | 3 ++- 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/techreborn/items/armor/ItemTRArmour.java b/src/main/java/techreborn/items/armor/ItemTRArmour.java index c7897eb91..de7ab7d96 100644 --- a/src/main/java/techreborn/items/armor/ItemTRArmour.java +++ b/src/main/java/techreborn/items/armor/ItemTRArmour.java @@ -9,6 +9,7 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.RebornCore; +import techreborn.client.TechRebornCreativeTabMisc; import techreborn.lib.ModInfo; /** @@ -29,6 +30,7 @@ public class ItemTRArmour extends ItemArmor implements ITexturedItem { setUnlocalizedName(material.name().toLowerCase()+"Leggings"); if (slot == EntityEquipmentSlot.FEET) setUnlocalizedName(material.name().toLowerCase()+"Boots"); + setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); this.material = material; this.slot = slot; diff --git a/src/main/java/techreborn/items/tools/ItemTRAxe.java b/src/main/java/techreborn/items/tools/ItemTRAxe.java index ab6b913b3..ca76d2660 100644 --- a/src/main/java/techreborn/items/tools/ItemTRAxe.java +++ b/src/main/java/techreborn/items/tools/ItemTRAxe.java @@ -16,6 +16,7 @@ import net.minecraft.item.ItemTool; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.RebornCore; +import techreborn.client.TechRebornCreativeTabMisc; import techreborn.lib.ModInfo; public class ItemTRAxe extends ItemTool implements ITexturedItem { @@ -30,6 +31,7 @@ public class ItemTRAxe extends ItemTool implements ITexturedItem { this.damageVsEntity = material.getDamageVsEntity() + 5.75F; this.attackSpeed = (material.getDamageVsEntity() + 6.75F) * -0.344444F; setUnlocalizedName(material.name().toLowerCase() + "Axe"); + setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); this.material = material; } diff --git a/src/main/java/techreborn/items/tools/ItemTRHoe.java b/src/main/java/techreborn/items/tools/ItemTRHoe.java index 9bb2aef72..ed47f28f0 100644 --- a/src/main/java/techreborn/items/tools/ItemTRHoe.java +++ b/src/main/java/techreborn/items/tools/ItemTRHoe.java @@ -5,10 +5,10 @@ import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import net.minecraft.item.Item.ToolMaterial; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.RebornCore; +import techreborn.client.TechRebornCreativeTabMisc; import techreborn.lib.ModInfo; public class ItemTRHoe extends ItemHoe implements ITexturedItem @@ -18,6 +18,7 @@ public class ItemTRHoe extends ItemHoe implements ITexturedItem public ItemTRHoe(ToolMaterial material) { super(material); setUnlocalizedName(material.name().toLowerCase()+"Hoe"); + setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); this.material=material; } diff --git a/src/main/java/techreborn/items/tools/ItemTRPickaxe.java b/src/main/java/techreborn/items/tools/ItemTRPickaxe.java index 71d46ba41..e66715d44 100644 --- a/src/main/java/techreborn/items/tools/ItemTRPickaxe.java +++ b/src/main/java/techreborn/items/tools/ItemTRPickaxe.java @@ -5,10 +5,10 @@ import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import net.minecraft.item.Item.ToolMaterial; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.RebornCore; +import techreborn.client.TechRebornCreativeTabMisc; import techreborn.lib.ModInfo; public class ItemTRPickaxe extends ItemPickaxe implements ITexturedItem @@ -18,6 +18,7 @@ public class ItemTRPickaxe extends ItemPickaxe implements ITexturedItem public ItemTRPickaxe(ToolMaterial material) { super(material); setUnlocalizedName(material.name().toLowerCase()+"Pickaxe"); + setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); this.material=material; } diff --git a/src/main/java/techreborn/items/tools/ItemTRSpade.java b/src/main/java/techreborn/items/tools/ItemTRSpade.java index 2e1d6161b..cb03bb0aa 100644 --- a/src/main/java/techreborn/items/tools/ItemTRSpade.java +++ b/src/main/java/techreborn/items/tools/ItemTRSpade.java @@ -5,10 +5,10 @@ import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; -import net.minecraft.item.Item.ToolMaterial; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.RebornCore; +import techreborn.client.TechRebornCreativeTabMisc; import techreborn.lib.ModInfo; public class ItemTRSpade extends ItemSpade implements ITexturedItem @@ -18,6 +18,7 @@ public class ItemTRSpade extends ItemSpade implements ITexturedItem public ItemTRSpade(ToolMaterial material) { super(material); setUnlocalizedName(material.name().toLowerCase()+"Spade"); + setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); this.material=material; } diff --git a/src/main/java/techreborn/items/tools/ItemTRSword.java b/src/main/java/techreborn/items/tools/ItemTRSword.java index f87415e51..e18f24973 100644 --- a/src/main/java/techreborn/items/tools/ItemTRSword.java +++ b/src/main/java/techreborn/items/tools/ItemTRSword.java @@ -5,10 +5,10 @@ import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import net.minecraft.item.Item.ToolMaterial; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.RebornCore; +import techreborn.client.TechRebornCreativeTabMisc; import techreborn.lib.ModInfo; public class ItemTRSword extends ItemSword implements ITexturedItem @@ -18,6 +18,7 @@ public class ItemTRSword extends ItemSword implements ITexturedItem public ItemTRSword(ToolMaterial material) { super(material); setUnlocalizedName(material.name().toLowerCase()+"Sword"); + setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); this.material=material; } From e31cbae97a1164ddc606bedb5c69153dea99b1a2 Mon Sep 17 00:00:00 2001 From: Prospector Date: Mon, 28 Mar 2016 01:27:34 -0700 Subject: [PATCH 2/3] No longer electrocutes players in creative mode --- .../java/techreborn/parts/CableMultipart.java | 276 +++++++----------- 1 file changed, 100 insertions(+), 176 deletions(-) diff --git a/src/main/java/techreborn/parts/CableMultipart.java b/src/main/java/techreborn/parts/CableMultipart.java index 35d5b65c8..b91376bad 100644 --- a/src/main/java/techreborn/parts/CableMultipart.java +++ b/src/main/java/techreborn/parts/CableMultipart.java @@ -53,8 +53,7 @@ import techreborn.utils.damageSources.ElectrialShockSource; * Created by modmuss50 on 02/03/2016. */ public abstract class CableMultipart extends Multipart - implements INormallyOccludingPart, ISlottedPart, ITickable, ICableType -{ + implements INormallyOccludingPart, ISlottedPart, ITickable, ICableType { public static final IUnlistedProperty UP = Properties.toUnlisted(PropertyBool.create("up")); public static final IUnlistedProperty DOWN = Properties.toUnlisted(PropertyBool.create("down")); @@ -72,51 +71,42 @@ public abstract class CableMultipart extends Multipart public TRPowerNet mergeWith = null; private TRPowerNet network; - public CableMultipart() - { + public CableMultipart() { connectedSides = new HashMap<>(); refreshBounding(); } - public static CableMultipart getPartFromWorld(World world, BlockPos pos, EnumFacing side) - { - if (world == null || pos == null) - { + public static CableMultipart getPartFromWorld(World world, BlockPos pos, EnumFacing side) { + if (world == null || pos == null) { return null; } IMultipartContainer container = MultipartHelper.getPartContainer(world, pos); - if (side != null && container != null) - { + if (side != null && container != null) { ISlottedPart slottedPart = container.getPartInSlot(PartSlot.getFaceSlot(side)); if (slottedPart instanceof IMicroblock.IFaceMicroblock - && !((IMicroblock.IFaceMicroblock) slottedPart).isFaceHollow()) - { + && !((IMicroblock.IFaceMicroblock) slottedPart).isFaceHollow()) { return null; } } - if (container == null) - { + if (container == null) { return null; } ISlottedPart part = container.getPartInSlot(PartSlot.CENTER); - if (part instanceof CableMultipart) - { + if (part instanceof CableMultipart) { return (CableMultipart) part; } return null; } - public void refreshBounding() - { + public void refreshBounding() { float centerFirst = center - offset; double w = (getCableType().cableThickness / 16) - 0.5; boundingBoxes[6] = new Vecs3dCube(centerFirst - w, centerFirst - w, centerFirst - w, centerFirst + w, centerFirst + w, centerFirst + w); int i = 0; - for (EnumFacing dir : EnumFacing.VALUES) - { + for (EnumFacing dir : EnumFacing.VALUES) { double xMin1 = (dir.getFrontOffsetX() < 0 ? 0.0 : (dir.getFrontOffsetX() == 0 ? centerFirst - w : centerFirst + w)); double xMax1 = (dir.getFrontOffsetX() > 0 ? 1.0 @@ -138,28 +128,23 @@ public abstract class CableMultipart extends Multipart } @Override - public void addCollisionBoxes(AxisAlignedBB mask, List list, Entity collidingEntity) - { + public void addCollisionBoxes(AxisAlignedBB mask, List list, Entity collidingEntity) { - for (EnumFacing dir : EnumFacing.VALUES) - { + for (EnumFacing dir : EnumFacing.VALUES) { if (connectedSides.containsKey(dir) && mask.intersectsWith(boundingBoxes[Functions.getIntDirFromDirection(dir)].toAABB())) list.add(boundingBoxes[Functions.getIntDirFromDirection(dir)].toAABB()); } - if (mask.intersectsWith(boundingBoxes[6].toAABB())) - { + if (mask.intersectsWith(boundingBoxes[6].toAABB())) { list.add(boundingBoxes[6].toAABB()); } super.addCollisionBoxes(mask, list, collidingEntity); } @Override - public void addSelectionBoxes(List list) - { + public void addSelectionBoxes(List list) { - for (EnumFacing dir : EnumFacing.VALUES) - { + for (EnumFacing dir : EnumFacing.VALUES) { if (connectedSides.containsKey(dir)) list.add(boundingBoxes[Functions.getIntDirFromDirection(dir)].toAABB()); } @@ -168,32 +153,26 @@ public abstract class CableMultipart extends Multipart } @Override - public void onRemoved() - { + public void onRemoved() { super.onRemoved(); removeFromNetwork(); - for (EnumFacing dir : EnumFacing.VALUES) - { + for (EnumFacing dir : EnumFacing.VALUES) { CableMultipart multipart = getPartFromWorld(getWorld(), getPos().offset(dir), dir); - if (multipart != null) - { + if (multipart != null) { multipart.nearByChange(); } } } @Override - public void onUnloaded() - { + public void onUnloaded() { super.onUnloaded(); removeFromNetwork(); } @Override - public void addOcclusionBoxes(List list) - { - for (EnumFacing dir : EnumFacing.VALUES) - { + public void addOcclusionBoxes(List list) { + for (EnumFacing dir : EnumFacing.VALUES) { if (connectedSides.containsKey(dir)) list.add(boundingBoxes[Functions.getIntDirFromDirection(dir)].toAABB()); } @@ -201,27 +180,22 @@ public abstract class CableMultipart extends Multipart } @Override - public void onNeighborBlockChange(Block block) - { + public void onNeighborBlockChange(Block block) { super.onNeighborBlockChange(block); nearByChange(); } - public void nearByChange() - { - if (network == null) - { + public void nearByChange() { + if (network == null) { findAndJoinNetwork(getWorld(), getPos()); } checkConnectedSides(); - for (EnumFacing direction : EnumFacing.VALUES) - { + for (EnumFacing direction : EnumFacing.VALUES) { BlockPos blockPos = getPos().offset(direction); WorldUtils.updateBlock(getWorld(), blockPos); CableMultipart part = getPartFromWorld(getWorld(), blockPos, direction); - if (part != null) - { + if (part != null) { part.checkConnectedSides(); } } @@ -229,28 +203,21 @@ public abstract class CableMultipart extends Multipart } @Override - public void onAdded() - { + public void onAdded() { nearByChange(); } - public boolean shouldConnectTo(EnumFacing dir) - { - if (dir != null) - { - if (internalShouldConnectTo(dir)) - { + public boolean shouldConnectTo(EnumFacing dir) { + if (dir != null) { + if (internalShouldConnectTo(dir)) { CableMultipart cableMultipart = getPartFromWorld(getWorld(), getPos().offset(dir), dir); - if (cableMultipart != null && cableMultipart.internalShouldConnectTo(dir.getOpposite())) - { + if (cableMultipart != null && cableMultipart.internalShouldConnectTo(dir.getOpposite())) { return true; } - } else - { + } else { TileEntity tile = getNeighbourTile(dir); - if (tile instanceof IEnergyInterfaceTile) - { + if (tile instanceof IEnergyInterfaceTile) { return true; } } @@ -258,13 +225,10 @@ public abstract class CableMultipart extends Multipart return false; } - public boolean internalShouldConnectTo(EnumFacing dir) - { + public boolean internalShouldConnectTo(EnumFacing dir) { ISlottedPart part = getContainer().getPartInSlot(PartSlot.getFaceSlot(dir)); - if (part instanceof IMicroblock.IFaceMicroblock) - { - if (!((IMicroblock.IFaceMicroblock) part).isFaceHollow()) - { + if (part instanceof IMicroblock.IFaceMicroblock) { + if (!((IMicroblock.IFaceMicroblock) part).isFaceHollow()) { return false; } } @@ -277,60 +241,47 @@ public abstract class CableMultipart extends Multipart CableMultipart cableMultipart = getPartFromWorld(getWorld(), getPos().offset(dir), dir.getOpposite()); - if (cableMultipart != null && cableMultipart.getCableType() == getCableType()) - { + if (cableMultipart != null && cableMultipart.getCableType() == getCableType()) { return true; } return false; } - public TileEntity getNeighbourTile(EnumFacing side) - { + public TileEntity getNeighbourTile(EnumFacing side) { return side != null ? getWorld().getTileEntity(getPos().offset(side)) : null; } - public void checkConnectedSides() - { + public void checkConnectedSides() { refreshBounding(); connectedSides = new HashMap<>(); - for (EnumFacing dir : EnumFacing.values()) - { + for (EnumFacing dir : EnumFacing.values()) { int d = Functions.getIntDirFromDirection(dir); - if (getWorld() == null) - { + if (getWorld() == null) { return; } TileEntity te = getNeighbourTile(dir); - if (shouldConnectTo(dir)) - { + if (shouldConnectTo(dir)) { connectedSides.put(dir, te.getPos()); } } } @Override - public EnumSet getSlotMask() - { + public EnumSet getSlotMask() { return EnumSet.of(PartSlot.CENTER); } @Override - public void update() - { - if (getWorld() != null) - { - if (getWorld().getTotalWorldTime() % 80 == 0) - { + public void update() { + if (getWorld() != null) { + if (getWorld().getTotalWorldTime() % 80 == 0) { checkConnectedSides(); } } - if (network == null) - { + if (network == null) { this.findAndJoinNetwork(getWorld(), getPos()); - } else - { - if (mergeWith != null) - { + } else { + if (mergeWith != null) { getNetwork().merge(network); mergeWith = null; } @@ -338,8 +289,7 @@ public abstract class CableMultipart extends Multipart } @Override - public IBlockState getExtendedState(IBlockState state) - { + public IBlockState getExtendedState(IBlockState state) { IExtendedBlockState extendedBlockState = (IExtendedBlockState) state; return extendedBlockState.withProperty(DOWN, shouldConnectTo(EnumFacing.DOWN)) .withProperty(UP, shouldConnectTo(EnumFacing.UP)).withProperty(NORTH, shouldConnectTo(EnumFacing.NORTH)) @@ -354,143 +304,119 @@ public abstract class CableMultipart extends Multipart // } @Override - public BlockStateContainer createBlockState() - { + public BlockStateContainer createBlockState() { return new ExtendedBlockState(MCMultiPartMod.multipart, new IProperty[] { TYPE }, new IUnlistedProperty[] { DOWN, UP, NORTH, SOUTH, WEST, EAST }); } @Override - public float getHardness(PartMOP hit) - { + public float getHardness(PartMOP hit) { return 0.5F; } - public Material getMaterial() - { + public Material getMaterial() { return Material.cloth; } @Override - public List getDrops() - { + public List getDrops() { List list = new ArrayList<>(); list.add(new ItemStack(TechRebornParts.cables, 1, getCableType().ordinal())); return list; } @Override - public void onEntityCollided(Entity entity) - { - if (getCableType().canKill && entity instanceof EntityLivingBase) - { - if (network != null) - { - if (network.getEnergy() != 0) - { - if (ConfigTechReborn.UninsulatedElectocutionDamage) - { - if (getCableType() == EnumCableType.HV) - { - entity.setFire(1); + public void onEntityCollided(Entity entity) { + if (getCableType().canKill && entity instanceof EntityLivingBase) { + if (entity instanceof EntityPlayer && ((EntityPlayer) entity).capabilities.isCreativeMode) { + + } else { + if (network != null) { + if (network.getEnergy() != 0) { + if (ConfigTechReborn.UninsulatedElectocutionDamage) { + if (getCableType() == EnumCableType.HV) { + entity.setFire(1); + } + network.setEnergy(-1); + entity.attackEntityFrom(new ElectrialShockSource(), 1F); + } + if (ConfigTechReborn.UninsulatedElectocutionSound) { + // getWorld().playSound(entity.posX, entity.posY, + // entity.posZ, ModSounds.shock, + // SoundCategory.BLOCKS, 0.6F, 1F, false); + } + if (ConfigTechReborn.UninsulatedElectocutionParticle) { + getWorld().spawnParticle(EnumParticleTypes.CRIT, entity.posX, entity.posY, entity.posZ, 0, + 0, 0); } - network.setEnergy(-1); - entity.attackEntityFrom(new ElectrialShockSource(), 1F); - } - if (ConfigTechReborn.UninsulatedElectocutionSound) - { -// getWorld().playSound(entity.posX, entity.posY, entity.posZ, ModSounds.shock, -// SoundCategory.BLOCKS, 0.6F, 1F, false); - } - if (ConfigTechReborn.UninsulatedElectocutionParticle) - { - getWorld().spawnParticle(EnumParticleTypes.CRIT, entity.posX, entity.posY, entity.posZ, 0, 0, - 0); } } } } - } - - @Override - public void onEntityStanding(Entity entity) - { } @Override - public ItemStack getPickBlock(EntityPlayer player, PartMOP hit) - { + public void onEntityStanding(Entity entity) { + + } + + @Override + public ItemStack getPickBlock(EntityPlayer player, PartMOP hit) { return new ItemStack(TechRebornParts.cables, 1, getCableType().ordinal()); } - public final void findAndJoinNetwork(World world, BlockPos pos) - { - for (EnumFacing dir : EnumFacing.VALUES) - { + public final void findAndJoinNetwork(World world, BlockPos pos) { + for (EnumFacing dir : EnumFacing.VALUES) { CableMultipart cableMultipart = getPartFromWorld(getWorld(), getPos().offset(dir), dir); - if (cableMultipart != null && cableMultipart.getCableType() == getCableType()) - { + if (cableMultipart != null && cableMultipart.getCableType() == getCableType()) { TRPowerNet net = cableMultipart.getNetwork(); - if (net != null) - { + if (net != null) { network = net; network.addElement(this); break; } } } - if (network == null) - { + if (network == null) { network = new TRPowerNet(getCableType()); network.addElement(this); } network.endpoints.clear(); - for (EnumFacing dir : EnumFacing.VALUES) - { + for (EnumFacing dir : EnumFacing.VALUES) { TileEntity te = getNeighbourTile(dir); - if (te != null && te instanceof IEnergyInterfaceTile) - { + if (te != null && te instanceof IEnergyInterfaceTile) { network.addConnection((IEnergyInterfaceTile) te, dir.getOpposite()); } } } - public final TRPowerNet getNetwork() - { + public final TRPowerNet getNetwork() { return network; } - public final void setNetwork(TRPowerNet n) - { - if (n == null) - { - } else - { + public final void setNetwork(TRPowerNet n) { + if (n == null) { + } else { network = n; network.addElement(this); } } - public final void removeFromNetwork() - { - if (network == null) - { + public final void removeFromNetwork() { + if (network == null) { } else network.removeElement(this); } - public final void rebuildNetwork() - { + public final void rebuildNetwork() { this.removeFromNetwork(); this.resetNetwork(); this.findAndJoinNetwork(getWorld(), getPos()); } - public final void resetNetwork() - { - if (network != null) - { + public final void resetNetwork() { + if (network != null) { network.removeElement(this); } @@ -507,14 +433,12 @@ public abstract class CableMultipart extends Multipart // } @Override - public ResourceLocation getModelPath() - { + public ResourceLocation getModelPath() { return new ResourceLocation("techreborn:cable"); } @Override - public boolean canRenderInLayer(BlockRenderLayer layer) - { + public boolean canRenderInLayer(BlockRenderLayer layer) { return layer == BlockRenderLayer.CUTOUT; } } From cfb78eb126a22cb2f1dcfa632cab032963b6d594 Mon Sep 17 00:00:00 2001 From: Prospector Date: Mon, 28 Mar 2016 01:28:05 -0700 Subject: [PATCH 3/3] Change Machine Block textures, energy crystals, and advanced alloy texture --- .../advancedMachine_machine_block.png | Bin 215 -> 753 bytes .../machine_blocks/machine_machine_block.png | Bin 460 -> 547 bytes .../techreborn/textures/items/energyCrystal.png | Bin 744 -> 474 bytes .../textures/items/gem/greenSapphire.png | Bin 324 -> 0 bytes .../techreborn/textures/items/gem/olivine.png | Bin 324 -> 0 bytes .../techreborn/textures/items/gem/peridot.png | Bin 339 -> 449 bytes .../techreborn/textures/items/gem/redGarnet.png | Bin 229 -> 351 bytes .../textures/items/gem/yellowGarnet.png | Bin 229 -> 357 bytes .../textures/items/lapotronCrystal.png | Bin 749 -> 496 bytes .../textures/items/part/advancedAlloy.png | Bin 264 -> 635 bytes 10 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/assets/techreborn/textures/items/gem/greenSapphire.png delete mode 100644 src/main/resources/assets/techreborn/textures/items/gem/olivine.png diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/machine_blocks/advancedMachine_machine_block.png b/src/main/resources/assets/techreborn/textures/blocks/machine/machine_blocks/advancedMachine_machine_block.png index 3c79b85034e4bd1b96b1b022b9bec1a43c1ea828..51e945fdfbb4e681cbdf9295873bb01b0b3bd232 100644 GIT binary patch delta 740 zcmV?aTxWmjGW^U2b8WJ-|)W9czjP@n8uVMoP)Q?s2$>0Bc zEaUegI%dIJ<{wi3khrh0yN}#`=m^6OVp7<95kvNA5uNhzl!f4JLno5CL+rgqE&!@L z=~scp_n#4)o`1fj-fQCR>lg>90(<2eCXItp`PSCaH@3Dmm9?qz{WfBfb;CPk=ixC8 zPFZkF{L;4_hJ>G$XYK&E=EX6%ZVNGR^pJQpb#>id`SvDoLXrKHUR+~q>%hiRnf4>1 z&qk2(0=Nb|!vkCnX}AkLFiKrsX%eth#X=G2)*nPg2Y+v|yK$}3F_sYHS;ss%71`Ez z7P^{iN~TFJLu%M~rAp-E10s*Rm1lVzW#E{OV?NL90%zkp1~C&SBLy1+{GcZedP`Zt zADW0f>})MdZR)5iPsmd!wDkQ!T`J87LJU6}jfw1kTjiGLI*ssopK|x9cUK$O-TZr6(uN!Ju z8oj+m*w)ih5*Bp~wATZGWX`7ab1P+;m?9&RhzKGe@DQJmZ>|y8W2>v=?_V&$T9ryg zDrHF>jf8F|W0{PmQ<_RBa(MMECWzj}1v3A6UtNd-v==I#AfUoZO?mz}e-=Pzg7v-5u! WOc-Bz;cT4%0000%iK~xwS1%NwF#6S>4U$<)(BoiU-e-y5= z85tR1&#xNA=S6FZg7^hOZ)dg#PLuDpzcoH^IuXWel5nI`!X_W*7Of{3l3h*&trw)> zC_qezc@*JA~cuJNl*yI>Rqe?@d6p^8qUD_i}3lEawjjCECch2cNC}q}dy5Dm($yV{f$B7@FPp ziU76lST_I-YJaIY&A~P}uUTXcnNNgq<{`(lI z04tL-tT=+PQK3$&d~H4#8arnpWxsvW8AMx>$gqsDL*}i+@RlQ}IISj$ zl>~qaPgBKe!{%4qOUoF=$N=LhUytW%v1~P(sZiH#0e{8+(AzoP zWQ`e&g_9Ywe6hUb^ihv XtZhRcA`ZhF00000NkvXXu0mjfV<+b< delta 445 zcmV;u0Yd(x1k3}F8Gi-<001BJ|6u?C0h38YK~y-)Ws^&i+b|47A3(}>s*>FQYPrH_ zJlRa55s6P0GAX;FjX)LgdEJowTHiAxhzQIKGb7xwZuH&}5thqBcmR-@#N&RrQ%fnN zDw;`M7M>pwnQ^!i5o9Lrj=R(LoeHpAj>L>aRQ`L9?h!$24SzSo-TC^vQAGq1Av4jU zWaccEnOHM=YxLgn2cnx#N%l^5E0aHr|k_@CE`>Xz}>Olv3@X5yv$j!Zre6h9@eQUb*V4bO$(n;T5Hsg^?e?! zb$ah)=8J`;lz*wqvMf{d`?^x^Z!4GU6*D_0F(V?*u`^FBJNMzfuGHW655E8WK}1ZE z-2IIEVcigN*siKvZ#U|n&rh!3ZqvSzq(x`9F|zx4R@GwBulYMH#FQ#M49?vz@OI08fv)hTQ~CanPV naq-#n;rI9^KpuywM@H}uq-4LaNEuLp00000NkvXXu0mjf{{Y*~ diff --git a/src/main/resources/assets/techreborn/textures/items/energyCrystal.png b/src/main/resources/assets/techreborn/textures/items/energyCrystal.png index 965fb63dde57be0ed0bf82de271b5bafda079d8c..2db51c5c290b999e2faf666ca6b0e21f2e44d734 100644 GIT binary patch delta 389 zcmV;00eb%E1=<6UJPL9E01|QmUS(V3kwzwe0a!^yK~y+T&6CSY!%z^0j}%c_3k9D* zsJ31()P=YbY^=B1EOgsN=@k)01oz?<6)#&6)W@i)Z;&Uj>AU>?b2th@OykahkAyQb z|M{oWsQ()Ur68=3Wnzw_#TpxW%_e&FI{aEqzZav5Y)Esp3U|hWo0)=}orY%@aLaRl zr=N)2+^tmLE!pU#Gk70Mqw6?$;rTP!>L(yK_~kM><5_$Zi|}SGcvcQxZVs=^J%owq zxjC~~?v_eur$+G>AJMdvDV#7bPPTs&SZBhQ*(WC9%`a#HcPNfdY*34wGA}Of$Yzj; ztjljSIDcMS)eaI#xWkEW2S;R&1a3rdcHL{W@T3N`)njr-E{HUX=nXj};?}hNj8!Hc zRSf%l%G$*4y?ILG6$xFXxVR)crudr3t@6H04v1W0%7Y_siseT;H^?Y5yZp6HS$Hh6 j&^8TU{P}x`7D{~rTB65RVPvI`00000NkvXXu0mjfaKg2@ delta 662 zcmV;H0%`r)1Ly^iJPLCF01|Tnj3T)Qkwzwe0%l1>K~y+TT~qCAl2H`DjK%O%q042> zx!H2QJSt&1=xr^^jY%J3tv*x?`XhoU`rL>54Ia~=kOl}aVn@Ap}=*%UI-U@%bmZnw+Y?Y63~R4Rh+^?FQy z93+sEjKkFFbcC(dYN-K@Mnmw@CKw`V7$(wHt5v~Mg)$j|%c_Ke1et{#iI>kQm&Wvh;QFz$DZBBZv{oK2jzJ$c3n=SJ#J+E%XoL}DCju?V9RgvxE3!o8ql)^0Ck<1SS-c@bF(;DTg9)%1th0U_`w5r6e}Vp zC-BW|!q(Izp7PA0P)Iah0MJZ{p_x;6Hz)MS`mW>WwFTsyHhedm@zJ2ihE|IwJUAYY zi&4sPibF0)I2;xe+2k3il5MMh6`!Vzcr|tekGN|v7!-a)>L$`b^OPWT6Z&h-7`}MV zm%LfeMn^&Kr6jU!=_giMX0Fw0Dj5Bp wltJ2tD?Cj93DnTxpGyA1hl%umZD4-@jt!)FB9^_W00000NkvXXu0mh|f>Sj&H2?qr diff --git a/src/main/resources/assets/techreborn/textures/items/gem/greenSapphire.png b/src/main/resources/assets/techreborn/textures/items/gem/greenSapphire.png deleted file mode 100644 index 12acdd218bb3950c5928d3059c8664020f45c161..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}MSxF;E07k+l$V{MtGLcYd55{x z%>eN-WtoZEVuebwv-A|#7)w;EiWMuVpR$!~(~#=alxS3wYS)|LNF~&!Eakt5!c)A&d21)!%{d)!faykv;X!k+Iy1t zWL`v1jh<%v+uUH;v)^0A8};uq3CeP+y*vDQPO&=2Eq?v9Wv&NBGaeqimmJBTDm2qJ z%6a8q4$heu;?5j%6>V?pGTbe~e%I?#eN-WtoZEVuebwv-A|#7)w;EiWMuVpR$!~(~#=alxS3wYS)|LNF~&!Eakt5!c)A&d21)!%{d)!faykv;X!k+Iy1t zWL`v1jh<%v+uUH;v)^0A8};uq3CeP+y*vDQPO&=2Eq?v9Wv&NBGaeqimmJBTDm2qJ z%6a8q4$heu;?5j%6>V?pGTbe~e%I?#J~28Gi-<001BJ|6u?C00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y$E z000SaNLh0L01|Wn01|Wo-ewzf-%$ ze-&$CpfIL75XKMyX*P*a`fppV`X5B6T?zf~Kh^lZnw=<68dWU_V+epWrJV8kKka?{ z|Dv5q|9d{R{7=6Y_TPJ=!GASdOhZsOAZ(tb{C~>Zw*ON;wEo}yea-*1U*`Xx^s425 z?0S2!i_q1haDPA;q-ffww*TjT?*G5)>%9LHo;Usvn(FvJb*noa4VeGA=YQp)%>O+P z>;6xD*ZM#6V)%cnG-a$&ioyY5kO4&xlKxjd$@m|!#QlHf^@#uVA1eQQ_30C5fMdHl z*bq?2d$k(;Pu}AC-+K~v%^-{+07?gLy*gk+48o=VJ1exS<4uiN1wn>DF?mUu6pU4n cc>JFM07~VyWBY;8M*si-07*qoM6N<$f&j?JdH?_b delta 323 zcmX@ee3@y2WIZzj1A~Sxe=v}m8Q>G*s%*gH^Q~x*JxsrGi=t`E7AU}|688%N&n+2p&JzX3_ zD&mq8+?Xv`BO(G=BqA(+T1)^^l@Y2fHwBs2JhJLq737ptz^Lb|>&(n+7}mlSt6W_nm`2p2j@N{tu zvG7k02n<}vku0jhioh%n!|LtN|9>Gd+lq%#fKBt?pD!Q(tG9pqZ-4h9%Q0@H=8aNK zhZqwlELyKW@4tP}H2&l4pDzD@f7kbj7+!N5aM1_yy7HzfMz`2PPN>~eUXOM5}O_~Oie%z0V% z+d7zDF5eyP@85VgwDlOzL#>`LR^hn9Qw9=>dbwMpBA)TZ+1nK{-ha)wbxOS1WuUnX Mp00i_>zopr0QRg?6#xJL diff --git a/src/main/resources/assets/techreborn/textures/items/gem/yellowGarnet.png b/src/main/resources/assets/techreborn/textures/items/gem/yellowGarnet.png index 7bb86b756723ff74105a89632d6a91a1169fe5ad..ef341d4d84c2c6d2454957860b11face5a8901c2 100644 GIT binary patch delta 341 zcmaFL_>^gaWIY=L1B3kM|A|0~u{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstUx|zfk$L9 z1A|Zr2s7SGldk{@N|d-plmzFem6RtIr7{#GX6BXX<)xM=nCKbkS>_nm`2p2j^K@|x zvG7lR@cj95j$~04Rs?2wxT@Z(`~M4x*;YJ^0&JRfpMU-M-~L_vzkRtCb5FWY;gKv3 zF7_73u6uhefBt{6(ZIrPgZYR5^XAt5U!G{l;%dy%EV8Grl4DKbS1)~oxSe;H*Hqri z34g@HU@4i#;PH7;<+}g3qt_nPQ@q76A!)|5eR9?t7}fjTh0+h4$@EKLb~wl8m&x)l zSUu^Vxp|bJ83WKNhlPBbWS?{et1tR*ekC#~gDp{n&xlRa?f8u=i5wHUHgZjB+Q=o; c|5K77N#NX7+2hBS0sY9}>FVdQ&MBb@08dAMUjP6A delta 212 zcmV;_04x9H0_6da8Gi!+001a04^sdD07y_wR7C&)0CRF6fPW*AkSLy9h$i6Qlk4iZ?Cibn?ZJ-@ zJt_bI00DGTPE!Ct=GbNc002u#L_t(|UagKd4uC)q#Ml^)oK64#Q$)j_M2B!^7o%zZ z18!jAZtUpCVK O0000vWw|9E@vy-}Og zY1e_5I}GPM=RI@oh<_a31t=MDo^$wm>oSZ4wz5@h96DG(sH$gSEV_gk7S{G1^o`l* z8L@xSJDSH-vIJp15|U~FVds_I3dXGxx}pVi3>FbzX7|uL^#Mnw<`GL* z=%R%Fi82Nz=^*q$7r8nRc9%0t%kxWB1R^$?+Ve_ArwtLj)=qqxS^x{HdlhsK+ZdWD zD}X0lglH=&hz3X(Py80iUm#r9<`L&l$Pa&(Q-Ed`dcuVt2Q8Nnfzuir;jXuj9d>!u zR)bg64Rx!F<^1LY0T%>VwZ`D3X?~{^xZoXxKdY0K*j1kX z6GF}jV3WGxoz=97CrIPT?W`C39V1bov>?Q`XtyZg9fNHfWys`T}NI;cz(MbUHC{qYC$Y9op5uI5YbPvwhviMc8~9uNA{&q4p*h@;cKJWia=nvQ?sm@^8ZB?z`ssdQ2~@)GmQ z6-)=~aL?(m+kfo>rjJkHa=9=zyMv)~Uoqe^`$Eg$vc&;+ogKttF`~f`=9UVW@)s~N z`5T(13D`FA1EUwdVaWZ#1P2ffho$l2fM?1~DwQJcE*)OQmD^jmw2;S`cL$EkzhE2x zgaM5s-$6Vcmr<&5%ApoyeSKXfLWfo*lT+UB7(V|Qy?7&QCfJWqC?xlo_Bh~qvJ);P zo6X8-iJroJ?F)`;W*=w~$z+n!>9plQEt(wcjn|SJs$^L#S~0;vBoYY;qN1vMvdSub zUDquzzfO*zY$`+M_tPGM8`}M-)DzxMtnb(i`VTanY|^JCe_j9p002ovPDHLkV1iVW BJv9IT diff --git a/src/main/resources/assets/techreborn/textures/items/part/advancedAlloy.png b/src/main/resources/assets/techreborn/textures/items/part/advancedAlloy.png index 49e33d7e492451e1b899b7a95364fcdae8ad5a6c..ec69f927c076a71a0d73c65d05104ee88e44fd0c 100644 GIT binary patch delta 555 zcmV+`0@VG80{aAzB#|)~3UdGe5_18JBDn{VQzm}_`AI}UR5(wKlHV^|VHn5z2kalv zvZPMCh{Ye^&dri-mrIDqf(UxbO3hpuO3*q=N8*AjWJ4+uWNlhznTutUl@|3gXfYQ{ z1l4w_tFQAu)#j8IZ}L4C&-;G9-;?KgWI0OZgGzPi?!HF_=}%IMojV4}9>z3PsD|~; zGf01H?XPl(OKC7$q6Pye^Rp0G{DQ!bF-*KnG)VxMY~>ujmU5UWQsHvxGa^1WLMw9! zE;$hVHIEDDI7aib<0kZRyyIZgsxVuoLf9)phbxHqT?l!cQTVr$;LAlP0t*W`pSEH+ zH)=xg`Md#F$A98r*y}*ZeFKXi!Qa1O^CN!`PlE=l?=|q$X(2pSfPVSvuM21PHvHdq zh_DDU*cDCQX{*FWOC`a_{ax_)n6NJh@O5>gTb==G6iW`T+i_~`q|^hU0=w-M*fD5u zGSrEq0VBZ&W)U`-;Hjy>n(hNEX==z=vlz@$S(i5r#rQX3B=BU=gu}iLN?ot3!fJng zEtd6qf`9TnKFPBnVRF}W<@jnbhg-8P+jf;A+z!=#uq76hg0EQ=2gn%)!Vd0)em!J2