diff options
Diffstat (limited to 'src/main/java')
54 files changed, 2367 insertions, 535 deletions
diff --git a/src/main/java/gtPlusPlus/GTplusplus.java b/src/main/java/gtPlusPlus/GTplusplus.java index 9787a38504..1513a0999c 100644 --- a/src/main/java/gtPlusPlus/GTplusplus.java +++ b/src/main/java/gtPlusPlus/GTplusplus.java @@ -228,6 +228,22 @@ public class GTplusplus implements ActionListener { Logger.INFO( "Finally, we are finished. Have some cripsy bacon as a reward." ); + + // Log free GT++ Meta IDs + if (CORE.DEVENV) { + // 750 - 999 are reserved for Alkalus. + for (int i=750; i<1000;i++) { + if (gregtech.api.GregTech_API.METATILEENTITIES[i] == null) { + Logger.INFO("MetaID "+i+" is free."); + } + } + // 30000 - 31999 are reserved for Alkalus. + for (int i=30000; i<32000;i++) { + if (gregtech.api.GregTech_API.METATILEENTITIES[i] == null) { + Logger.INFO("MetaID "+i+" is free."); + } + } + } } @EventHandler diff --git a/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java b/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java index 36ea2af7cc..90f9c1056a 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java +++ b/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java @@ -92,12 +92,7 @@ public class VolumetricFlaskSetter extends BasicTileBlockWithTooltip { @Override public int getRenderBlockPass() { - return 1; - } - - @Override - public boolean isOpaqueCube() { - return false; + return 0; } @Override diff --git a/src/main/java/gtPlusPlus/core/config/ConfigHandler.java b/src/main/java/gtPlusPlus/core/config/ConfigHandler.java index 0e88a20aac..2e1d43bdda 100644 --- a/src/main/java/gtPlusPlus/core/config/ConfigHandler.java +++ b/src/main/java/gtPlusPlus/core/config/ConfigHandler.java @@ -226,6 +226,8 @@ public class ConfigHandler { pollutionPerSecondMultiMassFabricator = config.get("pollution", "pollutionPerSecondMultiMassFabricator", pollutionPerSecondMultiMassFabricator,"pollution rate in gibbl/s for the Matter fabrication CPU").getInt(pollutionPerSecondMultiMassFabricator); pollutionPerSecondMultiRefinery = config.get("pollution", "pollutionPerSecondMultiRefinery", pollutionPerSecondMultiRefinery,"pollution rate in gibbl/s for the Reactor fuel processing plant").getInt(pollutionPerSecondMultiRefinery); //pollutionPerSecondMultiGeneratorArray; + pollutionPerSecondMultiIndustrialRockBreaker = config.get("pollution", "pollutionPerSecondMultiIndustrialRockBreaker", pollutionPerSecondMultiIndustrialRockBreaker,"pollution rate in gibbl/s for the Industrial Rock Breaker").getInt(pollutionPerSecondMultiIndustrialRockBreaker); + pollutionPerSecondMultiIndustrialChisel = config.get("pollution", "pollutionPerSecondMultiIndustrialChisel", pollutionPerSecondMultiIndustrialChisel,"pollution rate in gibbl/s for the Industrial Chisel").getInt(pollutionPerSecondMultiIndustrialChisel); pollutionPerSecondMultiTreeFarm = config.get("pollution", "pollutionPerSecondMultiTreeFarm", pollutionPerSecondMultiTreeFarm,"pollution rate in gibbl/s for the Tree growth simulator").getInt(pollutionPerSecondMultiTreeFarm); pollutionPerSecondMultiFrothFlotationCell = config.get("pollution", "pollutionPerSecondMultiFrothFlotationCell", pollutionPerSecondMultiFrothFlotationCell,"pollution rate in gibbl/s for the Flotation cell regulator").getInt(pollutionPerSecondMultiFrothFlotationCell); pollutionPerSecondMultiAutoCrafter = config.get("pollution", "pollutionPerSecondMultiAutoCrafter", pollutionPerSecondMultiAutoCrafter,"pollution rate in gibbl/s for the Large-Scale auto assembler v1.01").getInt(pollutionPerSecondMultiAutoCrafter); diff --git a/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java b/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java index de3106c957..65e84d7272 100644 --- a/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java +++ b/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java @@ -4,6 +4,7 @@ import java.util.Iterator; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.inventories.Inventory_VolumetricFlaskSetter; import gtPlusPlus.core.slots.SlotNoInput; @@ -24,8 +25,8 @@ public class Container_VolumetricFlaskSetter extends Container { public final Inventory_VolumetricFlaskSetter inventoryChest; - public short mCustomValue; - private short oCustomValue; + public int mCustomValue; + private int oCustomValue; private int mTimer; @@ -181,5 +182,9 @@ public class Container_VolumetricFlaskSetter extends Container { break; } } + + public void log(String aString) { + Logger.INFO("[Flask-Container] "+aString); + } }
\ No newline at end of file diff --git a/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java b/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java index 0257e51d0c..512f31dd47 100644 --- a/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java +++ b/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java @@ -5,13 +5,13 @@ import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.container.Container_VolumetricFlaskSetter; import gtPlusPlus.core.gui.widget.GuiValueField; import gtPlusPlus.core.handler.PacketHandler; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.network.packet.Packet_VolumetricFlaskGui; import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; -import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.util.ResourceLocation; @@ -19,67 +19,203 @@ import net.minecraft.util.ResourceLocation; @SideOnly(Side.CLIENT) public class GUI_VolumetricFlaskSetter extends GuiContainer { - private GuiTextField mText; + private static final ResourceLocation mGuiTextures = new ResourceLocation( + CORE.MODID, "textures/gui/VolumetricFlaskSetter.png" + ); + private Container_VolumetricFlaskSetter mContainer; private boolean mIsOpen = false; + private GuiValueField mText; private TileEntityVolumetricFlaskSetter mTile; - private Container_VolumetricFlaskSetter mContainer; - private static final ResourceLocation mGuiTextures = new ResourceLocation(CORE.MODID, "textures/gui/VolumetricFlaskSetter.png"); - public GUI_VolumetricFlaskSetter(Container_VolumetricFlaskSetter aContainer){ + public GUI_VolumetricFlaskSetter(Container_VolumetricFlaskSetter aContainer) { super(aContainer); mContainer = aContainer; mTile = mContainer.mTileEntity; } - public void initGui(){ + @Override + protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j) { + GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + this.mc.renderEngine.bindTexture(mGuiTextures); + final int x = (this.width - this.xSize) / 2; + final int y = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); + } + + @Override + protected void drawGuiContainerForegroundLayer(final int i, final int j) { + super.drawGuiContainerForegroundLayer(i, j); + this.mText.drawTextBox(); + this.fontRendererObj.drawString( + I18n.format("container.VolumetricFlaskSetter", new Object[0]), 4, 3, 4210752 + ); + int aYVal = 49; + this.fontRendererObj.drawString( + I18n.format("0 = 16l", new Object[0]), 8, aYVal, 4210752 + ); + this.fontRendererObj.drawString( + I18n.format("4 = 576l", new Object[0]), 64, aYVal, 4210752 + ); + this.fontRendererObj.drawString( + I18n.format("1 = 36l", new Object[0]), 8, aYVal += 8, 4210752 + ); + this.fontRendererObj.drawString( + I18n.format("5 = 720l", new Object[0]), 64, aYVal, 4210752 + ); + this.fontRendererObj.drawString( + I18n.format("2 = 144l", new Object[0]), 8, aYVal += 8, 4210752 + ); + this.fontRendererObj.drawString( + I18n.format("6 = 864l", new Object[0]), 64, aYVal, 4210752 + ); + this.fontRendererObj.drawString( + I18n.format("3 = 432l", new Object[0]), 8, aYVal += 8, 4210752 + ); + this.fontRendererObj.drawString( + I18n.format("-> = Custom", new Object[0]), 59, aYVal, 4210752 + ); + + } + + public void drawScreen(int par1, int par2, float par3) { + this.drawDefaultBackground(); + super.drawScreen(par1, par2, par3); + } + + protected String getText() { + return this.mText.getText(); + } + + public void initGui() { super.initGui(); - Keyboard.enableRepeatEvents(true); + // Keyboard.enableRepeatEvents(true); mIsOpen = true; - this.mText = new GuiValueField(this.fontRendererObj, 26, 31, this.width / 2 - 62, this.height/2-52, 106, 14); + this.mText = new GuiValueField( + this.fontRendererObj, 26, 31, this.width / 2 + - 62, this.height / 2 - 52, 106, 14, this + ); mText.setMaxStringLength(5); mText.setEnableBackgroundDrawing(true); mText.setText("0"); mText.setFocused(true); } - protected void keyTyped(char par1, int par2){ + public boolean isNumber(char c) { + boolean isNum = ((c >= 48 && c <= 57) || c == 45); + if (isNum) { + log("Found Digit: "+c+" | char value"); + } + else { + switch (c) { + case '0' : + case '1' : + case '2' : + case '3' : + case '4' : + case '5' : + case '6' : + case '7' : + case '8' : + case '9' : + log("Found Digit: "+c+" | char switch"); + return true; + } + } + return isNum; + } + + public boolean isNumber(int c) { + switch (c) { + case Keyboard.KEY_0 : + case Keyboard.KEY_1 : + case Keyboard.KEY_2 : + case Keyboard.KEY_3 : + case Keyboard.KEY_4 : + case Keyboard.KEY_5 : + case Keyboard.KEY_6 : + case Keyboard.KEY_7 : + case Keyboard.KEY_8 : + case Keyboard.KEY_9 : + case Keyboard.KEY_NUMPAD0 : + case Keyboard.KEY_NUMPAD1 : + case Keyboard.KEY_NUMPAD2 : + case Keyboard.KEY_NUMPAD3 : + case Keyboard.KEY_NUMPAD4 : + case Keyboard.KEY_NUMPAD5 : + case Keyboard.KEY_NUMPAD6 : + case Keyboard.KEY_NUMPAD7 : + case Keyboard.KEY_NUMPAD8 : + case Keyboard.KEY_NUMPAD9 : + log("Found Digit: "+Keyboard.getKeyName(c)+" | LWJGL Keybinding"); + return true; + } + return false; + } + + protected void keyTyped(char par1, int par2) { if (mIsOpen) { + log("Pressed " + par1 + " | " + par2); if (mText.isFocused()) { + log("Text box has focus."); if (par2 == Keyboard.KEY_RETURN) { - if (mText.isFocused()) { - mText.setFocused(false); - } + log("Pressed Enter, unfocusing."); + mText.setFocused(false); } else if (par2 == Keyboard.KEY_BACK) { + log("Pressed Backspace."); String aCurrentText = getText(); if (aCurrentText.length() > 0) { - this.mText.setText(aCurrentText.substring(0, aCurrentText.length() - 1)); + this.mText.setText( + aCurrentText.substring( + 0, aCurrentText.length() - 1 + ) + ); if (getText().length() <= 0) { - this.mText.setText("0"); + setText(0); } sendUpdateToServer(); } } else { - if (isNumber(par1)) { - if (this.mText.getText().equals("0")) { - this.mText.setText(""+par1); + if (isNumber(par2) || isNumber(par1)) { + log("Pressed number."); + if (this.mText.getText().equals("0")) { + this.mText.textboxKeyTyped(par1, par2); sendUpdateToServer(); } else { - this.mText.textboxKeyTyped(par1, par2); - sendUpdateToServer(); + this.mText.textboxKeyTyped(par1, par2); + sendUpdateToServer(); } } else { - super.keyTyped(par1, par2); + log("Pressed unused key."); + super.keyTyped(par1, par2); } - } + } } else { - super.keyTyped(par1, par2); + log("Text box not focused."); + super.keyTyped(par1, par2); } } + else { + log("Gui is not open?"); + } + } + + protected void mouseClicked(int x, int y, int btn) { + if (mIsOpen) { + log("Clicked."); + this.mText.mouseClicked(x, y, btn); + if (!mText.didClickInTextField(x, y)) { + log("Did not click in text box, passing to super."); + super.mouseClicked(x, y, btn); + } + } + else { + log("Gui is not open?"); + } } @Override @@ -88,10 +224,29 @@ public class GUI_VolumetricFlaskSetter extends GuiContainer { mText.setEnabled(false); mText.setVisible(false); super.onGuiClosed(); - Keyboard.enableRepeatEvents(false); + // Keyboard.enableRepeatEvents(false); + } + + public int parse(String aValue) { + try { + return Integer.parseInt(getText()); + } + catch (NumberFormatException e) { + return 0; + } + } + + public void sendUpdateToServer() { + if (getText().length() > 0) { + PacketHandler.sendToServer(new Packet_VolumetricFlaskGui(mTile, parse(getText()))); + } + } + + public void setText(int aValue) { + this.mText.setText("" + aValue); } - public void updateScreen(){ + public void updateScreen() { super.updateScreen(); // Update Textbox to 0 if Empty if (getText().length() <= 0) { @@ -101,83 +256,19 @@ public class GUI_VolumetricFlaskSetter extends GuiContainer { this.mText.updateCursorCounter(); // Check TextBox Value is correct - short aCustomValue = 0; if (getText().length() > 0) { - try { - aCustomValue = Short.parseShort(getText()); - short aTileValue = ((Container_VolumetricFlaskSetter) mContainer).mCustomValue; - if (mContainer != null) { - if (aTileValue != aCustomValue){ - this.mText.setText(""+aTileValue); - } + int aCustomValue = parse(getText()); + int aTileValue = ((Container_VolumetricFlaskSetter) mContainer).mCustomValue; + if (mContainer != null) { + if (aTileValue != aCustomValue) { + setText(aTileValue); } - } catch (NumberFormatException ex) { - } - } - } - - public void drawScreen(int par1, int par2, float par3){ - this.drawDefaultBackground(); - super.drawScreen(par1, par2, par3); - - - } - - protected void mouseClicked(int x, int y, int btn) { - if (mIsOpen) { - super.mouseClicked(x, y, btn); - this.mText.mouseClicked(x, y, btn); } } - - - - @Override - protected void drawGuiContainerForegroundLayer(final int i, final int j){ - super.drawGuiContainerForegroundLayer(i, j); - this.mText.drawTextBox(); - this.fontRendererObj.drawString(I18n.format("container.VolumetricFlaskSetter", new Object[0]), 4, 3, 4210752); - int aYVal = 49; - this.fontRendererObj.drawString(I18n.format("0 = 16l", new Object[0]), 8, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("4 = 576l", new Object[0]), 64, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("1 = 36l", new Object[0]), 8, aYVal+=8, 4210752); - this.fontRendererObj.drawString(I18n.format("5 = 720l", new Object[0]), 64, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("2 = 144l", new Object[0]), 8, aYVal+=8, 4210752); - this.fontRendererObj.drawString(I18n.format("6 = 864l", new Object[0]), 64, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("3 = 432l", new Object[0]), 8, aYVal+=8, 4210752); - this.fontRendererObj.drawString(I18n.format("-> = Custom", new Object[0]), 59, aYVal, 4210752); - - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j){ - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(mGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } - - public boolean isNumber(char c) { - return ((c >= 48 && c <= 57) || c == 45); - } - - protected String getText() { - return this.mText.getText(); - } - - protected void sendUpdateToServer() { - short aCustomValue = 0; - if (getText().length() > 0) { - try { - aCustomValue = Short.parseShort(getText()); - PacketHandler.sendToServer(new Packet_VolumetricFlaskGui(mTile, aCustomValue)); - } catch (NumberFormatException ex) { - - } - } + public void log(String aString) { + Logger.INFO("[Flask-GUI] "+aString); } -}
\ No newline at end of file +} diff --git a/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java b/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java index ac4c1a8aee..c9c294ea1c 100644 --- a/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java +++ b/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java @@ -2,7 +2,9 @@ package gtPlusPlus.core.gui.widget; import java.lang.reflect.Field; +import gtPlusPlus.core.gui.machine.GUI_VolumetricFlaskSetter; import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gtPlusPlus.preloader.DevHelper; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiTextField; @@ -11,76 +13,86 @@ public class GuiValueField extends GuiTextField { private final FontRenderer mFontRenderer; private final int mScreenLocationX; private final int mScreenLocationY; - - public GuiValueField(FontRenderer aFontRenderer, int aX, int aY, int aScreenLocationX, int aScreenLocationY, int aWidth, int aHeight) { + private final GUI_VolumetricFlaskSetter mGUI; + + public GuiValueField(FontRenderer aFontRenderer, int aX, int aY, int aScreenLocationX, int aScreenLocationY, int aWidth, int aHeight, GUI_VolumetricFlaskSetter aGUI) { super(aFontRenderer, aX, aY, aWidth, aHeight); mFontRenderer = aFontRenderer; mScreenLocationX = aScreenLocationX; mScreenLocationY = aScreenLocationY; + mGUI = aGUI; } - - public boolean canLoseFocus() { - Field canLoseFocus = ReflectionUtils.getField(GuiTextField.class, "canLoseFocus"); + + public boolean canLoseFocus() { + Field canLoseFocus = ReflectionUtils.getField(GuiTextField.class, DevHelper.isObfuscatedEnvironment() ? "field_146212_n" : "canLoseFocus"); if (canLoseFocus != null) { return (boolean) ReflectionUtils.getFieldValue(canLoseFocus, this); } return true; } - + + @Override public boolean isFocused() { - Field isFocused = ReflectionUtils.getField(GuiTextField.class, "isFocused"); - if (isFocused != null) { - return (boolean) ReflectionUtils.getFieldValue(isFocused, this); - } - return false; + return super.isFocused(); } - + public boolean isBackgroundDrawingEnabled() { - Field enableBackgroundDrawing = ReflectionUtils.getField(GuiTextField.class, "enableBackgroundDrawing"); + Field enableBackgroundDrawing = ReflectionUtils.getField(GuiTextField.class, DevHelper.isObfuscatedEnvironment() ? "field_146215_m" : "enableBackgroundDrawing"); if (enableBackgroundDrawing != null) { return (boolean) ReflectionUtils.getFieldValue(enableBackgroundDrawing, this); |
