Advertisement
Guest User

Untitled

a guest
Aug 21st, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. package net.madcrazydrumma.skyrimcraft.network;
  2.  
  3. import io.netty.buffer.ByteBuf;
  4. import net.madcrazydrumma.skyrimcraft.network.SkyrimcraftPacketHandler;
  5. import net.madcrazydrumma.skyrimcraft.spell.SpellUtil;
  6. import net.minecraft.client.Minecraft;
  7. import net.minecraft.entity.player.EntityPlayer;
  8. import net.minecraft.entity.player.EntityPlayerMP;
  9. import net.minecraft.util.IThreadListener;
  10. import net.minecraft.util.text.TextComponentString;
  11. import net.minecraft.world.WorldServer;
  12. import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
  13. import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
  14. import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
  15.  
  16. public class SpellCastMessage implements IMessage
  17. {
  18. private int id;
  19. private static EntityPlayer player;
  20.  
  21. public SpellCastMessage() {
  22. }
  23.  
  24. public SpellCastMessage(int id, EntityPlayer player) {
  25. this.id = id;
  26. this.player = player;
  27. }
  28.  
  29. @Override
  30. public void toBytes(ByteBuf bb) {
  31. bb.writeInt(id);
  32. }
  33.  
  34. @Override
  35. public void fromBytes(ByteBuf bb) {
  36. id = bb.readInt();
  37. }
  38.  
  39. public static class SpellCastMessageHandler implements IMessageHandler<SpellCastMessage, IMessage>
  40. {
  41. @Override
  42. public IMessage onMessage(final SpellCastMessage message, final MessageContext ctx) {
  43. IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj; // or Minecraft.getMinecraft() on the client
  44. mainThread.addScheduledTask(new Runnable() {
  45. @Override
  46. public void run() {
  47. EntityPlayerMP serverPlayer = ctx.getServerHandler().playerEntity;
  48. int id = message.id;
  49.  
  50. float cooldown = SpellUtil.spellList[id].getCooldown();
  51. System.out.println("CD : " + cooldown);
  52.  
  53. if(cooldown >= 0.0F) {
  54. SkyrimcraftPacketHandler.INSTANCE.sendTo(new SpellCastSuccessMessage(id), serverPlayer);
  55. } else {
  56. serverPlayer.addChatMessage(new TextComponentString("Spell is not ready yet!"));
  57. }
  58. }
  59. });
  60. return null;
  61. }
  62.  
  63.  
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement