本文整理汇总了Java中cn.nukkit.level.format.generic.BaseFullChunk.addEntity方法的典型用法代码示例。如果您正苦于以下问题:Java BaseFullChunk.addEntity方法的具体用法?Java BaseFullChunk.addEntity怎么用?Java BaseFullChunk.addEntity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cn.nukkit.level.format.generic.BaseFullChunk
的用法示例。
在下文中一共展示了BaseFullChunk.addEntity方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setChunk
import cn.nukkit.level.format.generic.BaseFullChunk; //导入方法依赖的package包/类
public void setChunk(int chunkX, int chunkZ, BaseFullChunk chunk, boolean unload) {
if (chunk == null) {
return;
}
Long index = Level.chunkHash(chunkX, chunkZ);
FullChunk oldChunk = this.getChunk(chunkX, chunkZ, false);
if (unload && oldChunk != null) {
this.unloadChunk(chunkX, chunkZ, false, false);
this.provider.setChunk(chunkX, chunkZ, chunk);
this.chunks.put(index, chunk);
} else {
Map<Long, Entity> oldEntities = oldChunk != null ? oldChunk.getEntities() : new HashMap<>();
Map<Long, BlockEntity> oldBlockEntities = oldChunk != null ? oldChunk.getBlockEntities() : new HashMap<>();
for (Entity entity : oldEntities.values()) {
chunk.addEntity(entity);
if (oldChunk != null) {
oldChunk.removeEntity(entity);
entity.chunk = chunk;
}
}
for (BlockEntity blockEntity : oldBlockEntities.values()) {
chunk.addBlockEntity(blockEntity);
if (oldChunk != null) {
oldChunk.removeBlockEntity(blockEntity);
blockEntity.chunk = chunk;
}
}
this.provider.setChunk(chunkX, chunkZ, chunk);
this.chunks.put(index, chunk);
}
this.chunkCache.remove(index);
chunk.setChanged();
if (!this.isChunkInUse(chunkX, chunkZ)) {
this.unloadChunkRequest(chunkX, chunkZ);
} else {
for (ChunkLoader loader : this.getChunkLoaders(chunkX, chunkZ)) {
loader.onChunkChanged(chunk);
}
}
}
示例2: setChunk
import cn.nukkit.level.format.generic.BaseFullChunk; //导入方法依赖的package包/类
public void setChunk(int chunkX, int chunkZ, BaseFullChunk chunk, boolean unload) {
if (chunk == null) {
return;
}
Long index = Level.chunkHash(chunkX, chunkZ);
FullChunk oldChunk = this.getChunk(chunkX, chunkZ, false);
if (unload && oldChunk != null) {
this.unloadChunk(chunkX, chunkZ, false, false);
this.provider.setChunk(chunkX, chunkZ, chunk);
this.chunks.put(index, chunk);
} else {
Map<Long, Entity> oldEntities = oldChunk != null ? oldChunk.getEntities() : new HashMap<>();
Map<Long, BlockEntity> oldBlockEntities = oldChunk != null ? oldChunk.getBlockEntities() : new HashMap<>();
this.provider.setChunk(chunkX, chunkZ, chunk);
this.chunks.put(index, chunk);
for (Entity entity : oldEntities.values()) {
chunk.addEntity(entity);
entity.chunk = chunk;
}
for (BlockEntity blockEntity : oldBlockEntities.values()) {
chunk.addBlockEntity(blockEntity);
blockEntity.chunk = chunk;
}
}
this.chunkCache.remove(index);
chunk.setChanged();
if (!this.isChunkInUse(chunkX, chunkZ)) {
this.unloadChunkRequest(chunkX, chunkZ);
} else {
for (ChunkLoader loader : this.getChunkLoaders(chunkX, chunkZ)) {
loader.onChunkChanged(chunk);
}
}
}
示例3: setChunk
import cn.nukkit.level.format.generic.BaseFullChunk; //导入方法依赖的package包/类
public void setChunk(int chunkX, int chunkZ, BaseFullChunk chunk, boolean unload) {
if (chunk == null) {
return;
}
Long index = Level.chunkHash(chunkX, chunkZ);
FullChunk oldChunk = this.getChunk(chunkX, chunkZ, false);
if (unload && oldChunk != null) {
this.unloadChunk(chunkX, chunkZ, false, false);
this.provider.setChunk(chunkX, chunkZ, chunk);
this.chunks.put(index, chunk);
} else {
Map<Long, Entity> oldEntities = oldChunk != null ? oldChunk.getEntities() : new HashMap<>();
Map<Long, BlockEntity> oldBlockEntities = oldChunk != null ? oldChunk.getBlockEntities() : new HashMap<>();
for (Entity entity : oldEntities.values()) {
chunk.addEntity(entity);
oldChunk.removeEntity(entity);
entity.chunk = chunk;
}
for (BlockEntity blockEntity : oldBlockEntities.values()) {
chunk.addBlockEntity(blockEntity);
oldChunk.removeBlockEntity(blockEntity);
blockEntity.chunk = chunk;
}
this.provider.setChunk(chunkX, chunkZ, chunk);
this.chunks.put(index, chunk);
}
this.chunkCache.remove(index);
chunk.setChanged();
if (!this.isChunkInUse(chunkX, chunkZ)) {
this.unloadChunkRequest(chunkX, chunkZ);
} else {
for (ChunkLoader loader : this.getChunkLoaders(chunkX, chunkZ)) {
loader.onChunkChanged(chunk);
}
}
}