Less hacky support for atrocious json
This commit is contained in:
@@ -1084,7 +1084,7 @@ mech.alpha-mech.description = The standard control mech. Based on a Dagger unit,
|
|||||||
mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons.
|
mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons.
|
||||||
mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability.
|
mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability.
|
||||||
mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor can block up to 90% of incoming damage.
|
mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor can block up to 90% of incoming damage.
|
||||||
mech.dart-ship.description = The standard control ship. Reasonably fast and light, but has little offensive capability and low mining speed.
|
mech.dart-ship.description = The standard control ship. Fast mining speed. Reasonably fast and light, but has little offensive capability.
|
||||||
mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning and missiles.
|
mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning and missiles.
|
||||||
mech.trident-ship.description = A heavy bomber, built for construction and destroying enemy fortifications. Reasonably well armored.
|
mech.trident-ship.description = A heavy bomber, built for construction and destroying enemy fortifications. Reasonably well armored.
|
||||||
mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Highly maneuverable.
|
mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Highly maneuverable.
|
||||||
|
|||||||
@@ -365,22 +365,13 @@ public class ContentParser{
|
|||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonValue value;
|
//remove extra # characters to make it valid json... apparently some people have *unquoted* # characters in their json
|
||||||
try{
|
if(file.extension().equals("json")){
|
||||||
//try to read hjson, bail out if it doesn't work
|
json = json.replace("#", "\\#");
|
||||||
value = parser.fromJson(null, Jval.read(json).toString(Jformat.plain));
|
|
||||||
}catch(Throwable t){
|
|
||||||
try{
|
|
||||||
value = parser.fromJson(null, json);
|
|
||||||
}catch(Throwable extra){
|
|
||||||
if(t instanceof RuntimeException){
|
|
||||||
throw t;
|
|
||||||
}else{
|
|
||||||
throw new RuntimeException(t);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JsonValue value = parser.fromJson(null, Jval.read(json).toString(Jformat.plain));
|
||||||
|
|
||||||
if(!parsers.containsKey(type)){
|
if(!parsers.containsKey(type)){
|
||||||
throw new SerializationException("No parsers for content type '" + type + "'");
|
throw new SerializationException("No parsers for content type '" + type + "'");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -493,16 +493,7 @@ public class Mods implements Loadable{
|
|||||||
throw new IllegalArgumentException("No mod.json found.");
|
throw new IllegalArgumentException("No mod.json found.");
|
||||||
}
|
}
|
||||||
|
|
||||||
//try to read as hjson if possible
|
ModMeta meta = json.fromJson(ModMeta.class, Jval.read(metaf.readString()).toString(Jformat.plain));
|
||||||
String readString = metaf.readString();
|
|
||||||
try{
|
|
||||||
readString = Jval.read(readString).toString(Jformat.plain);
|
|
||||||
}catch(Throwable e){
|
|
||||||
e.printStackTrace();
|
|
||||||
readString = metaf.readString();
|
|
||||||
}
|
|
||||||
|
|
||||||
ModMeta meta = json.fromJson(ModMeta.class, readString);
|
|
||||||
String camelized = meta.name.replace(" ", "");
|
String camelized = meta.name.replace(" ", "");
|
||||||
String mainClass = meta.main == null ? camelized.toLowerCase() + "." + camelized + "Mod" : meta.main;
|
String mainClass = meta.main == null ? camelized.toLowerCase() + "." + camelized + "Mod" : meta.main;
|
||||||
String baseName = meta.name.toLowerCase().replace(" ", "-");
|
String baseName = meta.name.toLowerCase().replace(" ", "-");
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ public class HudFragment extends Fragment{
|
|||||||
|
|
||||||
@Remote(targets = Loc.both, forward = true, called = Loc.both)
|
@Remote(targets = Loc.both, forward = true, called = Loc.both)
|
||||||
public static void setPlayerTeamEditor(Player player, Team team){
|
public static void setPlayerTeamEditor(Player player, Team team){
|
||||||
if(state.isEditor()){
|
if(state.isEditor() && player != null){
|
||||||
player.setTeam(team);
|
player.setTeam(team);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
5
fastlane/metadata/android/en-US/changelogs/100.1.txt
Normal file
5
fastlane/metadata/android/en-US/changelogs/100.1.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- Added fallback mod loading for poorly formatted old mods
|
||||||
|
- Fixed infinite building range
|
||||||
|
- Fixed impact reactors being able to blow up core on servers
|
||||||
|
- Fixed liquid bridges passing backwards
|
||||||
|
- Updated various translations
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=92f150377ea71e7d132f88fc6e331dc49b21d5c5
|
archash=e678c42cdc539e794ad0a0079a45970181aa2fe3
|
||||||
|
|||||||
Reference in New Issue
Block a user