Search in sources :

Example 1 with LaserRemoteTriggerEvent

use of icbm.classic.api.events.LaserRemoteTriggerEvent in project ICBM-Classic by BuiltBrokenModding.

the class ItemLaserDetonator method read.

@Override
public boolean read(ByteBuf buf, int id, EntityPlayer player, IPacket packet) {
    ItemStack stack = player.inventory.getCurrentItem();
    if (stack != null && stack.getItem() == this) {
        if (!player.world.isRemote) {
            int x = buf.readInt();
            int y = buf.readInt();
            int z = buf.readInt();
            LaserRemoteTriggerEvent event = new LaserRemoteTriggerEvent(player.world, new BlockPos(x, y, z), player);
            if (// event was canceled
            MinecraftForge.EVENT_BUS.post(event))
                return false;
            if (// someone set the pos in the event to null, use original data
            event.pos == null)
                RadioRegistry.popMessage(player.world, new FakeRadioSender(player, stack, 2000), getBroadCastHz(stack), "activateLauncherWithTarget", new Pos(x, y, z));
            else
                RadioRegistry.popMessage(player.world, new FakeRadioSender(player, stack, 2000), getBroadCastHz(stack), "activateLauncherWithTarget", new Pos(event.pos.getX(), event.pos.getY(), event.pos.getZ()));
        } else {
            player.sendMessage(new TextComponentString("Not encoded with launch data! Right click on launcher screen to encode."));
        }
    }
    return true;
}
Also used : LaserRemoteTriggerEvent(icbm.classic.api.events.LaserRemoteTriggerEvent) Pos(icbm.classic.lib.transform.vector.Pos) BlockPos(net.minecraft.util.math.BlockPos) BlockPos(net.minecraft.util.math.BlockPos) ItemStack(net.minecraft.item.ItemStack) FakeRadioSender(icbm.classic.prefab.FakeRadioSender) TextComponentString(net.minecraft.util.text.TextComponentString)

Aggregations

LaserRemoteTriggerEvent (icbm.classic.api.events.LaserRemoteTriggerEvent)1 Pos (icbm.classic.lib.transform.vector.Pos)1 FakeRadioSender (icbm.classic.prefab.FakeRadioSender)1 ItemStack (net.minecraft.item.ItemStack)1 BlockPos (net.minecraft.util.math.BlockPos)1 TextComponentString (net.minecraft.util.text.TextComponentString)1