当前位置: 首页>>代码示例>>Java>>正文


Java EntityPlayer类代码示例

本文整理汇总了Java中net.minecraft.server.EntityPlayer的典型用法代码示例。如果您正苦于以下问题:Java EntityPlayer类的具体用法?Java EntityPlayer怎么用?Java EntityPlayer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


EntityPlayer类属于net.minecraft.server包,在下文中一共展示了EntityPlayer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleEditBookEvent

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static void handleEditBookEvent(EntityPlayer player, ItemStack newBookItem) {
    int itemInHandIndex = player.inventory.itemInHandIndex;

    PlayerEditBookEvent editBookEvent = new PlayerEditBookEvent(player.getBukkitEntity(), player.inventory.itemInHandIndex, (BookMeta) CraftItemStack.getItemMeta(player.inventory.getItemInHand()), (BookMeta) CraftItemStack.getItemMeta(newBookItem), newBookItem.getItem() == Items.WRITTEN_BOOK);
    player.world.getServer().getPluginManager().callEvent(editBookEvent);
    ItemStack itemInHand = player.inventory.getItem(itemInHandIndex);

    // If they've got the same item in their hand, it'll need to be updated.
    if (itemInHand != null && itemInHand.getItem() == Items.BOOK_AND_QUILL) {
        if (!editBookEvent.isCancelled()) {
            CraftItemStack.setItemMeta(itemInHand, editBookEvent.getNewBookMeta());
            if (editBookEvent.isSigning()) {
                itemInHand.setItem(Items.WRITTEN_BOOK);
            }
        }

        // Client will have updated its idea of the book item; we need to overwrite that
        Slot slot = player.activeContainer.getSlot(player.inventory, itemInHandIndex);
        player.playerConnection.sendPacket(new PacketPlayOutSetSlot(player.activeContainer.windowId, slot.rawSlotIndex, itemInHand));
    }
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:22,代码来源:CraftEventFactory.java

示例2: showFakeItems

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static void showFakeItems(Plugin plugin, Player viewer, Location location, org.bukkit.inventory.ItemStack item, int count, Duration duration) {
    if(count <= 0) return;

    final EntityPlayer nmsPlayer = ((CraftPlayer) viewer).getHandle();
    final int[] entityIds = new int[count];

    for(int i = 0; i < count; i++) {
        final EntityItem entity = new EntityItem(nmsPlayer.getWorld(), location.getX(), location.getY(), location.getZ(), CraftItemStack.asNMSCopy(item));

        entity.motX = randomEntityVelocity();
        entity.motY = randomEntityVelocity();
        entity.motZ = randomEntityVelocity();

        sendPacket(viewer, new PacketPlayOutSpawnEntity(entity, ENTITY_TYPE_IDS.get(org.bukkit.entity.Item.class)));
        sendPacket(viewer, new PacketPlayOutEntityMetadata(entity.getId(), entity.getDataWatcher(), true));

        entityIds[i] = entity.getId();
    }

    scheduleEntityDestroy(plugin, viewer.getUniqueId(), duration, entityIds);
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:22,代码来源:NMSHacks.java

示例3: detectListNameConflict

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public void detectListNameConflict(EntityPlayer entityPlayer) {
    // Collisions will make for invisible people
    for (int i = 0; i < getHandle().players.size(); ++i) {
        EntityPlayer testEntityPlayer = (EntityPlayer) getHandle().players.get(i);

        // We have a problem!
        if (testEntityPlayer != entityPlayer && testEntityPlayer.listName.equals(entityPlayer.listName)) {
            String oldName = entityPlayer.listName;
            int spaceLeft = 16 - oldName.length();

            if (spaceLeft <= 1) { // We also hit the list name length limit!
                entityPlayer.listName = oldName.subSequence(0, oldName.length() - 2 - spaceLeft) + String.valueOf(System.currentTimeMillis() % 99);
            } else {
                entityPlayer.listName = oldName + String.valueOf(System.currentTimeMillis() % 99);
            }

            return;
        }
    }
}
 
开发者ID:Techcable,项目名称:DiffUtils,代码行数:21,代码来源:CraftServer_1710.java

示例4: callPlayerDeathEvent

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static PlayerDeathEvent callPlayerDeathEvent(EntityPlayer victim, List<org.bukkit.inventory.ItemStack> drops, String deathMessage, boolean keepInventory) {
    CraftPlayer entity = victim.getBukkitEntity();
    PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
    event.setKeepInventory(keepInventory);
    org.bukkit.World world = entity.getWorld();
    Bukkit.getServer().getPluginManager().callEvent(event);

    victim.keepLevel = event.getKeepLevel();
    victim.newLevel = event.getNewLevel();
    victim.newTotalExp = event.getNewTotalExp();
    victim.expToDrop = event.getDroppedExp();
    victim.newExp = event.getNewExp();

    if (event.getKeepInventory()) {
        return event;
    }

    for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
        if (stack == null || stack.getType() == Material.AIR) continue;

        world.dropItemNaturally(entity.getLocation(), stack);
    }

    return event;
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:26,代码来源:CraftEventFactory.java

示例5: callInventoryOpenEvent

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static Container callInventoryOpenEvent(EntityPlayer player, Container container) {
    if (player.activeContainer != player.defaultContainer) { // fire INVENTORY_CLOSE if one already open
        player.playerConnection.a(new PacketPlayInCloseWindow(player.activeContainer.windowId));
    }

    CraftServer server = player.world.getServer();
    CraftPlayer craftPlayer = player.getBukkitEntity();
    player.activeContainer.transferTo(container, craftPlayer);

    InventoryOpenEvent event = new InventoryOpenEvent(container.getBukkitView());
    server.getPluginManager().callEvent(event);

    if (event.isCancelled()) {
        container.transferTo(player.activeContainer, craftPlayer);
        return null;
    }

    return container;
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:20,代码来源:CraftEventFactory.java

示例6: callPlayerDeathEvent

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static PlayerDeathEvent callPlayerDeathEvent(EntityPlayer victim, List<org.bukkit.inventory.ItemStack> drops, String deathMessage) {
    CraftPlayer entity = victim.getBukkitEntity();
    PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
    org.bukkit.World world = entity.getWorld();
    Bukkit.getServer().getPluginManager().callEvent(event);

    victim.keepLevel = event.getKeepLevel();
    victim.newLevel = event.getNewLevel();
    victim.newTotalExp = event.getNewTotalExp();
    victim.expToDrop = event.getDroppedExp();
    victim.newExp = event.getNewExp();

    for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
        if (stack == null || stack.getType() == Material.AIR) continue;

        world.dropItemNaturally(entity.getLocation(), stack);
    }

    return event;
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:21,代码来源:CraftEventFactory.java

示例7: callInventoryOpenEvent

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static Container callInventoryOpenEvent(EntityPlayer player, Container container) {
    if (player.activeContainer != player.defaultContainer) { // fire INVENTORY_CLOSE if one already open
        player.playerConnection.handleContainerClose(new Packet101CloseWindow(player.activeContainer.windowId));
    }

    CraftServer server = player.world.getServer();
    CraftPlayer craftPlayer = player.getBukkitEntity();
    player.activeContainer.transferTo(container, craftPlayer);

    InventoryOpenEvent event = new InventoryOpenEvent(container.getBukkitView());
    server.getPluginManager().callEvent(event);

    if (event.isCancelled()) {
        container.transferTo(player.activeContainer, craftPlayer);
        return null;
    }

    return container;
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:20,代码来源:CraftEventFactory.java

示例8: handleEditBookEvent

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static void handleEditBookEvent(EntityPlayer player, ItemStack newBookItem) {
    int itemInHandIndex = player.inventory.itemInHandIndex;

    PlayerEditBookEvent editBookEvent = new PlayerEditBookEvent(player.getBukkitEntity(), player.inventory.itemInHandIndex, (BookMeta) CraftItemStack.getItemMeta(player.inventory.getItemInHand()), (BookMeta) CraftItemStack.getItemMeta(newBookItem), newBookItem.id == Item.WRITTEN_BOOK.id);
    player.world.getServer().getPluginManager().callEvent(editBookEvent);
    ItemStack itemInHand = player.inventory.getItem(itemInHandIndex);

    // If they've got the same item in their hand, it'll need to be updated.
    if (itemInHand.id == Item.BOOK_AND_QUILL.id) {
        if (!editBookEvent.isCancelled()) {
            CraftItemStack.setItemMeta(itemInHand, editBookEvent.getNewBookMeta());
            if (editBookEvent.isSigning()) {
                itemInHand.id = Item.WRITTEN_BOOK.id;
            }
        }

        // Client will have updated its idea of the book item; we need to overwrite that
        Slot slot = player.activeContainer.a((IInventory) player.inventory, itemInHandIndex);
        player.playerConnection.sendPacket(new Packet103SetSlot(player.activeContainer.windowId, slot.g, itemInHand));
    }
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:22,代码来源:CraftEventFactory.java

示例9: getEntityTrackingRange

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
/**
 * Gets the range an entity should be 'tracked' by players and visible in
 * the client.
 *
 * @param entity
 * @param defaultRange Default range defined by Mojang
 * @return
 */
public static int getEntityTrackingRange(Entity entity, int defaultRange)
{
    SpigotWorldConfig config = entity.world.spigotConfig;
    int range = defaultRange;
    if ( entity instanceof EntityPlayer )
    {
        range = config.playerTrackingRange;
    } else if ( entity.defaultActivationState || entity instanceof EntityGhast )
    {
        range = defaultRange;
    } else if ( entity.activationType == 1 )
    {
        range = config.monsterTrackingRange;
    } else if ( entity.activationType == 2 )
    {
        range = config.animalTrackingRange;
    } else if ( entity instanceof EntityItemFrame || entity instanceof EntityPainting || entity instanceof EntityItem || entity instanceof EntityExperienceOrb )
    {
        range = config.miscTrackingRange;
    }

    return Math.min( config.maxTrackingRange, range );
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:32,代码来源:TrackingRange.java

示例10: sendWorldBorderPacket

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
private void sendWorldBorderPacket(Player player, int warningBlocks) {
    EntityPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
    WorldBorder playerWorldBorder = nmsPlayer.world.getWorldBorder();
    PacketPlayOutWorldBorder worldBorder = new PacketPlayOutWorldBorder(playerWorldBorder, PacketPlayOutWorldBorder.EnumWorldBorderAction.SET_WARNING_BLOCKS);

    try {
        Field field = worldBorder.getClass().getDeclaredField("i");
        field.setAccessible(true);
        field.setInt(worldBorder, warningBlocks);
        field.setAccessible(!field.isAccessible());
    } catch (Exception e) {
        e.printStackTrace();
    }

    PacketUtils.sendPacket(player, worldBorder);
}
 
开发者ID:twizmwazin,项目名称:CardinalPGM,代码行数:17,代码来源:TitleRespawn.java

示例11: playDeathAnimation

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
private void playDeathAnimation(final Player player) {
    Bukkit.getScheduler().scheduleSyncDelayedTask(Cardinal.getInstance(), new Runnable() {
        @Override
        public void run() {
            EntityPlayer nmsPlayer = ((CraftPlayer) player).getHandle();

            List<Packet> packets = new ArrayList<>();
            for (EnumItemSlot slot : EnumItemSlot.values()) {
                packets.add(new PacketPlayOutEntityEquipment(nmsPlayer.getId(), slot,
                        net.minecraft.server.ItemStack.a));  // Removes armor, otherwise, a client-side glitch makes items
            }
            packets.add(PacketUtils.createMetadataPacket(nmsPlayer.getId(), Watchers.getHealth(0)));
            packets.add(new PacketPlayOutEntityStatus(nmsPlayer, (byte) 3));

            for (Player online : Bukkit.getOnlinePlayers()) {
                if (!online.equals(player)){
                    for (Packet packet : packets) {
                        PacketUtils.sendPacket(online, packet);
                    }
                }
            }
        }
    }, 1L);
}
 
开发者ID:twizmwazin,项目名称:CardinalPGM,代码行数:25,代码来源:TitleRespawn.java

示例12: sendArmorStandPacket

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public void sendArmorStandPacket(Player player) {
    EntityPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
    Location loc = player.getLocation();
    PacketPlayOutSpawnEntityLiving spawnPacket = new PacketPlayOutSpawnEntityLiving(
            Integer.MAX_VALUE, UUID.randomUUID(),     // Entity id and Entity UUID
            30,                                       // Entity type id (ArmorStand)
            loc.getX(), loc.getY() - 1.1D, loc.getZ(),// X, Y and Z Position
            0, 0, 0,                                  // X, Y and Z Motion
            (byte)2, (byte)0, (byte)2,                // Yaw, Pitch and Head Pitch
            Watchers.toList(Watchers.INVISIBLE)       // Metadata
    );
    PacketUtils.sendPacket(player, spawnPacket);
    // Create a packet to send 0 max health attribute, so that health doesn't display
    PacketUtils.sendPacket(player, PacketUtils.createHealthAttribute(Integer.MAX_VALUE));
    PacketUtils.sendPacket(player, new PacketPlayOutMount(Integer.MAX_VALUE, nmsPlayer.getId()));
    player.sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(""));
}
 
开发者ID:twizmwazin,项目名称:CardinalPGM,代码行数:18,代码来源:TitleRespawn.java

示例13: playDeathAnimation

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public static void playDeathAnimation(Player player) {
    EntityPlayer handle = ((CraftPlayer) player).getHandle();
    PacketPlayOutEntityMetadata packet = new PacketPlayOutEntityMetadata(handle.getId(), handle.getDataWatcher(), false);

    // Add/replace health to zero
    boolean replaced = false;
    DataWatcher.Item<Float> zeroHealth = new DataWatcher.Item<>(EntityPlayer.class, EntityLiving.HEALTH, 0f);

    if(packet.b != null) {
        for(int i = 0; i < packet.b.size(); i++) {
            DataWatcher.Item<?> item = packet.b.get(i);
            if(EntityLiving.HEALTH.equals(item.a())) {
                packet.b.set(i, zeroHealth);
                replaced = true;
            }
        }
    }

    if(!replaced) {
        if(packet.b == null) {
            packet.b = Collections.singletonList(zeroHealth);
        } else {
            packet.b.add(zeroHealth);
        }
    }

    sendPacketToViewers(player, packet);
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:29,代码来源:NMSHacks.java

示例14: getMojang

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public EntityPlayer getMojang() {
    if (this.isOnline()) {
        return this.getPlayer().getMojang();
    } else {
        return null;
    }
}
 
开发者ID:ShootGame,项目名称:Arcade2,代码行数:8,代码来源:GamePlayer.java

示例15: tabComplete

import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public List<String> tabComplete(net.minecraft.server.ICommandListener sender, String message) {
    if (!(sender instanceof EntityPlayer)) {
        return ImmutableList.of();
    }

    Player player = ((EntityPlayer) sender).getBukkitEntity();
    if (message.startsWith("/")) {
        return tabCompleteCommand(player, message);
    } else {
        return tabCompleteChat(player, message);
    }
}
 
开发者ID:Techcable,项目名称:DiffUtils,代码行数:13,代码来源:CraftServer_1710.java


注:本文中的net.minecraft.server.EntityPlayer类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。