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 + "}";
}
}