// region Events
 @SubscribeEvent
 public void onClientTick(TickEvent.ClientTickEvent event) {
   if (Minecraft.getMinecraft().theWorld != null
       && theGalaxy != null
       && !Minecraft.getMinecraft().isGamePaused()
       && Minecraft.getMinecraft().theWorld.isRemote
       && Minecraft.getMinecraft().theWorld.provider.dimensionId == 0
       && event.phase == TickEvent.Phase.START) {
     theGalaxy.update(Minecraft.getMinecraft().theWorld);
   }
 }
  @Override
  public void renderGUIInfo(
      Galaxy galaxy,
      SpaceBody spaceBody,
      TileEntityMachineStarMap starMap,
      float partialTicks,
      float opacity) {
    if (spaceBody instanceof Star) {
      RenderUtils.applyColorWithMultipy(Reference.COLOR_HOLO, opacity);
      glEnable(GL_ALPHA_TEST);

      Planet planet = galaxy.getPlanet(starMap.getDestination());
      if (planet != null) {
        if (GalaxyClient.getInstance()
            .canSeePlanetInfo(planet, Minecraft.getMinecraft().thePlayer)) {
          RenderUtils.drawString(planet.getName(), 72, -42, Reference.COLOR_HOLO, opacity);
        } else {
          RenderUtils.drawString(
              Minecraft.getMinecraft().standardGalacticFontRenderer,
              planet.getName(),
              72,
              -42,
              Reference.COLOR_HOLO,
              opacity);
        }

        RenderUtils.applyColorWithMultipy(Reference.COLOR_HOLO, opacity);
        ClientProxy.holoIcons.renderIcon("icon_size", 72, -28);
        RenderUtils.drawString(
            DecimalFormat.getPercentInstance().format(planet.getSize()),
            92,
            -23,
            Reference.COLOR_HOLO,
            opacity);
      }

      glDisable(GL_TEXTURE_2D);
      glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
      Tessellator.instance.startDrawingQuads();
      for (int i = 0; i < 10; i++) {
        double step = 64d / 10d;
        double x = step * i;
        double y = -10;
        double height = 64 * (0.5 * random.nextGaussian() + 1d) / 2d;
        Tessellator.instance.addVertex(x, y, 0);
        Tessellator.instance.addVertex(x + step - 1, y, 0);
        Tessellator.instance.addVertex(x + step - 1, y - height, 0);
        Tessellator.instance.addVertex(x, y - height, 0);
      }
      Tessellator.instance.draw();
      glEnable(GL_TEXTURE_2D);
    }
  }
  public void loadClaimedPlanets() {
    homePlanets.clear();

    for (Quadrant quadrant : theGalaxy.getQuadrants()) {
      for (Star star : quadrant.getStars()) {
        for (Planet planet : star.getPlanets()) {
          if (planet.isHomeworld() && planet.hasOwner()) {
            homePlanets.put(planet.getOwnerUUID(), planet);
          }
        }
      }
    }
  }