66 lines
2 KiB
Java
66 lines
2 KiB
Java
package net.machinemuse.powersuits.network.packets;
|
|
|
|
import net.machinemuse.general.gui.MuseGui;
|
|
import net.machinemuse.numina.network.IMusePackager;
|
|
import net.machinemuse.numina.network.MusePackager;
|
|
import net.machinemuse.numina.network.MusePacket;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.entity.EntityClientPlayerMP;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.inventory.IInventory;
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import java.io.DataInputStream;
|
|
|
|
/**
|
|
* Author: MachineMuse (Claire Semple)
|
|
* Created: 12:28 PM, 5/6/13
|
|
*
|
|
* Ported to Java by lehjr on 11/14/16.
|
|
*/
|
|
public class MusePacketInventoryRefresh extends MusePacket {
|
|
EntityPlayer player;
|
|
int slot;
|
|
ItemStack stack;
|
|
|
|
public MusePacketInventoryRefresh(EntityPlayer player, int slot, ItemStack stack) {
|
|
this.player = player;
|
|
this.slot = slot;
|
|
this.stack = stack;
|
|
}
|
|
|
|
|
|
@Override
|
|
public IMusePackager packager() {
|
|
return getPackagerInstance();
|
|
}
|
|
|
|
@Override
|
|
public void write() {
|
|
writeInt(slot);
|
|
writeItemStack(stack);
|
|
}
|
|
|
|
@Override
|
|
public void handleClient(EntityClientPlayerMP player) {
|
|
IInventory inventory = player.inventory;
|
|
inventory.setInventorySlotContents(slot, stack);
|
|
((MuseGui)(Minecraft.getMinecraft().currentScreen)).refresh();
|
|
}
|
|
|
|
private static MusePacketInventoryRefreshPackager PACKAGERINSTANCE;
|
|
public static MusePacketInventoryRefreshPackager getPackagerInstance() {
|
|
if (PACKAGERINSTANCE == null)
|
|
PACKAGERINSTANCE = new MusePacketInventoryRefreshPackager();
|
|
return PACKAGERINSTANCE;
|
|
}
|
|
|
|
public static class MusePacketInventoryRefreshPackager extends MusePackager {
|
|
@Override
|
|
public MusePacket read(DataInputStream datain, EntityPlayer player) {
|
|
int itemSlot = readInt(datain);
|
|
ItemStack stack = readItemStack(datain);
|
|
return new MusePacketInventoryRefresh(player, itemSlot, stack);
|
|
}
|
|
}
|
|
} |