Added clear button to crafting terminal.

This commit is contained in:
AlgorithmX2 2014-02-26 22:47:06 -06:00
parent 7f908441ee
commit b219c950f4
2 changed files with 74 additions and 18 deletions

View file

@ -1,13 +1,67 @@
package appeng.client.gui.implementations;
import java.io.IOException;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import appeng.api.config.ActionItems;
import appeng.api.config.Settings;
import appeng.api.storage.ITerminalHost;
import appeng.client.gui.widgets.GuiImgButton;
import appeng.container.implementations.ContainerCraftingTerm;
import appeng.container.slot.SlotCraftingMatrix;
import appeng.core.AELog;
import appeng.core.localization.GuiText;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.PacketInventoryAction;
import appeng.helpers.InventoryAction;
public class GuiCraftingTerm extends GuiMEMonitorable
{
GuiImgButton clearBtn;
@Override
public void initGui()
{
super.initGui();
buttonList.add( clearBtn = new GuiImgButton( this.guiLeft + 92, this.guiTop + this.ySize - 156, Settings.ACTIONS, ActionItems.CLOSE ) );
clearBtn.halfSize = true;
}
@Override
protected void actionPerformed(GuiButton btn)
{
super.actionPerformed( btn );
if ( clearBtn == btn )
{
Slot s = null;
Container c = inventorySlots;
for (Object j : c.inventorySlots)
{
if ( j instanceof SlotCraftingMatrix )
s = (Slot) j;
}
if ( s != null )
{
PacketInventoryAction p;
try
{
p = new PacketInventoryAction( InventoryAction.MOVE_REGION, s.slotNumber, null );
NetworkHandler.instance.sendToServer( p );
}
catch (IOException e)
{
AELog.error( e );
}
}
}
}
public GuiCraftingTerm(InventoryPlayer inventoryPlayer, ITerminalHost te) {
super( inventoryPlayer, te, new ContainerCraftingTerm( inventoryPlayer, te ) );
reservedSpace = 73;

View file

@ -180,28 +180,30 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
if ( btn instanceof GuiImgButton )
{
GuiImgButton iBtn = (GuiImgButton) btn;
Enum cv = iBtn.getCurrentValue();
Enum next = Platform.nextEnum( cv );
if ( btn == searchBoxSettings )
AEConfig.instance.settings.putSetting( iBtn.getSetting(), next );
else
if ( iBtn.getSetting() != Settings.ACTIONS )
{
try
Enum cv = iBtn.getCurrentValue();
Enum next = Platform.nextEnum( cv );
if ( btn == searchBoxSettings )
AEConfig.instance.settings.putSetting( iBtn.getSetting(), next );
else
{
NetworkHandler.instance.sendToServer( new PacketValueConfig( iBtn.getSetting().name(), next.name() ) );
}
catch (IOException e)
{
AELog.error( e );
try
{
NetworkHandler.instance.sendToServer( new PacketValueConfig( iBtn.getSetting().name(), next.name() ) );
}
catch (IOException e)
{
AELog.error( e );
}
}
iBtn.set( next );
if ( next.getClass() == SearchBoxMode.class )
re_init();
}
iBtn.set( next );
if ( next.getClass() == SearchBoxMode.class )
re_init();
}
}