HudManager class

Пакет: com.hypixel.hytale.server.core.entity.entities.player.hud

Файл: com/hypixel/hytale/server/core/entity/entities/player/hud/HudManager.java

Поля (4)

МодификаторыТипИмя
final Set<HudComponent> DEFAULT_HUD_COMPONENTS
String var3
CustomUIHud var3
CustomUIHud var4

Методы (15)

МодификаторыВозвратСигнатура
public void addCustomHudvoid addCustomHud(@Nonnull PlayerRef var1, @Nonnull CustomUIHud var2)
for for(HudComponent var6 : var2)
public void hideHudComponentsvoid hideHudComponents(@Nonnull PlayerRef var1, @Nonnull HudComponent... var2)
if if(var4 != var2)
if if(var4 != null)
if if(var3 != null)
public void removeCustomHudvoid removeCustomHud(@Nonnull PlayerRef var1, @Nonnull String var2)
public void resetHudvoid resetHud(@Nonnull PlayerRef var1)
public void resetUserInterfacevoid resetUserInterface(@Nonnull PlayerRef var1)
public void resetVisibleHudComponentsvoid resetVisibleHudComponents(@Nonnull PlayerRef var1)
public void sendVisibleHudComponentsvoid sendVisibleHudComponents(@Nonnull PacketHandler var1)
public void setVisibleHudComponentsvoid setVisibleHudComponents(@Nonnull PlayerRef var1, HudComponent... var2)
public void setVisibleHudComponentsvoid setVisibleHudComponents(@Nonnull PlayerRef var1, @Nonnull Set<HudComponent> var2)
public void showHudComponentsvoid showHudComponents(@Nonnull PlayerRef var1, HudComponent... var2)
public void showHudComponentsvoid showHudComponents(@Nonnull PlayerRef var1, @Nonnull Set<HudComponent> var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.entity.entities.player.hud;

class="kw">import com.hypixel.hytale.protocol.packets.interface_.CustomHud;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.HudComponent;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.ResetUserInterfaceState;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.UpdateVisibleHudComponents;
class="kw">import com.hypixel.hytale.server.core.io.PacketHandler;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import java.util.Collections;
class="kw">import java.util.LinkedHashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class HudManager {
   class="kw">private class="kw">static class="kw">final Set<HudComponent> DEFAULT_HUD_COMPONENTS = Set.of(
      HudComponent.UtilitySlotSelector,
      HudComponent.BlockVariantSelector,
      HudComponent.StatusIcons,
      HudComponent.Hotbar,
      HudComponent.Chat,
      HudComponent.Notifications,
      HudComponent.KillFeed,
      HudComponent.InputBindings,
      HudComponent.Reticle,
      HudComponent.Compass,
      HudComponent.Speedometer,
      HudComponent.ObjectivePanel,
      HudComponent.PortalPanel,
      HudComponent.EventTitle,
      HudComponent.Stamina,
      HudComponent.AmmoIndicator,
      HudComponent.Health,
      HudComponent.Mana,
      HudComponent.Oxygen,
      HudComponent.BuilderToolsLegend,
      HudComponent.Sleep,
      HudComponent.Abilities,
      HudComponent.BossBar
   );
   class="kw">private class="kw">final Set<HudComponent> visibleHudComponents = ConcurrentHashMap.newKeySet();
   class="kw">private class="kw">final Set<HudComponent> unmodifiableVisibleHudComponents = Collections.unmodifiableSet(this.visibleHudComponents);
   class="kw">private class="kw">final Map<String, CustomUIHud> customHuds = new LinkedHashMap<>();

   class="kw">public HudManager() {
      this.visibleHudComponents.addAll(DEFAULT_HUD_COMPONENTS);
   }

   @Nullable
   class="kw">public CustomUIHud getCustomHud(@Nonnull String var1) {
      class="kw">return this.customHuds.get(var1);
   }

   @Nonnull
   class="kw">public Map<String, CustomUIHud> getCustomHuds() {
      class="kw">return Collections.unmodifiableMap(this.customHuds);
   }

   @Nonnull
   class="kw">public Set<HudComponent> getVisibleHudComponents() {
      class="kw">return this.unmodifiableVisibleHudComponents;
   }

   class="kw">public void setVisibleHudComponents(@Nonnull PlayerRef var1, HudComponent... var2) {
      this.visibleHudComponents.clear();
      Collections.addAll(this.visibleHudComponents, var2);
      this.sendVisibleHudComponents(var1.getPacketHandler());
   }

   class="kw">public void setVisibleHudComponents(@Nonnull PlayerRef var1, @Nonnull Set<HudComponent> var2) {
      this.visibleHudComponents.clear();
      this.visibleHudComponents.addAll(var2);
      this.sendVisibleHudComponents(var1.getPacketHandler());
   }

   class="kw">public void showHudComponents(@Nonnull PlayerRef var1, HudComponent... var2) {
      Collections.addAll(this.visibleHudComponents, var2);
      this.sendVisibleHudComponents(var1.getPacketHandler());
   }

   class="kw">public void showHudComponents(@Nonnull PlayerRef var1, @Nonnull Set<HudComponent> var2) {
      this.visibleHudComponents.addAll(var2);
      this.sendVisibleHudComponents(var1.getPacketHandler());
   }

   class="kw">public void hideHudComponents(@Nonnull PlayerRef var1, @Nonnull HudComponent... var2) {
      for (HudComponent var6 : var2) {
         this.visibleHudComponents.remove(var6);
      }

      this.sendVisibleHudComponents(var1.getPacketHandler());
   }

   class="kw">public void addCustomHud(@Nonnull PlayerRef var1, @Nonnull CustomUIHud var2) {
      String var3 = var2.getKey();
      CustomUIHud var4 = this.customHuds.get(var3);
      if (var4 != var2) {
         if (var4 != null) {
            var4.onRemove();
            var1.getPacketHandler().writeNoCache(new CustomHud(var3, 0, true, null));
         }

         this.customHuds.put(var3, var2);
         var2.show();
      }
   }

   class="kw">public void removeCustomHud(@Nonnull PlayerRef var1, @Nonnull String var2) {
      CustomUIHud var3 = this.customHuds.remove(var2);
      if (var3 != null) {
         var3.onRemove();
         var1.getPacketHandler().writeNoCache(new CustomHud(var2, 0, true, null));
      }
   }

   class="kw">public void resetVisibleHudComponents(@Nonnull PlayerRef var1) {
      this.setVisibleHudComponents(var1, DEFAULT_HUD_COMPONENTS);
   }

   class="kw">public void resetHud(@Nonnull PlayerRef var1) {
      this.resetVisibleHudComponents(var1);

      for (Entry var3 : this.customHuds.entrySet()) {
         var3.getValue().onRemove();
         var1.getPacketHandler().writeNoCache(new CustomHud(var3.getKey(), 0, true, null));
      }

      this.customHuds.clear();
   }

   class="kw">public void resetUserInterface(@Nonnull PlayerRef var1) {
      var1.getPacketHandler().writeNoCache(new ResetUserInterfaceState());
   }

   class="kw">public void sendVisibleHudComponents(@Nonnull PacketHandler var1) {
      var1.writeNoCache(new UpdateVisibleHudComponents(this.visibleHudComponents.toArray(HudComponent[]::new)));
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "HudManager{visibleHudComponents=" + this.visibleHudComponents + ", customHuds=" + this.customHuds + "}";
   }
}