Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.madcrazydrumma.skyrimcraft.network;
- import io.netty.buffer.ByteBuf;
- import net.madcrazydrumma.skyrimcraft.network.SkyrimcraftPacketHandler;
- import net.madcrazydrumma.skyrimcraft.spell.SpellUtil;
- import net.minecraft.client.Minecraft;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.entity.player.EntityPlayerMP;
- import net.minecraft.util.IThreadListener;
- import net.minecraft.util.text.TextComponentString;
- import net.minecraft.world.WorldServer;
- 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 class SpellCastMessage implements IMessage
- {
- private int id;
- private static EntityPlayer player;
- public SpellCastMessage() {
- }
- public SpellCastMessage(int id, EntityPlayer player) {
- this.id = id;
- this.player = player;
- }
- @Override
- public void toBytes(ByteBuf bb) {
- bb.writeInt(id);
- }
- @Override
- public void fromBytes(ByteBuf bb) {
- id = bb.readInt();
- }
- public static class SpellCastMessageHandler implements IMessageHandler<SpellCastMessage, IMessage>
- {
- @Override
- public IMessage onMessage(final SpellCastMessage message, final MessageContext ctx) {
- IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj; // or Minecraft.getMinecraft() on the client
- mainThread.addScheduledTask(new Runnable() {
- @Override
- public void run() {
- EntityPlayerMP serverPlayer = ctx.getServerHandler().playerEntity;
- int id = message.id;
- float cooldown = SpellUtil.spellList[id].getCooldown();
- System.out.println("CD : " + cooldown);
- if(cooldown >= 0.0F) {
- SkyrimcraftPacketHandler.INSTANCE.sendTo(new SpellCastSuccessMessage(id), serverPlayer);
- } else {
- serverPlayer.addChatMessage(new TextComponentString("Spell is not ready yet!"));
- }
- }
- });
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement