Fixes #675 No disabled feature should log spam or crash anymore.

Deprecates the old usage of the AEItemDefinitions via the direct method access of

* blocks()
* parts()
* items()
* materials()

and thus use the new re-direct via definitions().

All definitions are now initialized, no matter what. But SubItems, Items and Blocks are not registered, if by chance are disabled.
This commit is contained in:
thatsIch
2015-01-03 02:53:14 +01:00
parent 3dd81433ac
commit 9986ffc458
385 changed files with 12477 additions and 8292 deletions
@@ -23,6 +23,8 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import appeng.api.AEApi;
import appeng.api.definitions.IDefinitions;
import appeng.api.definitions.IParts;
import appeng.api.storage.ITerminalHost;
import appeng.client.gui.AEBaseGui;
import appeng.client.gui.widgets.GuiNumberBox;
@@ -35,6 +37,7 @@ import appeng.core.sync.GuiBridge;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.PacketCraftRequest;
import appeng.core.sync.packets.PacketSwitchGuis;
import appeng.helpers.Reflected;
import appeng.helpers.WirelessTerminalGuiObject;
import appeng.parts.reporting.PartCraftingTerminal;
import appeng.parts.reporting.PartPatternTerminal;
@@ -42,23 +45,23 @@ import appeng.parts.reporting.PartTerminal;
public class GuiCraftAmount extends AEBaseGui
{
private GuiNumberBox amountToCraft;
private GuiTabButton originalGuiBtn;
GuiNumberBox amountToCraft;
GuiTabButton originalGuiBtn;
private GuiButton next;
GuiButton next;
private GuiButton plus1;
private GuiButton plus10;
private GuiButton plus100;
private GuiButton plus1000;
private GuiButton minus1;
private GuiButton minus10;
private GuiButton minus100;
private GuiButton minus1000;
GuiButton plus1;
GuiButton plus10;
GuiButton plus100;
GuiButton plus1000;
GuiButton minus1;
GuiButton minus10;
GuiButton minus100;
GuiButton minus1000;
GuiBridge OriginalGui;
private GuiBridge originalGui;
@Reflected
public GuiCraftAmount(InventoryPlayer inventoryPlayer, ITerminalHost te) {
super( new ContainerCraftAmount( inventoryPlayer, te ) );
}
@@ -87,33 +90,50 @@ public class GuiCraftAmount extends AEBaseGui
ItemStack myIcon = null;
Object target = ((AEBaseContainer) this.inventorySlots).getTarget();
final IDefinitions definitions = AEApi.instance().definitions();
final IParts parts = definitions.parts();
if ( target instanceof WirelessTerminalGuiObject )
{
myIcon = AEApi.instance().items().itemWirelessTerminal.stack( 1 );
this.OriginalGui = GuiBridge.GUI_WIRELESS_TERM;
for ( ItemStack wirelessTerminalStack : definitions.items().wirelessTerminal().maybeStack( 1 ).asSet() )
{
myIcon = wirelessTerminalStack;
}
this.originalGui = GuiBridge.GUI_WIRELESS_TERM;
}
if ( target instanceof PartTerminal )
{
myIcon = AEApi.instance().parts().partTerminal.stack( 1 );
this.OriginalGui = GuiBridge.GUI_ME;
for ( ItemStack stack : parts.terminal().maybeStack( 1 ).asSet() )
{
myIcon = stack;
}
this.originalGui = GuiBridge.GUI_ME;
}
if ( target instanceof PartCraftingTerminal )
{
myIcon = AEApi.instance().parts().partCraftingTerminal.stack( 1 );
this.OriginalGui = GuiBridge.GUI_CRAFTING_TERMINAL;
for ( ItemStack stack : parts.craftingTerminal().maybeStack( 1 ).asSet() )
{
myIcon = stack;
}
this.originalGui = GuiBridge.GUI_CRAFTING_TERMINAL;
}
if ( target instanceof PartPatternTerminal )
{
myIcon = AEApi.instance().parts().partPatternTerminal.stack( 1 );
this.OriginalGui = GuiBridge.GUI_PATTERN_TERMINAL;
for ( ItemStack stack : parts.patternTerminal().maybeStack( 1 ).asSet() )
{
myIcon = stack;
}
this.originalGui = GuiBridge.GUI_PATTERN_TERMINAL;
}
if ( this.OriginalGui != null )
if ( this.originalGui != null && myIcon != null )
{
this.buttonList.add( this.originalGuiBtn = new GuiTabButton( this.guiLeft + 154, this.guiTop, myIcon, myIcon.getDisplayName(), itemRender ) );
}
this.amountToCraft = new GuiNumberBox( this.fontRendererObj, this.guiLeft + 62, this.guiTop + 57, 59, this.fontRendererObj.FONT_HEIGHT, Integer.class );
this.amountToCraft.setEnableBackgroundDrawing( false );
@@ -134,7 +154,7 @@ public class GuiCraftAmount extends AEBaseGui
if ( btn == this.originalGuiBtn )
{
NetworkHandler.instance.sendToServer( new PacketSwitchGuis( this.OriginalGui ) );
NetworkHandler.instance.sendToServer( new PacketSwitchGuis( this.originalGui ) );
}
if ( btn == this.next )
@@ -160,22 +180,22 @@ public class GuiCraftAmount extends AEBaseGui
{
try
{
String Out = this.amountToCraft.getText();
String out = this.amountToCraft.getText();
boolean Fixed = false;
while (Out.startsWith( "0" ) && Out.length() > 1)
boolean fixed = false;
while (out.startsWith( "0" ) && out.length() > 1)
{
Out = Out.substring( 1 );
Fixed = true;
out = out.substring( 1 );
fixed = true;
}
if ( Fixed )
this.amountToCraft.setText( Out );
if ( fixed )
this.amountToCraft.setText( out );
if ( Out.length() == 0 )
Out = "0";
if ( out.length() == 0 )
out = "0";
long result = Integer.parseInt( Out );
long result = Integer.parseInt( out );
if ( result == 1 && i > 1 )
result = 0;
@@ -184,9 +204,9 @@ public class GuiCraftAmount extends AEBaseGui
if ( result < 1 )
result = 1;
Out = Long.toString( result );
Integer.parseInt( Out );
this.amountToCraft.setText( Out );
out = Long.toString( result );
Integer.parseInt( out );
this.amountToCraft.setText( out );
}
catch (NumberFormatException e)
{
@@ -208,22 +228,22 @@ public class GuiCraftAmount extends AEBaseGui
{
try
{
String Out = this.amountToCraft.getText();
String out = this.amountToCraft.getText();
boolean Fixed = false;
while (Out.startsWith( "0" ) && Out.length() > 1)
boolean fixed = false;
while (out.startsWith( "0" ) && out.length() > 1)
{
Out = Out.substring( 1 );
Fixed = true;
out = out.substring( 1 );
fixed = true;
}
if ( Fixed )
this.amountToCraft.setText( Out );
if ( fixed )
this.amountToCraft.setText( out );
if ( Out.length() == 0 )
Out = "0";
if ( out.length() == 0 )
out = "0";
long result = Long.parseLong( Out );
long result = Long.parseLong( out );
if ( result < 0 )
{
this.amountToCraft.setText( "1" );