fix network packet so that they're threaded
This commit is contained in:
@@ -200,7 +200,7 @@ public class GuiGrid extends GuiBase
|
||||
|
||||
if (isHoveringOverValidSlot())
|
||||
{
|
||||
drawTooltip(mouseX, mouseY, items.get(hoveringSlotId).toItemStack());
|
||||
drawTooltip(mouseX, mouseY, getItems().get(hoveringSlotId).toItemStack());
|
||||
}
|
||||
|
||||
if (grid.getType() == EnumGridType.CRAFTING && isHoveringOverClear(mouseX, mouseY))
|
||||
|
@@ -5,11 +5,9 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.tile.ICompareSetting;
|
||||
|
||||
public class MessageCompareUpdate implements IMessage, IMessageHandler<MessageCompareUpdate, IMessage>
|
||||
public class MessageCompareUpdate extends MessageHandlerPlayerToServer<MessageCompareUpdate> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -47,17 +45,13 @@ public class MessageCompareUpdate implements IMessage, IMessageHandler<MessageCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageCompareUpdate message, MessageContext context)
|
||||
public void handle(MessageCompareUpdate message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof ICompareSetting)
|
||||
{
|
||||
((ICompareSetting) tile).setCompare(message.compare);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -5,11 +5,9 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.tile.TileDetector;
|
||||
|
||||
public class MessageDetectorAmountUpdate implements IMessage, IMessageHandler<MessageDetectorAmountUpdate, IMessage>
|
||||
public class MessageDetectorAmountUpdate extends MessageHandlerPlayerToServer<MessageDetectorAmountUpdate> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -47,17 +45,13 @@ public class MessageDetectorAmountUpdate implements IMessage, IMessageHandler<Me
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageDetectorAmountUpdate message, MessageContext context)
|
||||
public void handle(MessageDetectorAmountUpdate message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileDetector && message.amount >= 0)
|
||||
{
|
||||
((TileDetector) tile).setAmount(message.amount);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -5,11 +5,9 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.tile.TileDetector;
|
||||
|
||||
public class MessageDetectorModeUpdate implements IMessage, IMessageHandler<MessageDetectorModeUpdate, IMessage>
|
||||
public class MessageDetectorModeUpdate extends MessageHandlerPlayerToServer<MessageDetectorModeUpdate> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -43,10 +41,8 @@ public class MessageDetectorModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageDetectorModeUpdate message, MessageContext context)
|
||||
public void handle(MessageDetectorModeUpdate message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileDetector)
|
||||
@@ -66,7 +62,5 @@ public class MessageDetectorModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -6,11 +6,9 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.tile.TileGrid;
|
||||
|
||||
public class MessageGridCraftingClear implements IMessage, IMessageHandler<MessageGridCraftingClear, IMessage>
|
||||
public class MessageGridCraftingClear extends MessageHandlerPlayerToServer<MessageGridCraftingClear> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -44,10 +42,8 @@ public class MessageGridCraftingClear implements IMessage, IMessageHandler<Messa
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageGridCraftingClear message, MessageContext context)
|
||||
public void handle(MessageGridCraftingClear message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileGrid)
|
||||
@@ -70,7 +66,5 @@ public class MessageGridCraftingClear implements IMessage, IMessageHandler<Messa
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -61,7 +61,12 @@ public class MessageGridCraftingUpdate implements IMessage, IMessageHandler<Mess
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageGridCraftingUpdate message, MessageContext context)
|
||||
public IMessage onMessage(final MessageGridCraftingUpdate message, MessageContext context)
|
||||
{
|
||||
Minecraft.getMinecraft().addScheduledTask(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
TileEntity tile = Minecraft.getMinecraft().theWorld.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
@@ -72,6 +77,8 @@ public class MessageGridCraftingUpdate implements IMessage, IMessageHandler<Mess
|
||||
((TileGrid) tile).getCraftingMatrix().setInventorySlotContents(i, message.craftingMatrix[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@@ -0,0 +1,28 @@
|
||||
package storagecraft.network;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
|
||||
public abstract class MessageHandlerPlayerToServer<T extends IMessage> implements IMessageHandler<T, IMessage>
|
||||
{
|
||||
@Override
|
||||
public IMessage onMessage(final T message, MessageContext context)
|
||||
{
|
||||
final EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
player.getServerForPlayer().addScheduledTask(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
handle(message, player);
|
||||
}
|
||||
});
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract void handle(T message, EntityPlayerMP player);
|
||||
}
|
@@ -5,11 +5,9 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.tile.TileImporter;
|
||||
|
||||
public class MessageImporterModeUpdate implements IMessage, IMessageHandler<MessageImporterModeUpdate, IMessage>
|
||||
public class MessageImporterModeUpdate extends MessageHandlerPlayerToServer<MessageImporterModeUpdate> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -43,10 +41,8 @@ public class MessageImporterModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageImporterModeUpdate message, MessageContext context)
|
||||
public void handle(MessageImporterModeUpdate message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileImporter)
|
||||
@@ -55,7 +51,5 @@ public class MessageImporterModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
|
||||
importer.setMode(importer.getMode() == TileImporter.MODE_WHITELIST ? TileImporter.MODE_BLACKLIST : TileImporter.MODE_WHITELIST);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -5,11 +5,9 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.tile.IRedstoneModeSetting;
|
||||
|
||||
public class MessageRedstoneModeUpdate implements IMessage, IMessageHandler<MessageRedstoneModeUpdate, IMessage>
|
||||
public class MessageRedstoneModeUpdate extends MessageHandlerPlayerToServer<MessageRedstoneModeUpdate> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -43,10 +41,8 @@ public class MessageRedstoneModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageRedstoneModeUpdate message, MessageContext context)
|
||||
public void handle(MessageRedstoneModeUpdate message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof IRedstoneModeSetting)
|
||||
@@ -55,7 +51,5 @@ public class MessageRedstoneModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
|
||||
setting.setRedstoneMode(setting.getRedstoneMode().next());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -6,12 +6,10 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.storage.StorageItem;
|
||||
import storagecraft.tile.TileController;
|
||||
|
||||
public class MessageStoragePull implements IMessage, IMessageHandler<MessageStoragePull, IMessage>
|
||||
public class MessageStoragePull extends MessageHandlerPlayerToServer<MessageStoragePull> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -57,10 +55,8 @@ public class MessageStoragePull implements IMessage, IMessageHandler<MessageStor
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageStoragePull message, MessageContext context)
|
||||
public void handle(MessageStoragePull message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileController)
|
||||
@@ -102,7 +98,5 @@ public class MessageStoragePull implements IMessage, IMessageHandler<MessageStor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -6,11 +6,9 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import storagecraft.tile.TileController;
|
||||
|
||||
public class MessageStoragePush implements IMessage, IMessageHandler<MessageStoragePush, IMessage>
|
||||
public class MessageStoragePush extends MessageHandlerPlayerToServer<MessageStoragePush> implements IMessage
|
||||
{
|
||||
private int x;
|
||||
private int y;
|
||||
@@ -52,10 +50,8 @@ public class MessageStoragePush implements IMessage, IMessageHandler<MessageStor
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageStoragePush message, MessageContext context)
|
||||
public void handle(MessageStoragePush message, EntityPlayerMP player)
|
||||
{
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileController)
|
||||
@@ -105,12 +101,9 @@ public class MessageStoragePush implements IMessage, IMessageHandler<MessageStor
|
||||
else
|
||||
{
|
||||
player.inventory.setInventorySlotContents(message.slot, null);
|
||||
player.openContainer.detectAndSendChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user