Added all the crafting cpu "blocks" - needs textures and renders.
Updated API
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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) )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user