Camellias_

Untitled

Dec 19th, 2018
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.01 KB | None | 0 0
  1. package com.camellias.relics.network.packets;
  2.  
  3. import com.camellias.relics.Main;
  4.  
  5. import io.netty.buffer.ByteBuf;
  6. import net.minecraft.entity.player.EntityPlayer;
  7. import net.minecraft.entity.projectile.EntityDragonFireball;
  8. import net.minecraft.util.math.Vec3d;
  9. import net.minecraft.world.World;
  10. import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
  11. import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
  12. import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
  13.  
  14. public class SpawnAirBlastMessage implements IMessage
  15. {
  16.     public SpawnAirBlastMessage()
  17.     {
  18.        
  19.     }
  20.    
  21.     public int playerID;
  22.    
  23.     public SpawnAirBlastMessage(EntityPlayer player)
  24.     {
  25.         this.playerID = player.getEntityId();
  26.     }
  27.    
  28.     @Override
  29.     public void toBytes(ByteBuf buf)
  30.     {
  31.         buf.writeInt(playerID);
  32.     }
  33.    
  34.     @Override
  35.     public void fromBytes(ByteBuf buf)
  36.     {
  37.         this.playerID = buf.readInt();
  38.     }
  39.    
  40. //-------------------------------------------------------------------------------------------------------------------------//
  41.    
  42.     public static class SpawnAirBlastPacketHandler implements IMessageHandler<SpawnAirBlastMessage, IMessage>
  43.     {
  44.         @Override
  45.         public IMessage onMessage(SpawnAirBlastMessage message, MessageContext ctx)
  46.         {
  47.             Main.proxy.getThreadListener(ctx).addScheduledTask(() ->
  48.             {
  49.                 if(Main.proxy.getPlayer(ctx) != null)
  50.                 {
  51.                     EntityPlayer player = (EntityPlayer) Main.proxy.getPlayer(ctx).world.getEntityByID(message.playerID);
  52.                     World world = player.world;
  53.                    
  54.                     Vec3d vec3d2 = player.getLookVec();
  55.                    
  56.                     EntityDragonFireball dragonfire = new EntityDragonFireball(world);
  57.                     dragonfire.shootingEntity = player;
  58.                     dragonfire.setPosition(player.posX + vec3d2.x * 5, player.posY + player.eyeHeight, player.posZ + vec3d2.z * 5);
  59.                     dragonfire.accelerationX = vec3d2.x * 0.2;
  60.                     dragonfire.accelerationY = vec3d2.y * 0.2;
  61.                     dragonfire.accelerationZ = vec3d2.z * 0.2;
  62.                     world.spawnEntity(dragonfire);
  63.                 }
  64.             });
  65.            
  66.             return null;
  67.         }
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment