Merge branch 'master' of https://bitbucket.org/AlgorithmX2/appliedenergistics2 into rv1
Conflicts: container/implementations/ContainerStorageBus.java core/sync/packets/PacketValueConfig.java
This commit is contained in:
commit
01bf88061d
12 changed files with 196 additions and 92 deletions
|
@ -8,6 +8,7 @@ import net.minecraft.entity.player.InventoryPlayer;
|
||||||
import org.lwjgl.input.Mouse;
|
import org.lwjgl.input.Mouse;
|
||||||
|
|
||||||
import appeng.api.config.AccessRestriction;
|
import appeng.api.config.AccessRestriction;
|
||||||
|
import appeng.api.config.ActionItems;
|
||||||
import appeng.api.config.FuzzyMode;
|
import appeng.api.config.FuzzyMode;
|
||||||
import appeng.api.config.Settings;
|
import appeng.api.config.Settings;
|
||||||
import appeng.client.gui.widgets.GuiImgButton;
|
import appeng.client.gui.widgets.GuiImgButton;
|
||||||
|
@ -19,6 +20,7 @@ import appeng.core.sync.GuiBridge;
|
||||||
import appeng.core.sync.network.NetworkHandler;
|
import appeng.core.sync.network.NetworkHandler;
|
||||||
import appeng.core.sync.packets.PacketConfigButton;
|
import appeng.core.sync.packets.PacketConfigButton;
|
||||||
import appeng.core.sync.packets.PacketSwitchGuis;
|
import appeng.core.sync.packets.PacketSwitchGuis;
|
||||||
|
import appeng.core.sync.packets.PacketValueConfig;
|
||||||
import appeng.parts.misc.PartStorageBus;
|
import appeng.parts.misc.PartStorageBus;
|
||||||
|
|
||||||
public class GuiStorageBus extends GuiUpgradeable
|
public class GuiStorageBus extends GuiUpgradeable
|
||||||
|
@ -26,6 +28,8 @@ public class GuiStorageBus extends GuiUpgradeable
|
||||||
|
|
||||||
GuiImgButton rwMode;
|
GuiImgButton rwMode;
|
||||||
GuiTabButton priority;
|
GuiTabButton priority;
|
||||||
|
GuiImgButton partition;
|
||||||
|
GuiImgButton clear;
|
||||||
|
|
||||||
public GuiStorageBus(InventoryPlayer inventoryPlayer, PartStorageBus te) {
|
public GuiStorageBus(InventoryPlayer inventoryPlayer, PartStorageBus te) {
|
||||||
super( new ContainerStorageBus( inventoryPlayer, te ) );
|
super( new ContainerStorageBus( inventoryPlayer, te ) );
|
||||||
|
@ -54,13 +58,17 @@ public class GuiStorageBus extends GuiUpgradeable
|
||||||
@Override
|
@Override
|
||||||
protected void addButtons()
|
protected void addButtons()
|
||||||
{
|
{
|
||||||
fuzzyMode = new GuiImgButton( this.guiLeft - 18, guiTop + 28, Settings.FUZZY_MODE, FuzzyMode.IGNORE_ALL );
|
clear = new GuiImgButton( this.guiLeft - 18, guiTop + 8, Settings.ACTIONS, ActionItems.CLOSE );
|
||||||
rwMode = new GuiImgButton( this.guiLeft - 18, guiTop + 8, Settings.ACCESS, AccessRestriction.READ_WRITE );
|
partition = new GuiImgButton( this.guiLeft - 18, guiTop + 28, Settings.ACTIONS, ActionItems.WRENCH );
|
||||||
|
rwMode = new GuiImgButton( this.guiLeft - 18, guiTop + 48, Settings.ACCESS, AccessRestriction.READ_WRITE );
|
||||||
|
fuzzyMode = new GuiImgButton( this.guiLeft - 18, guiTop + 68, Settings.FUZZY_MODE, FuzzyMode.IGNORE_ALL );
|
||||||
|
|
||||||
buttonList.add( priority = new GuiTabButton( this.guiLeft + 154, this.guiTop, 2 + 4 * 16, GuiText.Priority.getLocal(), itemRender ) );
|
buttonList.add( priority = new GuiTabButton( this.guiLeft + 154, this.guiTop, 2 + 4 * 16, GuiText.Priority.getLocal(), itemRender ) );
|
||||||
|
|
||||||
buttonList.add( fuzzyMode );
|
buttonList.add( fuzzyMode );
|
||||||
buttonList.add( rwMode );
|
buttonList.add( rwMode );
|
||||||
|
buttonList.add( partition );
|
||||||
|
buttonList.add( clear );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -70,23 +78,21 @@ public class GuiStorageBus extends GuiUpgradeable
|
||||||
|
|
||||||
boolean backwards = Mouse.isButtonDown( 1 );
|
boolean backwards = Mouse.isButtonDown( 1 );
|
||||||
|
|
||||||
if ( btn == priority )
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
NetworkHandler.instance.sendToServer( new PacketSwitchGuis( GuiBridge.GUI_PRIORITY ) );
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
AELog.error( e );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if ( btn == fuzzyMode )
|
if ( btn == partition )
|
||||||
|
NetworkHandler.instance.sendToServer( new PacketValueConfig( "StorageBus.Action", "Partition" ) );
|
||||||
|
|
||||||
|
else if ( btn == clear )
|
||||||
|
NetworkHandler.instance.sendToServer( new PacketValueConfig( "StorageBus.Action", "Clear" ) );
|
||||||
|
|
||||||
|
else if ( btn == priority )
|
||||||
|
NetworkHandler.instance.sendToServer( new PacketSwitchGuis( GuiBridge.GUI_PRIORITY ) );
|
||||||
|
|
||||||
|
else if ( btn == fuzzyMode )
|
||||||
NetworkHandler.instance.sendToServer( new PacketConfigButton( fuzzyMode.getSetting(), backwards ) );
|
NetworkHandler.instance.sendToServer( new PacketConfigButton( fuzzyMode.getSetting(), backwards ) );
|
||||||
|
|
||||||
if ( btn == rwMode )
|
else if ( btn == rwMode )
|
||||||
NetworkHandler.instance.sendToServer( new PacketConfigButton( rwMode.getSetting(), backwards ) );
|
NetworkHandler.instance.sendToServer( new PacketConfigButton( rwMode.getSetting(), backwards ) );
|
||||||
}
|
}
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
|
|
|
@ -1,12 +1,19 @@
|
||||||
package appeng.container.implementations;
|
package appeng.container.implementations;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
|
||||||
import net.minecraft.entity.player.InventoryPlayer;
|
import net.minecraft.entity.player.InventoryPlayer;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import appeng.api.AEApi;
|
||||||
import appeng.api.config.AccessRestriction;
|
import appeng.api.config.AccessRestriction;
|
||||||
import appeng.api.config.FuzzyMode;
|
import appeng.api.config.FuzzyMode;
|
||||||
import appeng.api.config.SecurityPermissions;
|
import appeng.api.config.SecurityPermissions;
|
||||||
import appeng.api.config.Settings;
|
import appeng.api.config.Settings;
|
||||||
import appeng.api.config.Upgrades;
|
import appeng.api.config.Upgrades;
|
||||||
|
import appeng.api.storage.IMEInventory;
|
||||||
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
|
import appeng.api.storage.data.IItemList;
|
||||||
import appeng.container.guisync.GuiSync;
|
import appeng.container.guisync.GuiSync;
|
||||||
import appeng.container.slot.OptionalSlotFakeTypeOnly;
|
import appeng.container.slot.OptionalSlotFakeTypeOnly;
|
||||||
import appeng.container.slot.SlotFakeTypeOnly;
|
import appeng.container.slot.SlotFakeTypeOnly;
|
||||||
|
@ -14,6 +21,7 @@ import appeng.container.slot.SlotRestrictedInput;
|
||||||
import appeng.container.slot.SlotRestrictedInput.PlaceableItemType;
|
import appeng.container.slot.SlotRestrictedInput.PlaceableItemType;
|
||||||
import appeng.parts.misc.PartStorageBus;
|
import appeng.parts.misc.PartStorageBus;
|
||||||
import appeng.util.Platform;
|
import appeng.util.Platform;
|
||||||
|
import appeng.util.iterators.NullIterator;
|
||||||
|
|
||||||
public class ContainerStorageBus extends ContainerUpgradeable
|
public class ContainerStorageBus extends ContainerUpgradeable
|
||||||
{
|
{
|
||||||
|
@ -94,4 +102,40 @@ public class ContainerStorageBus extends ContainerUpgradeable
|
||||||
standardDetectAndSendChanges();
|
standardDetectAndSendChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clear()
|
||||||
|
{
|
||||||
|
IInventory inv = myte.getInventoryByName( "config" );
|
||||||
|
for (int x = 0; x < inv.getSizeInventory(); x++)
|
||||||
|
inv.setInventorySlotContents( x, null );
|
||||||
|
detectAndSendChanges();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void partition()
|
||||||
|
{
|
||||||
|
IInventory inv = myte.getInventoryByName( "config" );
|
||||||
|
|
||||||
|
IMEInventory<IAEItemStack> cellInv = storageBus.getInternalHandler();
|
||||||
|
|
||||||
|
Iterator<IAEItemStack> i = new NullIterator<IAEItemStack>();
|
||||||
|
if ( cellInv != null )
|
||||||
|
{
|
||||||
|
IItemList<IAEItemStack> list = cellInv.getAvailableItems( AEApi.instance().storage().createItemList() );
|
||||||
|
i = list.iterator();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int x = 0; x < inv.getSizeInventory(); x++)
|
||||||
|
{
|
||||||
|
if ( i.hasNext() && isSlotEnabled( (x / 9) - 2 ) )
|
||||||
|
{
|
||||||
|
ItemStack g = i.next().getItemStack();
|
||||||
|
g.stackSize = 1;
|
||||||
|
inv.setInventorySlotContents( x, g );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
inv.setInventorySlotContents( x, null );
|
||||||
|
}
|
||||||
|
|
||||||
|
detectAndSendChanges();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,6 +134,8 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
|
|
||||||
minMeteoriteDistanceSq = minMeteoriteDistance * minMeteoriteDistance;
|
minMeteoriteDistanceSq = minMeteoriteDistance * minMeteoriteDistance;
|
||||||
|
|
||||||
|
addCustomCategoryComment("wireless", "Range= WirelessBaseRange + WirelessBoosterRangeMultiplier * Math.pow( boosters, WirelessBoosterExp )\nPowerDrain= WirelessBaseCost + WirelessCostMultiplier * Math.pow( boosters, 1 + boosters / WirelessHighWirelessCount )" );
|
||||||
|
|
||||||
WirelessBaseCost = get( "wireless", "WirelessBaseCost", WirelessBaseCost ).getDouble( WirelessBaseCost );
|
WirelessBaseCost = get( "wireless", "WirelessBaseCost", WirelessBaseCost ).getDouble( WirelessBaseCost );
|
||||||
WirelessCostMultiplier = get( "wireless", "WirelessCostMultiplier", WirelessCostMultiplier ).getDouble( WirelessCostMultiplier );
|
WirelessCostMultiplier = get( "wireless", "WirelessCostMultiplier", WirelessCostMultiplier ).getDouble( WirelessCostMultiplier );
|
||||||
WirelessBaseRange = get( "wireless", "WirelessBaseRange", WirelessBaseRange ).getDouble( WirelessBaseRange );
|
WirelessBaseRange = get( "wireless", "WirelessBaseRange", WirelessBaseRange ).getDouble( WirelessBaseRange );
|
||||||
|
@ -166,10 +168,10 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
for (Enum e : settings.getSettings())
|
for (Enum e : settings.getSettings())
|
||||||
{
|
{
|
||||||
String Category = e.getClass().getSimpleName();
|
String Category = e.getClass().getSimpleName();
|
||||||
|
|
||||||
Enum value = settings.getSetting( e );
|
Enum value = settings.getSetting( e );
|
||||||
Property p = this.get( Category, e.name(), value.name() );
|
|
||||||
|
Property p = this.get( Category, e.name(), value.name(), getListComment( value ) );
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
value = Enum.valueOf( value.getClass(), p.getString() );
|
value = Enum.valueOf( value.getClass(), p.getString() );
|
||||||
|
@ -184,7 +186,7 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
selectedPowerUnit = PowerUnits.valueOf( get( "Client", "PowerUnit", selectedPowerUnit.name() ).getString() );
|
selectedPowerUnit = PowerUnits.valueOf( get( "Client", "PowerUnit", selectedPowerUnit.name(), getListComment(selectedPowerUnit) ).getString() );
|
||||||
}
|
}
|
||||||
catch (Throwable t)
|
catch (Throwable t)
|
||||||
{
|
{
|
||||||
|
@ -216,6 +218,27 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getListComment(Enum value)
|
||||||
|
{
|
||||||
|
String comment = null;
|
||||||
|
|
||||||
|
if ( value != null )
|
||||||
|
{
|
||||||
|
EnumSet set = EnumSet.allOf(value.getClass() );
|
||||||
|
|
||||||
|
for ( Object Oeg : set )
|
||||||
|
{
|
||||||
|
Enum eg = (Enum)Oeg;
|
||||||
|
if ( comment == null )
|
||||||
|
comment = "Possible Values: " + eg.name();
|
||||||
|
else
|
||||||
|
comment += ", "+eg.name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return comment;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateSetting(IConfigManager manager, Enum setting, Enum newValue)
|
public void updateSetting(IConfigManager manager, Enum setting, Enum newValue)
|
||||||
{
|
{
|
||||||
|
@ -224,7 +247,7 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
if ( e == setting )
|
if ( e == setting )
|
||||||
{
|
{
|
||||||
String Category = e.getClass().getSimpleName();
|
String Category = e.getClass().getSimpleName();
|
||||||
Property p = this.get( Category, e.name(), settings.getSetting( e ).name() );
|
Property p = this.get( Category, e.name(), settings.getSetting( e ).name(), getListComment( newValue ) );
|
||||||
p.set( newValue.name() );
|
p.set( newValue.name() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -247,7 +270,7 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
get( "spatialio", "storageProviderID", storageProviderID ).set( storageProviderID );
|
get( "spatialio", "storageProviderID", storageProviderID ).set( storageProviderID );
|
||||||
}
|
}
|
||||||
|
|
||||||
get( "Client", "PowerUnit", selectedPowerUnit.name() ).set( selectedPowerUnit.name() );
|
get( "Client", "PowerUnit", selectedPowerUnit.name(), getListComment(selectedPowerUnit) ).set( selectedPowerUnit.name() );
|
||||||
|
|
||||||
if ( hasChanged() )
|
if ( hasChanged() )
|
||||||
super.save();
|
super.save();
|
||||||
|
|
|
@ -7,51 +7,47 @@ import cpw.mods.fml.common.ICrashCallable;
|
||||||
public class CrashEnhancement implements ICrashCallable
|
public class CrashEnhancement implements ICrashCallable
|
||||||
{
|
{
|
||||||
|
|
||||||
final CrashInfo Output;
|
private final String name;
|
||||||
|
private final String value;
|
||||||
|
|
||||||
final String ModVersion = AEConfig.CHANNEL + " " + AEConfig.VERSION + " for Forge " + // WHAT?
|
private final String ModVersion = AEConfig.CHANNEL + " " + AEConfig.VERSION + " for Forge " + // WHAT?
|
||||||
net.minecraftforge.common.ForgeVersion.majorVersion + "." // majorVersion
|
net.minecraftforge.common.ForgeVersion.majorVersion + "." // majorVersion
|
||||||
+ net.minecraftforge.common.ForgeVersion.minorVersion + "." // minorVersion
|
+ net.minecraftforge.common.ForgeVersion.minorVersion + "." // minorVersion
|
||||||
+ net.minecraftforge.common.ForgeVersion.revisionVersion + "." // revisionVersion
|
+ net.minecraftforge.common.ForgeVersion.revisionVersion + "." // revisionVersion
|
||||||
+ net.minecraftforge.common.ForgeVersion.buildVersion;
|
+ net.minecraftforge.common.ForgeVersion.buildVersion;
|
||||||
|
|
||||||
final String IntegrationInfo;
|
public CrashEnhancement(CrashInfo Output) {
|
||||||
|
|
||||||
public CrashEnhancement(CrashInfo ci) {
|
if ( Output == CrashInfo.MOD_VERSION )
|
||||||
Output = ci;
|
{
|
||||||
|
name = "AE2 Version";
|
||||||
if ( IntegrationRegistry.instance != null )
|
value = ModVersion;
|
||||||
IntegrationInfo = IntegrationRegistry.instance.getStatus();
|
}
|
||||||
|
else if ( Output == CrashInfo.INTEGRATION )
|
||||||
|
{
|
||||||
|
name ="AE2 Integration";
|
||||||
|
if ( IntegrationRegistry.instance != null )
|
||||||
|
value = IntegrationRegistry.instance.getStatus();
|
||||||
|
else
|
||||||
|
value = "N/A";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
IntegrationInfo = "N/A";
|
{
|
||||||
|
name = "AE2_UNKNOWN";
|
||||||
|
value = "UNKNOWN_VALUE";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String call() throws Exception
|
public String call() throws Exception
|
||||||
{
|
{
|
||||||
switch (Output)
|
return value;
|
||||||
{
|
|
||||||
case MOD_VERSION:
|
|
||||||
return ModVersion;
|
|
||||||
case INTEGRATION:
|
|
||||||
return IntegrationInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
return "UNKNOWN_VALUE";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getLabel()
|
public String getLabel()
|
||||||
{
|
{
|
||||||
switch (Output)
|
return name;
|
||||||
{
|
|
||||||
case MOD_VERSION:
|
|
||||||
return "AE2 Version";
|
|
||||||
case INTEGRATION:
|
|
||||||
return "AE2 Integration";
|
|
||||||
}
|
|
||||||
|
|
||||||
return "AE2_UNKNOWN";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ public enum AEFeature
|
||||||
|
|
||||||
enableFacadeCrafting("Crafting"), inWorldSingularity("Crafting"), inWorldFluix("Crafting"), inWorldPurification("Crafting"), UpdateLogging("Misc", false),
|
enableFacadeCrafting("Crafting"), inWorldSingularity("Crafting"), inWorldFluix("Crafting"), inWorldPurification("Crafting"), UpdateLogging("Misc", false),
|
||||||
|
|
||||||
AlphaPass("Rendering"), AlphaMigration("Migration", true);
|
AlphaPass("Rendering");
|
||||||
|
|
||||||
String Category;
|
String Category;
|
||||||
boolean visible = true;
|
boolean visible = true;
|
||||||
|
|
|
@ -21,6 +21,7 @@ import appeng.container.implementations.ContainerPatternTerm;
|
||||||
import appeng.container.implementations.ContainerPriority;
|
import appeng.container.implementations.ContainerPriority;
|
||||||
import appeng.container.implementations.ContainerQuartzKnife;
|
import appeng.container.implementations.ContainerQuartzKnife;
|
||||||
import appeng.container.implementations.ContainerSecurity;
|
import appeng.container.implementations.ContainerSecurity;
|
||||||
|
import appeng.container.implementations.ContainerStorageBus;
|
||||||
import appeng.core.sync.AppEngPacket;
|
import appeng.core.sync.AppEngPacket;
|
||||||
import appeng.core.sync.network.INetworkInfo;
|
import appeng.core.sync.network.INetworkInfo;
|
||||||
|
|
||||||
|
@ -83,6 +84,21 @@ public class PacketValueConfig extends AppEngPacket
|
||||||
cpt.clear();
|
cpt.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( Name.startsWith( "StorageBus." ) && c instanceof ContainerStorageBus )
|
||||||
|
{
|
||||||
|
ContainerStorageBus ccw = (ContainerStorageBus) c;
|
||||||
|
if ( Name.equals( "StorageBus.Action" ) )
|
||||||
|
{
|
||||||
|
if ( Value.equals( "Partition" ) )
|
||||||
|
{
|
||||||
|
ccw.partition();
|
||||||
|
}
|
||||||
|
else if ( Value.equals( "Clear" ) )
|
||||||
|
{
|
||||||
|
ccw.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else if ( Name.startsWith( "CellWorkbench." ) && c instanceof ContainerCellWorkbench )
|
else if ( Name.startsWith( "CellWorkbench." ) && c instanceof ContainerCellWorkbench )
|
||||||
{
|
{
|
||||||
ContainerCellWorkbench ccw = (ContainerCellWorkbench) c;
|
ContainerCellWorkbench ccw = (ContainerCellWorkbench) c;
|
||||||
|
|
|
@ -41,7 +41,11 @@ public class MJ6 extends BaseModule implements IMJ6
|
||||||
if ( te instanceof IPowerReceptor )
|
if ( te instanceof IPowerReceptor )
|
||||||
{
|
{
|
||||||
final IPowerReceptor recp = (IPowerReceptor) te;
|
final IPowerReceptor recp = (IPowerReceptor) te;
|
||||||
|
if ( recp == null )
|
||||||
|
return null;
|
||||||
final PowerReceiver ph = recp.getPowerReceiver( side );
|
final PowerReceiver ph = recp.getPowerReceiver( side );
|
||||||
|
if ( ph == null )
|
||||||
|
return null;
|
||||||
|
|
||||||
return new IBatteryObject() {
|
return new IBatteryObject() {
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import appeng.api.AEApi;
|
import appeng.api.AEApi;
|
||||||
import appeng.api.features.IGrinderEntry;
|
import appeng.api.features.IGrinderEntry;
|
||||||
import appeng.client.gui.implementations.GuiInscriber;
|
import appeng.client.gui.implementations.GuiGrinder;
|
||||||
import appeng.core.localization.GuiText;
|
import appeng.core.localization.GuiText;
|
||||||
import codechicken.nei.NEIServerUtils;
|
import codechicken.nei.NEIServerUtils;
|
||||||
import codechicken.nei.PositionedStack;
|
import codechicken.nei.PositionedStack;
|
||||||
|
@ -64,12 +64,12 @@ public class NEIGrinderRecipeHandler extends TemplateRecipeHandler
|
||||||
|
|
||||||
public void loadTransferRects()
|
public void loadTransferRects()
|
||||||
{
|
{
|
||||||
this.transferRects.add( new TemplateRecipeHandler.RecipeTransferRect( new Rectangle( 84, 23, 24, 18 ), "inscriber", new Object[0] ) );
|
this.transferRects.add( new TemplateRecipeHandler.RecipeTransferRect( new Rectangle( 84, 23, 24, 18 ), "grindstone", new Object[0] ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Class<? extends GuiContainer> getGuiClass()
|
public Class<? extends GuiContainer> getGuiClass()
|
||||||
{
|
{
|
||||||
return GuiInscriber.class;
|
return GuiGrinder.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -157,7 +157,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||||
if ( host == null || host.getTile() == null || host.getTile().getWorldObj() == null )
|
if ( host == null || host.getTile() == null || host.getTile().getWorldObj() == null )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
IMEInventory<IAEItemStack> in = getHandler();
|
IMEInventory<IAEItemStack> in = getInternalHandler();
|
||||||
IItemList<IAEItemStack> before = AEApi.instance().storage().createItemList();
|
IItemList<IAEItemStack> before = AEApi.instance().storage().createItemList();
|
||||||
if ( in != null )
|
if ( in != null )
|
||||||
before = in.getAvailableItems( before );
|
before = in.getAvailableItems( before );
|
||||||
|
@ -175,7 +175,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||||
// :3
|
// :3
|
||||||
}
|
}
|
||||||
|
|
||||||
IMEInventory<IAEItemStack> out = getHandler();
|
IMEInventory<IAEItemStack> out = getInternalHandler();
|
||||||
IItemList<IAEItemStack> after = AEApi.instance().storage().createItemList();
|
IItemList<IAEItemStack> after = AEApi.instance().storage().createItemList();
|
||||||
if ( out != null )
|
if ( out != null )
|
||||||
after = out.getAvailableItems( after );
|
after = out.getAvailableItems( after );
|
||||||
|
@ -198,6 +198,13 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||||
resetCache( true );
|
resetCache( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void upgradesChanged()
|
||||||
|
{
|
||||||
|
super.upgradesChanged();
|
||||||
|
resetCache( true );
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateSetting(IConfigManager manager, Enum settingName, Enum newValue)
|
public void updateSetting(IConfigManager manager, Enum settingName, Enum newValue)
|
||||||
{
|
{
|
||||||
|
@ -213,7 +220,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||||
resetCache( true );
|
resetCache( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
private MEInventoryHandler getHandler()
|
public MEInventoryHandler getInternalHandler()
|
||||||
{
|
{
|
||||||
if ( cached )
|
if ( cached )
|
||||||
return handler;
|
return handler;
|
||||||
|
@ -390,7 +397,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||||
{
|
{
|
||||||
if ( channel == StorageChannel.ITEMS )
|
if ( channel == StorageChannel.ITEMS )
|
||||||
{
|
{
|
||||||
IMEInventoryHandler out = proxy.isActive() ? getHandler() : null;
|
IMEInventoryHandler out = proxy.isActive() ? getInternalHandler() : null;
|
||||||
if ( out != null )
|
if ( out != null )
|
||||||
return Arrays.asList( new IMEInventoryHandler[] { out } );
|
return Arrays.asList( new IMEInventoryHandler[] { out } );
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ import appeng.api.storage.StorageChannel;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
import appeng.api.storage.data.IAETagCompound;
|
import appeng.api.storage.data.IAETagCompound;
|
||||||
import appeng.util.Platform;
|
import appeng.util.Platform;
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
@ -329,7 +328,7 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
||||||
data.readBytes( bd );
|
data.readBytes( bd );
|
||||||
|
|
||||||
ByteArrayInputStream di = new ByteArrayInputStream( bd );
|
ByteArrayInputStream di = new ByteArrayInputStream( bd );
|
||||||
d.setTag( "tag", CompressedStreamTools.read( new DataInputStream( di) ) );
|
d.setTag( "tag", CompressedStreamTools.read( new DataInputStream( di ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// long priority = getPacketValue( PriorityType, data );
|
// long priority = getPacketValue( PriorityType, data );
|
||||||
|
@ -483,18 +482,20 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
||||||
return bottom;
|
return bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( fuzzy == FuzzyMode.IGNORE_ALL )
|
|
||||||
{
|
|
||||||
newDef.dspDamage = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int low = fuzzy.calculateBreakPoint( def.maxDamage );
|
|
||||||
newDef.dspDamage = low < def.dspDamage ? low : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( newDef.item.isDamageable() )
|
if ( newDef.item.isDamageable() )
|
||||||
|
{
|
||||||
|
if ( fuzzy == FuzzyMode.IGNORE_ALL )
|
||||||
|
{
|
||||||
|
newDef.dspDamage = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int low = fuzzy.calculateBreakPoint( def.maxDamage );
|
||||||
|
newDef.dspDamage = low < def.dspDamage ? low : 0;
|
||||||
|
}
|
||||||
|
|
||||||
newDef.damageValue = newDef.dspDamage;
|
newDef.damageValue = newDef.dspDamage;
|
||||||
|
}
|
||||||
|
|
||||||
newDef.tagCompound = AEItemDef.lowTag;
|
newDef.tagCompound = AEItemDef.lowTag;
|
||||||
newDef.reHash();
|
newDef.reHash();
|
||||||
|
@ -513,18 +514,20 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
|
||||||
return top;
|
return top;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( fuzzy == FuzzyMode.IGNORE_ALL )
|
|
||||||
{
|
|
||||||
newDef.dspDamage = def.maxDamage + 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int high = fuzzy.calculateBreakPoint( def.maxDamage ) + 1;
|
|
||||||
newDef.dspDamage = high > def.dspDamage ? high : def.maxDamage + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( newDef.item.isDamageable() )
|
if ( newDef.item.isDamageable() )
|
||||||
|
{
|
||||||
|
if ( fuzzy == FuzzyMode.IGNORE_ALL )
|
||||||
|
{
|
||||||
|
newDef.dspDamage = def.maxDamage + 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int high = fuzzy.calculateBreakPoint( def.maxDamage ) + 1;
|
||||||
|
newDef.dspDamage = high > def.dspDamage ? high : def.maxDamage + 1;
|
||||||
|
}
|
||||||
|
|
||||||
newDef.damageValue = top.def.dspDamage;
|
newDef.damageValue = top.def.dspDamage;
|
||||||
|
}
|
||||||
|
|
||||||
newDef.tagCompound = AEItemDef.highTag;
|
newDef.tagCompound = AEItemDef.highTag;
|
||||||
newDef.reHash();
|
newDef.reHash();
|
||||||
|
|
|
@ -20,27 +20,27 @@ public final class ItemList<StackType extends IAEStack> implements IItemList<Sta
|
||||||
|
|
||||||
private final TreeMap<StackType, StackType> records = new TreeMap();
|
private final TreeMap<StackType, StackType> records = new TreeMap();
|
||||||
private final Class<? extends IAEStack> clz;
|
private final Class<? extends IAEStack> clz;
|
||||||
|
|
||||||
// private int currentPriority = Integer.MIN_VALUE;
|
// private int currentPriority = Integer.MIN_VALUE;
|
||||||
|
|
||||||
int iteration = Integer.MIN_VALUE;
|
int iteration = Integer.MIN_VALUE;
|
||||||
public Throwable stacktrace;
|
public Throwable stacktrace;
|
||||||
|
|
||||||
public ItemList( Class<? extends IAEStack> cla) {
|
public ItemList(Class<? extends IAEStack> cla) {
|
||||||
clz = cla;
|
clz = cla;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkStackType( StackType st )
|
private boolean checkStackType(StackType st)
|
||||||
{
|
{
|
||||||
if ( st == null)
|
if ( st == null )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if ( !clz.isInstance(st) )
|
if ( !clz.isInstance( st ) )
|
||||||
throw new RuntimeException("WRONG TYPE - got "+st.getClass().getName()+" expected "+clz.getName() );
|
throw new RuntimeException( "WRONG TYPE - got " + st.getClass().getName() + " expected " + clz.getName() );
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
synchronized public void add(StackType option)
|
synchronized public void add(StackType option)
|
||||||
{
|
{
|
||||||
|
@ -190,7 +190,7 @@ public final class ItemList<StackType extends IAEStack> implements IItemList<Sta
|
||||||
{
|
{
|
||||||
StackType low = (StackType) filter.getLow( fuzzy, ignoreMeta );
|
StackType low = (StackType) filter.getLow( fuzzy, ignoreMeta );
|
||||||
StackType high = (StackType) filter.getHigh( fuzzy, ignoreMeta );
|
StackType high = (StackType) filter.getHigh( fuzzy, ignoreMeta );
|
||||||
return records.subMap( low, high ).values();
|
return records.subMap( low, true, high, true ).values();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -198,7 +198,7 @@ public final class ItemList<StackType extends IAEStack> implements IItemList<Sta
|
||||||
{
|
{
|
||||||
if ( checkStackType( filter ) )
|
if ( checkStackType( filter ) )
|
||||||
return new ArrayList();
|
return new ArrayList();
|
||||||
|
|
||||||
if ( filter instanceof IAEFluidStack )
|
if ( filter instanceof IAEFluidStack )
|
||||||
return filter.equals( this ) ? (List<StackType>) Arrays.asList( new IAEFluidStack[] { (IAEFluidStack) filter } ) : (List<StackType>) Arrays
|
return filter.equals( this ) ? (List<StackType>) Arrays.asList( new IAEFluidStack[] { (IAEFluidStack) filter } ) : (List<StackType>) Arrays
|
||||||
.asList( new IAEFluidStack[] {} );
|
.asList( new IAEFluidStack[] {} );
|
||||||
|
|
|
@ -79,12 +79,17 @@ public class OreHelper
|
||||||
if ( OreDictionary.itemMatches( oreItem, ItemStack, false ) )
|
if ( OreDictionary.itemMatches( oreItem, ItemStack, false ) )
|
||||||
{
|
{
|
||||||
add = true;
|
add = true;
|
||||||
set.add( oreItem.copy() );
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( add )
|
if ( add )
|
||||||
|
{
|
||||||
|
for (ItemStack oreItem : OreDictionary.getOres( ore ))
|
||||||
|
set.add( oreItem.copy() );
|
||||||
|
|
||||||
ores.add( OreDictionary.getOreID( ore ) );
|
ores.add( OreDictionary.getOreID( ore ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !set.isEmpty() )
|
if ( !set.isEmpty() )
|
||||||
|
|
Loading…
Reference in a new issue