fix datapack generation on 1.21.11

This commit is contained in:
Julian Krings
2026-01-29 16:40:33 +01:00
parent 4e86d7d634
commit c31158578f
2 changed files with 7 additions and 5 deletions
@@ -4,6 +4,7 @@ import com.volmit.iris.core.nms.INMS;
import com.volmit.iris.core.nms.datapack.v1192.DataFixerV1192; import com.volmit.iris.core.nms.datapack.v1192.DataFixerV1192;
import com.volmit.iris.core.nms.datapack.v1206.DataFixerV1206; import com.volmit.iris.core.nms.datapack.v1206.DataFixerV1206;
import com.volmit.iris.core.nms.datapack.v1213.DataFixerV1213; import com.volmit.iris.core.nms.datapack.v1213.DataFixerV1213;
import com.volmit.iris.core.nms.datapack.v1217.DataFixerV1217;
import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KMap;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
@@ -17,7 +18,7 @@ public enum DataVersion {
V1_19_2("1.19.2", 10, DataFixerV1192::new), V1_19_2("1.19.2", 10, DataFixerV1192::new),
V1_20_5("1.20.6", 41, DataFixerV1206::new), V1_20_5("1.20.6", 41, DataFixerV1206::new),
V1_21_3("1.21.3", 57, DataFixerV1213::new), V1_21_3("1.21.3", 57, DataFixerV1213::new),
V1_21_11("1.21.11", 75, DataFixerV1213::new); V1_21_11("1.21.11", 75, DataFixerV1217::new);
private static final KMap<DataVersion, IDataFixer> cache = new KMap<>(); private static final KMap<DataVersion, IDataFixer> cache = new KMap<>();
@Getter(AccessLevel.NONE) @Getter(AccessLevel.NONE)
private final Supplier<IDataFixer> constructor; private final Supplier<IDataFixer> constructor;
@@ -100,6 +100,7 @@ public class DataFixerV1217 extends DataFixerV1213 {
.put(particle.getJSONObject("options") .put(particle.getJSONObject("options")
.put("probability", particle.get("probability")))); .put("probability", particle.get("probability"))));
} }
json.put("attributes", attributes);
return json; return json;
} }
@@ -154,10 +155,10 @@ public class DataFixerV1217 extends DataFixerV1213 {
private void merge(JSONObject base, JSONObject override) { private void merge(JSONObject base, JSONObject override) {
for (String key : override.keySet()) { for (String key : override.keySet()) {
switch (base.get(key)) { switch (base.opt(key)) {
case null -> base.put(key, override.get(key)); case null -> base.put(key, override.opt(key));
case JSONObject base1 when override.get(key) instanceof JSONObject override1 -> merge(base1, override1); case JSONObject base1 when override.opt(key) instanceof JSONObject override1 -> merge(base1, override1);
case JSONArray base1 when override.get(key) instanceof JSONArray override1 -> { case JSONArray base1 when override.opt(key) instanceof JSONArray override1 -> {
for (Object o : override1) { for (Object o : override1) {
base1.put(o); base1.put(o);
} }