Closes #8520
This commit is contained in:
@@ -1,9 +1,6 @@
|
|||||||
package mindustry.mod;
|
package mindustry.mod;
|
||||||
|
|
||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.assets.*;
|
|
||||||
import arc.assets.loaders.MusicLoader.*;
|
|
||||||
import arc.assets.loaders.SoundLoader.*;
|
|
||||||
import arc.audio.*;
|
import arc.audio.*;
|
||||||
import arc.files.*;
|
import arc.files.*;
|
||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
@@ -642,6 +639,19 @@ public class ContentParser{
|
|||||||
value.remove("sector");
|
value.remove("sector");
|
||||||
value.remove("planet");
|
value.remove("planet");
|
||||||
|
|
||||||
|
if(value.has("rules")){
|
||||||
|
JsonValue r = value.remove("rules");
|
||||||
|
if(!r.isObject()) throw new RuntimeException("Rules must be an object!");
|
||||||
|
out.rules = rules -> {
|
||||||
|
try{
|
||||||
|
//Use standard JSON, this is not content-parser relevant
|
||||||
|
JsonIO.json.readFields(rules, r);
|
||||||
|
}catch(Throwable e){ //Try not to crash here, as that would be catastrophic and confusing
|
||||||
|
Log.err(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
readFields(out, value);
|
readFields(out, value);
|
||||||
});
|
});
|
||||||
return out;
|
return out;
|
||||||
@@ -698,7 +708,7 @@ public class ContentParser{
|
|||||||
throw new RuntimeException("Team field missing.");
|
throw new RuntimeException("Team field missing.");
|
||||||
}
|
}
|
||||||
value.remove("team");
|
value.remove("team");
|
||||||
|
|
||||||
if(locate(ContentType.team, name) != null){
|
if(locate(ContentType.team, name) != null){
|
||||||
entry = locate(ContentType.team, name);
|
entry = locate(ContentType.team, name);
|
||||||
readBundle(ContentType.team, name, value);
|
readBundle(ContentType.team, name, value);
|
||||||
|
|||||||
Reference in New Issue
Block a user