Mirror von
https://github.com/Moulberry/AxiomPaperPlugin.git
synchronisiert 2024-11-13 19:50:09 +01:00
Implement axiom:modify logic for tag merging
Dieser Commit ist enthalten in:
Ursprung
d2de5a8ca0
Commit
ceefcf1bce
@ -176,6 +176,11 @@ public class ManipulateEntityPacketListener implements PluginMessageListener {
|
||||
}
|
||||
|
||||
private static CompoundTag merge(CompoundTag left, CompoundTag right) {
|
||||
if (right.contains("axiom:modify")) {
|
||||
right.remove("axiom:modify");
|
||||
return right;
|
||||
}
|
||||
|
||||
for (String key : right.getAllKeys()) {
|
||||
Tag tag = right.get(key);
|
||||
if (tag instanceof CompoundTag compound) {
|
||||
@ -183,9 +188,14 @@ public class ManipulateEntityPacketListener implements PluginMessageListener {
|
||||
left.remove(key);
|
||||
} else if (left.contains(key, Tag.TAG_COMPOUND)) {
|
||||
CompoundTag child = left.getCompound(key);
|
||||
merge(child, compound);
|
||||
child = merge(child, compound);
|
||||
left.put(key, child);
|
||||
} else {
|
||||
left.put(key, tag.copy());
|
||||
CompoundTag copied = compound.copy();
|
||||
if (copied.contains("axiom:modify")) {
|
||||
copied.remove("axiom:modify");
|
||||
}
|
||||
left.put(key, copied);
|
||||
}
|
||||
} else {
|
||||
left.put(key, tag.copy());
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren