From 2204ef238936804592d69868dd513595ee373a38 Mon Sep 17 00:00:00 2001 From: Raycoms Date: Thu, 19 Dec 2024 22:12:31 +0100 Subject: [PATCH 1/4] fix christmas! --- .../client/render/modeltype/CitizenModel.java | 7 ++++ .../core/client/render/CitizenArmorLayer.java | 37 +++++++++++++------ .../core/entity/citizen/EntityCitizen.java | 13 ------- 3 files changed, 33 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java b/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java index 95f61bd2f55..28f1f20ade0 100755 --- a/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java +++ b/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java @@ -9,8 +9,11 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.Pose; +import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; +import static com.minecolonies.core.client.render.CitizenArmorLayer.christmasStack; + /** * Citizen model. */ @@ -89,6 +92,10 @@ public boolean displayHat(final AbstractEntityCitizen citizen) { return false; } + if (christmasStack != ItemStack.EMPTY && christmasStack != null) + { + return false; + } return citizen.getCitizenDataView() == null || (citizen.getCitizenDataView().getInventory().getArmorInSlot(EquipmentSlot.HEAD).isEmpty() && citizen.getCitizenDataView().getCustomTextureUUID() == null); } } diff --git a/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java b/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java index 821ab946225..9ef7df258c2 100644 --- a/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java +++ b/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java @@ -2,8 +2,9 @@ import com.minecolonies.api.colony.ICitizenDataView; import com.minecolonies.api.entity.citizen.AbstractEntityCitizen; +import com.minecolonies.api.items.ModItems; +import com.minecolonies.core.MineColonies; import com.mojang.authlib.GameProfile; -import com.mojang.authlib.minecraft.MinecraftProfileTexture; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; @@ -20,35 +21,30 @@ import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.DefaultPlayerSkin; import net.minecraft.client.resources.model.ModelManager; -import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtUtils; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.WalkAnimationState; import net.minecraft.world.item.*; import net.minecraft.world.item.armortrim.ArmorTrim; -import net.minecraft.world.level.block.AbstractSkullBlock; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SkullBlock; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import org.jetbrains.annotations.NotNull; +import java.time.Clock; +import java.time.LocalDate; +import java.time.Month; import java.util.HashMap; import java.util.Map; import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; @OnlyIn(Dist.CLIENT) public class CitizenArmorLayer, A extends HumanoidModel> extends HumanoidArmorLayer { private final Map skullModels; private final Map gameProfileMap = new HashMap<>(); + public static ItemStack christmasStack = null; public CitizenArmorLayer(RenderLayerParent parentLayer, A innerModel, A outerModel, ModelManager modelManager, final EntityModelSet modelSet) { @@ -133,7 +129,26 @@ private void renderArmorPiece(PoseStack poseStack, MultiBufferSource bufferSourc ItemStack itemstack = citizenDataView.getInventory().getArmorInSlot(equipmentSlot); if (itemstack.isEmpty()) { - itemstack = citizen.getItemBySlot(equipmentSlot); + if (christmasStack == null) + { + if (MineColonies.getConfig().getServer().holidayFeatures.get() && LocalDate.now(Clock.systemDefaultZone()).getMonth() == Month.DECEMBER) + { + christmasStack = new ItemStack(ModItems.santaHat); + } + else + { + christmasStack = ItemStack.EMPTY; + } + } + + if (christmasStack != ItemStack.EMPTY && equipmentSlot == EquipmentSlot.HEAD) + { + itemstack = christmasStack; + } + else + { + itemstack = citizen.getItemBySlot(equipmentSlot); + } } Item armorItem = itemstack.getItem(); diff --git a/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java b/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java index be1a8ff21d5..c1897d4e546 100755 --- a/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java +++ b/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java @@ -783,19 +783,6 @@ public int getMaxAirSupply() */ private boolean updateVisualData() { - final ItemStack hat = getItemBySlot(EquipmentSlot.HEAD); - if (LocalDate.now(Clock.systemDefaultZone()).getMonth() == Month.DECEMBER - && MineColonies.getConfig().getServer().holidayFeatures.get()) - { - if (hat.isEmpty()) - { - this.setItemSlot(EquipmentSlot.HEAD, new ItemStack(ModItems.santaHat)); - } - } - else if (!hat.isEmpty() && hat.getItem() == ModItems.santaHat) - { - this.setItemSlot(EquipmentSlot.HEAD, ItemStackUtils.EMPTY); - } this.setCustomNameVisible(MineColonies.getConfig().getServer().alwaysRenderNameTag.get()); if (!citizenColonyHandler.getColonyOrRegister().getTextureStyleId().equals(getEntityData().get(DATA_STYLE))) From 0a4cf2ba253b5060206848db442bfd672c55b4ff Mon Sep 17 00:00:00 2001 From: Raycoms Date: Thu, 19 Dec 2024 22:20:54 +0100 Subject: [PATCH 2/4] better code --- .../client/render/modeltype/CitizenModel.java | 9 +---- .../api/colony/ICitizenDataView.java | 9 +++++ .../core/client/render/CitizenArmorLayer.java | 29 +------------- .../core/colony/CitizenDataView.java | 39 +++++++++++++++++++ 4 files changed, 52 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java b/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java index 28f1f20ade0..8c7b6102bcb 100755 --- a/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java +++ b/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java @@ -12,8 +12,6 @@ import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; -import static com.minecolonies.core.client.render.CitizenArmorLayer.christmasStack; - /** * Citizen model. */ @@ -92,10 +90,7 @@ public boolean displayHat(final AbstractEntityCitizen citizen) { return false; } - if (christmasStack != ItemStack.EMPTY && christmasStack != null) - { - return false; - } - return citizen.getCitizenDataView() == null || (citizen.getCitizenDataView().getInventory().getArmorInSlot(EquipmentSlot.HEAD).isEmpty() && citizen.getCitizenDataView().getCustomTextureUUID() == null); + + return citizen.getCitizenDataView() == null || (citizen.getCitizenDataView().getDisplayArmor(EquipmentSlot.HEAD).isEmpty() && citizen.getCitizenDataView().getCustomTextureUUID() == null); } } diff --git a/src/main/java/com/minecolonies/api/colony/ICitizenDataView.java b/src/main/java/com/minecolonies/api/colony/ICitizenDataView.java index 269d80c9734..20b6e40f3b1 100755 --- a/src/main/java/com/minecolonies/api/colony/ICitizenDataView.java +++ b/src/main/java/com/minecolonies/api/colony/ICitizenDataView.java @@ -11,6 +11,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -227,4 +229,11 @@ public interface ICitizenDataView extends ICitizen * @return the uuid. */ UUID getCustomTextureUUID(); + + /** + * Get Armor in slot of citizen data view. + * @param equipmentSlot the equipment slot to get it from. + * @return the armor in the slot. + */ + ItemStack getDisplayArmor(EquipmentSlot equipmentSlot); } diff --git a/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java b/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java index 9ef7df258c2..8a70c23b12f 100644 --- a/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java +++ b/src/main/java/com/minecolonies/core/client/render/CitizenArmorLayer.java @@ -2,8 +2,6 @@ import com.minecolonies.api.colony.ICitizenDataView; import com.minecolonies.api.entity.citizen.AbstractEntityCitizen; -import com.minecolonies.api.items.ModItems; -import com.minecolonies.core.MineColonies; import com.mojang.authlib.GameProfile; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; @@ -32,9 +30,6 @@ import net.minecraftforge.api.distmarker.OnlyIn; import org.jetbrains.annotations.NotNull; -import java.time.Clock; -import java.time.LocalDate; -import java.time.Month; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -44,7 +39,6 @@ public class CitizenArmorLayer skullModels; private final Map gameProfileMap = new HashMap<>(); - public static ItemStack christmasStack = null; public CitizenArmorLayer(RenderLayerParent parentLayer, A innerModel, A outerModel, ModelManager modelManager, final EntityModelSet modelSet) { @@ -126,29 +120,10 @@ public void render( private void renderArmorPiece(PoseStack poseStack, MultiBufferSource bufferSource, T citizen, EquipmentSlot equipmentSlot, int light, A armor, final ICitizenDataView citizenDataView) { - ItemStack itemstack = citizenDataView.getInventory().getArmorInSlot(equipmentSlot); + ItemStack itemstack = citizenDataView.getDisplayArmor(equipmentSlot); if (itemstack.isEmpty()) { - if (christmasStack == null) - { - if (MineColonies.getConfig().getServer().holidayFeatures.get() && LocalDate.now(Clock.systemDefaultZone()).getMonth() == Month.DECEMBER) - { - christmasStack = new ItemStack(ModItems.santaHat); - } - else - { - christmasStack = ItemStack.EMPTY; - } - } - - if (christmasStack != ItemStack.EMPTY && equipmentSlot == EquipmentSlot.HEAD) - { - itemstack = christmasStack; - } - else - { - itemstack = citizen.getItemBySlot(equipmentSlot); - } + itemstack = citizen.getItemBySlot(equipmentSlot); } Item armorItem = itemstack.getItem(); diff --git a/src/main/java/com/minecolonies/core/colony/CitizenDataView.java b/src/main/java/com/minecolonies/core/colony/CitizenDataView.java index c064ac18d32..61133b77e09 100644 --- a/src/main/java/com/minecolonies/core/colony/CitizenDataView.java +++ b/src/main/java/com/minecolonies/core/colony/CitizenDataView.java @@ -13,9 +13,11 @@ import com.minecolonies.api.entity.citizen.citizenhandlers.ICitizenHappinessHandler; import com.minecolonies.api.entity.citizen.citizenhandlers.ICitizenSkillHandler; import com.minecolonies.api.inventory.InventoryCitizen; +import com.minecolonies.api.items.ModItems; import com.minecolonies.api.util.Tuple; import com.minecolonies.api.util.constant.Constants; import com.minecolonies.api.util.constant.Suppression; +import com.minecolonies.core.MineColonies; import com.minecolonies.core.colony.interactionhandling.ServerCitizenInteraction; import com.minecolonies.core.entity.citizen.citizenhandlers.CitizenHappinessHandler; import com.minecolonies.core.entity.citizen.citizenhandlers.CitizenSkillHandler; @@ -28,10 +30,15 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.time.Clock; +import java.time.LocalDate; +import java.time.Month; import java.util.*; import static com.minecolonies.api.util.constant.NbtTagConstants.TAG_OFFHAND_HELD_ITEM_SLOT; @@ -43,6 +50,11 @@ */ public class CitizenDataView implements ICitizenDataView { + /** + * Santa Hat. + */ + private static ItemStack displaySantaHat = null; + private static final String TAG_HELD_ITEM_SLOT = "HeldItemSlot"; /** @@ -614,4 +626,31 @@ public boolean equals(final Object o) return id == data.getId(); } + + @Override + public ItemStack getDisplayArmor(final EquipmentSlot equipmentSlot) + { + if (displaySantaHat == null) + { + if (MineColonies.getConfig().getServer().holidayFeatures.get() && LocalDate.now(Clock.systemDefaultZone()).getMonth() == Month.DECEMBER) + { + displaySantaHat = new ItemStack(ModItems.santaHat); + } + else + { + displaySantaHat = ItemStack.EMPTY; + } + } + + final ItemStack currentHat = getInventory().getArmorInSlot(equipmentSlot); + if (!currentHat.isEmpty()) + { + return currentHat; + } + if (displaySantaHat != ItemStack.EMPTY && equipmentSlot == EquipmentSlot.HEAD) + { + return displaySantaHat; + } + return getInventory().getArmorInSlot(equipmentSlot); + } } From 34f683ca20cf7c185eefece68d7d35eb999e0ac2 Mon Sep 17 00:00:00 2001 From: Raycoms Date: Thu, 19 Dec 2024 22:25:26 +0100 Subject: [PATCH 3/4] cleaner --- .../client/render/modeltype/CitizenModel.java | 2 -- .../core/colony/CitizenDataView.java | 19 ++++++++----------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java b/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java index 8c7b6102bcb..676c1fa98d9 100755 --- a/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java +++ b/src/main/java/com/minecolonies/api/client/render/modeltype/CitizenModel.java @@ -9,7 +9,6 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.Pose; -import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; /** @@ -90,7 +89,6 @@ public boolean displayHat(final AbstractEntityCitizen citizen) { return false; } - return citizen.getCitizenDataView() == null || (citizen.getCitizenDataView().getDisplayArmor(EquipmentSlot.HEAD).isEmpty() && citizen.getCitizenDataView().getCustomTextureUUID() == null); } } diff --git a/src/main/java/com/minecolonies/core/colony/CitizenDataView.java b/src/main/java/com/minecolonies/core/colony/CitizenDataView.java index 61133b77e09..d79e3efd36f 100644 --- a/src/main/java/com/minecolonies/core/colony/CitizenDataView.java +++ b/src/main/java/com/minecolonies/core/colony/CitizenDataView.java @@ -53,7 +53,7 @@ public class CitizenDataView implements ICitizenDataView /** * Santa Hat. */ - private static ItemStack displaySantaHat = null; + private static ItemStack cachedDisplaySantaHat = null; private static final String TAG_HELD_ITEM_SLOT = "HeldItemSlot"; @@ -630,27 +630,24 @@ public boolean equals(final Object o) @Override public ItemStack getDisplayArmor(final EquipmentSlot equipmentSlot) { - if (displaySantaHat == null) + if (cachedDisplaySantaHat == null) { if (MineColonies.getConfig().getServer().holidayFeatures.get() && LocalDate.now(Clock.systemDefaultZone()).getMonth() == Month.DECEMBER) { - displaySantaHat = new ItemStack(ModItems.santaHat); + cachedDisplaySantaHat = new ItemStack(ModItems.santaHat); } else { - displaySantaHat = ItemStack.EMPTY; + cachedDisplaySantaHat = ItemStack.EMPTY; } } final ItemStack currentHat = getInventory().getArmorInSlot(equipmentSlot); - if (!currentHat.isEmpty()) + if (currentHat.isEmpty() && cachedDisplaySantaHat != null && cachedDisplaySantaHat != ItemStack.EMPTY && equipmentSlot == EquipmentSlot.HEAD) { - return currentHat; + return cachedDisplaySantaHat; } - if (displaySantaHat != ItemStack.EMPTY && equipmentSlot == EquipmentSlot.HEAD) - { - return displaySantaHat; - } - return getInventory().getArmorInSlot(equipmentSlot); + + return currentHat; } } From 1f1f611dcff52a00a808c5d3f131073e50110818 Mon Sep 17 00:00:00 2001 From: Raycoms Date: Thu, 19 Dec 2024 22:39:54 +0100 Subject: [PATCH 4/4] also fix halloween --- .../render/modeltype/ISimpleModelType.java | 35 +++++++++++++++++-- .../render/modeltype/SimpleModelType.java | 5 +++ .../com/minecolonies/core/colony/Colony.java | 10 ------ 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/minecolonies/api/client/render/modeltype/ISimpleModelType.java b/src/main/java/com/minecolonies/api/client/render/modeltype/ISimpleModelType.java index e5db1fc4846..d0173c4af37 100755 --- a/src/main/java/com/minecolonies/api/client/render/modeltype/ISimpleModelType.java +++ b/src/main/java/com/minecolonies/api/client/render/modeltype/ISimpleModelType.java @@ -2,10 +2,15 @@ import com.minecolonies.api.entity.citizen.AbstractEntityCitizen; import com.minecolonies.api.util.constant.Constants; +import com.minecolonies.core.MineColonies; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; +import java.time.LocalDateTime; +import java.time.Month; + +import static com.minecolonies.api.client.render.modeltype.SimpleModelType.cachedHalloweenStyle; import static com.minecolonies.api.entity.citizen.AbstractEntityCitizen.DATA_STYLE; import static com.minecolonies.api.entity.citizen.AbstractEntityCitizen.DATA_TEXTURE_SUFFIX; @@ -44,10 +49,30 @@ public interface ISimpleModelType extends IModelType */ default ResourceLocation getTexture(@NotNull final AbstractEntityCitizen entityCitizen) { + if (cachedHalloweenStyle == null) + { + if (MineColonies.getConfig().getServer().holidayFeatures.get() && + ((LocalDateTime.now().getDayOfMonth() >= 29 && LocalDateTime.now().getMonth() == Month.OCTOBER) + || (LocalDateTime.now().getDayOfMonth() <= 2 && LocalDateTime.now().getMonth() == Month.NOVEMBER))) + { + cachedHalloweenStyle = "nether"; + } + else + { + cachedHalloweenStyle = ""; + } + } + + String style = entityCitizen.getEntityData().get(DATA_STYLE); + if (!cachedHalloweenStyle.isEmpty()) + { + style = cachedHalloweenStyle; + } + final int moddedTextureId = (entityCitizen.getTextureId() % getNumTextures()) + 1; final String textureIdentifier = getName().getPath() + (entityCitizen.isFemale() ? "female" : "male") + moddedTextureId + entityCitizen.getEntityData().get(DATA_TEXTURE_SUFFIX); - final ResourceLocation modified = new ResourceLocation(Constants.MOD_ID, BASE_FOLDER + entityCitizen.getEntityData().get(DATA_STYLE) + "/" + textureIdentifier + ".png"); + final ResourceLocation modified = new ResourceLocation(Constants.MOD_ID, BASE_FOLDER + style + "/" + textureIdentifier + ".png"); if (Minecraft.getInstance().getResourceManager().getResource(modified).isPresent()) { return modified; @@ -58,10 +83,16 @@ default ResourceLocation getTexture(@NotNull final AbstractEntityCitizen entityC default ResourceLocation getTextureIcon(@NotNull final AbstractEntityCitizen entityCitizen) { + String style = entityCitizen.getEntityData().get(DATA_STYLE); + if (cachedHalloweenStyle != null && !cachedHalloweenStyle.isEmpty()) + { + style = cachedHalloweenStyle; + } + final int moddedTextureId = (entityCitizen.getTextureId() % getNumTextures()) + 1; final String textureIdentifier = getTextureBase() + (entityCitizen.isFemale() ? "female" : "male") + moddedTextureId + entityCitizen.getEntityData() .get(DATA_TEXTURE_SUFFIX); - return new ResourceLocation(Constants.MOD_ID, "textures/entity_icon/citizen/" + entityCitizen.getEntityData().get(DATA_STYLE) + "/" + textureIdentifier + ".png"); + return new ResourceLocation(Constants.MOD_ID, "textures/entity_icon/citizen/" + style + "/" + textureIdentifier + ".png"); } } diff --git a/src/main/java/com/minecolonies/api/client/render/modeltype/SimpleModelType.java b/src/main/java/com/minecolonies/api/client/render/modeltype/SimpleModelType.java index 2681a37d6c5..63168bfbdf8 100644 --- a/src/main/java/com/minecolonies/api/client/render/modeltype/SimpleModelType.java +++ b/src/main/java/com/minecolonies/api/client/render/modeltype/SimpleModelType.java @@ -8,6 +8,11 @@ */ public class SimpleModelType implements ISimpleModelType { + /** + * Halloween style string. Null = uninitialized. + */ + static String cachedHalloweenStyle = null; + /** * String describing the citizen. Used by the renderer. Starts with a capital, and does not contain spaces or other special characters. */ diff --git a/src/main/java/com/minecolonies/core/colony/Colony.java b/src/main/java/com/minecolonies/core/colony/Colony.java index 1400e409339..646e7dae166 100644 --- a/src/main/java/com/minecolonies/core/colony/Colony.java +++ b/src/main/java/com/minecolonies/core/colony/Colony.java @@ -25,7 +25,6 @@ import com.minecolonies.api.util.constant.Constants; import com.minecolonies.api.util.constant.NbtTagConstants; import com.minecolonies.api.util.constant.Suppression; -import com.minecolonies.core.MineColonies; import com.minecolonies.core.Network; import com.minecolonies.core.colony.buildings.modules.BuildingModules; import com.minecolonies.core.colony.buildings.modules.SettingsModule; @@ -65,8 +64,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.time.LocalDateTime; -import java.time.Month; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -1867,13 +1864,6 @@ public void setTextureStyle(final String style) @Override public String getTextureStyleId() { - if (MineColonies.getConfig().getServer().holidayFeatures.get() && - ((LocalDateTime.now().getDayOfMonth() >= 29 && LocalDateTime.now().getMonth() == Month.OCTOBER) - || (LocalDateTime.now().getDayOfMonth() <= 2 && LocalDateTime.now().getMonth() == Month.NOVEMBER))) - { - return "nether"; - } - return this.textureStyle; }