Guest User

Untitled

a guest
Oct 28th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. package greatblitz.testmod.server;
  2.  
  3. import greatblitz.testmod.client.gui.GuiMessage;
  4. import greatblitz.testmod.tileentity.TileEntityTestBlock;
  5. import net.minecraft.tileentity.TileEntity;
  6. import net.minecraft.util.IThreadListener;
  7. import net.minecraft.util.math.BlockPos;
  8. import net.minecraft.world.WorldServer;
  9. import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
  10. import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
  11. import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
  12.  
  13. public class GuiMessageHandler implements IMessageHandler<GuiMessage, IMessage>{
  14.  
  15. @Override
  16. public IMessage onMessage(GuiMessage message, MessageContext ctx) {
  17. WorldServer world = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
  18. /*IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
  19. mainThread.addScheduledTask(new Runnable() {
  20. @Override
  21. public void run() {
  22. TileEntity ter = world.getTileEntity(new BlockPos(message.x, message.y, message.z));
  23. if (ter != null && ter instanceof TileEntityTestBlock) {
  24. TileEntityTestBlock te = (TileEntityTestBlock) ter;
  25. te.es.setEnergyStored(message.rf);
  26. if (te.gastank.getGas() != null) te.gastank.draw(message.gas, true);
  27. }
  28. }
  29. });*/
  30. BlockPos p = new BlockPos(message.x, message.y, message.z);
  31. ((WorldServer)ctx.getServerHandler().playerEntity.worldObj).addScheduledTask(() -> {
  32. TileEntity ter = world.getTileEntity(p);
  33. System.out.println("addScheduledTask 1");
  34. System.out.println("null " + (ter == null));
  35. System.out.println("instanceof" + (ter instanceof TileEntityTestBlock));
  36. if (ter != null && ter instanceof TileEntityTestBlock) {
  37. TileEntityTestBlock te = (TileEntityTestBlock) ter;
  38. te.es.setEnergyStored(message.rf);
  39. if (te.gastank.getGas() != null) te.gastank.draw(message.gas, true);
  40. world.notifyBlockUpdate(p, world.getBlockState(p), world.getBlockState(p), 3);
  41. System.out.println("addScheduledTask 2");
  42. }
  43. });
  44.  
  45. return null;
  46. }
  47.  
  48. }
Add Comment
Please, Sign In to add comment