fix bug that occurs with changing redstone setting

This commit is contained in:
Raoul Van den Berge
2016-01-27 15:14:09 +01:00
parent b3b8440268
commit 8b450709cd
7 changed files with 35 additions and 12 deletions

View File

@@ -20,9 +20,9 @@ public class MessageCompareUpdate extends MessageHandlerPlayerToServer<MessageCo
public MessageCompareUpdate(ICompareSetting setting, int compare)
{
this.x = setting.getPos().getX();
this.y = setting.getPos().getY();
this.z = setting.getPos().getZ();
this.x = setting.getMachinePos().getX();
this.y = setting.getMachinePos().getY();
this.z = setting.getMachinePos().getZ();
this.compare = compare;
}

View File

@@ -19,9 +19,9 @@ public class MessageRedstoneModeUpdate extends MessageHandlerPlayerToServer<Mess
public MessageRedstoneModeUpdate(IRedstoneModeSetting setting)
{
this.x = setting.getPos().getX();
this.y = setting.getPos().getY();
this.z = setting.getPos().getZ();
this.x = setting.getMachinePos().getX();
this.y = setting.getMachinePos().getY();
this.z = setting.getMachinePos().getZ();
}
@Override

View File

@@ -8,5 +8,5 @@ public interface ICompareSetting
public void setCompare(int compare);
public BlockPos getPos();
public BlockPos getMachinePos();
}

View File

@@ -9,5 +9,5 @@ public interface INetworkTile
public void toBytes(ByteBuf buf);
public BlockPos getPos();
public BlockPos getTilePos();
}

View File

@@ -8,5 +8,5 @@ public interface IRedstoneModeSetting
public void setRedstoneMode(RedstoneMode mode);
public BlockPos getPos();
public BlockPos getMachinePos();
}

View File

@@ -3,6 +3,8 @@ package storagecraft.tile;
import cofh.api.energy.EnergyStorage;
import cofh.api.energy.IEnergyReceiver;
import io.netty.buffer.ByteBuf;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
@@ -16,9 +18,6 @@ import storagecraft.storage.IStorageProvider;
import storagecraft.storage.StorageItem;
import storagecraft.util.InventoryUtils;
import java.util.ArrayList;
import java.util.List;
public class TileController extends TileBase implements IEnergyReceiver, INetworkTile, IRedstoneModeSetting
{
private List<StorageItem> items = new ArrayList<StorageItem>();
@@ -371,6 +370,18 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
this.redstoneMode = mode;
}
@Override
public BlockPos getTilePos()
{
return pos;
}
@Override
public BlockPos getMachinePos()
{
return pos;
}
@Override
public void fromBytes(ByteBuf buf)
{

View File

@@ -70,6 +70,18 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
}
}
@Override
public BlockPos getMachinePos()
{
return pos;
}
@Override
public BlockPos getTilePos()
{
return pos;
}
public TileController getController()
{
return (TileController) worldObj.getTileEntity(controllerPos);