Skip to content

Commit dd98f24

Browse files
committed
Random improvements
Better script creation screen Move some script errors to overlay
1 parent 4502aec commit dd98f24

File tree

3 files changed

+27
-14
lines changed

3 files changed

+27
-14
lines changed

src/main/java/io/github/techstreet/dfscript/screen/script/ScriptCreationScreen.java

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,55 @@
33
import io.github.techstreet.dfscript.DFScript;
44
import io.github.techstreet.dfscript.screen.CScreen;
55
import io.github.techstreet.dfscript.screen.widget.CButton;
6+
import io.github.techstreet.dfscript.screen.widget.CText;
67
import io.github.techstreet.dfscript.screen.widget.CTextField;
78
import io.github.techstreet.dfscript.script.ScriptManager;
9+
import net.minecraft.text.Text;
10+
811
import java.util.regex.Matcher;
912
import java.util.regex.Pattern;
1013

1114
public class ScriptCreationScreen extends CScreen {
1215

1316
// invalid file name chars
1417
// there's definitely a better place to put this but this felt the simplest rn
15-
Pattern ILLEGAL_CHARS = Pattern.compile("[\\\\/:*?\"<>|]");
18+
Pattern ILLEGAL_CHARS = Pattern.compile("[\\\\/:*?\"<>|\n]");
1619

1720
protected ScriptCreationScreen() {
18-
super(105, 60);
21+
super(100, 33);
22+
23+
widgets.add(new CText(4, 4, Text.of("Create Script")));
24+
25+
CTextField name = new CTextField("My Script", 4, 9, 92, 9, true){
26+
@Override
27+
public void keyPressed(int keyCode, int scanCode, int modifiers) {
28+
if(keyCode == 257) return;
29+
super.keyPressed(keyCode, scanCode, modifiers);
30+
}
31+
};
1932

20-
CTextField name = new CTextField("My Script", 2, 2, 96, 36, true);
33+
name.setChangedListener(() -> {
34+
String scriptName = name.getText();
35+
36+
Matcher m = ILLEGAL_CHARS.matcher(scriptName);
2137

22-
name.setChangedListener(() -> name.textColor = 0xFFFFFF);
38+
name.textColor = m.find() ? 0xFF3333 : 0xFFFFFF;
39+
});
2340

2441
widgets.add(name);
2542

26-
widgets.add(new CButton(2, 42, 48, 15, "Create", () -> {
43+
widgets.add(new CButton(4, 20, 44, 9, "Create", () -> {
2744
String scriptName = name.getText();
2845

2946
Matcher m = ILLEGAL_CHARS.matcher(scriptName);
3047

31-
if (m.find()) {
32-
name.textColor = 0xFF3333;
33-
return;
34-
}
48+
if (m.find()) return;
3549

3650
ScriptManager.getInstance().createScript(name.getText());
3751
DFScript.MC.setScreen(new ScriptListScreen(true));
3852
}));
3953

40-
widgets.add(new CButton(50, 42, 48, 15, "Cancel", () -> {
54+
widgets.add(new CButton(52, 20, 44, 9, "Cancel", () -> {
4155
DFScript.MC.setScreen(new ScriptAddScreen());
4256
}));
4357
}

src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -809,7 +809,7 @@ public enum ScriptActionType {
809809
}
810810

811811
if (similiar.size() > 0) {
812-
ChatUtil.error("Did you mean: \n" + String.join(", \n", similiar));
812+
OverlayManager.getInstance().add("Did you mean: \n" + String.join(", \n", similiar));
813813
}
814814
} catch (Exception err) {
815815
err.printStackTrace();
@@ -1229,7 +1229,7 @@ public enum ScriptActionType {
12291229
OverlayManager.getInstance().add("Unable to get text field value! (Not owned by script)");
12301230
}
12311231
} else {
1232-
ChatUtil.error("Unable to get text field value! (Unknown menu type)");
1232+
OverlayManager.getInstance().add("Unable to get text field value! (Unknown menu type)");
12331233
}
12341234
})),
12351235

@@ -1615,7 +1615,7 @@ public void run(ScriptActionContext ctx) {
16151615
}
16161616
}
16171617

1618-
ChatUtil.error("Invalid arguments for " + name + ".");
1618+
OverlayManager.getInstance().add("Invalid arguments for " + name + ".");
16191619
}
16201620

16211621
private void generatePossibilities(List<List<ScriptActionArgument>> possibilities, ArrayList<ScriptActionArgument> current, List<ScriptActionArgument> arguments, int pos) {

src/main/java/io/github/techstreet/dfscript/util/RenderUtil.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ public static void popScissor() {
162162
public static void renderGuiItem(DrawContext context, ItemStack item) {
163163
MatrixStack stack = context.getMatrices();
164164
stack.push();
165-
ItemRenderer renderer = DFScript.MC.getItemRenderer();
166165
stack.translate(0.0F, 0.0F, 100.0F);
167166
stack.scale(0.5F,0.5F,1F);
168167
context.drawItem(item, 0, 0);

0 commit comments

Comments
 (0)