CosmeticRegistry class
Пакет: com.hypixel.hytale.server.core.cosmetics
Файл: com/hypixel/hytale/server/core/cosmetics/CosmeticRegistry.java
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
MODEL |
|
Path |
var2 |
|
Map |
var4 |
|
Path |
var5 |
|
BsonDocument |
var9 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
return |
switchreturn switch(var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.cosmetics;
class="kw">import com.hypixel.hytale.assetstore.AssetPack;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.io.IOException;
class="kw">import java.nio.file.Files;
class="kw">import java.nio.file.Path;
class="kw">import java.util.Collections;
class="kw">import java.util.Map;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.bson.BsonArray;
class="kw">import org.bson.BsonDocument;
class="kw">import org.bson.BsonValue;
class="kw">public class CosmeticRegistry {
class="kw">public class="kw">static class="kw">final String MODEL = "Characters/Player.blockymodel";
class="kw">public class="kw">static class="kw">final String SKIN_GRADIENTSET_ID = "Skin";
@Nonnull
class="kw">private class="kw">final Map<String, Emote> emotes;
@Nonnull
class="kw">private class="kw">final Map<String, Emote> emotesInGame;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinTintColor> eyeColors;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinGradientSet> gradientSets;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> bodyCharacteristics;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> underwear;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> eyebrows;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> ears;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> eyes;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> faces;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> mouths;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> facialHair;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> pants;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> overpants;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> undertops;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> overtops;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> haircuts;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> shoes;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> headAccessory;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> faceAccessory;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> earAccessory;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> gloves;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> capes;
@Nonnull
class="kw">private class="kw">final Map<String, PlayerSkinPart> skinFeatures;
class="kw">public CosmeticRegistry(@Nonnull AssetPack var1) {
Path var2 = var1.getRoot();
this.emotes = this.load(var2, "Emotes.json", Emote::new);
this.emotesInGame = this.load(var2, "EmotesInGame.json", Emote::new);
this.eyeColors = this.load(var2, "EyeColors.json", PlayerSkinTintColor::new);
this.gradientSets = this.load(var2, "GradientSets.json", PlayerSkinGradientSet::new);
this.bodyCharacteristics = this.load(var2, "BodyCharacteristics.json", PlayerSkinPart::new);
this.underwear = this.load(var2, "Underwear.json", PlayerSkinPart::new);
this.eyes = this.load(var2, "Eyes.json", PlayerSkinPart::new);
this.faces = this.load(var2, "Faces.json", PlayerSkinPart::new);
this.eyebrows = this.load(var2, "Eyebrows.json", PlayerSkinPart::new);
this.ears = this.load(var2, "Ears.json", PlayerSkinPart::new);
this.mouths = this.load(var2, "Mouths.json", PlayerSkinPart::new);
this.facialHair = this.load(var2, "FacialHair.json", PlayerSkinPart::new);
this.pants = this.load(var2, "Pants.json", PlayerSkinPart::new);
this.overpants = this.load(var2, "Overpants.json", PlayerSkinPart::new);
this.undertops = this.load(var2, "Undertops.json", PlayerSkinPart::new);
this.overtops = this.load(var2, "Overtops.json", PlayerSkinPart::new);
this.haircuts = this.load(var2, "Haircuts.json", PlayerSkinPart::new);
this.shoes = this.load(var2, "Shoes.json", PlayerSkinPart::new);
this.headAccessory = this.load(var2, "HeadAccessory.json", PlayerSkinPart::new);
this.faceAccessory = this.load(var2, "FaceAccessory.json", PlayerSkinPart::new);
this.earAccessory = this.load(var2, "EarAccessory.json", PlayerSkinPart::new);
this.gloves = this.load(var2, "Gloves.json", PlayerSkinPart::new);
this.capes = this.load(var2, "Capes.json", PlayerSkinPart::new);
this.skinFeatures = this.load(var2, "SkinFeatures.json", PlayerSkinPart::new);
}
@Nonnull
class="kw">private <T> Map<String, T> load(@Nonnull Path var1, @Nonnull String var2, @Nonnull Function<BsonDocument, T> var3) {
Map var4 = new Object2ObjectOpenHashMap();
Path var5 = var1.resolve("Cosmetics").resolve("CharacterCreator").resolve(var2);
try {
for (BsonValue var8 : BsonArray.parse(Files.readString(var5))) {
BsonDocument var9 = var8.asDocument();
var4.put(var9.getString("Id").getValue(), var3.apply(var9));
}
} catch (IOException var10) {
var10.printStackTrace();
}
class="kw">return Collections.unmodifiableMap(var4);
}
@Nonnull
class="kw">public Map<String, Emote> getEmotes() {
class="kw">return this.emotes;
}
@Nonnull
class="kw">public Map<String, Emote> getEmotesInGame() {
class="kw">return this.emotesInGame;
}
@Nonnull
class="kw">public Map<String, PlayerSkinTintColor> getEyeColors() {
class="kw">return this.eyeColors;
}
@Nonnull
class="kw">public Map<String, PlayerSkinGradientSet> getGradientSets() {
class="kw">return this.gradientSets;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getBodyCharacteristics() {
class="kw">return this.bodyCharacteristics;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getUnderwear() {
class="kw">return this.underwear;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getEyebrows() {
class="kw">return this.eyebrows;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getEars() {
class="kw">return this.ears;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getEyes() {
class="kw">return this.eyes;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getFaces() {
class="kw">return this.faces;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getMouths() {
class="kw">return this.mouths;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getFacialHairs() {
class="kw">return this.facialHair;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getPants() {
class="kw">return this.pants;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getOverpants() {
class="kw">return this.overpants;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getUndertops() {
class="kw">return this.undertops;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getOvertops() {
class="kw">return this.overtops;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getHaircuts() {
class="kw">return this.haircuts;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getShoes() {
class="kw">return this.shoes;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getHeadAccessories() {
class="kw">return this.headAccessory;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getFaceAccessories() {
class="kw">return this.faceAccessory;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getEarAccessories() {
class="kw">return this.earAccessory;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getGloves() {
class="kw">return this.gloves;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getSkinFeatures() {
class="kw">return this.skinFeatures;
}
@Nonnull
class="kw">public Map<String, PlayerSkinPart> getCapes() {
class="kw">return this.capes;
}
class="kw">public Map<String, ?> getByType(@Nonnull CosmeticType var1) {
class="kw">return class="kw">switch (var1) {
case EMOTES -> this.getEmotes();
case EMOTES_INGAME -> this.getEmotesInGame();
case SKIN_TONES -> this.getGradientSets().get("Skin").getGradients();
case EYE_COLORS -> this.getEyeColors();
case GRADIENT_SETS -> this.getGradientSets();
case BODY_CHARACTERISTICS -> this.getBodyCharacteristics();
case UNDERWEAR -> this.getUnderwear();
case EYEBROWS -> this.getEyebrows();
case EARS -> this.getEars();
case EYES -> this.getEyes();
case FACE -> this.getFaces();
case MOUTHS -> this.getMouths();
case FACIAL_HAIR -> this.getFacialHairs();
case PANTS -> this.getPants();
case OVERPANTS -> this.getOverpants();
case UNDERTOPS -> this.getUndertops();
case OVERTOPS -> this.getOvertops();
case HAIRCUTS -> this.getHaircuts();
case SHOES -> this.getShoes();
case HEAD_ACCESSORY -> this.getHeadAccessories();
case FACE_ACCESSORY -> this.getFaceAccessories();
case EAR_ACCESSORY -> this.getEarAccessories();
case GLOVES -> this.getGloves();
case CAPES -> this.getCapes();
case SKIN_FEATURES -> this.getSkinFeatures();
};
}
}