Merge 034f753b9c
into 6f057b361b
This commit is contained in:
commit
72eed0c48e
|
@ -168,11 +168,19 @@ public class InjectionFactory {
|
||||||
Object netManager = this.findNetworkManager(channel);
|
Object netManager = this.findNetworkManager(channel);
|
||||||
Player temporaryPlayer = playerFactory.createTemporaryPlayer(this.server);
|
Player temporaryPlayer = playerFactory.createTemporaryPlayer(this.server);
|
||||||
|
|
||||||
|
// Use the channel field from an already found network manager to prevent our channel injector given in
|
||||||
|
// this method from overwriting initialized custom channel implementation in some spigot forks
|
||||||
|
Channel wrappedChannel = FuzzyReflection.getFieldValue(netManager, Channel.class, true);
|
||||||
|
if (wrappedChannel == null) {
|
||||||
|
// Use the channel straight from ChannelHandlerContext as fallback if the field has null value
|
||||||
|
wrappedChannel = channel;
|
||||||
|
}
|
||||||
|
|
||||||
NettyChannelInjector injector = new NettyChannelInjector(
|
NettyChannelInjector injector = new NettyChannelInjector(
|
||||||
temporaryPlayer,
|
temporaryPlayer,
|
||||||
this.server,
|
this.server,
|
||||||
netManager,
|
netManager,
|
||||||
channel,
|
wrappedChannel,
|
||||||
listener,
|
listener,
|
||||||
this,
|
this,
|
||||||
this.errorReporter);
|
this.errorReporter);
|
||||||
|
|
Loading…
Reference in New Issue