Class PipelineInjector

java.lang.Object
me.neznamy.tab.api.TabFeature
me.neznamy.tab.shared.features.PipelineInjector

public abstract class PipelineInjector extends me.neznamy.tab.api.TabFeature
Packet intercepting to secure proper functionality of some features: TabList names - anti-override NameTags - anti-override Scoreboard - disabling tab's scoreboard to prevent conflict SpectatorFix - to change game mode to something else than spectator PetFix - to remove owner field from entity data PingSpoof - full feature functionality Unlimited name tags - replacement for bukkit events with much better accuracy and reliability
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final boolean
     
    protected boolean
     
    final String
     

    Fields inherited from class me.neznamy.tab.api.TabFeature

    disabledServers, disabledWorlds
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    PipelineInjector(String injectPosition)
    Constructs new instance with given parameter
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Function<me.neznamy.tab.api.TabPlayer,io.netty.channel.ChannelDuplexHandler>
     
    void
    inject(me.neznamy.tab.api.TabPlayer player)
    Injects custom channel duplex handler to prevent other plugins from overriding this one
    void
     
    protected void
    logTeamOverride(String team, String player, String expectedTeam)
     
    void
    onJoin(me.neznamy.tab.api.TabPlayer connectedPlayer)
     
    void
    setByteBufDeserialization(boolean byteBufDeserialization)
     
    void
    uninject(me.neznamy.tab.api.TabPlayer player)
     
    void
     

    Methods inherited from class me.neznamy.tab.api.TabFeature

    addDisabledPlayer, addUsedPlaceholders, contains, getFeatureName, getRefreshDisplayName, isDisabled, isDisabledPlayer, onCommand, onDisplayObjective, onLoginPacket, onObjective, onPacketReceive, onPacketSend, onPlayerInfo, onQuit, onServerChange, onVanishStatusChange, onWorldChange, overridesMethod, refresh, removeDisabledPlayer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DECODER_NAME

      public final String DECODER_NAME
      See Also:
    • antiOverrideTeams

      protected final boolean antiOverrideTeams
    • byteBufDeserialization

      protected boolean byteBufDeserialization
  • Constructor Details

    • PipelineInjector

      protected PipelineInjector(String injectPosition)
      Constructs new instance with given parameter
      Parameters:
      injectPosition - position to inject handler before
  • Method Details

    • inject

      public void inject(me.neznamy.tab.api.TabPlayer player)
      Injects custom channel duplex handler to prevent other plugins from overriding this one
      Parameters:
      player - player to inject
    • uninject

      public void uninject(me.neznamy.tab.api.TabPlayer player)
    • load

      public void load()
      Overrides:
      load in class me.neznamy.tab.api.TabFeature
    • unload

      public void unload()
      Overrides:
      unload in class me.neznamy.tab.api.TabFeature
    • onJoin

      public void onJoin(me.neznamy.tab.api.TabPlayer connectedPlayer)
      Overrides:
      onJoin in class me.neznamy.tab.api.TabFeature
    • logTeamOverride

      protected void logTeamOverride(String team, String player, String expectedTeam)
    • setByteBufDeserialization

      public void setByteBufDeserialization(boolean byteBufDeserialization)
    • getChannelFunction

      public abstract Function<me.neznamy.tab.api.TabPlayer,io.netty.channel.ChannelDuplexHandler> getChannelFunction()