1414import meteordevelopment .orbit .EventHandler ;
1515import net .minecraft .block .entity .SignBlockEntity ;
1616import net .minecraft .client .gui .screen .ingame .SignEditScreen ;
17+ import net .minecraft .network .packet .c2s .play .PlayerInteractBlockC2SPacket ;
1718import net .minecraft .network .packet .c2s .play .UpdateSignC2SPacket ;
19+ import net .minecraft .network .packet .s2c .play .SignEditorOpenS2CPacket ;
20+ import net .minecraft .util .Hand ;
21+ import net .minecraft .util .hit .BlockHitResult ;
22+ import net .minecraft .util .math .BlockPos ;
23+ import net .minecraft .util .math .Direction ;
24+ import net .minecraft .util .math .Vec3d ;
25+ import org .reflections .vfs .Vfs ;
1826
1927public class BetterAutoSign extends Module {
2028
@@ -42,19 +50,20 @@ public BetterAutoSign() {
4250 super (Addon .CATEGORY , "Auto-Sign+" , "Auto Sign" );
4351 }
4452
45- @ EventHandler
46- private void onSendPacket (PacketEvent .Send event ) {
47- if (!(event .packet instanceof UpdateSignC2SPacket )) return ;
48- }
49-
5053 @ EventHandler
5154 private void onOpenScreen (OpenScreenEvent event ) {
5255 if (!(event .screen instanceof SignEditScreen )) return ;
5356
5457 SignBlockEntity sign = ((AbstractSignEditScreenAccessor ) event .screen ).getSign ();
5558
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 ())));
59+ if (mode .get ().equals (sides .front )) mc .player .networkHandler .sendPacket (new UpdateSignC2SPacket (sign .getPos (), true , isempty (line1 .get ()), isempty (line2 .get ()), isempty (line3 .get ()), isempty (line4 .get ())));
60+ if (mode .get ().equals (sides .back )) mc .player .networkHandler .sendPacket (new UpdateSignC2SPacket (sign .getPos (), false , isempty (line1 .get ()), isempty (line2 .get ()), isempty (line3 .get ()), isempty (line4 .get ())));
61+
62+ if (mode .get ().equals (sides .both )){
63+ mc .player .networkHandler .sendPacket (new UpdateSignC2SPacket (sign .getPos (), true , isempty (line1 .get ()), isempty (line2 .get ()), isempty (line3 .get ()), isempty (line4 .get ())));
64+ mc .player .networkHandler .sendPacket (new PlayerInteractBlockC2SPacket (Hand .MAIN_HAND ,new BlockHitResult (new Vec3d (sign .getPos ().getX (), sign .getPos ().getY (), sign .getPos ().getZ ()), getop (mc .player .getHorizontalFacing ()), sign .getPos (), false ), 0 ));
65+ mc .player .networkHandler .sendPacket (new UpdateSignC2SPacket (sign .getPos (), false , isempty (line1 .get ()), isempty (line2 .get ()), isempty (line3 .get ()), isempty (line4 .get ())));
66+ }
5867
5968 event .cancel ();
6069 }
@@ -64,7 +73,14 @@ private String isempty(String text){
6473 else return text ;
6574 }
6675
67- private enum sides {
76+ private Direction getop (Direction dir ){
77+ if (dir .equals (Direction .NORTH )) return Direction .SOUTH ;
78+ else if (dir .equals (Direction .EAST )) return Direction .WEST ;
79+ else if (dir .equals (Direction .SOUTH )) return Direction .NORTH ;
80+ else return Direction .EAST ;
81+ }
82+
83+ public enum sides {
6884 back ,
6985 front ,
7086 both
0 commit comments