diff --git a/src/main/java/gregtech/api/GTValues.java b/src/main/java/gregtech/api/GTValues.java index 9d3bb3f2534..b530c0d468d 100644 --- a/src/main/java/gregtech/api/GTValues.java +++ b/src/main/java/gregtech/api/GTValues.java @@ -122,11 +122,12 @@ public class GTValues { * The short names for the voltages, formatted for text */ public static final String[] VNF = new String[] { - DARK_GRAY + "ULV", GRAY + "LV", AQUA + "MV", - GOLD + "HV", DARK_PURPLE + "EV", DARK_BLUE + "IV", - LIGHT_PURPLE + "LuV", RED + "ZPM", DARK_AQUA + "UV", - DARK_RED + "UHV", GREEN + "UEV", DARK_GREEN + "UIV", - YELLOW + "UXV", BLUE + "OpV", RED.toString() + BOLD + "MAX" }; + RED + "ULV", GRAY + "LV", GOLD + "MV", + YELLOW + "HV", DARK_GRAY + "EV", WHITE + "IV", + LIGHT_PURPLE + "LuV", AQUA + "ZPM", DARK_GREEN + "UV", + DARK_RED + "UHV", DARK_BLUE + "UEV", DARK_GREEN.toString() + BOLD + "UIV", + DARK_PURPLE.toString() + BOLD + "UXV", DARK_RED.toString() + BOLD + "OpV", + RED.toString() + BOLD + "MAX" }; /** * The short names for the voltages, up to max Long, formatted for text @@ -146,7 +147,7 @@ public class GTValues { * Color values for the voltages */ public static final int[] VC = new int[] { 0xC80000, 0xDCDCDC, 0xFF6400, 0xFFFF1E, 0x808080, 0xF0F0F5, 0xE99797, - 0x7EC3C4, 0x7EB07E, 0xBF74C0, 0x0B5CFE, 0x914E91, 0x488748, 0x8C0000, 0x2828F5 }; + 0x7EC3C4, 0x7EB07E, 0xBF74C0, 0x0B5CFE, 0x488748, 0x914E91, 0x8C0000, 0x2828F5 }; /** * The long names for the voltages diff --git a/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java b/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java index dbe94985456..1f13381b386 100644 --- a/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java +++ b/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java @@ -2,6 +2,7 @@ import gregtech.api.GTValues; import gregtech.api.GregTechAPI; +import gregtech.api.capability.FeCompat; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.SimpleGeneratorMetaTileEntity; import gregtech.api.metatileentity.SimpleMachineMetaTileEntity; @@ -206,24 +207,24 @@ public class MetaTileEntities { public static final SimpleGeneratorMetaTileEntity[] GAS_TURBINE = new SimpleGeneratorMetaTileEntity[4]; // MULTIBLOCK PARTS SECTION - public static final MetaTileEntityItemBus[] ITEM_IMPORT_BUS = new MetaTileEntityItemBus[GTValues.UHV + 1]; // ULV-UHV - public static final MetaTileEntityItemBus[] ITEM_EXPORT_BUS = new MetaTileEntityItemBus[GTValues.UHV + 1]; - public static final MetaTileEntityFluidHatch[] FLUID_IMPORT_HATCH = new MetaTileEntityFluidHatch[GTValues.UHV + 1]; - public static final MetaTileEntityFluidHatch[] FLUID_EXPORT_HATCH = new MetaTileEntityFluidHatch[GTValues.UHV + 1]; - public static final MetaTileEntityMultiFluidHatch[] QUADRUPLE_IMPORT_HATCH = new MetaTileEntityMultiFluidHatch[6]; // EV-UHV - public static final MetaTileEntityMultiFluidHatch[] NONUPLE_IMPORT_HATCH = new MetaTileEntityMultiFluidHatch[6]; // EV-UHV - public static final MetaTileEntityMultiFluidHatch[] QUADRUPLE_EXPORT_HATCH = new MetaTileEntityMultiFluidHatch[6]; // EV-UHV - public static final MetaTileEntityMultiFluidHatch[] NONUPLE_EXPORT_HATCH = new MetaTileEntityMultiFluidHatch[6]; // EV-UHV + public static final MetaTileEntityItemBus[] ITEM_IMPORT_BUS = new MetaTileEntityItemBus[GTValues.V.length - 1]; // All tiers but MAX + public static final MetaTileEntityItemBus[] ITEM_EXPORT_BUS = new MetaTileEntityItemBus[GTValues.V.length - 1]; + public static final MetaTileEntityFluidHatch[] FLUID_IMPORT_HATCH = new MetaTileEntityFluidHatch[GTValues.V.length - 1]; + public static final MetaTileEntityFluidHatch[] FLUID_EXPORT_HATCH = new MetaTileEntityFluidHatch[GTValues.V.length - 1]; + public static final MetaTileEntityMultiFluidHatch[] QUADRUPLE_IMPORT_HATCH = new MetaTileEntityMultiFluidHatch[11]; // EV+ + public static final MetaTileEntityMultiFluidHatch[] NONUPLE_IMPORT_HATCH = new MetaTileEntityMultiFluidHatch[11]; // EV+ + public static final MetaTileEntityMultiFluidHatch[] QUADRUPLE_EXPORT_HATCH = new MetaTileEntityMultiFluidHatch[11]; // EV+ + public static final MetaTileEntityMultiFluidHatch[] NONUPLE_EXPORT_HATCH = new MetaTileEntityMultiFluidHatch[11]; // EV+ public static final MetaTileEntityEnergyHatch[] ENERGY_INPUT_HATCH = new MetaTileEntityEnergyHatch[GTValues.V.length]; - public static final MetaTileEntityEnergyHatch[] ENERGY_INPUT_HATCH_4A = new MetaTileEntityEnergyHatch[6]; // EV, IV, LuV, ZPM, UV, UHV - public static final MetaTileEntityEnergyHatch[] ENERGY_INPUT_HATCH_16A = new MetaTileEntityEnergyHatch[5]; // IV, LuV, ZPM, UV, UHV + public static final MetaTileEntityEnergyHatch[] ENERGY_INPUT_HATCH_4A = new MetaTileEntityEnergyHatch[11]; // EV+ + public static final MetaTileEntityEnergyHatch[] ENERGY_INPUT_HATCH_16A = new MetaTileEntityEnergyHatch[10]; // IV+ public static final MetaTileEntityEnergyHatch[] ENERGY_OUTPUT_HATCH = new MetaTileEntityEnergyHatch[GTValues.V.length]; - public static final MetaTileEntityEnergyHatch[] ENERGY_OUTPUT_HATCH_4A = new MetaTileEntityEnergyHatch[6]; // EV, IV, LuV, ZPM, UV, UHV - public static final MetaTileEntityEnergyHatch[] ENERGY_OUTPUT_HATCH_16A = new MetaTileEntityEnergyHatch[5]; // IV, LuV, ZPM, UV, UHV - public static final MetaTileEntitySubstationEnergyHatch[] SUBSTATION_ENERGY_INPUT_HATCH = new MetaTileEntitySubstationEnergyHatch[5]; // IV, LuV, ZPM, UV, UHV - public static final MetaTileEntitySubstationEnergyHatch[] SUBSTATION_ENERGY_OUTPUT_HATCH = new MetaTileEntitySubstationEnergyHatch[5]; // IV, LuV, ZPM, UV, UHV + public static final MetaTileEntityEnergyHatch[] ENERGY_OUTPUT_HATCH_4A = new MetaTileEntityEnergyHatch[11]; // EV+ + public static final MetaTileEntityEnergyHatch[] ENERGY_OUTPUT_HATCH_16A = new MetaTileEntityEnergyHatch[10]; // IV+ + public static final MetaTileEntitySubstationEnergyHatch[] SUBSTATION_ENERGY_INPUT_HATCH = new MetaTileEntitySubstationEnergyHatch[10]; // IV+ + public static final MetaTileEntitySubstationEnergyHatch[] SUBSTATION_ENERGY_OUTPUT_HATCH = new MetaTileEntitySubstationEnergyHatch[10]; // IV+ public static final MetaTileEntityRotorHolder[] ROTOR_HOLDER = new MetaTileEntityRotorHolder[6]; // HV, EV, IV, LuV, ZPM, UV - public static final MetaTileEntityMufflerHatch[] MUFFLER_HATCH = new MetaTileEntityMufflerHatch[GTValues.UV + 1]; // LV-UV + public static final MetaTileEntityMufflerHatch[] MUFFLER_HATCH = new MetaTileEntityMufflerHatch[GTValues.UHV + 1]; // LV-UHV public static final MetaTileEntityFusionReactor[] FUSION_REACTOR = new MetaTileEntityFusionReactor[3]; public static MetaTileEntityQuantumStorageController QUANTUM_STORAGE_CONTROLLER; public static MetaTileEntityQuantumProxy QUANTUM_STORAGE_PROXY; @@ -378,6 +379,7 @@ public class MetaTileEntities { public static MetaTileEntityLDFluidEndpoint LONG_DIST_FLUID_ENDPOINT; public static MetaTileEntityAlarm ALARM; + // todo public static MetaTileEntityConverter[][] ENERGY_CONVERTER = new MetaTileEntityConverter[4][GTValues.V.length]; //spotless:on @@ -783,7 +785,8 @@ public static void init() { // MISC MTE's START: IDs 1150-2000 // Import/Export Buses/Hatches, IDs 1150-1209 - for (int i = 0; i < ITEM_IMPORT_BUS.length; i++) { + endPos = GregTechAPI.isHighTier() ? ITEM_IMPORT_BUS.length : GTValues.UHV; + for (int i = 0; i < endPos; i++) { String voltageName = GTValues.VN[i].toLowerCase(); ITEM_IMPORT_BUS[i] = new MetaTileEntityItemBus(gregtechId("item_bus.import." + voltageName), i, false); ITEM_EXPORT_BUS[i] = new MetaTileEntityItemBus(gregtechId("item_bus.export." + voltageName), i, true); @@ -792,15 +795,22 @@ public static void init() { FLUID_EXPORT_HATCH[i] = new MetaTileEntityFluidHatch(gregtechId("fluid_hatch.export." + voltageName), i, true); - registerMetaTileEntity(1150 + i, ITEM_IMPORT_BUS[i]); - registerMetaTileEntity(1165 + i, ITEM_EXPORT_BUS[i]); - registerMetaTileEntity(1180 + i, FLUID_IMPORT_HATCH[i]); - registerMetaTileEntity(1195 + i, FLUID_EXPORT_HATCH[i]); + if (i <= GTValues.UHV) { + registerMetaTileEntity(1150 + i, ITEM_IMPORT_BUS[i]); + registerMetaTileEntity(1165 + i, ITEM_EXPORT_BUS[i]); + registerMetaTileEntity(1180 + i, FLUID_IMPORT_HATCH[i]); + registerMetaTileEntity(1195 + i, FLUID_EXPORT_HATCH[i]); + } else { + registerMetaTileEntity(1850 + i, ITEM_IMPORT_BUS[i]); + registerMetaTileEntity(1855 + i, ITEM_EXPORT_BUS[i]); + registerMetaTileEntity(1860 + i, FLUID_IMPORT_HATCH[i]); + registerMetaTileEntity(1865 + i, FLUID_EXPORT_HATCH[i]); + } } // IDs 1190, 1191, 1205, and 1206 reserved for multi-fluid hatches - // Energy Input/Output Hatches, IDs 1210-1269 + // Energy Input/Output Hatches, IDs 1210-1269, 1800-1829 endPos = GregTechAPI.isHighTier() ? ENERGY_INPUT_HATCH.length - 1 : Math.min(ENERGY_INPUT_HATCH.length - 1, GTValues.UV + 2); for (int i = 0; i < endPos; i++) { @@ -810,21 +820,23 @@ public static void init() { ENERGY_OUTPUT_HATCH[i] = registerMetaTileEntity(1225 + i, new MetaTileEntityEnergyHatch(gregtechId("energy_hatch.output." + voltageName), i, 2, true)); - if (i >= GTValues.IV && i <= GTValues.UHV) { - ENERGY_INPUT_HATCH_4A[i + 1 - GTValues.IV] = registerMetaTileEntity(1240 + i - GTValues.IV, + if (i >= GTValues.IV) { + int baseId = (i <= GTValues.UHV ? 1240 : 1820); + + ENERGY_INPUT_HATCH_4A[i + 1 - GTValues.IV] = registerMetaTileEntity(baseId + i - GTValues.IV, new MetaTileEntityEnergyHatch(gregtechId("energy_hatch.input_4a." + voltageName), i, 4, false)); - ENERGY_INPUT_HATCH_16A[i - GTValues.IV] = registerMetaTileEntity(1245 + i - GTValues.IV, + ENERGY_INPUT_HATCH_16A[i - GTValues.IV] = registerMetaTileEntity(baseId + 5 + i - GTValues.IV, new MetaTileEntityEnergyHatch(gregtechId("energy_hatch.input_16a." + voltageName), i, 16, false)); - ENERGY_OUTPUT_HATCH_4A[i + 1 - GTValues.IV] = registerMetaTileEntity(1250 + i - GTValues.IV, + ENERGY_OUTPUT_HATCH_4A[i + 1 - GTValues.IV] = registerMetaTileEntity(baseId + 10 + i - GTValues.IV, new MetaTileEntityEnergyHatch(gregtechId("energy_hatch.output_4a." + voltageName), i, 4, true)); - ENERGY_OUTPUT_HATCH_16A[i - GTValues.IV] = registerMetaTileEntity(1255 + i - GTValues.IV, + ENERGY_OUTPUT_HATCH_16A[i - GTValues.IV] = registerMetaTileEntity(baseId + 15 + i - GTValues.IV, new MetaTileEntityEnergyHatch(gregtechId("energy_hatch.output_16a." + voltageName), i, 16, true)); - SUBSTATION_ENERGY_INPUT_HATCH[i - GTValues.IV] = registerMetaTileEntity(1260 + i - GTValues.IV, + SUBSTATION_ENERGY_INPUT_HATCH[i - GTValues.IV] = registerMetaTileEntity(baseId + 20 + i - GTValues.IV, new MetaTileEntitySubstationEnergyHatch(gregtechId("substation_hatch.input_64a." + voltageName), i, 64, false)); - SUBSTATION_ENERGY_OUTPUT_HATCH[i - GTValues.IV] = registerMetaTileEntity(1265 + i - GTValues.IV, + SUBSTATION_ENERGY_OUTPUT_HATCH[i - GTValues.IV] = registerMetaTileEntity(baseId + 25 + i - GTValues.IV, new MetaTileEntitySubstationEnergyHatch( gregtechId("substation_hatch.output_64a." + voltageName), i, 64, true)); } @@ -860,8 +872,7 @@ public static void init() { } // Battery Buffer, IDs 1315-1360 - endPos = GregTechAPI.isHighTier() ? BATTERY_BUFFER[0].length - 1 : - Math.min(BATTERY_BUFFER[0].length - 1, GTValues.UHV + 1); + endPos = GregTechAPI.isHighTier() ? BATTERY_BUFFER[0].length : GTValues.UHV + 1; int[] batteryBufferSlots = new int[] { 4, 8, 16 }; for (int slot = 0; slot < batteryBufferSlots.length; slot++) { BATTERY_BUFFER[slot] = new MetaTileEntityBatteryBuffer[endPos]; @@ -875,7 +886,7 @@ public static void init() { } // Charger, IDs 1375-1389 - endPos = GregTechAPI.isHighTier() ? CHARGER.length - 1 : Math.min(CHARGER.length - 1, GTValues.UHV + 1); + endPos = GregTechAPI.isHighTier() ? CHARGER.length : GTValues.UHV + 1; for (int i = 0; i < endPos; i++) { String chargerId = "charger." + GTValues.VN[i].toLowerCase(); MetaTileEntityCharger charger = new MetaTileEntityCharger(gregtechId(chargerId), i, 4); @@ -1111,9 +1122,10 @@ public static void init() { CLEANING_MAINTENANCE_HATCH = registerMetaTileEntity(1401, new MetaTileEntityCleaningMaintenanceHatch(gregtechId("maintenance_hatch_cleanroom_auto"))); - // Muffler Hatches, IDs 1657-1664 + // Muffler Hatches, IDs 1657-1665 for (int i = 0; i < MUFFLER_HATCH.length - 1; i++) { int tier = i + 1; + if (!GregTechAPI.isHighTier() && tier == GTValues.UHV) continue; // requires UHV motor to craft, so skip String voltageName = GTValues.VN[tier].toLowerCase(); MUFFLER_HATCH[tier] = new MetaTileEntityMufflerHatch(gregtechId("muffler_hatch." + voltageName), tier); @@ -1129,11 +1141,20 @@ public static void init() { CREATIVE_TANK = registerMetaTileEntity(1669, new MetaTileEntityCreativeTank(gregtechId("creative_tank"))); // Energy Converter, IDs 1670-1729 - endPos = GregTechAPI.isHighTier() ? ENERGY_CONVERTER[0].length - 1 : - Math.min(ENERGY_CONVERTER[0].length - 1, GTValues.UHV + 1); + endPos = GregTechAPI.isHighTier() ? ENERGY_CONVERTER[0].length : GTValues.UHV + 1; int[] amps = { 1, 4, 8, 16 }; for (int i = 0; i < endPos; i++) { for (int j = 0; j < 4; j++) { + // Check to make sure this is a valid amount of power to be able to convert. + // Tests if both: + // - The maximum amount of EU/t of this converter can turn into FE without overflowing + // - Max int FE/t can convert to the full amount of EU/t without being short + // This is done because these ratios are configured separately. + long eu = amps[j] * GTValues.V[i]; + long euToFe = FeCompat.toFeLong(eu, FeCompat.ratio(false)); + long feToEu = FeCompat.toEu(Integer.MAX_VALUE, FeCompat.ratio(true)); + if (euToFe > Integer.MAX_VALUE || feToEu < eu) continue; + String id = "energy_converter." + GTValues.VN[i].toLowerCase() + "." + amps[j]; MetaTileEntityConverter converter = new MetaTileEntityConverter(gregtechId(id), i, amps[j]); ENERGY_CONVERTER[j][i] = registerMetaTileEntity(1670 + j + i * 4, converter); @@ -1171,7 +1192,7 @@ public static void init() { // IDs 1752-1756 are taken by AE2 parts - // Multi-Fluid Hatches, IDs 1190, 1191, 1205, 1206, 1780-1799 + // Multi-Fluid Hatches, IDs 1190, 1191, 1205, 1206, 1780-1819 // EV hatches separate because of old names/IDs QUADRUPLE_IMPORT_HATCH[0] = registerMetaTileEntity(1190, new MetaTileEntityMultiFluidHatch(gregtechId("fluid_hatch.import_4x"), GTValues.EV, 4, false)); @@ -1181,19 +1202,23 @@ public static void init() { new MetaTileEntityMultiFluidHatch(gregtechId("fluid_hatch.export_4x"), GTValues.EV, 4, true)); NONUPLE_EXPORT_HATCH[0] = registerMetaTileEntity(1206, new MetaTileEntityMultiFluidHatch(gregtechId("fluid_hatch.export_9x"), GTValues.EV, 9, true)); - for (int i = GTValues.IV; i <= GTValues.UHV; i++) { + for (int i = GTValues.IV; i <= (GregTechAPI.isHighTier() ? GTValues.OpV : GTValues.UHV); i++) { int index = i - GTValues.IV; + int startId = i > GTValues.UHV ? 1800 : 1780; String tierName = GTValues.VN[i].toLowerCase(); - QUADRUPLE_IMPORT_HATCH[index + 1] = registerMetaTileEntity(1780 + index, + QUADRUPLE_IMPORT_HATCH[index + 1] = registerMetaTileEntity(startId + index, new MetaTileEntityMultiFluidHatch(gregtechId("fluid_hatch.import_4x." + tierName), i, 4, false)); - NONUPLE_IMPORT_HATCH[index + 1] = registerMetaTileEntity(1785 + index, + NONUPLE_IMPORT_HATCH[index + 1] = registerMetaTileEntity(startId + 5 + index, new MetaTileEntityMultiFluidHatch(gregtechId("fluid_hatch.import_9x." + tierName), i, 9, false)); - QUADRUPLE_EXPORT_HATCH[index + 1] = registerMetaTileEntity(1790 + index, + QUADRUPLE_EXPORT_HATCH[index + 1] = registerMetaTileEntity(startId + 10 + index, new MetaTileEntityMultiFluidHatch(gregtechId("fluid_hatch.export_4x." + tierName), i, 4, true)); - NONUPLE_EXPORT_HATCH[index + 1] = registerMetaTileEntity(1795 + index, + NONUPLE_EXPORT_HATCH[index + 1] = registerMetaTileEntity(startId + 15 + index, new MetaTileEntityMultiFluidHatch(gregtechId("fluid_hatch.export_9x." + tierName), i, 9, true)); } + // 1820-1849 are taken for UHV+ 4A/16A/64A Energy/Dynamo Hatches + // 1850-1869 are taken for UHV+ Input/Output Buses/Hatches + /* * FOR ADDON DEVELOPERS: * diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java index fd79fc8811d..5d0b13fc491 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java @@ -177,7 +177,7 @@ public boolean canRenderFrontFaceX() { @Override public void getSubItems(CreativeTabs creativeTab, NonNullList subItems) { // override here is gross, but keeps things in order despite - // IDs being out of order, due to EV 4A hatches being added later + // IDs being out of order, due to EV 4A and UEV+ 4A+ hatches being added later if (this == MetaTileEntities.ENERGY_INPUT_HATCH[0]) { for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.ENERGY_INPUT_HATCH) { if (hatch != null) subItems.add(hatch.getStackForm()); @@ -203,7 +203,11 @@ public void getSubItems(CreativeTabs creativeTab, NonNullList subItem for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.SUBSTATION_ENERGY_OUTPUT_HATCH) { if (hatch != null) subItems.add(hatch.getStackForm()); } - } + } else if (this.getClass() != MetaTileEntityEnergyHatch.class && + this.getClass() != MetaTileEntitySubstationEnergyHatch.class) { + // let subclasses fall through this override + super.getSubItems(creativeTab, subItems); + } } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java index 153c93bdb12..4cb1dd3003e 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java @@ -13,14 +13,17 @@ import gregtech.api.mui.GTGuis; import gregtech.client.renderer.texture.Textures; import gregtech.client.renderer.texture.cube.SimpleOverlayRenderer; +import gregtech.common.metatileentities.MetaTileEntities; import gregtech.common.metatileentities.storage.MetaTileEntityQuantumTank; import gregtech.common.mui.widget.GTFluidSlot; import net.minecraft.client.resources.I18n; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.PacketBuffer; import net.minecraft.util.EnumFacing; +import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; @@ -185,7 +188,7 @@ public void renderMetaTileEntity(CCRenderState renderState, Matrix4 translation, } protected int getInventorySize() { - return INITIAL_INVENTORY_SIZE * (1 << Math.min(9, getTier())); + return INITIAL_INVENTORY_SIZE * Math.min(Integer.MAX_VALUE, 1 << getTier()); } @Override @@ -338,6 +341,21 @@ private void setLocked(boolean locked) { fluidTank.onContentsChanged(); } + @Override + public void getSubItems(CreativeTabs creativeTab, NonNullList subItems) { + if (this == MetaTileEntities.FLUID_IMPORT_HATCH[0]) { + for (var hatch : MetaTileEntities.FLUID_IMPORT_HATCH) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + for (var hatch : MetaTileEntities.FLUID_EXPORT_HATCH) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + } else if (this.getClass() != MetaTileEntityFluidHatch.class) { + // let subclasses fall through this override + super.getSubItems(creativeTab, subItems); + } + } + protected class HatchFluidTank extends NotifiableFluidTank implements IFilteredFluidContainer, IFilter { public HatchFluidTank(int capacity, MetaTileEntity entityToNotify, boolean isExport) { diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java index a549ccbf81f..37c145eab75 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java @@ -1,5 +1,6 @@ package gregtech.common.metatileentities.multi.multiblockpart; +import gregtech.api.GTValues; import gregtech.api.capability.*; import gregtech.api.capability.impl.GhostCircuitItemStackHandler; import gregtech.api.capability.impl.ItemHandlerList; @@ -16,14 +17,17 @@ import gregtech.api.util.GTHashMaps; import gregtech.client.renderer.texture.Textures; import gregtech.client.renderer.texture.cube.SimpleOverlayRenderer; +import gregtech.common.metatileentities.MetaTileEntities; import net.minecraft.client.resources.I18n; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.PacketBuffer; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.World; @@ -180,7 +184,7 @@ public void renderMetaTileEntity(CCRenderState renderState, Matrix4 translation, } private int getInventorySize() { - int sizeRoot = 1 + Math.min(9, getTier()); + int sizeRoot = 1 + Math.min(GTValues.UHV, getTier()); return sizeRoot * sizeRoot; } @@ -453,4 +457,21 @@ public void addToolUsages(ItemStack stack, @Nullable World world, List t tooltip.add(I18n.format("gregtech.tool_action.wrench.set_facing")); super.addToolUsages(stack, world, tooltip, advanced); } + + @Override + public void getSubItems(CreativeTabs creativeTab, NonNullList subItems) { + // override here is gross, but keeps things in order despite + // IDs being out of order, due to UEV+ being added later + if (this == MetaTileEntities.ITEM_IMPORT_BUS[0]) { + for (var hatch : MetaTileEntities.ITEM_IMPORT_BUS) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + for (var hatch : MetaTileEntities.ITEM_EXPORT_BUS) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + } else if (this.getClass() != MetaTileEntityItemBus.class) { + // let subclasses fall through this override + super.getSubItems(creativeTab, subItems); + } + } } diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java index f47d35c0377..3d594d4827d 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java @@ -29,7 +29,7 @@ import java.util.List; import static gregtech.api.GTValues.V; -import static gregtech.api.GTValues.VN; +import static gregtech.api.GTValues.VNF; public class MetaTileEntityLaserHatch extends MetaTileEntityMultiblockPart implements IMultiblockAbilityPart, IDataInfoProvider { @@ -95,10 +95,10 @@ public void addInformation(ItemStack stack, @Nullable World world, @NotNull List tooltip.add(I18n.format("gregtech.machine.laser_hatch.tooltip2")); if (isOutput) { - tooltip.add(I18n.format("gregtech.universal.tooltip.voltage_out", V[tier], VN[tier])); + tooltip.add(I18n.format("gregtech.universal.tooltip.voltage_out", V[tier], VNF[tier])); tooltip.add(I18n.format("gregtech.universal.tooltip.amperage_out_till", amperage)); } else { - tooltip.add(I18n.format("gregtech.universal.tooltip.voltage_in", V[tier], VN[tier])); + tooltip.add(I18n.format("gregtech.universal.tooltip.voltage_in", V[tier], VNF[tier])); tooltip.add(I18n.format("gregtech.universal.tooltip.amperage_in_till", amperage)); } tooltip.add(I18n.format("gregtech.universal.tooltip.energy_storage_capacity", buffer.getEnergyCapacity())); diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java index d001b65d06a..3788ac57732 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java @@ -56,7 +56,7 @@ public class MetaTileEntityMufflerHatch extends MetaTileEntityMultiblockPart imp public MetaTileEntityMufflerHatch(ResourceLocation metaTileEntityId, int tier) { super(metaTileEntityId, tier); - this.recoveryChance = Math.max(1, tier * 10); + this.recoveryChance = (int) Math.ceil((tier - 1.0f) / 8 * 100); this.inventory = new GTItemStackHandler(this, (int) Math.pow(tier + 1, 2)); this.frontFaceFree = false; } diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java index 6ac0ad4ee05..ff1b2341f32 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java @@ -1,6 +1,5 @@ package gregtech.common.metatileentities.multi.multiblockpart; -import gregtech.api.GTValues; import gregtech.api.capability.GregtechDataCodes; import gregtech.api.capability.GregtechTileCapabilities; import gregtech.api.capability.IControllable; @@ -13,13 +12,16 @@ import gregtech.api.mui.GTGuis; import gregtech.client.renderer.texture.Textures; import gregtech.client.renderer.texture.cube.SimpleOverlayRenderer; +import gregtech.common.metatileentities.MetaTileEntities; import gregtech.common.mui.widget.GTFluidSlot; import net.minecraft.client.resources.I18n; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.PacketBuffer; import net.minecraft.util.EnumFacing; +import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; @@ -59,7 +61,7 @@ public MetaTileEntityMultiFluidHatch(ResourceLocation metaTileEntityId, int tier this.numSlots = numSlots; // Quadruple: 1/4th the capacity of a fluid hatch of this tier // Nonuple: 1/8th the capacity of a fluid hatch of this tier - this.tankSize = (BASE_TANK_SIZE * (1 << Math.min(GTValues.UHV, tier))) / (numSlots == 4 ? 4 : 8); + this.tankSize = BASE_TANK_SIZE * (1 << tier) / (numSlots == 4 ? 4 : 8); FluidTank[] fluidsHandlers = new FluidTank[numSlots]; for (int i = 0; i < fluidsHandlers.length; i++) { fluidsHandlers[i] = new NotifiableFluidTank(tankSize, this, isExportHatch); @@ -227,4 +229,27 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager) .coverChildren()) .bindPlayerInventory(); } + + @Override + public void getSubItems(CreativeTabs creativeTab, NonNullList subItems) { + // override here is gross, but keeps things in order despite + // IDs being out of order, due to IV+ hatches being added later + if (this == MetaTileEntities.QUADRUPLE_IMPORT_HATCH[0]) { + for (var hatch : MetaTileEntities.QUADRUPLE_IMPORT_HATCH) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + for (var hatch : MetaTileEntities.QUADRUPLE_EXPORT_HATCH) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + for (var hatch : MetaTileEntities.NONUPLE_IMPORT_HATCH) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + for (var hatch : MetaTileEntities.NONUPLE_EXPORT_HATCH) { + if (hatch != null) subItems.add(hatch.getStackForm()); + } + } else if (this.getClass() != MetaTileEntityMultiFluidHatch.class) { + // let subclasses fall through this override + super.getSubItems(creativeTab, subItems); + } + } } diff --git a/src/main/resources/assets/gregtech/lang/en_us.lang b/src/main/resources/assets/gregtech/lang/en_us.lang index 65b2dc37bf0..56a674d293b 100644 --- a/src/main/resources/assets/gregtech/lang/en_us.lang +++ b/src/main/resources/assets/gregtech/lang/en_us.lang @@ -5043,6 +5043,11 @@ gregtech.machine.item_bus.import.luv.name=LuV Input Bus gregtech.machine.item_bus.import.zpm.name=ZPM Input Bus gregtech.machine.item_bus.import.uv.name=UV Input Bus gregtech.machine.item_bus.import.uhv.name=UHV Input Bus +gregtech.machine.item_bus.import.uev.name=UEV Input Bus +gregtech.machine.item_bus.import.uiv.name=UIV Input Bus +gregtech.machine.item_bus.import.uxv.name=UXV Input Bus +gregtech.machine.item_bus.import.opv.name=OpV Input Bus +gregtech.machine.item_bus.import.max.name=MAX Input Bus gregtech.machine.item_bus.export.tooltip=Item Output for Multiblocks @@ -5056,6 +5061,11 @@ gregtech.machine.item_bus.export.luv.name=LuV Output Bus gregtech.machine.item_bus.export.zpm.name=ZPM Output Bus gregtech.machine.item_bus.export.uv.name=UV Output Bus gregtech.machine.item_bus.export.uhv.name=UHV Output Bus +gregtech.machine.item_bus.export.uev.name=UEV Output Bus +gregtech.machine.item_bus.export.uiv.name=UIV Output Bus +gregtech.machine.item_bus.export.uxv.name=UXV Output Bus +gregtech.machine.item_bus.export.opv.name=OpV Output Bus +gregtech.machine.item_bus.export.max.name=MAX Output Bus gregtech.bus.collapse_true=Bus will collapse Items gregtech.bus.collapse_false=Bus will not collapse Items @@ -5072,6 +5082,11 @@ gregtech.machine.fluid_hatch.import.luv.name=LuV Input Hatch gregtech.machine.fluid_hatch.import.zpm.name=ZPM Input Hatch gregtech.machine.fluid_hatch.import.uv.name=UV Input Hatch gregtech.machine.fluid_hatch.import.uhv.name=UHV Input Hatch +gregtech.machine.fluid_hatch.import.uev.name=UEV Input Hatch +gregtech.machine.fluid_hatch.import.uiv.name=UIV Input Hatch +gregtech.machine.fluid_hatch.import.uxv.name=UXV Input Hatch +gregtech.machine.fluid_hatch.import.opv.name=OpV Input Hatch +gregtech.machine.fluid_hatch.import.max.name=MAX Input Hatch gregtech.machine.fluid_hatch.export.tooltip=Fluid Output for Multiblocks @@ -5081,6 +5096,11 @@ gregtech.machine.fluid_hatch.import_4x.luv.name=LuV Quadruple Input Hatch gregtech.machine.fluid_hatch.import_4x.zpm.name=ZPM Quadruple Input Hatch gregtech.machine.fluid_hatch.import_4x.uv.name=UV Quadruple Input Hatch gregtech.machine.fluid_hatch.import_4x.uhv.name=UHV Quadruple Input Hatch +gregtech.machine.fluid_hatch.import_4x.uev.name=UEV Quadruple Input Hatch +gregtech.machine.fluid_hatch.import_4x.uiv.name=UIV Quadruple Input Hatch +gregtech.machine.fluid_hatch.import_4x.uxv.name=UXV Quadruple Input Hatch +gregtech.machine.fluid_hatch.import_4x.opv.name=OpV Quadruple Input Hatch +gregtech.machine.fluid_hatch.import_4x.max.name=MAX Quadruple Input Hatch gregtech.machine.fluid_hatch.import_9x.name=EV Nonuple Input Hatch gregtech.machine.fluid_hatch.import_9x.iv.name=IV Nonuple Input Hatch @@ -5088,6 +5108,11 @@ gregtech.machine.fluid_hatch.import_9x.luv.name=LuV Nonuple Input Hatch gregtech.machine.fluid_hatch.import_9x.zpm.name=ZPM Nonuple Input Hatch gregtech.machine.fluid_hatch.import_9x.uv.name=UV Nonuple Input Hatch gregtech.machine.fluid_hatch.import_9x.uhv.name=UHV Nonuple Input Hatch +gregtech.machine.fluid_hatch.import_9x.uev.name=UEV Nonuple Input Hatch +gregtech.machine.fluid_hatch.import_9x.uiv.name=UIV Nonuple Input Hatch +gregtech.machine.fluid_hatch.import_9x.uxv.name=UXV Nonuple Input Hatch +gregtech.machine.fluid_hatch.import_9x.opv.name=OpV Nonuple Input Hatch +gregtech.machine.fluid_hatch.import_9x.max.name=MAX Nonuple Input Hatch gregtech.machine.fluid_hatch.export_4x.name=EV Quadruple Output Hatch gregtech.machine.fluid_hatch.export_4x.iv.name=IV Quadruple Output Hatch @@ -5095,6 +5120,11 @@ gregtech.machine.fluid_hatch.export_4x.luv.name=LuV Quadruple Output Hatch gregtech.machine.fluid_hatch.export_4x.zpm.name=ZPM Quadruple Output Hatch gregtech.machine.fluid_hatch.export_4x.uv.name=UV Quadruple Output Hatch gregtech.machine.fluid_hatch.export_4x.uhv.name=UHV Quadruple Output Hatch +gregtech.machine.fluid_hatch.export_4x.uev.name=UEV Quadruple Output Hatch +gregtech.machine.fluid_hatch.export_4x.uiv.name=UIV Quadruple Output Hatch +gregtech.machine.fluid_hatch.export_4x.uxv.name=UXV Quadruple Output Hatch +gregtech.machine.fluid_hatch.export_4x.opv.name=OpV Quadruple Output Hatch +gregtech.machine.fluid_hatch.export_4x.max.name=MAX Quadruple Output Hatch gregtech.machine.fluid_hatch.export_9x.name=EV Nonuple Output Hatch gregtech.machine.fluid_hatch.export_9x.iv.name=IV Nonuple Output Hatch @@ -5102,6 +5132,11 @@ gregtech.machine.fluid_hatch.export_9x.luv.name=LuV Nonuple Output Hatch gregtech.machine.fluid_hatch.export_9x.zpm.name=ZPM Nonuple Output Hatch gregtech.machine.fluid_hatch.export_9x.uv.name=UV Nonuple Output Hatch gregtech.machine.fluid_hatch.export_9x.uhv.name=UHV Nonuple Output Hatch +gregtech.machine.fluid_hatch.export_9x.uev.name=UEV Nonuple Output Hatch +gregtech.machine.fluid_hatch.export_9x.uiv.name=UIV Nonuple Output Hatch +gregtech.machine.fluid_hatch.export_9x.uxv.name=UXV Nonuple Output Hatch +gregtech.machine.fluid_hatch.export_9x.opv.name=OpV Nonuple Output Hatch +gregtech.machine.fluid_hatch.export_9x.max.name=MAX Nonuple Output Hatch gregtech.machine.fluid_hatch.export.ulv.name=ULV Output Hatch gregtech.machine.fluid_hatch.export.lv.name=LV Output Hatch @@ -5113,6 +5148,11 @@ gregtech.machine.fluid_hatch.export.luv.name=LuV Output Hatch gregtech.machine.fluid_hatch.export.zpm.name=ZPM Output Hatch gregtech.machine.fluid_hatch.export.uv.name=UV Output Hatch gregtech.machine.fluid_hatch.export.uhv.name=UHV Output Hatch +gregtech.machine.fluid_hatch.export.uev.name=UEV Output Hatch +gregtech.machine.fluid_hatch.export.uiv.name=UIV Output Hatch +gregtech.machine.fluid_hatch.export.uxv.name=UXV Output Hatch +gregtech.machine.fluid_hatch.export.opv.name=OpV Output Hatch +gregtech.machine.fluid_hatch.export.max.name=MAX Output Hatch gregtech.machine.energy_hatch.input.tooltip=Energy Input for Multiblocks @@ -5140,12 +5180,22 @@ gregtech.machine.energy_hatch.input_4a.luv.name=LuV 4A Energy Hatch gregtech.machine.energy_hatch.input_4a.zpm.name=ZPM 4A Energy Hatch gregtech.machine.energy_hatch.input_4a.uv.name=UV 4A Energy Hatch gregtech.machine.energy_hatch.input_4a.uhv.name=UHV 4A Energy Hatch +gregtech.machine.energy_hatch.input_4a.uev.name=UEV 4A Energy Hatch +gregtech.machine.energy_hatch.input_4a.uiv.name=UIV 4A Energy Hatch +gregtech.machine.energy_hatch.input_4a.uxv.name=UXV 4A Energy Hatch +gregtech.machine.energy_hatch.input_4a.opv.name=OpV 4A Energy Hatch +gregtech.machine.energy_hatch.input_4a.max.name=MAX 4A Energy Hatch gregtech.machine.energy_hatch.input_16a.iv.name=IV 16A Energy Hatch gregtech.machine.energy_hatch.input_16a.luv.name=LuV 16A Energy Hatch gregtech.machine.energy_hatch.input_16a.zpm.name=ZPM 16A Energy Hatch gregtech.machine.energy_hatch.input_16a.uv.name=UV 16A Energy Hatch gregtech.machine.energy_hatch.input_16a.uhv.name=UHV 16A Energy Hatch +gregtech.machine.energy_hatch.input_16a.uev.name=UEV 16A Energy Hatch +gregtech.machine.energy_hatch.input_16a.uiv.name=UIV 16A Energy Hatch +gregtech.machine.energy_hatch.input_16a.uxv.name=UXV 16A Energy Hatch +gregtech.machine.energy_hatch.input_16a.opv.name=OpV 16A Energy Hatch +gregtech.machine.energy_hatch.input_16a.max.name=MAX 16A Energy Hatch gregtech.machine.substation_hatch.input.tooltip=Energy Input for the Power Substation @@ -5154,6 +5204,11 @@ gregtech.machine.substation_hatch.input_64a.luv.name=LuV 64A Substation Energy H gregtech.machine.substation_hatch.input_64a.zpm.name=ZPM 64A Substation Energy Hatch gregtech.machine.substation_hatch.input_64a.uv.name=UV 64A Substation Energy Hatch gregtech.machine.substation_hatch.input_64a.uhv.name=UHV 64A Substation Energy Hatch +gregtech.machine.substation_hatch.input_64a.uev.name=UEV 64A Substation Energy Hatch +gregtech.machine.substation_hatch.input_64a.uiv.name=UIV 64A Substation Energy Hatch +gregtech.machine.substation_hatch.input_64a.uxv.name=UXV 64A Substation Energy Hatch +gregtech.machine.substation_hatch.input_64a.opv.name=OpV 64A Substation Energy Hatch +gregtech.machine.substation_hatch.input_64a.max.name=MAX 64A Substation Energy Hatch gregtech.machine.energy_hatch.output.tooltip=Energy Output for Multiblocks @@ -5181,12 +5236,22 @@ gregtech.machine.energy_hatch.output_4a.luv.name=LuV 4A Dynamo Hatch gregtech.machine.energy_hatch.output_4a.zpm.name=ZPM 4A Dynamo Hatch gregtech.machine.energy_hatch.output_4a.uv.name=UV 4A Dynamo Hatch gregtech.machine.energy_hatch.output_4a.uhv.name=UHV 4A Dynamo Hatch +gregtech.machine.energy_hatch.output_4a.uev.name=UEV 4A Dynamo Hatch +gregtech.machine.energy_hatch.output_4a.uiv.name=UIV 4A Dynamo Hatch +gregtech.machine.energy_hatch.output_4a.uxv.name=UXV 4A Dynamo Hatch +gregtech.machine.energy_hatch.output_4a.opv.name=OpV 4A Dynamo Hatch +gregtech.machine.energy_hatch.output_4a.max.name=MAX 4A Dynamo Hatch gregtech.machine.energy_hatch.output_16a.iv.name=IV 16A Dynamo Hatch gregtech.machine.energy_hatch.output_16a.luv.name=LuV 16A Dynamo Hatch gregtech.machine.energy_hatch.output_16a.zpm.name=ZPM 16A Dynamo Hatch gregtech.machine.energy_hatch.output_16a.uv.name=UV 16A Dynamo Hatch gregtech.machine.energy_hatch.output_16a.uhv.name=UHV 16A Dynamo Hatch +gregtech.machine.energy_hatch.output_16a.uev.name=UEV 16A Dynamo Hatch +gregtech.machine.energy_hatch.output_16a.uiv.name=UIV 16A Dynamo Hatch +gregtech.machine.energy_hatch.output_16a.uxv.name=UXV 16A Dynamo Hatch +gregtech.machine.energy_hatch.output_16a.opv.name=OpV 16A Dynamo Hatch +gregtech.machine.energy_hatch.output_16a.max.name=MAX 16A Dynamo Hatch gregtech.machine.substation_hatch.output.tooltip=Energy Output for the Power Substation @@ -5195,6 +5260,11 @@ gregtech.machine.substation_hatch.output_64a.luv.name=LuV 64A Substation Dynamo gregtech.machine.substation_hatch.output_64a.zpm.name=ZPM 64A Substation Dynamo Hatch gregtech.machine.substation_hatch.output_64a.uv.name=UV 64A Substation Dynamo Hatch gregtech.machine.substation_hatch.output_64a.uhv.name=UHV 64A Substation Dynamo Hatch +gregtech.machine.substation_hatch.output_64a.uev.name=UEV 64A Substation Dynamo Hatch +gregtech.machine.substation_hatch.output_64a.uiv.name=UIV 64A Substation Dynamo Hatch +gregtech.machine.substation_hatch.output_64a.uxv.name=UXV 64A Substation Dynamo Hatch +gregtech.machine.substation_hatch.output_64a.opv.name=OpV 64A Substation Dynamo Hatch +gregtech.machine.substation_hatch.output_64a.max.name=MAX 64A Substation Dynamo Hatch gregtech.machine.rotor_holder.tooltip1=Rotor Holder for Multiblocks gregtech.machine.rotor_holder.tooltip2=Holds Rotor in place so it will not fly away diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uiv.png index 06323251106..9ea51add5e4 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uxv.png index 2ced6b9a2c6..4df4dddd9cf 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/conveyor.module.uxv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uiv.png index 325767a271c..d73b64d8aa4 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uxv.png index c698b0be170..a9d05b3ba54 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.motor.uxv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uiv.png index d5cea012ff3..70b1edddf91 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uxv.png index 53296aa3010..2ba45f126c4 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.piston.uxv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uiv.png index 8162fa247c9..50052712dd5 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uxv.png index 0e118952297..eeab9678a88 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/electric.pump.uxv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uiv.png index 0f7dba778e7..cf81fe66894 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uxv.png index d1cf0492679..88b8b259e88 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/emitter.uxv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uiv.png index e6159ba128e..87801dd3809 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uxv.png index fc2926fe30d..98075409d92 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/field.generator.uxv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uiv.png index 04b59430f91..1c07f760c0c 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uxv.png index b6d8e1effb3..420a17cce0d 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/robot.arm.uxv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uiv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uiv.png index 03589241faa..affa834cbfa 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uiv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uiv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uxv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uxv.png index 2971a364226..e06f44a606e 100644 Binary files a/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uxv.png and b/src/main/resources/assets/gregtech/textures/items/metaitems/sensor.uxv.png differ