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

View File

@@ -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.v1206.DataFixerV1206;
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 lombok.AccessLevel;
import lombok.Getter;
@@ -17,7 +18,7 @@ public enum DataVersion {
V1_19_2("1.19.2", 10, DataFixerV1192::new),
V1_20_5("1.20.6", 41, DataFixerV1206::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<>();
@Getter(AccessLevel.NONE)
private final Supplier<IDataFixer> constructor;

View File

@@ -100,6 +100,7 @@ public class DataFixerV1217 extends DataFixerV1213 {
.put(particle.getJSONObject("options")
.put("probability", particle.get("probability"))));
}
json.put("attributes", attributes);
return json;
}
@@ -154,10 +155,10 @@ public class DataFixerV1217 extends DataFixerV1213 {
private void merge(JSONObject base, JSONObject override) {
for (String key : override.keySet()) {
switch (base.get(key)) {
case null -> base.put(key, override.get(key));
case JSONObject base1 when override.get(key) instanceof JSONObject override1 -> merge(base1, override1);
case JSONArray base1 when override.get(key) instanceof JSONArray override1 -> {
switch (base.opt(key)) {
case null -> base.put(key, override.opt(key));
case JSONObject base1 when override.opt(key) instanceof JSONObject override1 -> merge(base1, override1);
case JSONArray base1 when override.opt(key) instanceof JSONArray override1 -> {
for (Object o : override1) {
base1.put(o);
}