diff --git a/block/crafting/BlockCraftingMonitor.java b/block/crafting/BlockCraftingMonitor.java deleted file mode 100644 index 65a88cc6d..000000000 --- a/block/crafting/BlockCraftingMonitor.java +++ /dev/null @@ -1,19 +0,0 @@ -package appeng.block.crafting; - -import java.util.EnumSet; - -import net.minecraft.block.material.Material; -import appeng.block.AEBaseBlock; -import appeng.core.features.AEFeature; -import appeng.tile.crafting.TileCraftingTile; - -public class BlockCraftingMonitor extends AEBaseBlock -{ - - public BlockCraftingMonitor() { - super( BlockCraftingMonitor.class, Material.iron ); - setfeature( EnumSet.of( AEFeature.Crafting ) ); - setTileEntiy( TileCraftingTile.class ); - } - -} diff --git a/block/crafting/BlockCraftingStorage.java b/block/crafting/BlockCraftingStorage.java deleted file mode 100644 index 675383874..000000000 --- a/block/crafting/BlockCraftingStorage.java +++ /dev/null @@ -1,19 +0,0 @@ -package appeng.block.crafting; - -import java.util.EnumSet; - -import net.minecraft.block.material.Material; -import appeng.block.AEBaseBlock; -import appeng.core.features.AEFeature; -import appeng.tile.crafting.TileCraftingTile; - -public class BlockCraftingStorage extends AEBaseBlock -{ - - public BlockCraftingStorage() { - super( BlockCraftingStorage.class, Material.iron ); - setfeature( EnumSet.of( AEFeature.Crafting ) ); - setTileEntiy( TileCraftingTile.class ); - } - -} diff --git a/block/crafting/BlockCraftingUnit.java b/block/crafting/BlockCraftingUnit.java index 477acfa22..3d0084e5c 100644 --- a/block/crafting/BlockCraftingUnit.java +++ b/block/crafting/BlockCraftingUnit.java @@ -1,8 +1,16 @@ package appeng.block.crafting; +import java.util.ArrayList; import java.util.EnumSet; +import java.util.List; import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; import appeng.block.AEBaseBlock; import appeng.core.features.AEFeature; import appeng.tile.crafting.TileCraftingTile; @@ -10,10 +18,74 @@ import appeng.tile.crafting.TileCraftingTile; public class BlockCraftingUnit extends AEBaseBlock { + public final static int BASE_DAMAGE = 0; + public final static int BASE_MONITOR = 1; + public final static int BASE_STORAGE = 2; + public final static int BASE_ACCELERATOR = 3; + public BlockCraftingUnit() { super( BlockCraftingUnit.class, Material.iron ); + hasSubtypes = true; setfeature( EnumSet.of( AEFeature.Crafting ) ); setTileEntiy( TileCraftingTile.class ); } + public ItemStack getItemStack(World world, int x, int y, int z) + { + TileCraftingTile ct = getTileEntity( world, x, y, z ); + + int meta = world.getBlockMetadata( x, y, z ); + if ( ct != null && meta == BASE_STORAGE ) + { + return createStackForBytes( ct.getStorageBytes() ); + } + + return new ItemStack( this, 1, meta ); + } + + private ItemStack createStackForBytes(long storageBytes) + { + ItemStack itemDetails = new ItemStack( this, 1, BASE_STORAGE ); + NBTTagCompound tag = new NBTTagCompound(); + tag.setLong( "bytes", storageBytes ); + itemDetails.setTagCompound( tag ); + return itemDetails; + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) + { + ArrayList out = new ArrayList(); + + ItemStack is = getItemStack( world, x, y, z ); + if ( is != null ) + out.add( is ); + + return out; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) + { + return getItemStack( world, x, y, z ); + } + + @Override + public void getSubBlocks(Item i, CreativeTabs c, List l) + { + l.add( new ItemStack( this, 1, BASE_DAMAGE ) ); + l.add( new ItemStack( this, 1, BASE_MONITOR ) ); + l.add( new ItemStack( this, 1, BASE_ACCELERATOR ) ); + l.add( createStackForBytes( 1024 ) ); + l.add( createStackForBytes( 1024 * 4 ) ); + l.add( createStackForBytes( 1024 * 16 ) ); + l.add( createStackForBytes( 1024 * 64 ) ); + } + + @Override + public Class getItemBlockClass() + { + return ItemBlockCraftingUnit.class; + } + } diff --git a/block/crafting/ItemBlockCraftingUnit.java b/block/crafting/ItemBlockCraftingUnit.java new file mode 100644 index 000000000..71028b646 --- /dev/null +++ b/block/crafting/ItemBlockCraftingUnit.java @@ -0,0 +1,56 @@ +package appeng.block.crafting; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import appeng.block.AEBaseItemBlock; +import appeng.core.localization.GuiText; + +public class ItemBlockCraftingUnit extends AEBaseItemBlock +{ + + public ItemBlockCraftingUnit(Block id) { + super( id ); + } + + @Override + public String getUnlocalizedName(ItemStack is) + { + switch (is.getItemDamage()) + { + case BlockCraftingUnit.BASE_STORAGE: + return "tile.appliedenergistics2.BlockCraftingStorage"; + case BlockCraftingUnit.BASE_ACCELERATOR: + return "tile.appliedenergistics2.BlockCraftingAccelerator"; + case BlockCraftingUnit.BASE_MONITOR: + return "tile.appliedenergistics2.BlockCraftingMonitor"; + } + + return super.getUnlocalizedName( is ); + } + + @Override + public String getItemStackDisplayName(ItemStack is) + { + String name = super.getItemStackDisplayName( is ); + + long storageBytes = getStorageBytes( is ); + if ( storageBytes > 0 ) + return name + " - " + GuiText.Stores.getLocal() + " " + (storageBytes / 1024) + "k"; + + return name; + } + + public long getStorageBytes(ItemStack is) + { + NBTTagCompound tag = is.getTagCompound(); + + if ( tag != null ) + { + return tag.getLong( "bytes" ); + } + + return 0; + } + +} diff --git a/block/misc/BlockCharger.java b/block/misc/BlockCharger.java index bb9a93ea0..b4428e25a 100644 --- a/block/misc/BlockCharger.java +++ b/block/misc/BlockCharger.java @@ -77,7 +77,7 @@ public class BlockCharger extends AEBaseBlock implements ICustomCollision if ( tile instanceof TileCharger ) { TileCharger tc = (TileCharger) tile; - if ( AEApi.instance().materials().materialCertusQuartzCrystalCharged.sameAs( tc.getStackInSlot( 0 ) ) ) + if ( AEApi.instance().materials().materialCertusQuartzCrystalCharged.sameAsStack( tc.getStackInSlot( 0 ) ) ) { double xOff = 0.0; diff --git a/container/implementations/ContainerPatternTerm.java b/container/implementations/ContainerPatternTerm.java index 526c86696..aa8710236 100644 --- a/container/implementations/ContainerPatternTerm.java +++ b/container/implementations/ContainerPatternTerm.java @@ -278,7 +278,7 @@ public class ContainerPatternTerm extends ContainerMEMonitorable implements IAEA if ( output == null ) return false; - return AEApi.instance().items().itemEncodedPattern.sameAs( output ) || AEApi.instance().materials().materialBlankPattern.sameAs( output ); + return AEApi.instance().items().itemEncodedPattern.sameAsStack( output ) || AEApi.instance().materials().materialBlankPattern.sameAsStack( output ); } @Override diff --git a/container/slot/SlotRestrictedInput.java b/container/slot/SlotRestrictedInput.java index 21edd49fa..a9fd05714 100644 --- a/container/slot/SlotRestrictedInput.java +++ b/container/slot/SlotRestrictedInput.java @@ -133,17 +133,17 @@ public class SlotRestrictedInput extends AppEngSlot return false;// pattern != null; } case BLANK_PATTERN: - return AEApi.instance().materials().materialBlankPattern.sameAs( i ); + return AEApi.instance().materials().materialBlankPattern.sameAsStack( i ); case PATTERN: if ( i.getItem() instanceof ICraftingPatternItem ) return true; - return AEApi.instance().materials().materialBlankPattern.sameAs( i ); + return AEApi.instance().materials().materialBlankPattern.sameAsStack( i ); case INSCRIBER_PLATE: - if ( AEApi.instance().materials().materialNamePress.sameAs( i ) ) + if ( AEApi.instance().materials().materialNamePress.sameAsStack( i ) ) return true; for (ItemStack is : Inscribe.plates) @@ -164,7 +164,7 @@ public class SlotRestrictedInput extends AppEngSlot return isMetalIngot( i ); case VIEWCELL: - return AEApi.instance().items().itemViewCell.sameAs( i ); + return AEApi.instance().items().itemViewCell.sameAsStack( i ); case ORE: return appeng.api.AEApi.instance().registries().grinder().getRecipeForInput( i ) != null; case FUEL: @@ -172,9 +172,9 @@ public class SlotRestrictedInput extends AppEngSlot case POWERED_TOOL: return Platform.isChargeable( i ); case QE_SINGULARTIY: - return api.materials().materialQESingularity.sameAs( i ); + return api.materials().materialQESingularity.sameAsStack( i ); case RANGE_BOOSTER: - return api.materials().materialWirelessBooster.sameAs( i ); + return api.materials().materialWirelessBooster.sameAsStack( i ); case SPATIAL_STORAGE_CELLS: return i.getItem() instanceof ISpatialStorageCell && ((ISpatialStorageCell) i.getItem()).isSpatialStorage( i ); case STORAGE_CELLS: diff --git a/core/Registration.java b/core/Registration.java index b2ac9351f..3477e8ce1 100644 --- a/core/Registration.java +++ b/core/Registration.java @@ -77,6 +77,7 @@ import appeng.core.features.DamagedItemDefinition; import appeng.core.features.IAEFeature; import appeng.core.features.ItemStackSrc; import appeng.core.features.NullItemDefinition; +import appeng.core.features.WrappedDamageItemDefinition; import appeng.core.features.registries.P2PTunnelRegistry; import appeng.core.features.registries.entries.BasicCellHandler; import appeng.core.features.registries.entries.CreativeCellHandler; @@ -272,12 +273,16 @@ public class Registration // very important block! blocks.blockMultiPart = addFeature( BlockCableBus.class ); + blocks.blockCraftingUnit = addFeature( BlockCraftingUnit.class ); + blocks.blockCraftingMonitor = new WrappedDamageItemDefinition( blocks.blockCraftingUnit, BlockCraftingUnit.BASE_MONITOR ); + blocks.blockCraftingStorage = new WrappedDamageItemDefinition( blocks.blockCraftingUnit, BlockCraftingUnit.BASE_STORAGE ); + blocks.blockCraftingAccelerator = new WrappedDamageItemDefinition( blocks.blockCraftingUnit, BlockCraftingUnit.BASE_ACCELERATOR ); + blocks.blockMolecularAssembler = addFeature( BlockMolecularAssembler.class ); + blocks.blockQuartzOre = addFeature( OreQuartz.class ); blocks.blockQuartzOreCharged = addFeature( OreQuartzCharged.class ); blocks.blockMatrixFrame = addFeature( BlockMatrixFrame.class ); blocks.blockQuartz = addFeature( BlockQuartz.class ); - blocks.blockCraftingUnit = addFeature( BlockCraftingUnit.class ); - blocks.blockMolecularAssembler = addFeature( BlockMolecularAssembler.class ); blocks.blockFluix = addFeature( BlockFluix.class ); blocks.blockSkyStone = addFeature( BlockSkyStone.class ); blocks.blockSkyChest = addFeature( BlockSkyChest.class ); diff --git a/core/features/AEFeatureHandler.java b/core/features/AEFeatureHandler.java index 9376401ae..05202c9ab 100644 --- a/core/features/AEFeatureHandler.java +++ b/core/features/AEFeatureHandler.java @@ -6,6 +6,7 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; import appeng.api.util.AEItemDefinition; import appeng.block.AEBaseBlock; import appeng.block.AEBaseItemBlock; @@ -175,11 +176,19 @@ public class AEFeatureHandler implements AEItemDefinition } @Override - public boolean sameAs(ItemStack is) + public boolean sameAsStack(ItemStack is) { if ( isFeatureAvailable() ) return Platform.isSameItemType( is, stack( 1 ) ); return false; } + @Override + public boolean sameAsBlock(IBlockAccess world, int x, int y, int z) + { + if ( isFeatureAvailable() && BlockData != null ) + return world.getBlock( x, y, z ) == block(); + return false; + } + } diff --git a/core/features/DamagedItemDefinition.java b/core/features/DamagedItemDefinition.java index 7619a6cbb..404233503 100644 --- a/core/features/DamagedItemDefinition.java +++ b/core/features/DamagedItemDefinition.java @@ -4,6 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; import appeng.api.util.AEItemDefinition; public class DamagedItemDefinition implements AEItemDefinition @@ -53,7 +54,7 @@ public class DamagedItemDefinition implements AEItemDefinition } @Override - public boolean sameAs(ItemStack comparableItem) + public boolean sameAsStack(ItemStack comparableItem) { if ( comparableItem == null ) return false; @@ -61,4 +62,10 @@ public class DamagedItemDefinition implements AEItemDefinition return comparableItem.getItem() == baseItem && comparableItem.getItemDamage() == damage; } + @Override + public boolean sameAsBlock(IBlockAccess world, int x, int y, int z) + { + return false; + } + } diff --git a/core/features/NullItemDefinition.java b/core/features/NullItemDefinition.java index 7de3023e3..4e394f336 100644 --- a/core/features/NullItemDefinition.java +++ b/core/features/NullItemDefinition.java @@ -4,6 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; import appeng.api.util.AEItemDefinition; public class NullItemDefinition implements AEItemDefinition @@ -34,7 +35,13 @@ public class NullItemDefinition implements AEItemDefinition } @Override - public boolean sameAs(ItemStack comparableItem) + public boolean sameAsStack(ItemStack comparableItem) + { + return false; + } + + @Override + public boolean sameAsBlock(IBlockAccess world, int x, int y, int z) { return false; } diff --git a/core/features/WrappedDamageItemDefinition.java b/core/features/WrappedDamageItemDefinition.java new file mode 100644 index 000000000..ca55a748b --- /dev/null +++ b/core/features/WrappedDamageItemDefinition.java @@ -0,0 +1,65 @@ +package appeng.core.features; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; +import appeng.api.util.AEItemDefinition; + +public class WrappedDamageItemDefinition implements AEItemDefinition +{ + + final AEItemDefinition baseItem; + final int damage; + + public WrappedDamageItemDefinition(AEItemDefinition def, int dmg) { + baseItem = def; + damage = dmg; + } + + @Override + public Block block() + { + return baseItem.block(); + } + + @Override + public Item item() + { + return baseItem.item(); + } + + @Override + public Class entity() + { + return baseItem.entity(); + } + + @Override + public ItemStack stack(int stackSize) + { + if ( baseItem == null ) + return null; + + return new ItemStack( baseItem.block(), stackSize, damage ); + } + + @Override + public boolean sameAsStack(ItemStack comparableItem) + { + if ( comparableItem == null ) + return false; + + return comparableItem.getItem() == baseItem.item() && comparableItem.getItemDamage() == damage; + } + + @Override + public boolean sameAsBlock(IBlockAccess world, int x, int y, int z) + { + if ( block() != null ) + return world.getBlock( x, y, z ) == block() && world.getBlockMetadata( x, y, z ) == damage; + return false; + } + +} diff --git a/core/localization/GuiText.java b/core/localization/GuiText.java index 6aa65b7a3..a09fbca4f 100644 --- a/core/localization/GuiText.java +++ b/core/localization/GuiText.java @@ -25,10 +25,12 @@ public enum GuiText CraftingTerminal, FormationPlane, Inscriber, QuartzCuttingKnife, METunnel, ItemTunnel, RedstoneTunnel, MJTunnel, EUTunnel, FluidTunnel, StoredSize, - - CopyMode, CopyModeDesc, PatternTerminal, CraftingPattern, ProcessingPattern, Crafts, Creates, And, With, MolecularAssembler, - - StoredPower, MaxPower, RequiredPower, Efficiency, InWorldCrafting, inWorldFluix, inWorldPurification, inWorldSingularity, OfSecondOutput, NoSecondOutput, RFTunnel; + + CopyMode, CopyModeDesc, PatternTerminal, CraftingPattern, ProcessingPattern, Crafts, Creates, And, With, MolecularAssembler, + + StoredPower, MaxPower, RequiredPower, Efficiency, InWorldCrafting, inWorldFluix, inWorldPurification, inWorldSingularity, + + OfSecondOutput, NoSecondOutput, RFTunnel, Stores; String root; diff --git a/entity/EntityChargedQuartz.java b/entity/EntityChargedQuartz.java index 421f3a3e1..23d9050df 100644 --- a/entity/EntityChargedQuartz.java +++ b/entity/EntityChargedQuartz.java @@ -67,7 +67,7 @@ final public class EntityChargedQuartz extends EntityItem public boolean transform() { ItemStack item = getEntityItem(); - if ( AEApi.instance().materials().materialCertusQuartzCrystalCharged.sameAs( item ) ) + if ( AEApi.instance().materials().materialCertusQuartzCrystalCharged.sameAsStack( item ) ) { AxisAlignedBB region = AxisAlignedBB.getBoundingBox( posX - 1, posY - 1, posZ - 1, posX + 1, posY + 1, posZ + 1 ); List l = worldObj.getEntitiesWithinAABBExcludingEntity( this, region ); diff --git a/entity/EntitySingularity.java b/entity/EntitySingularity.java index ac27dbb66..28a3f5fc1 100644 --- a/entity/EntitySingularity.java +++ b/entity/EntitySingularity.java @@ -50,7 +50,7 @@ final public class EntitySingularity extends EntityItem return; ItemStack item = getEntityItem(); - if ( AEApi.instance().materials().materialSingularity.sameAs( item ) ) + if ( AEApi.instance().materials().materialSingularity.sameAsStack( item ) ) { AxisAlignedBB region = AxisAlignedBB.getBoundingBox( posX - 4, posY - 4, posZ - 4, posX + 4, posY + 4, posZ + 4 ); List l = worldObj.getEntitiesWithinAABBExcludingEntity( this, region ); diff --git a/items/tools/powered/ToolWirelessTerminal.java b/items/tools/powered/ToolWirelessTerminal.java index 8328c0ca8..83fe91acf 100644 --- a/items/tools/powered/ToolWirelessTerminal.java +++ b/items/tools/powered/ToolWirelessTerminal.java @@ -64,7 +64,7 @@ public class ToolWirelessTerminal extends AEBasePoweredItem implements IWireless @Override public boolean canHandle(ItemStack is) { - return AEApi.instance().items().itemWirelessTerminal.sameAs( is ); + return AEApi.instance().items().itemWirelessTerminal.sameAsStack( is ); } @Override diff --git a/me/storage/SecurityInventory.java b/me/storage/SecurityInventory.java index bd4a17765..ab12fd77b 100644 --- a/me/storage/SecurityInventory.java +++ b/me/storage/SecurityInventory.java @@ -44,7 +44,7 @@ public class SecurityInventory implements IMEInventoryHandler @Override public IAEItemStack injectItems(IAEItemStack input, Actionable type, BaseActionSource src) { - if ( hasPermission( src ) && AEApi.instance().items().itemBiometricCard.sameAs( input.getItemStack() ) ) + if ( hasPermission( src ) && AEApi.instance().items().itemBiometricCard.sameAsStack( input.getItemStack() ) ) { if ( canAccept( input ) ) { diff --git a/parts/AEBasePart.java b/parts/AEBasePart.java index 4e1b4265c..fb3db4067 100644 --- a/parts/AEBasePart.java +++ b/parts/AEBasePart.java @@ -375,7 +375,7 @@ public class AEBasePart implements IPart, IGridProxyable, IActionHost, IUpgradea ItemStack is = getItemStack( PartItemStack.Network ); // Blocks and parts share the same soul! - if ( AEApi.instance().parts().partInterface.sameAs( is ) ) + if ( AEApi.instance().parts().partInterface.sameAsStack( is ) ) is = AEApi.instance().blocks().blockInterface.stack( 1 ); String name = is.getUnlocalizedName(); diff --git a/recipes/game/FacadeRecipe.java b/recipes/game/FacadeRecipe.java index 0dcf01121..a53526210 100644 --- a/recipes/game/FacadeRecipe.java +++ b/recipes/game/FacadeRecipe.java @@ -18,8 +18,8 @@ public class FacadeRecipe implements IRecipe { if ( inv.getStackInSlot( 0 ) == null && inv.getStackInSlot( 2 ) == null && inv.getStackInSlot( 6 ) == null && inv.getStackInSlot( 8 ) == null ) { - if ( anchor.sameAs( inv.getStackInSlot( 1 ) ) && anchor.sameAs( inv.getStackInSlot( 3 ) ) && anchor.sameAs( inv.getStackInSlot( 5 ) ) - && anchor.sameAs( inv.getStackInSlot( 7 ) ) ) + if ( anchor.sameAsStack( inv.getStackInSlot( 1 ) ) && anchor.sameAsStack( inv.getStackInSlot( 3 ) ) && anchor.sameAsStack( inv.getStackInSlot( 5 ) ) + && anchor.sameAsStack( inv.getStackInSlot( 7 ) ) ) { ItemStack facadeis = facade.createFacadeForItem( inv.getStackInSlot( 4 ), !createFacade ); if ( facadeis != null && createFacade ) diff --git a/tile/crafting/TileCraftingTile.java b/tile/crafting/TileCraftingTile.java index c8867a38a..2a861ceb9 100644 --- a/tile/crafting/TileCraftingTile.java +++ b/tile/crafting/TileCraftingTile.java @@ -1,12 +1,58 @@ package appeng.tile.crafting; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import appeng.api.AEApi; import appeng.me.cluster.IAECluster; import appeng.me.cluster.IAEMultiBlock; import appeng.tile.AEBaseTile; +import appeng.tile.events.AETileEventHandler; +import appeng.tile.events.TileEventType; public class TileCraftingTile extends AEBaseTile implements IAEMultiBlock { + private long storageBytes = 0; + + public TileCraftingTile() { + addNewHandler( new AETileEventHandler( TileEventType.NETWORK, TileEventType.WORLD_NBT ) { + + public void writeToNBT(NBTTagCompound data) + { + if ( storageBytes > 0 ) + data.setLong( "bytes", storageBytes ); + } + + public void readFromNBT(NBTTagCompound data) + { + storageBytes = data.getLong( "bytes" ); + } + + public boolean readFromStream(io.netty.buffer.ByteBuf data) throws java.io.IOException + { + storageBytes = data.readLong(); + return false; + } + + public void writeToStream(io.netty.buffer.ByteBuf data) throws java.io.IOException + { + data.writeLong( storageBytes ); + } + + } ); + } + + @Override + public void onPlacement(ItemStack stack, EntityPlayer player, int side) + { + if ( AEApi.instance().blocks().blockCraftingStorage.sameAsStack( stack ) && stack.hasTagCompound() ) + { + NBTTagCompound data = stack.getTagCompound(); + storageBytes = data.getLong( "bytes" ); + } + } + @Override public void disconnect() { @@ -28,4 +74,9 @@ public class TileCraftingTile extends AEBaseTile implements IAEMultiBlock return false; } + public long getStorageBytes() + { + return storageBytes; + } + } diff --git a/tile/misc/TileCharger.java b/tile/misc/TileCharger.java index f73ae0196..638ea8310 100644 --- a/tile/misc/TileCharger.java +++ b/tile/misc/TileCharger.java @@ -127,7 +127,7 @@ public class TileCharger extends AENetworkPowerTile implements ICrankable tickTickTimer = 20; // keep tickin... } } - else if ( internalCurrentPower > 1499 && AEApi.instance().materials().materialCertusQuartzCrystal.sameAs( myItem ) ) + else if ( internalCurrentPower > 1499 && AEApi.instance().materials().materialCertusQuartzCrystal.sameAsStack( myItem ) ) { if ( Platform.getRandomFloat() > 0.8f ) // simulate wait { @@ -167,7 +167,7 @@ public class TileCharger extends AENetworkPowerTile implements ICrankable injectExternalPower( PowerUnits.AE, 150 ); ItemStack myItem = getStackInSlot( 0 ); - if ( internalCurrentPower > 1499 && AEApi.instance().materials().materialCertusQuartzCrystal.sameAs( myItem ) ) + if ( internalCurrentPower > 1499 && AEApi.instance().materials().materialCertusQuartzCrystal.sameAsStack( myItem ) ) { extractAEPower( internalMaxPower, Actionable.MODULATE, PowerMultiplier.CONFIG );// 1500 setInventorySlotContents( 0, AEApi.instance().materials().materialCertusQuartzCrystalCharged.stack( myItem.stackSize ) ); @@ -207,7 +207,7 @@ public class TileCharger extends AENetworkPowerTile implements ICrankable @Override public boolean isItemValidForSlot(int i, ItemStack itemstack) { - return Platform.isChargeable( itemstack ) || AEApi.instance().materials().materialCertusQuartzCrystal.sameAs( itemstack ); + return Platform.isChargeable( itemstack ) || AEApi.instance().materials().materialCertusQuartzCrystal.sameAsStack( itemstack ); } @Override @@ -220,7 +220,7 @@ public class TileCharger extends AENetworkPowerTile implements ICrankable return true; } - return AEApi.instance().materials().materialCertusQuartzCrystalCharged.sameAs( itemstack ); + return AEApi.instance().materials().materialCertusQuartzCrystalCharged.sameAsStack( itemstack ); } public void activate(EntityPlayer player) @@ -232,7 +232,7 @@ public class TileCharger extends AENetworkPowerTile implements ICrankable if ( myItem == null ) { ItemStack held = player.inventory.getCurrentItem(); - if ( AEApi.instance().materials().materialCertusQuartzCrystal.sameAs( held ) || Platform.isChargeable( held ) ) + if ( AEApi.instance().materials().materialCertusQuartzCrystal.sameAsStack( held ) || Platform.isChargeable( held ) ) { held = player.inventory.decrStackSize( player.inventory.currentItem, 1 ); setInventorySlotContents( 0, held ); diff --git a/tile/misc/TileInscriber.java b/tile/misc/TileInscriber.java index f21f4d3d3..abc1537ad 100644 --- a/tile/misc/TileInscriber.java +++ b/tile/misc/TileInscriber.java @@ -178,7 +178,7 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable if ( i == 0 || i == 1 ) { - if ( AEApi.instance().materials().materialNamePress.sameAs( itemstack ) ) + if ( AEApi.instance().materials().materialNamePress.sameAsStack( itemstack ) ) return true; for (ItemStack s : Inscribe.plates) @@ -243,8 +243,8 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable if ( renamedItem != null && renamedItem.stackSize > 1 ) return null; - boolean isNameA = AEApi.instance().materials().materialNamePress.sameAs( PlateA ); - boolean isNameB = AEApi.instance().materials().materialNamePress.sameAs( PlateB ); + boolean isNameA = AEApi.instance().materials().materialNamePress.sameAsStack( PlateA ); + boolean isNameB = AEApi.instance().materials().materialNamePress.sameAsStack( PlateB ); if ( (isNameA || isNameB) && (isNameA || PlateA == null) && (isNameB || PlateB == null) ) {