Search in sources :

Example 1 with PlayerChunkMap

use of net.minecraft.server.v1_16_R3.PlayerChunkMap in project Citizens2 by CitizensDev.

the class NMSImpl method addEntityToWorld.

@Override
public boolean addEntityToWorld(org.bukkit.entity.Entity entity, SpawnReason custom) {
    int viewDistance = -1;
    PlayerChunkMap chunkMap = null;
    try {
        if (entity instanceof Player) {
            chunkMap = (PlayerChunkMap) PLAYER_CHUNK_MAP_GETTER.invoke(getHandle(entity).world.getChunkProvider());
            viewDistance = (int) PLAYER_CHUNK_MAP_VIEW_DISTANCE_GETTER.invoke(chunkMap);
            PLAYER_CHUNK_MAP_VIEW_DISTANCE_SETTER.invoke(chunkMap, -1);
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
    boolean success = getHandle(entity).world.addEntity(getHandle(entity), custom);
    try {
        if (chunkMap != null) {
            PLAYER_CHUNK_MAP_VIEW_DISTANCE_SETTER.invoke(chunkMap, viewDistance);
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
    return success;
}
Also used : EntityPlayer(net.minecraft.server.v1_14_R1.EntityPlayer) Player(org.bukkit.entity.Player) CraftPlayer(org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer) AdvancementDataPlayer(net.minecraft.server.v1_14_R1.AdvancementDataPlayer) PathPoint(net.minecraft.server.v1_14_R1.PathPoint) PlayerChunkMap(net.minecraft.server.v1_14_R1.PlayerChunkMap)

Example 2 with PlayerChunkMap

use of net.minecraft.server.v1_16_R3.PlayerChunkMap in project Citizens2 by CitizensDev.

the class NMSImpl method addEntityToWorld.

@SuppressWarnings("resource")
@Override
public boolean addEntityToWorld(org.bukkit.entity.Entity entity, SpawnReason custom) {
    int viewDistance = -1;
    PlayerChunkMap chunkMap = null;
    try {
        if (entity instanceof Player) {
            chunkMap = ((ChunkProviderServer) getHandle(entity).world.getChunkProvider()).playerChunkMap;
            viewDistance = (int) PLAYER_CHUNK_MAP_VIEW_DISTANCE_GETTER.invoke(chunkMap);
            PLAYER_CHUNK_MAP_VIEW_DISTANCE_SETTER.invoke(chunkMap, -1);
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
    boolean success = getHandle(entity).world.addEntity(getHandle(entity), custom);
    try {
        if (chunkMap != null) {
            PLAYER_CHUNK_MAP_VIEW_DISTANCE_SETTER.invoke(chunkMap, viewDistance);
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
    return success;
}
Also used : Player(org.bukkit.entity.Player) AdvancementDataPlayer(net.minecraft.server.v1_15_R1.AdvancementDataPlayer) EntityPlayer(net.minecraft.server.v1_15_R1.EntityPlayer) CraftPlayer(org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer) PathPoint(net.minecraft.server.v1_15_R1.PathPoint) PlayerChunkMap(net.minecraft.server.v1_15_R1.PlayerChunkMap)

Example 3 with PlayerChunkMap

use of net.minecraft.server.v1_16_R3.PlayerChunkMap in project Citizens2 by CitizensDev.

the class NMSImpl method replaceTrackerEntry.

@Override
public void replaceTrackerEntry(Player player) {
    WorldServer server = (WorldServer) NMSImpl.getHandle(player).getWorld();
    EntityTracker entry = server.getChunkProvider().playerChunkMap.trackedEntities.get(player.getEntityId());
    if (entry == null)
        return;
    PlayerlistTracker replace = new PlayerlistTracker(server.getChunkProvider().playerChunkMap, entry);
    server.getChunkProvider().playerChunkMap.trackedEntities.put(player.getEntityId(), replace);
    if (getHandle(player) instanceof EntityHumanNPC) {
        ((EntityHumanNPC) getHandle(player)).setTracked(replace);
    }
}
Also used : EntityTracker(net.minecraft.server.v1_16_R3.PlayerChunkMap.EntityTracker) WorldServer(net.minecraft.server.v1_16_R3.WorldServer) EntityHumanNPC(net.citizensnpcs.nms.v1_16_R3.entity.EntityHumanNPC)

Example 4 with PlayerChunkMap

use of net.minecraft.server.v1_16_R3.PlayerChunkMap in project Citizens2 by CitizensDev.

the class NMSImpl method addEntityToWorld.

@SuppressWarnings("resource")
@Override
public boolean addEntityToWorld(org.bukkit.entity.Entity entity, SpawnReason custom) {
    int viewDistance = -1;
    PlayerChunkMap chunkMap = null;
    try {
        if (entity instanceof Player) {
            chunkMap = ((ChunkProviderServer) getHandle(entity).world.getChunkProvider()).playerChunkMap;
            viewDistance = (int) PLAYER_CHUNK_MAP_VIEW_DISTANCE_GETTER.invoke(chunkMap);
            PLAYER_CHUNK_MAP_VIEW_DISTANCE_SETTER.invoke(chunkMap, -1);
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
    boolean success = getHandle(entity).world.addEntity(getHandle(entity), custom);
    try {
        if (chunkMap != null) {
            PLAYER_CHUNK_MAP_VIEW_DISTANCE_SETTER.invoke(chunkMap, viewDistance);
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
    return success;
}
Also used : EntityPlayer(net.minecraft.server.v1_16_R3.EntityPlayer) AdvancementDataPlayer(net.minecraft.server.v1_16_R3.AdvancementDataPlayer) Player(org.bukkit.entity.Player) CraftPlayer(org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer) PathPoint(net.minecraft.server.v1_16_R3.PathPoint) PlayerChunkMap(net.minecraft.server.v1_16_R3.PlayerChunkMap)

Aggregations

Player (org.bukkit.entity.Player)3 EntityHumanNPC (net.citizensnpcs.nms.v1_16_R3.entity.EntityHumanNPC)1 AdvancementDataPlayer (net.minecraft.server.v1_14_R1.AdvancementDataPlayer)1 EntityPlayer (net.minecraft.server.v1_14_R1.EntityPlayer)1 PathPoint (net.minecraft.server.v1_14_R1.PathPoint)1 PlayerChunkMap (net.minecraft.server.v1_14_R1.PlayerChunkMap)1 AdvancementDataPlayer (net.minecraft.server.v1_15_R1.AdvancementDataPlayer)1 EntityPlayer (net.minecraft.server.v1_15_R1.EntityPlayer)1 PathPoint (net.minecraft.server.v1_15_R1.PathPoint)1 PlayerChunkMap (net.minecraft.server.v1_15_R1.PlayerChunkMap)1 AdvancementDataPlayer (net.minecraft.server.v1_16_R3.AdvancementDataPlayer)1 EntityPlayer (net.minecraft.server.v1_16_R3.EntityPlayer)1 PathPoint (net.minecraft.server.v1_16_R3.PathPoint)1 PlayerChunkMap (net.minecraft.server.v1_16_R3.PlayerChunkMap)1 EntityTracker (net.minecraft.server.v1_16_R3.PlayerChunkMap.EntityTracker)1 WorldServer (net.minecraft.server.v1_16_R3.WorldServer)1 CraftPlayer (org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer)1 CraftPlayer (org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer)1 CraftPlayer (org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer)1