本文整理匯總了Java中net.minecraft.world.WorldServer.removeEntity方法的典型用法代碼示例。如果您正苦於以下問題:Java WorldServer.removeEntity方法的具體用法?Java WorldServer.removeEntity怎麽用?Java WorldServer.removeEntity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類net.minecraft.world.WorldServer
的用法示例。
在下文中一共展示了WorldServer.removeEntity方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: execute
import net.minecraft.world.WorldServer; //導入方法依賴的package包/類
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
if (args.length <= 0) {
ChatTools.addChatMessage(sender, new TextComponentString(TextFormatting.RED + "Use 'all', 'passive', 'hostile' or name of the mob followed by optional dimension id"));
InControl.logger.error("Use 'all', 'passive', 'hostile', 'entity' or name of the mob followed by optional dimension id");
return;
}
int dimension = (sender instanceof EntityPlayer) ? sender.getEntityWorld().provider.getDimension() : 0;
if (args.length > 1) {
dimension = Integer.parseInt(args[1]);
}
String arg0 = args[0].toLowerCase();
boolean all = "all".equals(arg0);
boolean passive = "passive".equals(arg0);
boolean hostile = "hostile".equals(arg0);
boolean entity = "entity".equals(arg0);
WorldServer worldServer = server.worldServerForDimension(dimension);
List<Entity> entities = worldServer.getEntities(Entity.class, input -> {
if (all) {
return !(input instanceof EntityPlayer);
} else if (passive) {
return input instanceof IAnimals && !(input instanceof IMob);
} else if (hostile) {
return input instanceof IMob;
} else if (entity) {
return !(input instanceof IAnimals) && !(input instanceof EntityPlayer);
} else {
String id = EntityTools.findEntityIdByClass(input.getClass());
return arg0.equals(id);
}
});
for (Entity e : entities) {
worldServer.removeEntity(e);
}
ChatTools.addChatMessage(sender, new TextComponentString(TextFormatting.YELLOW + "Removed " + entities.size() + " entities!"));
}
示例2: playerLoggedOut
import net.minecraft.world.WorldServer; //導入方法依賴的package包/類
/**
* Called when a player disconnects from the game. Writes player data to disk and removes them from the world.
*/
public void playerLoggedOut(EntityPlayerMP playerIn)
{
playerIn.triggerAchievement(StatList.leaveGameStat);
this.writePlayerData(playerIn);
WorldServer worldserver = playerIn.getServerForPlayer();
if (playerIn.ridingEntity != null)
{
worldserver.removePlayerEntityDangerously(playerIn.ridingEntity);
logger.debug("removing player mount");
}
worldserver.removeEntity(playerIn);
worldserver.getPlayerManager().removePlayer(playerIn);
this.playerEntityList.remove(playerIn);
UUID uuid = playerIn.getUniqueID();
EntityPlayerMP entityplayermp = (EntityPlayerMP)this.uuidToPlayerMap.get(uuid);
if (entityplayermp == playerIn)
{
this.uuidToPlayerMap.remove(uuid);
this.playerStatFiles.remove(uuid);
}
this.sendPacketToAllPlayers(new S38PacketPlayerListItem(S38PacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[] {playerIn}));
}
示例3: playerLoggedOut
import net.minecraft.world.WorldServer; //導入方法依賴的package包/類
/**
* Called when a player disconnects from the game. Writes player data to disk and removes them from the world.
*/
public void playerLoggedOut(EntityPlayerMP playerIn)
{
WorldServer worldserver = playerIn.getServerWorld();
playerIn.addStat(StatList.LEAVE_GAME);
this.writePlayerData(playerIn);
if (playerIn.isRiding())
{
Entity entity = playerIn.getLowestRidingEntity();
if (entity.getRecursivePassengersByType(EntityPlayerMP.class).size() == 1)
{
LOG.debug("Removing player mount");
playerIn.dismountRidingEntity();
worldserver.removeEntityDangerously(entity);
for (Entity entity1 : entity.getRecursivePassengers())
{
worldserver.removeEntityDangerously(entity1);
}
worldserver.getChunkFromChunkCoords(playerIn.chunkCoordX, playerIn.chunkCoordZ).setChunkModified();
}
}
worldserver.removeEntity(playerIn);
worldserver.getPlayerChunkMap().removePlayer(playerIn);
this.playerEntityList.remove(playerIn);
UUID uuid = playerIn.getUniqueID();
EntityPlayerMP entityplayermp = (EntityPlayerMP)this.uuidToPlayerMap.get(uuid);
if (entityplayermp == playerIn)
{
this.uuidToPlayerMap.remove(uuid);
this.playerStatFiles.remove(uuid);
}
this.sendPacketToAllPlayers(new SPacketPlayerListItem(SPacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[] {playerIn}));
}
示例4: playerLoggedOut
import net.minecraft.world.WorldServer; //導入方法依賴的package包/類
/**
* Called when a player disconnects from the game. Writes player data to disk and removes them from the world.
*/
public void playerLoggedOut(EntityPlayerMP playerIn)
{
net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerLoggedOut(playerIn);
WorldServer worldserver = playerIn.getServerWorld();
playerIn.addStat(StatList.LEAVE_GAME);
this.writePlayerData(playerIn);
if (playerIn.isRiding())
{
Entity entity = playerIn.getLowestRidingEntity();
if (entity.getRecursivePassengersByType(EntityPlayerMP.class).size() == 1)
{
LOG.debug("Removing player mount");
playerIn.dismountRidingEntity();
worldserver.removeEntityDangerously(entity);
for (Entity entity1 : entity.getRecursivePassengers())
{
worldserver.removeEntityDangerously(entity1);
}
worldserver.getChunkFromChunkCoords(playerIn.chunkCoordX, playerIn.chunkCoordZ).setChunkModified();
}
}
worldserver.removeEntity(playerIn);
worldserver.getPlayerChunkMap().removePlayer(playerIn);
this.playerEntityList.remove(playerIn);
UUID uuid = playerIn.getUniqueID();
EntityPlayerMP entityplayermp = (EntityPlayerMP)this.uuidToPlayerMap.get(uuid);
if (entityplayermp == playerIn)
{
this.uuidToPlayerMap.remove(uuid);
this.playerStatFiles.remove(uuid);
}
net.minecraftforge.common.chunkio.ChunkIOExecutor.adjustPoolSize(this.getCurrentPlayerCount());
this.sendPacketToAllPlayers(new SPacketPlayerListItem(SPacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[] {playerIn}));
}
示例5: transferPlayerToDimension
import net.minecraft.world.WorldServer; //導入方法依賴的package包/類
static void transferPlayerToDimension(EntityPlayerMP player, int dimensionTo, int targetHeight)
{
if (!net.minecraftforge.common.ForgeHooks.onTravelToDimension(player, dimensionTo)) { return; } // Moving that here, to consolidate these functions.
net.minecraft.world.Teleporter teleporter = player.mcServer.worldServerForDimension(dimensionTo).getDefaultTeleporter();
PlayerList playerList = player.mcServer.getPlayerList();
int dimensionFrom = player.dimension;
// Changing dimensions...
WorldServer wsPrev = player.mcServer.worldServerForDimension(player.dimension);
player.dimension = dimensionTo;
WorldServer wsNew = player.mcServer.worldServerForDimension(player.dimension);
// Respawn? Used to recreate the player entity.
player.connection.sendPacket(new SPacketRespawn(player.dimension, wsNew.getDifficulty(), wsNew.getWorldInfo().getTerrainType(), player.interactionManager.getGameType()));
// Capabilities...
playerList.updatePermissionLevel(player);
// Begone from the old world?
wsPrev.removeEntity(player);
// Safety, I suppose.
player.isDead = false;
// We haven't reached the "set portal" level yet. Going deeper.
transferEntityToWorld(player, dimensionFrom, wsPrev, wsNew, teleporter, targetHeight);
// Getting chunks ready?
playerList.preparePlayer(player, wsPrev);
// Inserting their new position here? May not be necessary, since this is called by the drop and transfer, which sets the position beforehand and afterwards.
player.connection.setPlayerLocation(player.posX, player.posY, player.posZ, player.rotationYaw, player.rotationPitch);
// More formalities...
player.interactionManager.setWorld(wsNew);
player.connection.sendPacket(new SPacketPlayerAbilities(player.capabilities));
playerList.updateTimeAndWeatherForPlayer(player, wsNew);
playerList.syncPlayerInventory(player);
// Reapplying potion effects
for (PotionEffect potioneffect : player.getActivePotionEffects())
{
player.connection.sendPacket(new SPacketEntityEffect(player.getEntityId(), potioneffect));
}
// We're done.
net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerChangedDimensionEvent(player, dimensionFrom, dimensionTo);
}