本文整理汇总了Java中org.spacehq.mc.protocol.packet.ingame.server.world.ServerChunkDataPacket类的典型用法代码示例。如果您正苦于以下问题:Java ServerChunkDataPacket类的具体用法?Java ServerChunkDataPacket怎么用?Java ServerChunkDataPacket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ServerChunkDataPacket类属于org.spacehq.mc.protocol.packet.ingame.server.world包,在下文中一共展示了ServerChunkDataPacket类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: onPacket
import org.spacehq.mc.protocol.packet.ingame.server.world.ServerChunkDataPacket; //导入依赖的package包/类
@Override
public boolean onPacket(PacketStream stream, PacketData data) {
try {
Packet packet = data.getPacket();
jsonWriter.beginObject();
jsonWriter.name("time").value(data.getTime());
jsonWriter.name("type").value(data.getPacket().getClass().getSimpleName());
jsonWriter.name("data");
if (packet instanceof ServerChunkDataPacket && !dumpChunks) {
ServerChunkDataPacket p = (ServerChunkDataPacket) packet;
jsonWriter.beginObject();
jsonWriter.name("x").value(p.getX());
jsonWriter.name("z").value(p.getZ());
jsonWriter.name("chunks").value(p.getChunks().length);
jsonWriter.name("biomeData").value(p.getBiomeData().length);
jsonWriter.endObject();
} else if (packet instanceof ServerMultiChunkDataPacket && !dumpChunks) {
jsonWriter.beginObject();
jsonWriter.name("chunks").value(((ServerMultiChunkDataPacket) packet).getColumns());
jsonWriter.endObject();
} else {
gson.toJson(data.getPacket(), data.getPacket().getClass(), jsonWriter);
}
jsonWriter.endObject();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
开发者ID:ReplayMod,项目名称:ReplayStudio,代码行数:30,代码来源:JsonConverterFilter.java
示例2: tick
import org.spacehq.mc.protocol.packet.ingame.server.world.ServerChunkDataPacket; //导入依赖的package包/类
@Override
public synchronized void tick(long dt) {
super.tick(dt);
int chunkX = (int) (this.x / 16);
int chunkZ = (int) (this.z / 16);
int viewDistance = Integer.valueOf(MainMain.config.getProperty("render-distance"));
if (this.world != null) {
for (int dx = -viewDistance; dx <= viewDistance; dx++) {
for (int dz = -viewDistance; dz <= viewDistance; dz++) {
int currentChunkX = chunkX + dx;
int currentChunkZ = chunkZ + dz;
if (this.world.isChunkLoaded(currentChunkX, currentChunkZ)) {
Column currentColumn = this.world.getColumn(currentChunkX, currentChunkZ);
if (!loadedColumns.contains(currentColumn)) {
session.send(new ServerChunkDataPacket(currentColumn));
loadedColumns.add(currentColumn);
}
} else {
this.world.requestChunkLoad(currentChunkX, currentChunkZ);
}
}
}
}
for (Iterator<Column> i = this.loadedColumns.iterator(); i.hasNext();) {
Column column = i.next();
if (column.getX() > chunkX + viewDistance + 2 || column.getX() < chunkX - viewDistance - 2
|| column.getZ() > chunkZ + viewDistance + 2 || column.getZ() < chunkZ - viewDistance - 2) {
i.remove();
session.send(new ServerUnloadChunkPacket(column.getX(), column.getZ()));
}
}
if (this.world != null) {
List<ServerEntity> nearbyEntities = this.world.getNearbyEntities(this.x, this.y, this.z);
for (ServerEntity entity : nearbyEntities) {
if (!this.loadedEntities.contains(entity) && entity != this) {
this.loadedEntities.add(entity);
session.send(entity.getSpawnPacket());
}
}
for (Iterator<ServerEntity> i = loadedEntities.iterator(); i.hasNext();) {
ServerEntity loadedEntity = i.next();
if (nearbyEntities.contains(loadedEntity) == false) {
this.loadedEntities.remove(loadedEntity);
session.send(loadedEntity.getDespawnPacket());
}
}
}
}
开发者ID:MineGuard-dev,项目名称:TestServer_Java,代码行数:55,代码来源:ServerPlayer.java
示例3: tick
import org.spacehq.mc.protocol.packet.ingame.server.world.ServerChunkDataPacket; //导入依赖的package包/类
@Override
public synchronized void tick(long dt) {
super.tick(dt);
int chunkX = (int)(this.x / 16);
int chunkZ = (int)(this.z / 16);
//TODO: read this from config.
int viewDistance = 3;
// Load the needed chunks for the client.
if (this.world != null) {
// TODO: read this from config.
for (int dx = -viewDistance; dx <= viewDistance; dx++) {
for (int dz = -viewDistance; dz <= viewDistance; dz++) {
int currentChunkX = chunkX + dx;
int currentChunkZ = chunkZ + dz;
// Check if the chunk is ready to be sent, otherwise
// load it.
if (this.world.isChunkLoaded(currentChunkX, currentChunkZ)) {
Column currentColumn = this.world.getColumn(currentChunkX, currentChunkZ);
if (!loadedColumns.contains(currentColumn)) {
session.send(new ServerChunkDataPacket(currentColumn));
loadedColumns.add(currentColumn);
}
} else {
this.world.requestChunkLoad(currentChunkX, currentChunkZ);
}
}
}
}
// Unload the chunks that are far away from the player.
for(Iterator<Column> i = this.loadedColumns.iterator(); i.hasNext(); ){
Column column = i.next();
if(column.getX() > chunkX + viewDistance + 2
|| column.getX() < chunkX - viewDistance - 2
|| column.getZ() > chunkZ + viewDistance + 2
|| column.getZ() < chunkZ - viewDistance - 2
)
{
i.remove();
session.send(new ServerUnloadChunkPacket(column.getX(), column.getZ()));
}
}
// Entity adding / removing
if(this.world != null){
List<NetherEntity> nearbyEntities = this.world.getNearbyEntities(this.x, this.y, this.z);
// Spawn the entities near the player
for(NetherEntity entity: nearbyEntities){
if(!this.loadedEntities.contains(entity) && entity != this){
this.loadedEntities.add(entity);
session.send(entity.getSpawnPacket());
}
}
// Despawn the entities far away from the player
for(Iterator<NetherEntity> i = loadedEntities.iterator(); i.hasNext();){
NetherEntity loadedEntity = i.next();
if(nearbyEntities.contains(loadedEntity) == false){
this.loadedEntities.remove(loadedEntity);
session.send(loadedEntity.getDespawnPacket());
}
}
}
}
开发者ID:netherrack,项目名称:netherrack,代码行数:78,代码来源:NetherPlayer.java
示例4: sendChunk
import org.spacehq.mc.protocol.packet.ingame.server.world.ServerChunkDataPacket; //导入依赖的package包/类
@Override
public void sendChunk(Chunk chunk) {
CyanChunk cchunk = (CyanChunk) chunk;
ServerChunkDataPacket packet = new ServerChunkDataPacket(chunk.getX(), chunk.getZ(), cchunk.getSections(), chunk.getBiomeData());
getPlayerNetwork().sendPacket(packet);
}
开发者ID:BeYkeRYkt,项目名称:CyanWool,代码行数:7,代码来源:CyanPlayer.java
示例5: updateChunk
import org.spacehq.mc.protocol.packet.ingame.server.world.ServerChunkDataPacket; //导入依赖的package包/类
@Override
public void updateChunk(Chunk chunk) {
CyanChunk cchunk = (CyanChunk) chunk;
ServerChunkDataPacket packet = new ServerChunkDataPacket(chunk.getX(), chunk.getZ(), cchunk.getSections());
getPlayerNetwork().sendPacket(packet);
}
开发者ID:BeYkeRYkt,项目名称:CyanWool,代码行数:7,代码来源:CyanPlayer.java
注:本文中的org.spacehq.mc.protocol.packet.ingame.server.world.ServerChunkDataPacket类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论