From 45db096f0f1a92118352eeacd4ace4fa45c2ff84 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 22 Oct 2025 07:01:26 -0400 Subject: [PATCH] Patcher fixes --- core/src/mindustry/mod/ContentParser.java | 1 + core/src/mindustry/mod/ContentPatcher.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index dbdb8da275..9379e4b9eb 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -97,6 +97,7 @@ public class ContentParser{ } } }); + put(TextureRegion.class, (type, data) -> Core.atlas.find(data.asString())); put(Color.class, (type, data) -> Color.valueOf(data.asString())); put(StatusEffect.class, (type, data) -> { if(data.isString()){ diff --git a/core/src/mindustry/mod/ContentPatcher.java b/core/src/mindustry/mod/ContentPatcher.java index d1fdd6aac6..7f69ac5c2b 100644 --- a/core/src/mindustry/mod/ContentPatcher.java +++ b/core/src/mindustry/mod/ContentPatcher.java @@ -242,6 +242,11 @@ public class ContentPatcher{ if(value instanceof JsonValue jsv){ //setting values from object if(prevValue == null || !jsv.isObject() || jsv.has("type")){ + if(UnlockableContent.class.isAssignableFrom(metadata.type) && (jsv.isObject())){ + warn("New content must not be instantiated: @", jsv); + return; + } + if(modify) modifiedField(object, field, getter.get()); try{ setter.get(json.readValue(metadata.type, metadata.elementType, jsv));