aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java2
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java4
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java9
-rw-r--r--src/main/java/gregtech/api/enums/MetaTileEntityIDs.java2
-rw-r--r--src/main/java/gregtech/api/enums/Textures.java22
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MagHatch.java108
6 files changed, 143 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index e80bc7345b..979fd3d064 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -294,7 +294,7 @@ public class GregTech_API {
sBlockMetal9, sBlockGem1, sBlockGem2, sBlockGem3, sBlockReinforced;
public static Block sBlockGranites, sBlockConcretes, sBlockStones;
public static Block sBlockCasings1, sBlockCasings2, sBlockCasings3, sBlockCasings4, sBlockCasings5, sBlockCasings6,
- sBlockCasings8, sBlockCasings9, sSolenoidCoilCasings;
+ sBlockCasings8, sBlockCasings9, sBlockCasings10, sSolenoidCoilCasings;
public static Block sBlockLongDistancePipes;
public static Block sDroneRender;
/**
diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java
index f7314f6059..37caa7fc38 100644
--- a/src/main/java/gregtech/api/enums/GT_Values.java
+++ b/src/main/java/gregtech/api/enums/GT_Values.java
@@ -651,6 +651,10 @@ public class GT_Values {
public static final String AuthorSilverMoon = "Author: " + EnumChatFormatting.AQUA + "SilverMoon";
public static final String AuthorTheEpicGamer274 = "Author: " + "TheEpicGamer274";
public static final String AuthorFourIsTheNumber = "Author: " + EnumChatFormatting.LIGHT_PURPLE + "FourIsTheNumber";
+ public static final String authorBaps = "Author: " + EnumChatFormatting.GOLD
+ + "Ba"
+ + EnumChatFormatting.LIGHT_PURPLE
+ + "ps";
// 7.5F comes from GT_Tool_Turbine_Large#getBaseDamage() given huge turbines are the most efficient now.
public static double getMaxPlasmaTurbineEfficiencyFromMaterial(Materials material) {
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index 0aa953483f..d5ee302d6a 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -1451,6 +1451,15 @@ public enum ItemList implements IItemContainer {
Machine_Multi_LargeChemicalReactor,
+ Machine_Multi_IndustrialElectromagneticSeparator,
+ Casing_Electromagnetic_Separator,
+ Hatch_Electromagnet,
+ Electromagnet_Iron,
+ Electromagnet_Steel,
+ Electromagnet_Neodymium,
+ Electromagnet_Samarium,
+ Electromagnet_Tengam,
+
Machine_Multi_Canner,
Machine_LV_Miner,
diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
index 73e79e4452..d13891f813 100644
--- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
+++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
@@ -315,6 +315,8 @@ public enum MetaTileEntityIDs {
WIREMILL_IV(355),
PCB_FACTORY_CONTROLLER(356),
NANO_FORGE_CONTROLLER(357),
+ INDUSTRIAL_ELECTROMAGNETIC_SEPARATOR_CONTROLLER(358),
+ MAG_HATCH(359),
MULTI_CANNER_CONTROLLER(360),
CENTRIFUGE_LV(361),
CENTRIFUGE_MV(362),
diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java
index 05689c1148..8eccbb050d 100644
--- a/src/main/java/gregtech/api/enums/Textures.java
+++ b/src/main/java/gregtech/api/enums/Textures.java
@@ -313,6 +313,12 @@ public class Textures {
MACHINE_CASING_VENT,
MACHINE_CASING_VENT_T2,
+ OVERLAY_FRONT_EMS,
+ OVERLAY_FRONT_EMS_ACTIVE,
+ OVERLAY_FRONT_EMS_ACTIVE_GLOW,
+ OVERLAY_FRONT_EMS_GLOW,
+ MACHINE_CASING_EMS,
+
OVERLAY_FRONT_MULTI_CANNER,
OVERLAY_FRONT_MULTI_CANNER_ACTIVE,
OVERLAY_FRONT_MULTI_CANNER_ACTIVE_GLOW,
@@ -499,6 +505,9 @@ public class Textures {
ITEM_OUT_SIGN,
OVERLAY_MUFFLER,
+ OVERLAY_EMS_HOUSING,
+ OVERLAY_EMS_HOUSING_GLOW,
+
OVERLAY_CONTROLLER,
OVERLAY_ACTIVITYDETECTOR,
OVERLAY_ACTIVITYDETECTOR_GLOW,
@@ -1672,11 +1681,17 @@ public class Textures {
public static final ITexture[] CASING_BLOCKS = new ITexture[128]; // original variable still limited to 128
public static ITexture[][] MACHINE_CASINGS = new ITexture[15][17];
+ // spotless:off
/**
- * by Default pages are null page 0: 0-63 GT casing 1-4, 64-127 GT++ page 1: 0-15 GT casing 5, 22-26 GS dyson
- * swarm, 48-57 GT casing 8, 63 EMT, 80-95 GT reinforced blocks, 96 casing 2 meta 6, 97 error casing page 8:
- * 0-111 TecTech, 112-127 GT casing 6 page 12: 0-127 GlodBlock page 42: 0-126 glee8e, 127 KekzTech LSC base
+ * by Default pages are null
+ * page 0: 0-63 GT casing 1-4, 64-127 GT++
+ * page 1: 0-15 GT casing 5, 22-26 GS dyson swarm, 48-57 GT casing 8, 63 EMT, 80-95 GT reinforced blocks, 96 casing 2 meta 6, 97 error casing
+ * page 8: 0-111 TecTech, 112-127 GT casing 6
+ * page 12: 0-127 GlodBlock
+ * page 16: 0-15 GT glass 1, 16-31 GT casing 9, 32-47 GT glass 2, 48-63 GT casing 10
+ * page 42: 0-126 glee8e, 127 KekzTech LSC base
*/
+ // spotless:on
public static ITexture[][] casingTexturePages = new ITexture[128][]; // page holder so we don't make an short
// long array
@@ -1694,6 +1709,7 @@ public class Textures {
// adds some known pages, modders also can do it...
GT_Utility.addTexturePage((byte) 1);
GT_Utility.addTexturePage((byte) 8);
+ GT_Utility.addTexturePage((byte) 16);
setCasingTextureForId(ERROR_TEXTURE_INDEX, ERROR_RENDERING[0]);
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MagHatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MagHatch.java
new file mode 100644
index 0000000000..9000d63ba5
--- /dev/null
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MagHatch.java
@@ -0,0 +1,108 @@
+package gregtech.api.metatileentity.implementations;
+
+import static gregtech.api.enums.GT_Values.AuthorFourIsTheNumber;
+import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_EMS_HOUSING;
+import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_EMS_HOUSING_GLOW;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import org.apache.commons.lang3.ArrayUtils;
+
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
+import com.gtnewhorizons.modularui.common.widget.SlotWidget;
+
+import gregtech.api.gui.modularui.GT_UIInfos;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.render.TextureFactory;
+import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IndustrialElectromagneticSeparator;
+
+public class GT_MetaTileEntity_MagHatch extends GT_MetaTileEntity_Hatch {
+
+ public GT_MetaTileEntity_MagHatch(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional, 5, 1, "Holds electromagnet for the Magnetic Flux Exhibitor");
+ }
+
+ public GT_MetaTileEntity_MagHatch(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, 1, aDescription[0], aTextures);
+ }
+
+ @Override
+ public boolean isSimpleMachine() {
+ return true;
+ }
+
+ @Override
+ public boolean isFacingValid(ForgeDirection facing) {
+ return true;
+ }
+
+ @Override
+ public String[] getDescription() {
+ return ArrayUtils.addAll(this.mDescriptionArray, AuthorFourIsTheNumber);
+ }
+
+ @Override
+ public boolean useModularUI() {
+ return true;
+ }
+
+ @Override
+ public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
+ builder.widget(
+ new SlotWidget(inventoryHandler, 0)
+ .setFilter(GT_MetaTileEntity_IndustrialElectromagneticSeparator::isValidElectromagnet)
+ .setAccess(true, true)
+ .setPos(79, 34));
+ }
+
+ @Override
+ public boolean isAccessAllowed(EntityPlayer aPlayer) {
+ return true;
+ }
+
+ @Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
+ GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
+ return true;
+ }
+
+ @Override
+ public ITexture[] getTexturesActive(ITexture aBaseTexture) {
+ return new ITexture[] { aBaseTexture, TextureFactory.builder()
+ .addIcon(OVERLAY_EMS_HOUSING)
+ .extFacing()
+ .build(),
+ TextureFactory.builder()
+ .addIcon(OVERLAY_EMS_HOUSING_GLOW)
+ .extFacing()
+ .glow()
+ .build() };
+ }
+
+ @Override
+ public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
+ return new ITexture[] { aBaseTexture, TextureFactory.builder()
+ .addIcon(OVERLAY_EMS_HOUSING)
+ .extFacing()
+ .build(),
+ TextureFactory.builder()
+ .addIcon(OVERLAY_EMS_HOUSING_GLOW)
+ .extFacing()
+ .glow()
+ .build() };
+ }
+
+ @Override
+ public int getInventoryStackLimit() {
+ return 1;
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_MagHatch(mName, mTier, mDescriptionArray, mTextures);
+ }
+}