private void serverTick(boolean doEffects) { World entityWorld = MinecraftServer.getServer().getEntityWorld(); RfToolsDimensionManager dimensionManager = RfToolsDimensionManager.getDimensionManager(entityWorld); if (!dimensionManager.getDimensions().isEmpty()) { DimensionStorage dimensionStorage = DimensionStorage.getDimensionStorage(entityWorld); for (Map.Entry<Integer, DimensionDescriptor> entry : dimensionManager.getDimensions().entrySet()) { Integer id = entry.getKey(); // If there is an activity probe we only drain power if the dimension is loaded (a player is // there or a chunkloader) DimensionInformation information = dimensionManager.getDimensionInformation(id); WorldServer world = DimensionManager.getWorld(id); // Power handling. if (world != null || information.getProbeCounter() == 0) { handlePower(doEffects, dimensionStorage, entry, id, information); } // Special effect handling. if (world != null && !world.playerEntities.isEmpty()) { handleRandomEffects(world, information); } } dimensionStorage.save(entityWorld); } }