diff options
Diffstat (limited to 'src/main/java/gregtech/api')
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); + } +} |