@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
{
RenderGlobal render = Minecraft.getMinecraft().renderGlobal;
Field frustumField = null;
Field chunkyField = null;
/* Find all fields */
for (Field field : render.getClass().getDeclaredFields())
{
if (chunkyField == null && field.getType().equals(ChunkRenderDispatcher.class))
{
chunkyField = field;
chunkyField.setAccessible(true);
}
if (frustumField == null && field.getType().equals(ViewFrustum.class))
{
frustumField = field;
frustumField.setAccessible(true);
}
if (chunkyField != null && frustumField != null)
{
break;
}
}
/* Force chunk loading */
if (chunkyField != null && frustumField != null)
{
try
{
ChunkRenderDispatcher chunks = (ChunkRenderDispatcher) chunkyField.get(render);
ViewFrustum frustum = (ViewFrustum) frustumField.get(render);
for (RenderChunk chunk : frustum.renderChunks)
{
boolean isDummy = chunk.getCompiledChunk() == CompiledChunk.DUMMY;
if (isDummy)
{
chunks.updateChunkNow(chunk);
}
}
L10n.info(sender, "commands.load_chunks");
}
catch (Exception e)
{
e.printStackTrace();
L10n.error(sender, "commands.load_chunks");
}
}
}
CommandLoadChunks.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:blockbuster
作者:
评论列表
文章目录