diff --git a/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java b/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java index 2a7f7034e1..eca5d84387 100644 --- a/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java +++ b/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java @@ -71,22 +71,17 @@ public class LogicStatementProcessor extends BaseProcessor{ writer.addStatement("out.append(\" \")"); writer.addStatement("out.append((($T)obj).$L$L)", c.mirror(), field.name(), - field.mirror().toString().equals("java.lang.String") ? - ".replace(\"\\n\", \"\\\\n\")" : - Seq.with(typeu.directSupertypes(field.mirror())).contains(t -> t.toString().contains("java.lang.Enum")) ? ".name()" : - ""); + Seq.with(typeu.directSupertypes(field.mirror())).contains(t -> t.toString().contains("java.lang.Enum")) ? ".name()" : + ""); //reading primitives, strings and enums is supported; nothing else is - reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])$L", + reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])", index + 1, field.name(), field.mirror().toString().equals("java.lang.String") ? "" : (field.tname().isPrimitive() ? field.tname().box().toString() : field.mirror().toString()) + ".valueOf", //if it's not a string, it must have a valueOf method - index + 1, - field.mirror().toString().equals("java.lang.String") ? - ".replace(\"\\\\n\", \"\\n\")" : - "" + index + 1 ); index ++; diff --git a/core/src/mindustry/logic/LAssembler.java b/core/src/mindustry/logic/LAssembler.java index 699b965c77..8ac7481dd0 100644 --- a/core/src/mindustry/logic/LAssembler.java +++ b/core/src/mindustry/logic/LAssembler.java @@ -96,7 +96,7 @@ public class LAssembler{ if(c == '"'){ inString = !inString; }else if(c == ' ' && !inString){ - tokens.add(line.substring(lastIdx, i).replace("\\n", "\n")); + tokens.add(line.substring(lastIdx, i)); lastIdx = i + 1; } } @@ -162,7 +162,7 @@ public class LAssembler{ //string case if(symbol.startsWith("\"") && symbol.endsWith("\"")){ - return putConst("___" + symbol, symbol.substring(1, symbol.length() - 1)).id; + return putConst("___" + symbol, symbol.substring(1, symbol.length() - 1).replace("\\n", "\n")).id; } try{