Compare commits

...

3 Commits

Author SHA1 Message Date
quang 3e7a9a6935
Merge 034f753b9c into e1255edb32 2024-04-11 23:46:22 +02:00
Dan Mulloy e1255edb32
Fix build 2024-04-07 11:18:58 -05:00
Trần Nguyễn Ngọc Quang 034f753b9c
allow custom Channel type to be wrapped in InjectionFactory#fromChannel 2024-01-24 05:28:45 +07:00
2 changed files with 19 additions and 1 deletions

View File

@ -145,6 +145,16 @@ class SerializedOfflinePlayer implements OfflinePlayer, Serializable {
return lastSeen;
}
@Override
public Location getRespawnLocation() {
return null;
}
@Override
public Location getLocation() {
return null;
}
// TODO do we need to implement this?
public void incrementStatistic(Statistic statistic) throws IllegalArgumentException {

View File

@ -168,11 +168,19 @@ public class InjectionFactory {
Object netManager = this.findNetworkManager(channel);
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(
temporaryPlayer,
this.server,
netManager,
channel,
wrappedChannel,
listener,
this,
this.errorReporter);