本文整理汇总了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));
}
}
示例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);
}
示例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;
}
}
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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));
}
}
示例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 );
}
示例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);
}
示例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);
}
示例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(""));
}
示例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);
}
示例14: getMojang
import net.minecraft.server.EntityPlayer; //导入依赖的package包/类
public EntityPlayer getMojang() {
if (this.isOnline()) {
return this.getPlayer().getMojang();
} else {
return null;
}
}
示例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);
}
}