1
1
package org .ladysnake .elmendorf .impl ;
2
2
3
- import net .minecraft .network .*;
3
+ import io .netty .channel .Channel ;
4
+ import io .netty .channel .ChannelFuture ;
5
+ import io .netty .channel .ChannelFutureListener ;
6
+ import io .netty .util .concurrent .Future ;
7
+ import io .netty .util .concurrent .GenericFutureListener ;
8
+ import net .minecraft .network .ClientConnection ;
9
+ import net .minecraft .network .DisconnectionInfo ;
10
+ import net .minecraft .network .NetworkSide ;
4
11
import net .minecraft .network .listener .PacketListener ;
5
12
import net .minecraft .network .packet .Packet ;
13
+ import net .minecraft .network .state .NetworkState ;
14
+ import org .jetbrains .annotations .NotNull ;
6
15
import org .jetbrains .annotations .Nullable ;
7
16
import org .ladysnake .elmendorf .impl .mixin .ClientConnectionAccessor ;
8
17
18
+ import java .util .concurrent .TimeUnit ;
19
+
9
20
public class MockClientConnection extends ClientConnection {
10
21
public MockClientConnection (NetworkSide side ) {
11
22
super (side );
@@ -22,8 +33,129 @@ public boolean isOpen() {
22
33
}
23
34
24
35
@ Override
25
- public void send (Packet <?> packet , @ Nullable PacketCallbacks callback , boolean flush ) {
26
- if (callback != null ) callback .onSuccess ();
36
+ public void send (Packet <?> packet , @ Nullable ChannelFutureListener callback , boolean flush ) {
37
+ if (callback != null ) {
38
+ try {
39
+ callback .operationComplete (new ChannelFuture () {
40
+ @ Override
41
+ public Channel channel () {
42
+ return null ;
43
+ }
44
+
45
+ @ Override
46
+ public ChannelFuture addListener (GenericFutureListener <? extends Future <? super Void >> listener ) {
47
+ return null ;
48
+ }
49
+
50
+ @ Override
51
+ public ChannelFuture addListeners (GenericFutureListener <? extends Future <? super Void >>[] listeners ) {
52
+ return null ;
53
+ }
54
+
55
+ @ Override
56
+ public ChannelFuture removeListener (GenericFutureListener <? extends Future <? super Void >> listener ) {
57
+ return null ;
58
+ }
59
+
60
+ @ Override
61
+ public ChannelFuture removeListeners (GenericFutureListener <? extends Future <? super Void >>[] listeners ) {
62
+ return null ;
63
+ }
64
+
65
+ @ Override
66
+ public ChannelFuture sync () {
67
+ return null ;
68
+ }
69
+
70
+ @ Override
71
+ public ChannelFuture syncUninterruptibly () {
72
+ return null ;
73
+ }
74
+
75
+ @ Override
76
+ public ChannelFuture await () {
77
+ return null ;
78
+ }
79
+
80
+ @ Override
81
+ public ChannelFuture awaitUninterruptibly () {
82
+ return null ;
83
+ }
84
+
85
+ @ Override
86
+ public boolean isVoid () {
87
+ return true ;
88
+ }
89
+
90
+ @ Override
91
+ public boolean isSuccess () {
92
+ return true ;
93
+ }
94
+
95
+ @ Override
96
+ public boolean isCancellable () {
97
+ return false ;
98
+ }
99
+
100
+ @ Override
101
+ public Throwable cause () {
102
+ return null ;
103
+ }
104
+
105
+ @ Override
106
+ public boolean await (long l , TimeUnit timeUnit ) {
107
+ return false ;
108
+ }
109
+
110
+ @ Override
111
+ public boolean await (long l ) {
112
+ return false ;
113
+ }
114
+
115
+ @ Override
116
+ public boolean awaitUninterruptibly (long l , TimeUnit timeUnit ) {
117
+ return false ;
118
+ }
119
+
120
+ @ Override
121
+ public boolean awaitUninterruptibly (long l ) {
122
+ return false ;
123
+ }
124
+
125
+ @ Override
126
+ public Void getNow () {
127
+ return null ;
128
+ }
129
+
130
+ @ Override
131
+ public boolean cancel (boolean b ) {
132
+ return false ;
133
+ }
134
+
135
+ @ Override
136
+ public boolean isCancelled () {
137
+ return false ;
138
+ }
139
+
140
+ @ Override
141
+ public boolean isDone () {
142
+ return true ;
143
+ }
144
+
145
+ @ Override
146
+ public Void get () {
147
+ return null ;
148
+ }
149
+
150
+ @ Override
151
+ public Void get (long timeout , @ NotNull TimeUnit unit ) {
152
+ return null ;
153
+ }
154
+ });
155
+ } catch (Exception e ) {
156
+ throw new RuntimeException (e );
157
+ }
158
+ }
27
159
}
28
160
29
161
@ Override
0 commit comments