Skip to content

Commit

Permalink
also fix halloween
Browse files Browse the repository at this point in the history
  • Loading branch information
Raycoms committed Dec 19, 2024
1 parent 34f683c commit 1f1f611
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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;
Expand All @@ -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");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand Down
10 changes: 0 additions & 10 deletions src/main/java/com/minecolonies/core/colony/Colony.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;

Expand Down Expand Up @@ -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;
}

Expand Down

0 comments on commit 1f1f611

Please sign in to comment.