示例#1
0
 private synchronized void installHook(World world) {
   try {
     Field field = World.class.getField("loadedEntityList");
     new LoadedEntityList(world, field);
     APerf.LOG.debug(
         "Hooked into world {} (DimID: {})", world.getClass(), world.provider.dimensionId);
   } catch (Exception e) {
     APerf.LOG.fatal(
         "Failed to hook world {} (DimID: {})", world.getClass(), world.provider.dimensionId);
     APerf.LOG.catching(e);
   }
 }
示例#2
0
 private synchronized void uninstallHook(World world) {
   try {
     Field field = World.class.getField("loadedEntityList");
     Object o = field.get(world);
     if (o instanceof LoadedEntityList) {
       ((LoadedTileEntityList) o).unhook();
       APerf.LOG.debug("Unhooked from world {}", world.getClass());
     } else {
       APerf.LOG.fatal(
           "Could not uninstall hook! Looks like another mod changed loadedEntityList in world {}!",
           world.getClass());
     }
   } catch (Exception e) {
     APerf.LOG.fatal("Could not uninstall hook for world {}!", world.getClass());
     APerf.LOG.catching(e);
   }
 }