Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-11-08 17:20:24 +01:00
Blame a class when the childHandler doesn't inject
Dieser Commit ist enthalten in:
Ursprung
ea4650000e
Commit
c404f2206c
@ -87,9 +87,15 @@ public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI {
|
|||||||
ChannelFuture future = (ChannelFuture) o;
|
ChannelFuture future = (ChannelFuture) o;
|
||||||
ChannelPipeline pipeline = future.channel().pipeline();
|
ChannelPipeline pipeline = future.channel().pipeline();
|
||||||
ChannelHandler bootstrapAcceptor = pipeline.first();
|
ChannelHandler bootstrapAcceptor = pipeline.first();
|
||||||
|
try {
|
||||||
ChannelInitializer<SocketChannel> oldInit = ReflectionUtil.get(bootstrapAcceptor, "childHandler", ChannelInitializer.class);
|
ChannelInitializer<SocketChannel> oldInit = ReflectionUtil.get(bootstrapAcceptor, "childHandler", ChannelInitializer.class);
|
||||||
ChannelInitializer newInit = new ViaVersionInitializer(oldInit);
|
ChannelInitializer newInit = new ViaVersionInitializer(oldInit);
|
||||||
|
|
||||||
ReflectionUtil.set(bootstrapAcceptor, "childHandler", newInit);
|
ReflectionUtil.set(bootstrapAcceptor, "childHandler", newInit);
|
||||||
|
} catch (NoSuchFieldException e) {
|
||||||
|
// field not found
|
||||||
|
throw new Exception("Unable to find childHandler, blame " + bootstrapAcceptor.getClass().getName());
|
||||||
|
}
|
||||||
injected = true;
|
injected = true;
|
||||||
} else {
|
} else {
|
||||||
break; // not the right list.
|
break; // not the right list.
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren