99import meteordevelopment .meteorclient .events .game .OpenScreenEvent ;
1010import meteordevelopment .meteorclient .events .packets .PacketEvent ;
1111import meteordevelopment .meteorclient .mixin .AbstractSignEditScreenAccessor ;
12- import meteordevelopment .meteorclient .settings .Setting ;
13- import meteordevelopment .meteorclient .settings .SettingGroup ;
14- import meteordevelopment .meteorclient .settings .StringSetting ;
12+ import meteordevelopment .meteorclient .settings .*;
1513import meteordevelopment .meteorclient .systems .modules .Module ;
1614import meteordevelopment .orbit .EventHandler ;
1715import net .minecraft .block .entity .SignBlockEntity ;
2018
2119public class BetterAutoSign extends Module {
2220
23- private final SettingGroup sgGeneral = this .settings .getDefaultGroup ( );
21+ private final SettingGroup sgGeneral = this .settings .createGroup ( "Front" );
2422
25- private final Setting <String > line1 = sgGeneral .add (new StringSetting .Builder ().name ("line 1" ).description ("line 1" ).defaultValue ("" ).build ());
23+ private final Setting <BetterAutoSign .sides > mode = sgGeneral .add (new EnumSetting .Builder <BetterAutoSign .sides >()
24+ .name ("mode" )
25+ .description ("modes" )
26+ .defaultValue (sides .front )
27+ .build ()
28+ );
2629
27- private final Setting <String > line2 = sgGeneral .add (new StringSetting . Builder (). name ( "line 2" ). description ( "line 2" ). defaultValue ( "" ). build ());
28- private final Setting < String > line3 = sgGeneral . add ( new StringSetting .Builder ().name ("line 3 " ).description ("line 3 " ).defaultValue ("" ).build ());
30+ private final Setting <String > line1 = sgGeneral .add (
31+ new StringSetting .Builder ().name ("line 1 " ).description ("line 1 " ).defaultValue ("" ).build ());
2932
30- private final Setting <String > line4 = sgGeneral .add (new StringSetting .Builder ().name ("line 4" ).description ("line 4" ).defaultValue ("" ).build ());
33+ private final Setting <String > line2 = sgGeneral .add (
34+ new StringSetting .Builder ().name ("line 2" ).description ("line 2" ).defaultValue ("" ).build ());
35+ private final Setting <String > line3 = sgGeneral .add (
36+ new StringSetting .Builder ().name ("line 3" ).description ("line 3" ).defaultValue ("" ).build ());
37+
38+ private final Setting <String > line4 = sgGeneral .add (
39+ new StringSetting .Builder ().name ("line 4" ).description ("line 4" ).defaultValue ("" ).build ());
3140
3241 public BetterAutoSign () {
3342 super (Addon .CATEGORY , "Auto-Sign+" , "Auto Sign" );
@@ -40,12 +49,24 @@ private void onSendPacket(PacketEvent.Send event) {
4049
4150 @ EventHandler
4251 private void onOpenScreen (OpenScreenEvent event ) {
43- if (!(event .screen instanceof SignEditScreen ) || line1 == null || line2 == null || line3 == null || line4 == null ) return ;
52+ if (!(event .screen instanceof SignEditScreen )) return ;
4453
4554 SignBlockEntity sign = ((AbstractSignEditScreenAccessor ) event .screen ).getSign ();
4655
47- mc .player .networkHandler .sendPacket (new UpdateSignC2SPacket (sign .getPos (), line1 .get (), line2 .get (), line3 .get (), line4 .get ()));
56+ if (mode .get ().equals (sides .front ) || mode .get ().equals (sides .both )) mc .player .networkHandler .sendPacket (new UpdateSignC2SPacket (sign .getPos (), true , isempty (line1 .get ()), isempty (line2 .get ()), isempty (line3 .get ()), isempty (line4 .get ())));
57+ if (mode .get ().equals (sides .back ) || mode .get ().equals (sides .both )) mc .player .networkHandler .sendPacket (new UpdateSignC2SPacket (sign .getPos (), false , isempty (line1 .get ()), isempty (line2 .get ()), isempty (line3 .get ()), isempty (line4 .get ())));
4858
4959 event .cancel ();
5060 }
61+
62+ private String isempty (String text ){
63+ if (text .isEmpty ()) return "" ;
64+ else return text ;
65+ }
66+
67+ private enum sides {
68+ back ,
69+ front ,
70+ both
71+ }
5172}
0 commit comments