Fixed Bug: #0614 - Network details
This commit is contained in:
@@ -1,8 +1,30 @@
|
|||||||
package appeng.tile.crafting;
|
package appeng.tile.crafting;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import appeng.api.AEApi;
|
||||||
|
|
||||||
public class TileCraftingStorageTile extends TileCraftingTile
|
public class TileCraftingStorageTile extends TileCraftingTile
|
||||||
{
|
{
|
||||||
|
|
||||||
|
static final ItemStack stackStorage4k = AEApi.instance().blocks().blockCraftingStorage4k.stack( 1 );
|
||||||
|
static final ItemStack stackStorage16k = AEApi.instance().blocks().blockCraftingStorage16k.stack( 1 );
|
||||||
|
static final ItemStack stackStorage64k = AEApi.instance().blocks().blockCraftingStorage64k.stack( 1 );
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ItemStack getItemFromTile(Object obj)
|
||||||
|
{
|
||||||
|
int storage = ((TileCraftingTile) obj).getStorageBytes() / 1024;
|
||||||
|
|
||||||
|
if ( storage == 4 )
|
||||||
|
return stackStorage4k;
|
||||||
|
if ( storage == 16 )
|
||||||
|
return stackStorage16k;
|
||||||
|
if ( storage == 64 )
|
||||||
|
return stackStorage64k;
|
||||||
|
|
||||||
|
return super.getItemFromTile( obj );
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isAccelerator()
|
public boolean isAccelerator()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@@ -15,6 +37,9 @@ public class TileCraftingStorageTile extends TileCraftingTile
|
|||||||
|
|
||||||
public int getStorageBytes()
|
public int getStorageBytes()
|
||||||
{
|
{
|
||||||
|
if ( worldObj == null )
|
||||||
|
return 0;
|
||||||
|
|
||||||
switch (worldObj.getBlockMetadata( xCoord, yCoord, zCoord ) & 3)
|
switch (worldObj.getBlockMetadata( xCoord, yCoord, zCoord ) & 3)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -6,9 +6,11 @@ import java.util.EnumSet;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
import appeng.api.AEApi;
|
||||||
import appeng.api.config.Actionable;
|
import appeng.api.config.Actionable;
|
||||||
import appeng.api.implementations.IPowerChannelState;
|
import appeng.api.implementations.IPowerChannelState;
|
||||||
import appeng.api.networking.GridFlags;
|
import appeng.api.networking.GridFlags;
|
||||||
@@ -37,17 +39,28 @@ public class TileCraftingTile extends AENetworkTile implements IAEMultiBlock, IP
|
|||||||
|
|
||||||
CraftingCPUCluster clust;
|
CraftingCPUCluster clust;
|
||||||
final CraftingCPUCalculator calc = new CraftingCPUCalculator( this );
|
final CraftingCPUCalculator calc = new CraftingCPUCalculator( this );
|
||||||
|
|
||||||
public ISimplifiedBundle lightCache;
|
public ISimplifiedBundle lightCache;
|
||||||
|
|
||||||
public NBTTagCompound previousState = null;
|
public NBTTagCompound previousState = null;
|
||||||
public boolean isCoreBlock = false;
|
public boolean isCoreBlock = false;
|
||||||
|
|
||||||
|
static final ItemStack coProcessorStack = AEApi.instance().blocks().blockCraftingAccelerator.stack( 1 );
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected AENetworkProxy createProxy()
|
protected AENetworkProxy createProxy()
|
||||||
{
|
{
|
||||||
return new AENetworkProxyMultiblock( this, "proxy", getItemFromTile( this ), true );
|
return new AENetworkProxyMultiblock( this, "proxy", getItemFromTile( this ), true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ItemStack getItemFromTile(Object obj)
|
||||||
|
{
|
||||||
|
if ( ((TileCraftingTile) obj).isAccelerator() )
|
||||||
|
return coProcessorStack;
|
||||||
|
return super.getItemFromTile( obj );
|
||||||
|
}
|
||||||
|
|
||||||
public void updateStatus(CraftingCPUCluster c)
|
public void updateStatus(CraftingCPUCluster c)
|
||||||
{
|
{
|
||||||
clust = c;
|
clust = c;
|
||||||
@@ -99,6 +112,7 @@ public class TileCraftingTile extends AENetworkTile implements IAEMultiBlock, IP
|
|||||||
public void onReady()
|
public void onReady()
|
||||||
{
|
{
|
||||||
super.onReady();
|
super.onReady();
|
||||||
|
gridProxy.setVisualRepresentation( getItemFromTile( this ) );
|
||||||
updateMultiBlock();
|
updateMultiBlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,6 +198,8 @@ public class TileCraftingTile extends AENetworkTile implements IAEMultiBlock, IP
|
|||||||
|
|
||||||
public boolean isAccelerator()
|
public boolean isAccelerator()
|
||||||
{
|
{
|
||||||
|
if ( worldObj == null )
|
||||||
|
return false;
|
||||||
return (worldObj.getBlockMetadata( xCoord, yCoord, zCoord ) & 3) == 1;
|
return (worldObj.getBlockMetadata( xCoord, yCoord, zCoord ) & 3) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user