76 lines
2.4 KiB
Java
76 lines
2.4 KiB
Java
package appeng.core.sync.packets;
|
|
|
|
import appeng.client.gui.implementations.GuiAssemblerMB;
|
|
import appeng.container.implementations.ContainerAssembler;
|
|
import appeng.core.sync.AppEngPacket;
|
|
import appeng.core.sync.network.INetworkInfo;
|
|
import appeng.core.sync.network.NetworkHandler;
|
|
import appeng.me.cluster.implementations.AssemblerCluster;
|
|
import appeng.tile.legacy.TileAssembler;
|
|
import cpw.mods.fml.client.FMLClientHandler;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import io.netty.buffer.ByteBuf;
|
|
import io.netty.buffer.Unpooled;
|
|
import net.minecraft.client.gui.GuiScreen;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.entity.player.EntityPlayerMP;
|
|
|
|
public class PacketUpdateAssemblerGuiPageNum extends AppEngPacket {
|
|
int offset;
|
|
int size;
|
|
|
|
// automatic.
|
|
public PacketUpdateAssemblerGuiPageNum(ByteBuf buf) {
|
|
this.offset = buf.readInt();
|
|
this.size = buf.readInt();
|
|
}
|
|
|
|
// api
|
|
public PacketUpdateAssemblerGuiPageNum(int offset, int size) {
|
|
ByteBuf buf = Unpooled.buffer();
|
|
|
|
buf.writeInt(this.getPacketID());
|
|
buf.writeInt(this.offset = offset);
|
|
buf.writeInt(this.size = size);
|
|
|
|
this.configureWrite(buf);
|
|
}
|
|
|
|
@Override
|
|
@SideOnly(Side.CLIENT)
|
|
public void
|
|
clientPacketData(INetworkInfo network, AppEngPacket packet, EntityPlayer player) {
|
|
GuiScreen cs = FMLClientHandler.instance().getClient().currentScreen;
|
|
|
|
if (cs instanceof GuiAssemblerMB) {
|
|
GuiAssemblerMB ga = (GuiAssemblerMB) cs;
|
|
|
|
ga.pageNumber = this.offset;
|
|
ga.maxPages = this.size;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void
|
|
serverPacketData(INetworkInfo manager, AppEngPacket packet, EntityPlayer player) {
|
|
if (player.openContainer instanceof ContainerAssembler) {
|
|
ContainerAssembler ca = (ContainerAssembler) player.openContainer;
|
|
TileAssembler ta = (TileAssembler) ca.getTileEntity();
|
|
AssemblerCluster ac = (AssemblerCluster) ta.getCluster();
|
|
|
|
int offset = -1;
|
|
for (int i = 0; i < ac.assemblers.size(); i++) {
|
|
if (ac.assemblers.get(i) == ta) {
|
|
offset = i;
|
|
break;
|
|
}
|
|
}
|
|
|
|
NetworkHandler.instance.sendTo(
|
|
new PacketUpdateAssemblerGuiPageNum(offset, ac.assemblers.size()),
|
|
(EntityPlayerMP) player
|
|
);
|
|
}
|
|
}
|
|
}
|