Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.camellias.relics.network.packets;
- import com.camellias.relics.Main;
- import io.netty.buffer.ByteBuf;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.entity.projectile.EntityDragonFireball;
- import net.minecraft.util.math.Vec3d;
- import net.minecraft.world.World;
- 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 SpawnAirBlastMessage implements IMessage
- {
- public SpawnAirBlastMessage()
- {
- }
- public int playerID;
- public SpawnAirBlastMessage(EntityPlayer player)
- {
- this.playerID = player.getEntityId();
- }
- @Override
- public void toBytes(ByteBuf buf)
- {
- buf.writeInt(playerID);
- }
- @Override
- public void fromBytes(ByteBuf buf)
- {
- this.playerID = buf.readInt();
- }
- //-------------------------------------------------------------------------------------------------------------------------//
- public static class SpawnAirBlastPacketHandler implements IMessageHandler<SpawnAirBlastMessage, IMessage>
- {
- @Override
- public IMessage onMessage(SpawnAirBlastMessage message, MessageContext ctx)
- {
- Main.proxy.getThreadListener(ctx).addScheduledTask(() ->
- {
- if(Main.proxy.getPlayer(ctx) != null)
- {
- EntityPlayer player = (EntityPlayer) Main.proxy.getPlayer(ctx).world.getEntityByID(message.playerID);
- World world = player.world;
- Vec3d vec3d2 = player.getLookVec();
- EntityDragonFireball dragonfire = new EntityDragonFireball(world);
- dragonfire.shootingEntity = player;
- dragonfire.setPosition(player.posX + vec3d2.x * 5, player.posY + player.eyeHeight, player.posZ + vec3d2.z * 5);
- dragonfire.accelerationX = vec3d2.x * 0.2;
- dragonfire.accelerationY = vec3d2.y * 0.2;
- dragonfire.accelerationZ = vec3d2.z * 0.2;
- world.spawnEntity(dragonfire);
- }
- });
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment