mirror of
https://github.com/AuthMe/AuthMeReloaded.git
synced 2024-12-25 01:57:48 +01:00
Added unregister method to AuthMeInventoryPacketAdapter class.
more reload compatibility.
This commit is contained in:
parent
2162a4abe4
commit
25ed44f801
@ -691,7 +691,7 @@ public class AuthMe extends JavaPlugin {
|
||||
}
|
||||
} else {
|
||||
if (inventoryProtector != null) {
|
||||
ProtocolLibrary.getProtocolManager().removePacketListener(inventoryProtector);
|
||||
inventoryProtector.unregister();
|
||||
inventoryProtector = null;
|
||||
}
|
||||
}
|
||||
|
@ -78,6 +78,10 @@ public class AuthMeInventoryPacketAdapter extends PacketAdapter {
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(this);
|
||||
}
|
||||
|
||||
public void unregister() {
|
||||
ProtocolLibrary.getProtocolManager().removePacketListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method sendInventoryPacket.
|
||||
*
|
||||
@ -87,7 +91,7 @@ public class AuthMeInventoryPacketAdapter extends PacketAdapter {
|
||||
ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager();
|
||||
PacketContainer inventoryPacket = protocolManager.createPacket(PacketType.Play.Server.WINDOW_ITEMS);
|
||||
|
||||
//we are sending our own inventory
|
||||
// we are sending our own inventory
|
||||
inventoryPacket.getIntegers().write(0, PLAYER_INVENTORY);
|
||||
|
||||
ItemStack[] playerCrafting = new ItemStack[CRAFTING_SIZE];
|
||||
@ -95,21 +99,21 @@ public class AuthMeInventoryPacketAdapter extends PacketAdapter {
|
||||
ItemStack[] armorContents = player.getInventory().getArmorContents();
|
||||
ItemStack[] mainInventory = player.getInventory().getContents();
|
||||
|
||||
//bukkit saves the armor in reversed order
|
||||
// bukkit saves the armor in reversed order
|
||||
Collections.reverse(Arrays.asList(armorContents));
|
||||
|
||||
//same main inventory. The hotbar is at the beginning but it should be at the end of the array
|
||||
// same main inventory. The hotbar is at the beginning but it should be at the end of the array
|
||||
ItemStack[] hotbar = Arrays.copyOfRange(mainInventory, 0, HOTBAR_SIZE);
|
||||
ItemStack[] storedInventory = Arrays.copyOfRange(mainInventory, HOTBAR_SIZE, mainInventory.length);
|
||||
|
||||
//concat all parts of the inventory together
|
||||
// concat all parts of the inventory together
|
||||
int inventorySize = playerCrafting.length + armorContents.length + mainInventory.length;
|
||||
ItemStack[] completeInventory = new ItemStack[inventorySize];
|
||||
|
||||
System.arraycopy(playerCrafting, 0, completeInventory, 0, playerCrafting.length);
|
||||
System.arraycopy(armorContents, 0, completeInventory, playerCrafting.length, armorContents.length);
|
||||
|
||||
//storedInventory and hotbar
|
||||
// storedInventory and hotbar
|
||||
System.arraycopy(storedInventory, 0, completeInventory
|
||||
, playerCrafting.length + armorContents.length, storedInventory.length);
|
||||
System.arraycopy(hotbar, 0, completeInventory
|
||||
|
@ -36,18 +36,24 @@ public class AuthMeServerListener implements Listener {
|
||||
*/
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onServerPing(ServerListPingEvent event) {
|
||||
if (!Settings.enableProtection)
|
||||
if (!Settings.enableProtection) {
|
||||
return;
|
||||
if (Settings.countries.isEmpty())
|
||||
return;
|
||||
if (!Settings.countriesBlacklist.isEmpty()) {
|
||||
if (Settings.countriesBlacklist.contains(GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress())))
|
||||
event.setMotd(m.send("country_banned")[0]);
|
||||
}
|
||||
if (Settings.countries.contains(GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress()))) {
|
||||
event.setMotd(plugin.getServer().getMotd());
|
||||
} else {
|
||||
event.setMotd(m.send("country_banned")[0]);
|
||||
|
||||
String countryCode = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress());
|
||||
if (!Settings.countriesBlacklist.isEmpty()) {
|
||||
if (Settings.countriesBlacklist.contains(countryCode)) {
|
||||
event.setMotd(m.send("country_banned")[0]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!Settings.countries.isEmpty()) {
|
||||
if (Settings.countries.contains(countryCode)) {
|
||||
event.setMotd(plugin.getServer().getMotd());
|
||||
} else {
|
||||
event.setMotd(m.send("country_banned")[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -58,16 +64,18 @@ public class AuthMeServerListener implements Listener {
|
||||
*/
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onPluginDisable(PluginDisableEvent event) {
|
||||
// Make sure the plugin instance isn't null
|
||||
if (event.getPlugin() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the plugin instance
|
||||
Plugin pluginInstance = event.getPlugin();
|
||||
|
||||
// Make sure the plugin instance isn't null
|
||||
if (pluginInstance == null)
|
||||
return;
|
||||
|
||||
// Make sure it's not this plugin itself
|
||||
if (pluginInstance.equals(this.plugin))
|
||||
if (pluginInstance.equals(this.plugin)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Call the onPluginDisable method in the permissions manager
|
||||
this.plugin.getPermissionsManager().onPluginDisable(event);
|
||||
@ -91,6 +99,7 @@ public class AuthMeServerListener implements Listener {
|
||||
if (pluginName.equalsIgnoreCase("CombatTagPlus")) {
|
||||
plugin.combatTagPlus = null;
|
||||
ConsoleLogger.info("CombatTagPlus has been disabled, unhook!");
|
||||
return;
|
||||
}
|
||||
if (pluginName.equalsIgnoreCase("ProtocolLib")) {
|
||||
plugin.inventoryProtector = null;
|
||||
@ -109,12 +118,18 @@ public class AuthMeServerListener implements Listener {
|
||||
this.plugin.getPermissionsManager().onPluginEnable(event);
|
||||
|
||||
String pluginName = event.getPlugin().getName();
|
||||
if (pluginName.equalsIgnoreCase("Essentials") || pluginName.equalsIgnoreCase("EssentialsSpawn"))
|
||||
if (pluginName.equalsIgnoreCase("Essentials") || pluginName.equalsIgnoreCase("EssentialsSpawn")) {
|
||||
plugin.checkEssentials();
|
||||
if (pluginName.equalsIgnoreCase("Multiverse-Core"))
|
||||
return;
|
||||
}
|
||||
if (pluginName.equalsIgnoreCase("Multiverse-Core")) {
|
||||
plugin.checkMultiverse();
|
||||
if (pluginName.equalsIgnoreCase("CombatTagPlus"))
|
||||
return;
|
||||
}
|
||||
if (pluginName.equalsIgnoreCase("CombatTagPlus")) {
|
||||
plugin.checkCombatTagPlus();
|
||||
return;
|
||||
}
|
||||
if (pluginName.equalsIgnoreCase("ProtocolLib")) {
|
||||
plugin.checkProtocolLib();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user