Skip to content
924 changes: 37 additions & 887 deletions src/main/java/gregtech/common/metatileentities/MetaTileEntities.java

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,14 @@
import gregtech.client.renderer.texture.Textures;
import gregtech.client.renderer.texture.cube.SimpleOverlayRenderer;
import gregtech.client.utils.PipelineUtil;
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;
Expand Down Expand Up @@ -284,20 +281,4 @@ public void addToolUsages(ItemStack stack, @Nullable World world, List<String> t
tooltip.add(I18n.format("gregtech.tool_action.soft_mallet.toggle_mode"));
super.addToolUsages(stack, world, tooltip, advanced);
}

@Override
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> subItems) {
// fix JEI ordering
if (this == MetaTileEntities.TRANSFORMER[0]) {
for (var transformer : MetaTileEntities.TRANSFORMER) {
if (transformer != null) subItems.add(transformer.getStackForm());
}
for (var transformer : MetaTileEntities.HI_AMP_TRANSFORMER) {
if (transformer != null) subItems.add(transformer.getStackForm());
}
for (var transformer : MetaTileEntities.POWER_TRANSFORMER) {
if (transformer != null) subItems.add(transformer.getStackForm());
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,9 @@
import gregtech.api.metatileentity.multiblock.IMultiblockAbilityPart;
import gregtech.api.metatileentity.multiblock.MultiblockAbility;
import gregtech.client.renderer.texture.Textures;
import gregtech.common.ConfigHolder;
import gregtech.common.metatileentities.MetaTileEntities;

import net.minecraft.client.resources.I18n;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Tuple;
import net.minecraft.world.World;
Expand Down Expand Up @@ -114,13 +110,4 @@ public void registerAbilities(@NotNull AbilityInstances abilityInstances) {
public boolean canPartShare() {
return false;
}

@Override
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> subItems) {
if (ConfigHolder.machines.enableMaintenance) {
super.getSubItems(creativeTab, subItems);
// keeps things in order despite IDs being out of order, due to the Cleaning Hatch being added later
subItems.add(MetaTileEntities.CLEANING_MAINTENANCE_HATCH.getStackForm());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@
import gregtech.client.renderer.texture.Textures;

import net.minecraft.client.resources.I18n;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
Expand Down Expand Up @@ -85,11 +83,6 @@ public void renderMetaTileEntity(CCRenderState renderState, Matrix4 translation,
Textures.MAINTENANCE_OVERLAY_CLEANING.renderSided(getFrontFacing(), renderState, translation, pipeline);
}

@Override
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> subItems) {
// does nothing here so the Auto Maintenance Hatch can put this right after it
}

@Override
public void addInformation(ItemStack stack, @Nullable World player, List<String> tooltip, boolean advanced) {
super.addInformation(stack, player, tooltip, advanced);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,12 @@
import gregtech.client.renderer.texture.Textures;
import gregtech.client.renderer.texture.cube.SimpleOverlayRenderer;
import gregtech.client.utils.PipelineUtil;
import gregtech.common.metatileentities.MetaTileEntities;

import net.minecraft.client.resources.I18n;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.PacketBuffer;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
Expand Down Expand Up @@ -175,42 +172,6 @@ public boolean canRenderFrontFaceX() {
return isExportHatch;
}

@Override
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> subItems) {
// override here is gross, but keeps things in order despite
// 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());
}
for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.ENERGY_OUTPUT_HATCH) {
if (hatch != null) subItems.add(hatch.getStackForm());
}
for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.ENERGY_INPUT_HATCH_4A) {
if (hatch != null) subItems.add(hatch.getStackForm());
}
for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.ENERGY_INPUT_HATCH_16A) {
if (hatch != null) subItems.add(hatch.getStackForm());
}
for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.ENERGY_OUTPUT_HATCH_4A) {
if (hatch != null) subItems.add(hatch.getStackForm());
}
for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.ENERGY_OUTPUT_HATCH_16A) {
if (hatch != null) subItems.add(hatch.getStackForm());
}
for (MetaTileEntityEnergyHatch hatch : MetaTileEntities.SUBSTATION_ENERGY_INPUT_HATCH) {
if (hatch != null) subItems.add(hatch.getStackForm());
}
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
public void doExplosion(float explosionPower) {
if (getController() != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,14 @@
import gregtech.api.mui.widget.GhostCircuitSlotWidget;
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;
Expand Down Expand Up @@ -410,21 +407,6 @@ private void setLocked(boolean locked) {
fluidTank.onContentsChanged();
}

@Override
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> 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<FluidStack> {

public HatchFluidTank(int capacity, MetaTileEntity entityToNotify, boolean isExport) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,14 @@
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;
Expand Down Expand Up @@ -458,21 +455,4 @@ public void addToolUsages(ItemStack stack, @Nullable World world, List<String> t
tooltip.add(I18n.format("gregtech.tool_action.wrench.set_facing"));
super.addToolUsages(stack, world, tooltip, advanced);
}

@Override
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> 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);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,13 @@
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;
Expand Down Expand Up @@ -231,27 +228,4 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager)
.coverChildren())
.bindPlayerInventory();
}

@Override
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> 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);
}
}
}
9 changes: 9 additions & 0 deletions src/main/java/gregtech/datafix/GTDataFixers.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

import gregtech.api.GTValues;
import gregtech.api.GregTechAPI;
import gregtech.datafix.impl.V2PostMTEReallocFixer;
import gregtech.datafix.migration.impl.MigrateMTEBlockTE;
import gregtech.datafix.migration.impl.MigrateMTEItems;
import gregtech.datafix.migration.lib.MTEDataMigrator;
import gregtech.datafix.migration.lib.MTERegistriesMigrator;
import gregtech.datafix.walker.WalkItemStackLike;

Expand All @@ -19,6 +21,9 @@

import java.util.stream.IntStream;

import static gregtech.api.GTValues.*;
import static gregtech.common.metatileentities.MetaTileEntities.*;

public final class GTDataFixers {

public static final Logger LOGGER = LogManager.getLogger("GregTech DataFixers");
Expand Down Expand Up @@ -58,6 +63,10 @@ private static void registerFixes(@NotNull GTDataVersion version, @NotNull ModFi
fixer.registerFix(GTFixType.ITEM_STACK_LIKE, new MigrateMTEItems(migrator));
fixer.registerFix(FixTypes.CHUNK, new MigrateMTEBlockTE(migrator));
}
case V2_POST_ID_REALLOC -> {
MTEDataMigrator dataMigrator = new MTEDataMigrator(fixer, version.ordinal());
V2PostMTEReallocFixer.apply(dataMigrator);
}
default -> {}
}
}
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/gregtech/datafix/GTDataVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@ public enum GTDataVersion {
/**
* Version of data after multiple MTE registries were possible
*/
V1_POST_MTE;
V1_POST_MTE,
/**
* Version of data after MTE IDs were reallocated
*/
V2_POST_ID_REALLOC,
;

static final @NotNull GTDataVersion @NotNull [] VALUES = values();

Expand Down
Loading
Loading