aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
authorMuXiu1997 <49554020+MuXiu1997@users.noreply.github.com>2022-03-30 01:46:23 +0800
committerGitHub <noreply@github.com>2022-03-29 19:46:23 +0200
commitfe1391877c7598b68bb338daad2e0ed8ddd30310 (patch)
treeb0228559984a74a841affa1238b09a15079e05df /src/main/java/gregtech/api/metatileentity/implementations
parent61de8f36b9fda100c3ab6d6e41d1fac7aa297076 (diff)
downloadGT5-Unofficial-fe1391877c7598b68bb338daad2e0ed8ddd30310.tar.gz
GT5-Unofficial-fe1391877c7598b68bb338daad2e0ed8ddd30310.tar.bz2
GT5-Unofficial-fe1391877c7598b68bb338daad2e0ed8ddd30310.zip
Refactor #987 (#997)
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java36
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_TooltipMultiBlockBase.java53
2 files changed, 54 insertions, 35 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
index e2574e60dd..8a7c1c0e49 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
@@ -10,17 +10,12 @@ import com.gtnewhorizon.structurelib.alignment.enumerable.Flip;
import com.gtnewhorizon.structurelib.alignment.enumerable.Rotation;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import cpw.mods.fml.common.network.NetworkRegistry;
-import gregtech.api.GregTech_API;
-import gregtech.api.interfaces.ISecondaryDescribable;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
-import org.lwjgl.input.Keyboard;
-
-import java.util.concurrent.atomic.AtomicReferenceArray;
/**
* Enhanced multiblock base class, featuring following improvement over {@link GT_MetaTileEntity_MultiBlockBase}
@@ -30,8 +25,7 @@ import java.util.concurrent.atomic.AtomicReferenceArray;
*
* @param <T> type of this
*/
-public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase<T extends GT_MetaTileEntity_EnhancedMultiBlockBase<T>> extends GT_MetaTileEntity_MultiBlockBase implements IAlignment, IConstructable, ISecondaryDescribable {
- private static final AtomicReferenceArray<GT_Multiblock_Tooltip_Builder> tooltips = new AtomicReferenceArray<>(GregTech_API.METATILEENTITIES.length);
+public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase<T extends GT_MetaTileEntity_EnhancedMultiBlockBase<T>> extends GT_MetaTileEntity_TooltipMultiBlockBase implements IAlignment, IConstructable {
private ExtendedFacing mExtendedFacing = ExtendedFacing.DEFAULT;
private IAlignmentLimits mLimits = getInitialAlignmentLimits();
@@ -110,34 +104,6 @@ public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase<T extends GT_Meta
protected abstract GT_Multiblock_Tooltip_Builder createTooltip();
- @Override
- public String[] getDescription() {
- return getCurrentDescription();
- }
-
- @Override
- public boolean isDisplaySecondaryDescription() {
- return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT);
- }
-
- public String[] getPrimaryDescription() {
- return getTooltip().getInformation();
- }
-
- public String[] getSecondaryDescription() {
- return getTooltip().getStructureInformation();
- }
-
- protected GT_Multiblock_Tooltip_Builder getTooltip() {
- int tId = getBaseMetaTileEntity().getMetaTileID();
- GT_Multiblock_Tooltip_Builder tooltip = tooltips.get(tId);
- if (tooltip == null) {
- tooltip = createTooltip();
- tooltips.set(tId, tooltip);
- }
- return tooltip;
- }
-
@Override
public String[] getStructureDescription(ItemStack stackSize) {
return getTooltip().getStructureHint();
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_TooltipMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_TooltipMultiBlockBase.java
new file mode 100644
index 0000000000..f77875db02
--- /dev/null
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_TooltipMultiBlockBase.java
@@ -0,0 +1,53 @@
+package gregtech.api.metatileentity.implementations;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.ISecondaryDescribable;
+import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import org.lwjgl.input.Keyboard;
+
+import java.util.concurrent.atomic.AtomicReferenceArray;
+
+/**
+ * A multiblock with tooltip {@link GT_Multiblock_Tooltip_Builder}
+ */
+public abstract class GT_MetaTileEntity_TooltipMultiBlockBase extends GT_MetaTileEntity_MultiBlockBase implements ISecondaryDescribable {
+ private static final AtomicReferenceArray<GT_Multiblock_Tooltip_Builder> tooltips = new AtomicReferenceArray<>(GregTech_API.METATILEENTITIES.length);
+
+ public GT_MetaTileEntity_TooltipMultiBlockBase(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GT_MetaTileEntity_TooltipMultiBlockBase(String aName) {
+ super(aName);
+ }
+
+ protected GT_Multiblock_Tooltip_Builder getTooltip() {
+ int tId = getBaseMetaTileEntity().getMetaTileID();
+ GT_Multiblock_Tooltip_Builder tooltip = tooltips.get(tId);
+ if (tooltip == null) {
+ tooltip = createTooltip();
+ tooltips.set(tId, tooltip);
+ }
+ return tooltip;
+ }
+
+ protected abstract GT_Multiblock_Tooltip_Builder createTooltip();
+
+ @Override
+ public String[] getDescription() {
+ return getCurrentDescription();
+ }
+
+ @Override
+ public boolean isDisplaySecondaryDescription() {
+ return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT);
+ }
+
+ public String[] getPrimaryDescription() {
+ return getTooltip().getInformation();
+ }
+
+ public String[] getSecondaryDescription() {
+ return getTooltip().getStructureInformation();
+ }
+}