diff options
Diffstat (limited to 'src/main/java/gregtech/api')
31 files changed, 401 insertions, 45 deletions
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 3616456957..1bb38f7621 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -2094,9 +2094,33 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { initMaterialProperties(); //No more material addition or manipulation should be done past this point! MATERIALS_ARRAY = MATERIALS_MAP.values().toArray(new Materials[0]); //Generate standard object array. This is a lot faster to loop over. VALUES = Arrays.asList(MATERIALS_ARRAY); - if (!Loader.isModLoaded("dreamcraft")) - if (!GT_Mod.gregtechproxy.mEnableAllComponents) - OrePrefixes.initMaterialComponents(); + if (!Loader.isModLoaded("dreamcraft") && !GT_Mod.gregtechproxy.mEnableAllComponents) + OrePrefixes.initMaterialComponents(); + else { + OrePrefixes.ingotHot.mDisabledItems.addAll( + Arrays.stream(Materials.values()).parallel() + .filter(OrePrefixes.ingotHot::doGenerateItem) + .filter(m -> m.mBlastFurnaceTemp < 1750 && m.mAutoGenerateBlastFurnaceRecipes) + .collect(Collectors.toSet()) + ); + OrePrefixes.ingotHot.disableComponent(Materials.Reinforced); + OrePrefixes.ingotHot.disableComponent(Materials.ConductiveIron); + OrePrefixes.ingotHot.disableComponent(Materials.FierySteel); + OrePrefixes.ingotHot.disableComponent(Materials.ElectricalSteel); + OrePrefixes.ingotHot.disableComponent(Materials.EndSteel); + OrePrefixes.ingotHot.disableComponent(Materials.Soularium); + OrePrefixes.ingotHot.disableComponent(Materials.EnergeticSilver); + OrePrefixes.ingotHot.disableComponent(Materials.Cheese); + OrePrefixes.ingotHot.disableComponent(Materials.Calcium); + OrePrefixes.ingotHot.disableComponent(Materials.Flerovium); + OrePrefixes.ingotHot.disableComponent(Materials.Cobalt); + OrePrefixes.ingotHot.disableComponent(Materials.RedstoneAlloy); + OrePrefixes.ingotHot.disableComponent(Materials.Ardite); + OrePrefixes.ingotHot.disableComponent(Materials.DarkSteel); + OrePrefixes.ingotHot.disableComponent(Materials.EnergeticAlloy); + OrePrefixes.ingotHot.disableComponent(Materials.PulsatingIron); + OrePrefixes.ingotHot.disableComponent(Materials.CrudeSteel); + } fillGeneratedMaterialsMap(); diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java index ed05fc45dc..2e11e79cfb 100644 --- a/src/main/java/gregtech/api/enums/TextureSet.java +++ b/src/main/java/gregtech/api/enums/TextureSet.java @@ -47,8 +47,8 @@ public class TextureSet { public final IIconContainer[] mTextures = new IIconContainer[128]; public final String mSetName; - private final static String aTextMatIconDir = "materialicons/"; - private final static String aTextVoidDir = "/void"; + private static final String aTextMatIconDir = "materialicons/"; + private static final String aTextVoidDir = "/void"; public TextureSet(String aSetName) { mSetName = aSetName; diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index 8cb3547768..b0f7f7a337 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -323,18 +323,25 @@ public class Textures { MACHINE_COIL_TRINIUM, BOILER_SOLAR, BOILER_FRONT, + BOILER_FRONT_GLOW, BOILER_FRONT_ACTIVE, BOILER_FRONT_ACTIVE_GLOW, BOILER_LAVA_FRONT, + BOILER_LAVA_FRONT_GLOW, BOILER_LAVA_FRONT_ACTIVE, BOILER_LAVA_FRONT_ACTIVE_GLOW, + NAQUADAH_REACTOR_SOLID_BACK, + NAQUADAH_REACTOR_SOLID_BACK_GLOW, NAQUADAH_REACTOR_SOLID_FRONT, + NAQUADAH_REACTOR_SOLID_FRONT_GLOW, NAQUADAH_REACTOR_SOLID_SIDE, + NAQUADAH_REACTOR_SOLID_SIDE_GLOW, NAQUADAH_REACTOR_SOLID_BOTTOM, + NAQUADAH_REACTOR_SOLID_BOTTOM_GLOW, NAQUADAH_REACTOR_SOLID_TOP, - + NAQUADAH_REACTOR_SOLID_TOP_GLOW, NAQUADAH_REACTOR_SOLID_BACK_ACTIVE, NAQUADAH_REACTOR_SOLID_BACK_ACTIVE_GLOW, NAQUADAH_REACTOR_SOLID_FRONT_ACTIVE, @@ -347,11 +354,15 @@ public class Textures { NAQUADAH_REACTOR_SOLID_TOP_ACTIVE_GLOW, NAQUADAH_REACTOR_FLUID_BACK, + NAQUADAH_REACTOR_FLUID_BACK_GLOW, NAQUADAH_REACTOR_FLUID_FRONT, + NAQUADAH_REACTOR_FLUID_FRONT_GLOW, NAQUADAH_REACTOR_FLUID_SIDE, + NAQUADAH_REACTOR_FLUID_SIDE_GLOW, NAQUADAH_REACTOR_FLUID_BOTTOM, + NAQUADAH_REACTOR_FLUID_BOTTOM_GLOW, NAQUADAH_REACTOR_FLUID_TOP, - + NAQUADAH_REACTOR_FLUID_TOP_GLOW, NAQUADAH_REACTOR_FLUID_BACK_ACTIVE, NAQUADAH_REACTOR_FLUID_BACK_ACTIVE_GLOW, NAQUADAH_REACTOR_FLUID_FRONT_ACTIVE, @@ -364,39 +375,68 @@ public class Textures { NAQUADAH_REACTOR_FLUID_TOP_ACTIVE_GLOW, DIESEL_GENERATOR_BACK, + DIESEL_GENERATOR_BACK_GLOW, DIESEL_GENERATOR_FRONT, + DIESEL_GENERATOR_FRONT_GLOW, DIESEL_GENERATOR_SIDE, + DIESEL_GENERATOR_SIDE_GLOW, DIESEL_GENERATOR_BOTTOM, + DIESEL_GENERATOR_BOTTOM_GLOW, DIESEL_GENERATOR_TOP, + DIESEL_GENERATOR_TOP_GLOW, DIESEL_GENERATOR_BACK_ACTIVE, + DIESEL_GENERATOR_BACK_ACTIVE_GLOW, DIESEL_GENERATOR_FRONT_ACTIVE, - + DIESEL_GENERATOR_FRONT_ACTIVE_GLOW, DIESEL_GENERATOR_SIDE_ACTIVE, + DIESEL_GENERATOR_SIDE_ACTIVE_GLOW, DIESEL_GENERATOR_BOTTOM_ACTIVE, + DIESEL_GENERATOR_BOTTOM_ACTIVE_GLOW, DIESEL_GENERATOR_TOP_ACTIVE, + DIESEL_GENERATOR_TOP_ACTIVE_GLOW, + GAS_TURBINE_BACK, + GAS_TURBINE_BACK_GLOW, GAS_TURBINE_FRONT, + GAS_TURBINE_FRONT_GLOW, GAS_TURBINE_SIDE, + GAS_TURBINE_SIDE_GLOW, GAS_TURBINE_BOTTOM, - + GAS_TURBINE_BOTTOM_GLOW, GAS_TURBINE_TOP, + GAS_TURBINE_TOP_GLOW, GAS_TURBINE_BACK_ACTIVE, + GAS_TURBINE_BACK_ACTIVE_GLOW, GAS_TURBINE_FRONT_ACTIVE, + GAS_TURBINE_FRONT_ACTIVE_GLOW, GAS_TURBINE_SIDE_ACTIVE, + GAS_TURBINE_SIDE_ACTIVE_GLOW, GAS_TURBINE_BOTTOM_ACTIVE, + GAS_TURBINE_BOTTOM_ACTIVE_GLOW, GAS_TURBINE_TOP_ACTIVE, - STEAM_TURBINE_BACK, + GAS_TURBINE_TOP_ACTIVE_GLOW, + STEAM_TURBINE_BACK, + STEAM_TURBINE_BACK_GLOW, STEAM_TURBINE_FRONT, + STEAM_TURBINE_FRONT_GLOW, STEAM_TURBINE_SIDE, + STEAM_TURBINE_SIDE_GLOW, STEAM_TURBINE_BOTTOM, + STEAM_TURBINE_BOTTOM_GLOW, STEAM_TURBINE_TOP, + STEAM_TURBINE_TOP_GLOW, STEAM_TURBINE_BACK_ACTIVE, + STEAM_TURBINE_BACK_ACTIVE_GLOW, STEAM_TURBINE_FRONT_ACTIVE, + STEAM_TURBINE_FRONT_ACTIVE_GLOW, STEAM_TURBINE_SIDE_ACTIVE, - + STEAM_TURBINE_SIDE_ACTIVE_GLOW, STEAM_TURBINE_BOTTOM_ACTIVE, + STEAM_TURBINE_BOTTOM_ACTIVE_GLOW, STEAM_TURBINE_TOP_ACTIVE, + STEAM_TURBINE_TOP_ACTIVE_GLOW, + BLOCK_BRONZEPREIN, BLOCK_STEELPREIN, BLOCK_TITANIUMPREIN, @@ -406,10 +446,10 @@ public class Textures { BLOCK_IRREIN, BLOCK_PLASCRETE, BLOCK_TSREIN, + OVERLAY_LOCKER, OVERLAY_LOCKER_000, OVERLAY_LOCKER_001, - OVERLAY_LOCKER_002, OVERLAY_LOCKER_003, OVERLAY_LOCKER_004, @@ -419,22 +459,23 @@ public class Textures { OVERLAY_LOCKER_008, OVERLAY_LOCKER_009, OVERLAY_LOCKER_010, - OVERLAY_LOCKER_011, OVERLAY_LOCKER_012, OVERLAY_LOCKER_013, + OVERLAY_LENS, OVERLAY_PIPE, OVERLAY_PIPE_IN, OVERLAY_PIPE_OUT, OVERLAY_MUFFLER, + OVERLAY_CONTROLLER, OVERLAY_ACTIVITYDETECTOR, OVERLAY_ACTIVITYDETECTOR_GLOW, - OVERLAY_ENERGYDETECTOR, OVERLAY_FLUIDDETECTOR, OVERLAY_ITEMDETECTOR, + OVERLAY_FUSION1, OVERLAY_FUSION1_GLOW, OVERLAY_FUSION2, @@ -487,90 +528,151 @@ public class Textures { OVERLAY_FRONT_IMPLOSION_COMPRESSOR_ACTIVE_GLOW, OVERLAY_TOP_POTIONBREWER, + OVERLAY_TOP_POTIONBREWER_GLOW, OVERLAY_TOP_REPLICATOR, + OVERLAY_TOP_REPLICATOR_GLOW, OVERLAY_TOP_MASSFAB, + OVERLAY_TOP_MASSFAB_GLOW, OVERLAY_TOP_STEAM_HAMMER, + OVERLAY_TOP_STEAM_HAMMER_GLOW, OVERLAY_TOP_STEAM_FURNACE, + OVERLAY_TOP_STEAM_FURNACE_GLOW, OVERLAY_TOP_STEAM_ALLOY_SMELTER, + OVERLAY_TOP_STEAM_ALLOY_SMELTER_GLOW, OVERLAY_TOP_STEAM_MACERATOR, + OVERLAY_TOP_STEAM_MACERATOR_GLOW, OVERLAY_TOP_STEAM_COMPRESSOR, + OVERLAY_TOP_STEAM_COMPRESSOR_GLOW, OVERLAY_TOP_STEAM_EXTRACTOR, + OVERLAY_TOP_STEAM_EXTRACTOR_GLOW, OVERLAY_TOP_DISASSEMBLER, + OVERLAY_TOP_DISASSEMBLER_GLOW, OVERLAY_TOP_BOXINATOR, + OVERLAY_TOP_BOXINATOR_GLOW, OVERLAY_TOP_ROCK_BREAKER, + OVERLAY_TOP_ROCK_BREAKER_GLOW, OVERLAY_TOP_SCANNER, + OVERLAY_TOP_SCANNER_GLOW, OVERLAY_FRONT_POTIONBREWER, + OVERLAY_FRONT_POTIONBREWER_GLOW, OVERLAY_FRONT_REPLICATOR, + OVERLAY_FRONT_REPLICATOR_GLOW, OVERLAY_FRONT_MASSFAB, + OVERLAY_FRONT_MASSFAB_GLOW, OVERLAY_FRONT_STEAM_HAMMER, + OVERLAY_FRONT_STEAM_HAMMER_GLOW, OVERLAY_FRONT_STEAM_HAMMER_ACTIVE, OVERLAY_FRONT_STEAM_HAMMER_ACTIVE_GLOW, OVERLAY_FRONT_STEAM_FURNACE, + OVERLAY_FRONT_STEAM_FURNACE_GLOW, OVERLAY_FRONT_STEAM_ALLOY_SMELTER, + OVERLAY_FRONT_STEAM_ALLOY_SMELTER_GLOW, OVERLAY_FRONT_STEAM_MACERATOR, + OVERLAY_FRONT_STEAM_MACERATOR_GLOW, OVERLAY_FRONT_STEAM_MACERATOR_ACTIVE, OVERLAY_FRONT_STEAM_MACERATOR_ACTIVE_GLOW, OVERLAY_FRONT_STEAM_COMPRESSOR, + OVERLAY_FRONT_STEAM_COMPRESSOR_GLOW, OVERLAY_FRONT_STEAM_EXTRACTOR, + OVERLAY_FRONT_STEAM_EXTRACTOR_GLOW, OVERLAY_FRONT_DISASSEMBLER, OVERLAY_FRONT_DISASSEMBLER_GLOW, OVERLAY_FRONT_DISASSEMBLER_ACTIVE, OVERLAY_FRONT_DISASSEMBLER_ACTIVE_GLOW, OVERLAY_FRONT_BOXINATOR, + OVERLAY_FRONT_BOXINATOR_GLOW, OVERLAY_FRONT_ROCK_BREAKER, + OVERLAY_FRONT_ROCK_BREAKER_GLOW, OVERLAY_FRONT_SCANNER, OVERLAY_FRONT_SCANNER_GLOW, OVERLAY_BOTTOM_POTIONBREWER, + OVERLAY_BOTTOM_POTIONBREWER_GLOW, OVERLAY_BOTTOM_REPLICATOR, + OVERLAY_BOTTOM_REPLICATOR_GLOW, OVERLAY_BOTTOM_MASSFAB, + OVERLAY_BOTTOM_MASSFAB_GLOW, OVERLAY_BOTTOM_STEAM_HAMMER, + OVERLAY_BOTTOM_STEAM_HAMMER_GLOW, OVERLAY_BOTTOM_STEAM_FURNACE, + OVERLAY_BOTTOM_STEAM_FURNACE_GLOW, OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER, + OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_GLOW, OVERLAY_BOTTOM_STEAM_MACERATOR, + OVERLAY_BOTTOM_STEAM_MACERATOR_GLOW, OVERLAY_BOTTOM_STEAM_COMPRESSOR, + OVERLAY_BOTTOM_STEAM_COMPRESSOR_GLOW, OVERLAY_BOTTOM_STEAM_EXTRACTOR, + OVERLAY_BOTTOM_STEAM_EXTRACTOR_GLOW, OVERLAY_BOTTOM_DISASSEMBLER, + OVERLAY_BOTTOM_DISASSEMBLER_GLOW, OVERLAY_BOTTOM_BOXINATOR, + OVERLAY_BOTTOM_BOXINATOR_GLOW, OVERLAY_BOTTOM_ROCK_BREAKER, + OVERLAY_BOTTOM_ROCK_BREAKER_GLOW, OVERLAY_BOTTOM_SCANNER, + OVERLAY_BOTTOM_SCANNER_GLOW, OVERLAY_SIDE_POTIONBREWER, + OVERLAY_SIDE_POTIONBREWER_GLOW, OVERLAY_SIDE_REPLICATOR, + OVERLAY_SIDE_REPLICATOR_GLOW, OVERLAY_SIDE_MASSFAB, + OVERLAY_SIDE_MASSFAB_GLOW, OVERLAY_SIDE_STEAM_HAMMER, + OVERLAY_SIDE_STEAM_HAMMER_GLOW, OVERLAY_SIDE_STEAM_FURNACE, + OVERLAY_SIDE_STEAM_FURNACE_GLOW, OVERLAY_SIDE_STEAM_ALLOY_SMELTER, + OVERLAY_SIDE_STEAM_ALLOY_SMELTER_GLOW, OVERLAY_SIDE_STEAM_MACERATOR, + OVERLAY_SIDE_STEAM_MACERATOR_GLOW, OVERLAY_SIDE_STEAM_COMPRESSOR, + OVERLAY_SIDE_STEAM_COMPRESSOR_GLOW, OVERLAY_SIDE_STEAM_EXTRACTOR, + OVERLAY_SIDE_STEAM_EXTRACTOR_GLOW, OVERLAY_SIDE_DISASSEMBLER, + OVERLAY_SIDE_DISASSEMBLER_GLOW, OVERLAY_SIDE_BOXINATOR, + OVERLAY_SIDE_BOXINATOR_GLOW, OVERLAY_SIDE_ROCK_BREAKER, + OVERLAY_SIDE_ROCK_BREAKER_GLOW, OVERLAY_SIDE_SCANNER, + OVERLAY_SIDE_SCANNER_GLOW, OVERLAY_TOP_POTIONBREWER_ACTIVE, + OVERLAY_TOP_POTIONBREWER_ACTIVE_GLOW, OVERLAY_TOP_REPLICATOR_ACTIVE, + OVERLAY_TOP_REPLICATOR_ACTIVE_GLOW, OVERLAY_TOP_MASSFAB_ACTIVE, + OVERLAY_TOP_MASSFAB_ACTIVE_GLOW, OVERLAY_TOP_STEAM_HAMMER_ACTIVE, + OVERLAY_TOP_STEAM_HAMMER_ACTIVE_GLOW, OVERLAY_TOP_STEAM_FURNACE_ACTIVE, + OVERLAY_TOP_STEAM_FURNACE_ACTIVE_GLOW, OVERLAY_TOP_STEAM_ALLOY_SMELTER_ACTIVE, + OVERLAY_TOP_STEAM_ALLOY_SMELTER_ACTIVE_GLOW, OVERLAY_TOP_STEAM_MACERATOR_ACTIVE, OVERLAY_TOP_STEAM_MACERATOR_ACTIVE_GLOW, OVERLAY_TOP_STEAM_COMPRESSOR_ACTIVE, + OVERLAY_TOP_STEAM_COMPRESSOR_ACTIVE_GLOW, OVERLAY_TOP_STEAM_EXTRACTOR_ACTIVE, + OVERLAY_TOP_STEAM_EXTRACTOR_ACTIVE_GLOW, OVERLAY_TOP_DISASSEMBLER_ACTIVE, OVERLAY_TOP_DISASSEMBLER_ACTIVE_GLOW, OVERLAY_TOP_BOXINATOR_ACTIVE, + OVERLAY_TOP_BOXINATOR_ACTIVE_GLOW, OVERLAY_TOP_ROCK_BREAKER_ACTIVE, + OVERLAY_TOP_ROCK_BREAKER_ACTIVE_GLOW, OVERLAY_TOP_SCANNER_ACTIVE, + OVERLAY_TOP_SCANNER_ACTIVE_GLOW, OVERLAY_FRONT_POTIONBREWER_ACTIVE, OVERLAY_FRONT_POTIONBREWER_ACTIVE_GLOW, @@ -595,36 +697,62 @@ public class Textures { OVERLAY_FRONT_SCANNER_ACTIVE, OVERLAY_FRONT_SCANNER_ACTIVE_GLOW, OVERLAY_BOTTOM_POTIONBREWER_ACTIVE, + OVERLAY_BOTTOM_POTIONBREWER_ACTIVE_GLOW, OVERLAY_BOTTOM_REPLICATOR_ACTIVE, + OVERLAY_BOTTOM_REPLICATOR_ACTIVE_GLOW, OVERLAY_BOTTOM_MASSFAB_ACTIVE, + OVERLAY_BOTTOM_MASSFAB_ACTIVE_GLOW, OVERLAY_BOTTOM_STEAM_HAMMER_ACTIVE, + OVERLAY_BOTTOM_STEAM_HAMMER_ACTIVE_GLOW, OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE, + OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE_GLOW, OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_ACTIVE, + OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_ACTIVE_GLOW, OVERLAY_BOTTOM_STEAM_MACERATOR_ACTIVE, + OVERLAY_BOTTOM_STEAM_MACERATOR_ACTIVE_GLOW, OVERLAY_BOTTOM_STEAM_COMPRESSOR_ACTIVE, + OVERLAY_BOTTOM_STEAM_COMPRESSOR_ACTIVE_GLOW, OVERLAY_BOTTOM_STEAM_EXTRACTOR_ACTIVE, + OVERLAY_BOTTOM_STEAM_EXTRACTOR_ACTIVE_GLOW, OVERLAY_BOTTOM_DISASSEMBLER_ACTIVE, + OVERLAY_BOTTOM_DISASSEMBLER_ACTIVE_GLOW, OVERLAY_BOTTOM_BOXINATOR_ACTIVE, + OVERLAY_BOTTOM_BOXINATOR_ACTIVE_GLOW, OVERLAY_BOTTOM_ROCK_BREAKER_ACTIVE, + OVERLAY_BOTTOM_ROCK_BREAKER_ACTIVE_GLOW, OVERLAY_BOTTOM_SCANNER_ACTIVE, + OVERLAY_BOTTOM_SCANNER_ACTIVE_GLOW, OVERLAY_SIDE_POTIONBREWER_ACTIVE, + OVERLAY_SIDE_POTIONBREWER_ACTIVE_GLOW, OVERLAY_SIDE_REPLICATOR_ACTIVE, + OVERLAY_SIDE_REPLICATOR_ACTIVE_GLOW, OVERLAY_SIDE_MASSFAB_ACTIVE, + OVERLAY_SIDE_MASSFAB_ACTIVE_GLOW, OVERLAY_SIDE_STEAM_HAMMER_ACTIVE, + OVERLAY_SIDE_STEAM_HAMMER_ACTIVE_GLOW, OVERLAY_SIDE_STEAM_FURNACE_ACTIVE, + OVERLAY_SIDE_STEAM_FURNACE_ACTIVE_GLOW, OVERLAY_SIDE_STEAM_ALLOY_SMELTER_ACTIVE, + OVERLAY_SIDE_STEAM_ALLOY_SMELTER_ACTIVE_GLOW, OVERLAY_SIDE_STEAM_MACERATOR_ACTIVE, + OVERLAY_SIDE_STEAM_MACERATOR_ACTIVE_GLOW, OVERLAY_SIDE_STEAM_COMPRESSOR_ACTIVE, + OVERLAY_SIDE_STEAM_COMPRESSOR_ACTIVE_GLOW, OVERLAY_SIDE_STEAM_EXTRACTOR_ACTIVE, + OVERLAY_SIDE_STEAM_EXTRACTOR_ACTIVE_GLOW, OVERLAY_SIDE_DISASSEMBLER_ACTIVE, + OVERLAY_SIDE_DISASSEMBLER_ACTIVE_GLOW, OVERLAY_SIDE_BOXINATOR_ACTIVE, + OVERLAY_SIDE_BOXINATOR_ACTIVE_GLOW, OVERLAY_SIDE_ROCK_BREAKER_ACTIVE, + OVERLAY_SIDE_ROCK_BREAKER_ACTIVE_GLOW, OVERLAY_SIDE_SCANNER_ACTIVE, + OVERLAY_SIDE_SCANNER_ACTIVE_GLOW, OVERLAY_ADV_PUMP, OVERLAY_TELEPORTER, OVERLAY_TELEPORTER_GLOW, @@ -979,7 +1107,9 @@ public class Textures { OVERLAY_FRONT_ORE_DRILL, OVERLAY_FRONT_ORE_DRILL_GLOW, OVERLAY_TOP_CLEANROOM_ACTIVE, + OVERLAY_TOP_CLEANROOM_ACTIVE_GLOW, OVERLAY_TOP_CLEANROOM, + OVERLAY_TOP_CLEANROOM_GLOW, OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR, OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR_GLOW, diff --git a/src/main/java/gregtech/api/gui/GT_GUICover.java b/src/main/java/gregtech/api/gui/GT_GUICover.java index f1232c9432..1e51cf0758 100644 --- a/src/main/java/gregtech/api/gui/GT_GUICover.java +++ b/src/main/java/gregtech/api/gui/GT_GUICover.java @@ -154,6 +154,7 @@ public abstract class GT_GUICover extends GuiScreen implements GT_IToolTipRender } } + @Override public void mouseClicked(int x, int y, int button) { for (GT_GuiIntegerTextBox tBox : textBoxes) { boolean hadFocus = tBox.isFocused(); @@ -195,7 +196,7 @@ public abstract class GT_GUICover extends GuiScreen implements GT_IToolTipRender return; } } - if (textBoxes.size() > 0 ) + if (!textBoxes.isEmpty()) setFocusedTextBox(textBoxes.get(0)); return; } @@ -226,15 +227,19 @@ public abstract class GT_GUICover extends GuiScreen implements GT_IToolTipRender * Button */ + @Override public void actionPerformed(GuiButton button) { selectedButton = button; } + @Override public void clearSelectedButton() { selectedButton = null; } + @Override public GuiButton getSelectedButton(){return selectedButton;} + @Override public void buttonClicked(GuiButton button) { } @@ -295,6 +300,7 @@ public abstract class GT_GUICover extends GuiScreen implements GT_IToolTipRender return gui_height; } + @Override public RenderItem getItemRenderer() { return itemRender; } diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconButton.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconButton.java index e081c4227d..91f611b9b6 100644 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconButton.java +++ b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconButton.java @@ -27,6 +27,7 @@ public class GT_GuiIconButton extends GuiButton implements IGuiScreen.IGuiElemen gui.addElement(this); } + @Override public void onInit() { if (tooltip != null) gui.addToolTip(tooltip); @@ -39,6 +40,7 @@ public class GT_GuiIconButton extends GuiButton implements IGuiScreen.IGuiElemen drawButton(Minecraft.getMinecraft(), mouseX, mouseY); } + @Override public void drawButton(Minecraft mc, int mouseX, int mouseY) { if (this.tooltip != null) this.tooltip.enabled = true; diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java index 4e6fd86f55..010ac78654 100644 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java +++ b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java @@ -12,6 +12,7 @@ public class GT_GuiIconCheckButton extends GT_GuiIconButton { this.normalIcon = normalIcon; } + @Override public GT_GuiIcon getButtonTexture(boolean mouseOver) { if (!enabled) return GT_GuiIcon.BUTTON_DISABLED; diff --git a/src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java b/src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java index 256ee400e7..12d69cd0ec 100644 --- a/src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java +++ b/src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java @@ -10,6 +10,7 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.common.blocks.GT_Item_LongDistancePipe; import gregtech.common.blocks.GT_Material_Machines; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureType; @@ -40,65 +41,85 @@ public class GT_Block_LongDistancePipe extends GT_Generic_Block { ItemList.Long_Distance_Pipeline_Item_Pipe.set(new ItemStack(this, 1, 1)); mIcons = new IIconContainer[]{Textures.BlockIcons.LONG_DISTANCE_PIPE_FLUID, Textures.BlockIcons.LONG_DISTANCE_PIPE_ITEM}; } + @Override public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { super.onBlockAdded(aWorld, aX, aY, aZ); if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); } } + @Override public void breakBlock(World aWorld, int aX, int aY, int aZ, Block par5, int par6) { GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); super.breakBlock(aWorld, aX, aY, aZ, par5, par6); } + @Override public String getHarvestTool(int aMeta) { return "wrench"; } + @Override public int getHarvestLevel(int aMeta) { return 2; } + @Override public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { return Blocks.stone.getBlockHardness(aWorld, aX, aY, aZ); } + @Override public float getExplosionResistance(Entity aTNT) { return Blocks.iron_block.getExplosionResistance(aTNT); } + @Override public String getUnlocalizedName() { return this.mUnlocalizedName; } + @Override public String getLocalizedName() { return StatCollector.translateToLocal(this.mUnlocalizedName + ".name"); } + @Override public IIcon getIcon(int aSide, int aMeta) { return mIcons[aMeta % mIcons.length].getIcon(); } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + } + + @Override public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) { return false; } + @Override public int quantityDropped(Random par1Random) { return 1; } + @Override public Item getItemDropped(int par1, Random par2Random, int par3) { return Item.getItemFromBlock(this); } + @Override public int damageDropped(int par1) { return par1; } + @Override public int getDamageValue(World par1World, int par2, int par3, int par4) { return par1World.getBlockMetadata(par2, par3, par4); } + @Override @SideOnly(Side.CLIENT) public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { for (int i = 0; i < 3; i++) { diff --git a/src/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java b/src/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java index 0d8c9a673a..106897efd7 100644 --- a/src/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java +++ b/src/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java @@ -12,13 +12,16 @@ public class GT_CoolantCellIC_Item super(aUnlocalized, aEnglish, aMaxStore); } + @Override public void processChamber(IReactor aReactor, ItemStack aStack, int x, int y, boolean aHeatRun) { } + @Override public boolean acceptUraniumPulse(IReactor aReactor, ItemStack aStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY, boolean aHeatRun) { return false; } + @Override public boolean canStoreHeat(IReactor aReactor, ItemStack aStack, int x, int y) { if (aReactor.isFluidCooled() && (getControlTagOfStack(aStack)) != 0) { return false; @@ -26,18 +29,22 @@ public class GT_CoolantCellIC_Item return true; } + @Override public int getMaxHeat(IReactor aReactor, ItemStack aStack, int x, int y) { return this.heatStorage; } + @Override public int getCurrentHeat(IReactor aReactor, ItemStack aStack, int x, int y) { return getHeatOfStack(aStack); } + @Override public float influenceExplosion(IReactor aReactor, ItemStack aStack) { return 1.0F + this.heatStorage / 30000.0F; } + @Override public int alterHeat(IReactor aReactor, ItemStack aStack, int x, int y, int aHeat) { int tHeat = getHeatOfStack(aStack); if ((tHeat == 0) && (getControlTagOfStack(aStack) != 0)) { diff --git a/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java b/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java index 043a835fd5..142737a528 100644 --- a/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java +++ b/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java @@ -49,6 +49,7 @@ public class GT_CoolantCell_Item } } + @Override public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { super.addAdditionalToolTips(aList, aStack, aPlayer); int rHeat = getHeatOfStack(aStack) * 10 / this.heatStorage; diff --git a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java index 24dcc8ef5e..e24ed04539 100644 --- a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java +++ b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java @@ -44,6 +44,7 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement return 0; } + @Override public void processChamber(IReactor reactor, ItemStack yourStack, int x, int y, boolean heatrun) { if (!reactor.produceEnergy()) { return; @@ -110,6 +111,7 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement } } + @Override public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY, boolean heatrun) { if (!heatrun) { if(sMox){ @@ -122,26 +124,32 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement return true; } + @Override public boolean canStoreHeat(IReactor reactor, ItemStack yourStack, int x, int y) { return false; } + @Override public int getMaxHeat(IReactor reactor, ItemStack yourStack, int x, int y) { return 0; } + @Override public int getCurrentHeat(IReactor reactor, ItemStack yourStack, int x, int y) { return 0; } + @Override public int alterHeat(IReactor reactor, ItemStack yourStack, int x, int y, int heat) { return heat; } + @Override public float influenceExplosion(IReactor reactor, ItemStack yourStack) { return 2 * this.numberOfCells; } + @Override public void onUpdate(ItemStack stack, World world, Entity entity, int slotIndex, boolean isCurrentItem) { if (this.sRadiation > 0 && (entity instanceof EntityLivingBase)) { EntityLivingBase entityLiving = (EntityLivingBase) entity; diff --git a/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java b/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java index 78c0fb85a1..3bdaf22f37 100644 --- a/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java +++ b/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java @@ -92,6 +92,7 @@ public class GT_RadioactiveCell_Item return 0; } + @Override public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { return false; } @@ -138,6 +139,7 @@ public class GT_RadioactiveCell_Item setDamageForStack(stack, getDamageOfStack(stack) + Dmg); } + @Override public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { super.addAdditionalToolTips(aList, aStack, aPlayer); //aList.add("Time left: " + (this.maxDelay - getDurabilityOfStack(aStack)) + " secs"); diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index fd94349d31..f1a15aca40 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -2326,6 +2326,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE return mWasShutdown; } + @Override public void setShutdownStatus(boolean newStatus) { mWasShutdown = newStatus; } diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index 8fe4c93639..601b6fb4f9 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -847,7 +847,8 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { ((MetaPipeEntity) tPipe).disconnect(tSide); } - public boolean isConnectedAtSide(int aSide) { + @Override + public boolean isConnectedAtSide(int aSide) { return (mConnections & (1 << aSide)) != 0; } @@ -858,6 +859,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { public boolean canConnect(byte aSide, TileEntity tTileEntity) { return false; } public boolean getGT6StyleConnection() { return false; } + @Override public boolean shouldJoinIc2Enet() { return false; } @Override diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java index 730ec264f3..84790ce958 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java @@ -958,6 +958,7 @@ public abstract class MetaTileEntity implements IMetaTileEntity { return ""; } + @Override public boolean shouldJoinIc2Enet() { return false; } public boolean shouldTriggerBlockUpdate() { return false; } diff --git a/src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java b/src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java index 7ab494e551..65993f2941 100644 --- a/src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java +++ b/src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java @@ -10,21 +10,38 @@ import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE_ACTIVE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE_ACTIVE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE_ACTIVE; +import static gregtech.api.enums.Textures.BlockIcons.*; /** * This Example Implementation still works, however I use something completely different in my own Code. */ public class GT_MetaTileEntity_E_Furnace extends GT_MetaTileEntity_BasicMachine { public GT_MetaTileEntity_E_Furnace(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 1, "Not like using a Commodore 64", 1, 1, "E_Furnace.png", "smelting", TextureFactory.of(OVERLAY_SIDE_STEAM_FURNACE_ACTIVE), TextureFactory.of(OVERLAY_SIDE_STEAM_FURNACE), TextureFactory.of(OVERLAY_FRONT_STEAM_FURNACE_ACTIVE), TextureFactory.of(OVERLAY_FRONT_STEAM_FURNACE), TextureFactory.of(OVERLAY_TOP_STEAM_FURNACE_ACTIVE), TextureFactory.of(OVERLAY_TOP_STEAM_FURNACE), TextureFactory.of(OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE), TextureFactory.of(OVERLAY_BOTTOM_STEAM_FURNACE)); + super(aID, aName, aNameRegional, aTier, 1, "Not like using a Commodore 64", 1, 1, "E_Furnace.png", "smelting", + TextureFactory.of( + TextureFactory.of(OVERLAY_SIDE_STEAM_FURNACE_ACTIVE), + TextureFactory.builder().addIcon(OVERLAY_SIDE_STEAM_FURNACE_ACTIVE_GLOW).glow().build()), + TextureFactory.of( + TextureFactory.of(OVERLAY_SIDE_STEAM_FURNACE), + TextureFactory.builder().addIcon(OVERLAY_SIDE_STEAM_FURNACE_GLOW).glow().build()), + TextureFactory.of( + TextureFactory.of(OVERLAY_FRONT_STEAM_FURNACE_ACTIVE), + TextureFactory.builder().addIcon(OVERLAY_FRONT_STEAM_FURNACE_ACTIVE_GLOW).glow().build()), + TextureFactory.of( + TextureFactory.of(OVERLAY_FRONT_STEAM_FURNACE), + TextureFactory.builder().addIcon(OVERLAY_FRONT_STEAM_FURNACE_GLOW).glow().build()), + TextureFactory.of( + TextureFactory.of(OVERLAY_TOP_STEAM_FURNACE_ACTIVE), + TextureFactory.builder().addIcon(OVERLAY_TOP_STEAM_FURNACE_ACTIVE_GLOW).glow().build()), + TextureFactory.of( + TextureFactory.of(OVERLAY_TOP_STEAM_FURNACE), + TextureFactory.builder().addIcon(OVERLAY_TOP_STEAM_FURNACE_GLOW).glow().build()), + TextureFactory.of( + TextureFactory.of(OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE), + TextureFactory.builder().addIcon(OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE_GLOW).glow().build()), + TextureFactory.of( + TextureFactory.of(OVERLAY_BOTTOM_STEAM_FURNACE), + TextureFactory.builder().addIcon(OVERLAY_BOTTOM_STEAM_FURNACE_GLOW).glow().build())); } public GT_MetaTileEntity_E_Furnace(String aName, int aTier, String aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) { @@ -43,8 +60,9 @@ public class GT_MetaTileEntity_E_Furnace extends GT_MetaTileEntity_BasicMachine @Override public int checkRecipe() { if (null != (mOutputItems[0] = GT_ModHandler.getSmeltingOutput(getInputAt(0), true, getOutputAt(0)))) { - calculateOverclockedNess(4,128); - if(mMaxProgresstime==Integer.MAX_VALUE-1 && mEUt==Integer.MAX_VALUE-1) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; + calculateOverclockedNess(4, 128); + if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) + return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; return FOUND_AND_SUCCESSFULLY_USED_RECIPE; } return DID_NOT_FIND_RECIPE; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java index c6da3522bc..93d947b9d0 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java @@ -374,6 +374,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile return false; } + @Override public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (GT_Mod.gregtechproxy.gt6Cable && GT_ModHandler.damageOrDechargeItem(aPlayer.inventory.getCurrentItem(), 1, 500, aPlayer)) { if (isConnectedAtSide(aWrenchingSide)) { diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java index 84bce3e7c6..834344d2d2 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java @@ -15,6 +15,7 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; +import gregtech.api.util.GT_ClientPreference; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Cleanroom; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; @@ -417,6 +418,11 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B @Override public void initDefaultModes(NBTTagCompound aNBT) { mMainFacing = -1; + if (!getBaseMetaTileEntity().getWorld().isRemote) { + GT_ClientPreference tPreference = GT_Mod.gregtechproxy.getClientPreference(getBaseMetaTileEntity().getOwnerUuid()); + if (tPreference != null) + mDisableFilter = !tPreference.isSingleBlockInitialFilterEnabled(); + } } @Override diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java index c8fe305de9..ebda3cccbc 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java @@ -1,5 +1,6 @@ package gregtech.api.metatileentity.implementations; +import gregtech.GT_Mod; import gregtech.api.gui.GT_Container_1by1; import gregtech.api.gui.GT_Container_2by2; import gregtech.api.gui.GT_Container_3by3; @@ -12,6 +13,7 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.render.TextureFactory; +import gregtech.api.util.GT_ClientPreference; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; @@ -100,6 +102,15 @@ public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch { } @Override + public void initDefaultModes(NBTTagCompound aNBT) { + if (!getBaseMetaTileEntity().getWorld().isRemote) { + GT_ClientPreference tPreference = GT_Mod.gregtechproxy.getClientPreference(getBaseMetaTileEntity().getOwnerUuid()); + if (tPreference != null) + disableFilter = !tPreference.isInputBusInitialFilterEnabled(); + } + } + + @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { switch (mInventory.length) { case 1: @@ -169,6 +180,7 @@ public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch { } } + @Override public String trans(String aKey, String aEnglish) { return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java index 1cb80886a9..9965b88a17 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java @@ -267,6 +267,7 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch { return super.onRightclick(aBaseMetaTileEntity, aPlayer, aSide, aX, aY, aZ); } + @Override public String trans(String aKey, String aEnglish){ return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); } diff --git a/src/main/java/gregtech/api/net/GT_Packet.java b/src/main/java/gregtech/api/net/GT_Packet.java index 4bf435ca0c..48cc171d61 100644 --- a/src/main/java/gregtech/api/net/GT_Packet.java +++ b/src/main/java/gregtech/api/net/GT_Packet.java @@ -2,6 +2,7 @@ package gregtech.api.net; import com.google.common.io.ByteArrayDataInput; import io.netty.buffer.ByteBuf; +import net.minecraft.network.INetHandler; import net.minecraft.world.IBlockAccess; /** @@ -46,4 +47,9 @@ public abstract class GT_Packet { * @param aWorld null if message is received on server side, the client world if message is received on client side */ public abstract void process(IBlockAccess aWorld); + + /** + * This will be called just before {@link #process(IBlockAccess)} to inform the handler about the source and type of connection + */ + public void setINetHandler(INetHandler aHandler) {} } diff --git a/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java b/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java new file mode 100644 index 0000000000..a97cfb207b --- /dev/null +++ b/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java @@ -0,0 +1,53 @@ +package gregtech.api.net; + +import com.google.common.io.ByteArrayDataInput; +import gregtech.GT_Mod; +import gregtech.api.util.GT_ClientPreference; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetHandlerPlayServer; +import net.minecraft.world.IBlockAccess; + +public class GT_Packet_ClientPreference extends GT_Packet_New { + private GT_ClientPreference mPreference; + private EntityPlayerMP mPlayer; + + public GT_Packet_ClientPreference() { + super(true); + } + + public GT_Packet_ClientPreference(GT_ClientPreference mPreference) { + super(false); + this.mPreference = mPreference; + } + + @Override + public byte getPacketID() { + return 9; + } + + @Override + public void setINetHandler(INetHandler aHandler) { + if (aHandler instanceof NetHandlerPlayServer) { + mPlayer = ((NetHandlerPlayServer) aHandler).playerEntity; + } + } + + @Override + public void process(IBlockAccess aWorld) { + if (mPlayer != null) + GT_Mod.gregtechproxy.setClientPreference(mPlayer.getUniqueID(), mPreference); + } + + @Override + public void encode(ByteBuf aOut) { + aOut.writeBoolean(mPreference.isSingleBlockInitialFilterEnabled()); + aOut.writeBoolean(mPreference.isInputBusInitialFilterEnabled()); + } + + @Override + public GT_Packet_New decode(ByteArrayDataInput aData) { + return new GT_Packet_ClientPreference(new GT_ClientPreference(aData.readBoolean(), aData.readBoolean())); + } +} diff --git a/src/main/java/gregtech/api/objects/AE2DigitalChestHandler.java b/src/main/java/gregtech/api/objects/AE2DigitalChestHandler.java index fff5965d3d..ad51d307fe 100644 --- a/src/main/java/gregtech/api/objects/AE2DigitalChestHandler.java +++ b/src/main/java/gregtech/api/objects/AE2DigitalChestHandler.java @@ -9,11 +9,13 @@ import net.minecraftforge.common.util.ForgeDirection; @Optional.Interface(iface = "appeng.api.storage.IExternalStorageHandler", modid = "appliedenergistics2", striprefs = true) public class AE2DigitalChestHandler implements appeng.api.storage.IExternalStorageHandler { + @Override @Optional.Method(modid = "appliedenergistics2") public boolean canHandle(final TileEntity te, final ForgeDirection d, final appeng.api.storage.StorageChannel chan, final appeng.api.networking.security.BaseActionSource mySrc) { return chan == appeng.api.storage.StorageChannel.ITEMS && te instanceof BaseMetaTileEntity && ((BaseMetaTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_DigitalChestBase; } + @Override @Optional.Method(modid = "appliedenergistics2") public appeng.api.storage.IMEInventory getInventory(final TileEntity te, final ForgeDirection d, final appeng.api.storage.StorageChannel chan, final appeng.api.networking.security.BaseActionSource src) { if (chan == appeng.api.storage.StorageChannel.ITEMS) { diff --git a/src/main/java/gregtech/api/objects/GT_ChunkManager.java b/src/main/java/gregtech/api/objects/GT_ChunkManager.java index ea2982e001..2f1d2c3381 100644 --- a/src/main/java/gregtech/api/objects/GT_ChunkManager.java +++ b/src/main/java/gregtech/api/objects/GT_ChunkManager.java @@ -7,8 +7,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Log; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; -import net.minecraft.command.CommandBase; -import net.minecraft.command.ICommandSender; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.ChunkCoordIntPair; @@ -74,7 +72,7 @@ public class GT_ChunkManager implements ForgeChunkManager.OrderedLoadingCallback // Request a chunk to be loaded for this machine // may pass null chunk to load just the machine itself, if "alwaysReloadChunkloaders" is enabled in config - static public boolean requestPlayerChunkLoad(TileEntity owner, ChunkCoordIntPair chunkXZ, String player) { + public static boolean requestPlayerChunkLoad(TileEntity owner, ChunkCoordIntPair chunkXZ, String player) { if (!GT_Values.enableChunkloaders) return false; if (!GT_Values.alwaysReloadChunkloaders && chunkXZ == null) @@ -84,11 +82,11 @@ public class GT_ChunkManager implements ForgeChunkManager.OrderedLoadingCallback if (instance.registeredTickets.containsKey(owner)) { ForgeChunkManager.forceChunk(instance.registeredTickets.get(owner), chunkXZ); } else { - Ticket ticket = null; - if (player != "") - ticket = ForgeChunkManager.requestPlayerTicket(GT_Mod.instance, player, owner.getWorldObj(), ForgeChunkManager.Type.NORMAL); - else + Ticket ticket; + if (player.equals("")) ticket = ForgeChunkManager.requestTicket(GT_Mod.instance, owner.getWorldObj(), ForgeChunkManager.Type.NORMAL); + else + ticket = ForgeChunkManager.requestPlayerTicket(GT_Mod.instance, player, owner.getWorldObj(), ForgeChunkManager.Type.NORMAL); if (ticket == null) { if (GT_Values.debugChunkloaders) GT_Log.out.println("GT_ChunkManager: ForgeChunkManager.requestTicket failed"); @@ -108,11 +106,11 @@ public class GT_ChunkManager implements ForgeChunkManager.OrderedLoadingCallback return true; } - static public boolean requestChunkLoad(TileEntity owner, ChunkCoordIntPair chunkXZ) { + public static boolean requestChunkLoad(TileEntity owner, ChunkCoordIntPair chunkXZ) { return requestPlayerChunkLoad(owner, chunkXZ, ""); } - static public void releaseChunk(TileEntity owner, ChunkCoordIntPair chunkXZ) { + public static void releaseChunk(TileEntity owner, ChunkCoordIntPair chunkXZ) { if (!GT_Values.enableChunkloaders) return; Ticket ticket = instance.registeredTickets.get(owner); @@ -123,7 +121,7 @@ public class GT_ChunkManager implements ForgeChunkManager.OrderedLoadingCallback } } - static public void releaseTicket(TileEntity owner) { + public static void releaseTicket(TileEntity owner) { if (!GT_Values.enableChunkloaders) return; Ticket ticket = instance.registeredTickets.get(owner); diff --git a/src/main/java/gregtech/api/objects/GT_MultiTexture.java b/src/main/java/gregtech/api/objects/GT_MultiTexture.java index c7878374b4..9d664b4dfb 100644 --- a/src/main/java/gregtech/api/objects/GT_MultiTexture.java +++ b/src/main/java/gregtech/api/objects/GT_MultiTexture.java @@ -1,7 +1,6 @@ package gregtech.api.objects; import gregtech.api.interfaces.ITexture; -import gregtech.api.render.TextureFactory; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; diff --git a/src/main/java/gregtech/api/objects/XSTR.java b/src/main/java/gregtech/api/objects/XSTR.java index a92c6bcff2..a2c4906345 100644 --- a/src/main/java/gregtech/api/objects/XSTR.java +++ b/src/main/java/gregtech/api/objects/XSTR.java @@ -44,7 +44,7 @@ public class XSTR extends Random { private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) private static final float FLOAT_UNIT = 0x1.0p-24f; // 1.0f / (1 << 24) private static final AtomicLong seedUniquifier = new AtomicLong(8682522807148012L); - public final static XSTR XSTR_INSTANCE=new XSTR(){ + public static final XSTR XSTR_INSTANCE=new XSTR(){ @Override public synchronized void setSeed(long seed) { if(!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) @@ -86,10 +86,12 @@ public class XSTR extends Random { public XSTR(long seed) { this.seed = seed; } + @Override public boolean nextBoolean() { return next(1) != 0; } + @Override public double nextDouble() { return (((long)(next(26)) << 27) + next(27)) * DOUBLE_UNIT; } @@ -109,6 +111,7 @@ public class XSTR extends Random { * * @param seed the new seed */ + @Override public synchronized void setSeed(long seed) { this.seed = seed; } @@ -129,6 +132,7 @@ public class XSTR extends Random { * @param nbits * @return */ + @Override public int next(int nbits) { long x = seed; x ^= (x << 21); @@ -140,7 +144,8 @@ public class XSTR extends Random { } boolean haveNextNextGaussian = false; double nextNextGaussian = 0; - synchronized public double nextGaussian() { + @Override + public synchronized double nextGaussian() { // See Knuth, ACP, Section 3.4.1 Algorithm C. if (haveNextNextGaussian) { haveNextNextGaussian = false; @@ -213,6 +218,7 @@ public class XSTR extends Random { * @throws IllegalArgumentException if bound is not positive * @since 1.2 */ + @Override public int nextInt(int bound) { //if (bound <= 0) { //throw new RuntimeException("BadBound"); @@ -238,19 +244,23 @@ public class XSTR extends Random { int out = (int) last % bound; return (out < 0) ? -out : out; } + @Override public int nextInt() { return next(32); } + @Override public float nextFloat() { return next(24) * FLOAT_UNIT; } + @Override public long nextLong() { // it's okay that the bottom word remains signed. return ((long)(next(32)) << 32) + next(32); } + @Override public void nextBytes(byte[] bytes_arr) { for (int iba = 0, lenba = bytes_arr.length; iba < lenba; ) for (int rndba = nextInt(), diff --git a/src/main/java/gregtech/api/util/GT_BaseCrop.java b/src/main/java/gregtech/api/util/GT_BaseCrop.java index 41bdcac3dc..c06bf82b89 100644 --- a/src/main/java/gregtech/api/util/GT_BaseCrop.java +++ b/src/main/java/gregtech/api/util/GT_BaseCrop.java @@ -119,6 +119,7 @@ public class GT_BaseCrop extends CropCard implements ICropCardInfo { return tier() * mGrowthSpeed; } + @Override public int getrootslength(ICropTile crop) { return 5; } @@ -233,6 +234,7 @@ public class GT_BaseCrop extends CropCard implements ICropCardInfo { return false; } + @Override public List<String> getCropInformation() { if (mBlock != null) { ArrayList<String> result = new ArrayList<String>(1); @@ -242,6 +244,7 @@ public class GT_BaseCrop extends CropCard implements ICropCardInfo { return null; } + @Override public ItemStack getDisplayItem() { if (mSpecialDrops != null && mSpecialDrops[mSpecialDrops.length - 1] != null) { return GT_Utility.copy(mSpecialDrops[mSpecialDrops.length - 1]); diff --git a/src/main/java/gregtech/api/util/GT_ClientPreference.java b/src/main/java/gregtech/api/util/GT_ClientPreference.java new file mode 100644 index 0000000000..e679f4ece6 --- /dev/null +++ b/src/main/java/gregtech/api/util/GT_ClientPreference.java @@ -0,0 +1,24 @@ +package gregtech.api.util; + +public class GT_ClientPreference { + private final boolean mSingleBlockInitialFilter; + private final boolean mInputBusInitialFilter; + + public GT_ClientPreference(boolean mSingleBlockInitialFilter, boolean mInputBusInitialFilter) { + this.mSingleBlockInitialFilter = mSingleBlockInitialFilter; + this.mInputBusInitialFilter = mInputBusInitialFilter; + } + + public GT_ClientPreference(GT_Config aClientDataFile) { + this.mSingleBlockInitialFilter = aClientDataFile.get("preference", "mSingleBlockInitialFilter", false); + this.mInputBusInitialFilter = aClientDataFile.get("preference", "mInputBusInitialFilter", true); + } + + public boolean isSingleBlockInitialFilterEnabled() { + return mSingleBlockInitialFilter; + } + + public boolean isInputBusInitialFilterEnabled() { + return mInputBusInitialFilter; + } +} diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index 484e4d29b9..f82b0ecb7e 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -63,6 +63,7 @@ import java.util.stream.Collectors; import static gregtech.GT_Mod.GT_FML_LOGGER; import static gregtech.api.enums.GT_Values.B; + import static gregtech.api.enums.GT_Values.D1; import static gregtech.api.enums.GT_Values.DW; import static gregtech.api.enums.GT_Values.E; @@ -1332,6 +1333,7 @@ public class GT_ModHandler { delayedRemovalByRecipe.add(aCrafting); } + @SuppressWarnings("unchecked") public static void bulkRemoveByRecipe(List<InventoryCrafting> toRemove) { ArrayList<IRecipe> tList = (ArrayList<IRecipe>) CraftingManager.getInstance().getRecipeList(); GT_FML_LOGGER.info("BulkRemoveByRecipe: tList: " + tList.size() + " toRemove: " + toRemove.size() ); @@ -1483,14 +1485,23 @@ public class GT_ModHandler { * Used for Recipe Detection. */ public static ItemStack getRecipeOutput(ItemStack... aRecipe) { - return getRecipeOutput(false, aRecipe); + return getRecipeOutput(false, true, aRecipe); } - + + public static ItemStack getRecipeOutputNoOreDict(ItemStack... aRecipe) { + return getRecipeOutput(false,false, aRecipe); + } + + public static ItemStack getRecipeOutput(boolean aUncopiedStack, ItemStack... aRecipe) { + return getRecipeOutput(aUncopiedStack, true, aRecipe); + } + /** * Gives you a copy of the Output from a Crafting Recipe * Used for Recipe Detection. */ - public static ItemStack getRecipeOutput(boolean aUncopiedStack, ItemStack... aRecipe) { + @SuppressWarnings("unchecked") + public static ItemStack getRecipeOutput(boolean aUncopiedStack, boolean allowOreDict, ItemStack... aRecipe) { if (aRecipe == null || Arrays.stream(aRecipe).noneMatch(Objects::nonNull)) return null; InventoryCrafting aCrafting = new InventoryCrafting(new Container() { @@ -1505,6 +1516,8 @@ public class GT_ModHandler { for (IRecipe iRecipe : tList) { found = false; + if (!allowOreDict && iRecipe instanceof ShapedOreRecipe) continue; + try { found = iRecipe.matches(aCrafting, DW); } catch (Throwable e) { diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 9756a8199a..aa54b55277 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -898,7 +898,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { /** * Abstract Class for general Recipe Handling of non GT Recipes */ - public static abstract class GT_Recipe_Map_NonGTRecipes extends GT_Recipe_Map { + public abstract static class GT_Recipe_Map_NonGTRecipes extends GT_Recipe_Map { public GT_Recipe_Map_NonGTRecipes(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) { super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed); } @@ -1840,6 +1840,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed); } + @Override public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { AtomicInteger ai = new AtomicInteger(); Optional.ofNullable(GT_OreDictUnificator.getAssociation(aOutputs[0])) diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java index d10f6da434..cbaea6af3a 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java +++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java @@ -278,7 +278,7 @@ public class GT_RecipeRegistrator { /** * Place Materials which you want to replace in Non-GT-Recipes here (warning HUGHE impact on loading times!) */ - private final static Materials[] VANILLA_MATS = { + private static final Materials[] VANILLA_MATS = { Cobalt, Gold, Iron, diff --git a/src/main/java/gregtech/api/util/WorldSpawnedEventBuilder.java b/src/main/java/gregtech/api/util/WorldSpawnedEventBuilder.java index e4d74eb1e8..354b3748be 100644 --- a/src/main/java/gregtech/api/util/WorldSpawnedEventBuilder.java +++ b/src/main/java/gregtech/api/util/WorldSpawnedEventBuilder.java @@ -119,15 +119,18 @@ public abstract class WorldSpawnedEventBuilder implements Runnable { private abstract static class PositionedWorldSpawnedEventBuilder extends WorldSpawnedEventBuilder implements IPositionedWorldSpawnedEvent { private Vec3 position; + @Override public Vec3 getPosition() { return position; } + @Override public PositionedWorldSpawnedEventBuilder setPosition(Vec3 position) { this.position = position; return this; } + @Override public PositionedWorldSpawnedEventBuilder setPosition(double x, double y, double z) { this.position = Vec3.createVectorHelper(x, y, z); return this; |