Fixes hunger, sounds listener now sync again, fixed checks. Fixes #384

This commit is contained in:
libraryaddict 2019-07-25 15:06:01 +12:00
parent 658c3f0602
commit 887181e6e9
6 changed files with 25 additions and 11 deletions

@ -245,7 +245,8 @@ public class LibsDisguises extends JavaPlugin {
// Invalidate invalid distribution // Invalidate invalid distribution
if (LibsPremium.isPremium() && LibsPremium.getPaidInformation() != null && if (LibsPremium.isPremium() && LibsPremium.getPaidInformation() != null &&
LibsPremium.getPaidInformation().getDownloadID().equals("-1895736039")) { (!LibsPremium.getPaidInformation().isLegit() ||
LibsPremium.getPaidInformation().getDownloadID().equals("-1895736039"))) {
throw new IllegalStateException( throw new IllegalStateException(
"Error while checking pi rate on startup! Please re-download the jar from SpigotMC before " + "Error while checking pi rate on startup! Please re-download the jar from SpigotMC before " +
"reporting this error!"); "reporting this error!");

@ -917,7 +917,8 @@ public class DisguiseUtilities {
Field cSection = chunkClass.getDeclaredField("sections"); Field cSection = chunkClass.getDeclaredField("sections");
cSection.setAccessible(true); cSection.setAccessible(true);
Object chunkSection = ReflectionManager.getNmsClass("ChunkSection").getConstructor(int.class).newInstance(0); Object chunkSection = ReflectionManager.getNmsClass("ChunkSection").getConstructor(int.class)
.newInstance(0);
Class blockClass = ReflectionManager.getNmsClass("Block"); Class blockClass = ReflectionManager.getNmsClass("Block");
Object REGISTRY = ReflectionManager.getNmsField("IRegistry", "BLOCK").get(null); Object REGISTRY = ReflectionManager.getNmsField("IRegistry", "BLOCK").get(null);
@ -1032,7 +1033,8 @@ public class DisguiseUtilities {
Set trackedPlayers = (Set) ReflectionManager.getNmsField("EntityTrackerEntry", "trackedPlayers") Set trackedPlayers = (Set) ReflectionManager.getNmsField("EntityTrackerEntry", "trackedPlayers")
.get(entityTrackerEntry); .get(entityTrackerEntry);
Method clear = ReflectionManager.getNmsMethod("EntityTrackerEntry", "a", ReflectionManager.getNmsClass("EntityPlayer")); Method clear = ReflectionManager
.getNmsMethod("EntityTrackerEntry", "a", ReflectionManager.getNmsClass("EntityPlayer"));
final Method updatePlayer = ReflectionManager final Method updatePlayer = ReflectionManager
.getNmsMethod("EntityTrackerEntry", "b", ReflectionManager.getNmsClass("EntityPlayer")); .getNmsMethod("EntityTrackerEntry", "b", ReflectionManager.getNmsClass("EntityPlayer"));
@ -1339,6 +1341,10 @@ public class DisguiseUtilities {
return; return;
} }
if (LibsPremium.getPaidInformation() != null && !LibsPremium.getPaidInformation().isLegit()) {
return;
}
DisguisePushing pOption = DisguiseConfig.getPushingOption(); DisguisePushing pOption = DisguiseConfig.getPushingOption();
if (pOption == DisguisePushing.IGNORE_SCOREBOARD) { if (pOption == DisguisePushing.IGNORE_SCOREBOARD) {

@ -77,10 +77,9 @@ public class PacketsManager {
soundsListenerEnabled = enabled; soundsListenerEnabled = enabled;
if (soundsListenerEnabled) { if (soundsListenerEnabled) {
ProtocolLibrary.getProtocolManager().getAsynchronousManager().registerAsyncHandler(soundsListener) ProtocolLibrary.getProtocolManager().addPacketListener(soundsListener);
.syncStart();
} else { } else {
ProtocolLibrary.getProtocolManager().getAsynchronousManager().unregisterAsyncHandler(soundsListener); ProtocolLibrary.getProtocolManager().removePacketListener(soundsListener);
} }
} }
} }
@ -92,7 +91,7 @@ public class PacketsManager {
if (inventoryModifierEnabled) { if (inventoryModifierEnabled) {
ProtocolLibrary.getProtocolManager().addPacketListener(inventoryListener); ProtocolLibrary.getProtocolManager().addPacketListener(inventoryListener);
} else { } else {
ProtocolLibrary.getProtocolManager().addPacketListener(inventoryListener); ProtocolLibrary.getProtocolManager().removePacketListener(inventoryListener);
} }
for (Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {

@ -8,11 +8,13 @@ import com.comphenix.protocol.wrappers.WrappedAttribute;
import com.comphenix.protocol.wrappers.WrappedDataWatcher; import com.comphenix.protocol.wrappers.WrappedDataWatcher;
import com.comphenix.protocol.wrappers.WrappedGameProfile; import com.comphenix.protocol.wrappers.WrappedGameProfile;
import me.libraryaddict.disguise.DisguiseConfig; import me.libraryaddict.disguise.DisguiseConfig;
import me.libraryaddict.disguise.LibsDisguises;
import me.libraryaddict.disguise.disguisetypes.*; import me.libraryaddict.disguise.disguisetypes.*;
import me.libraryaddict.disguise.disguisetypes.watchers.FallingBlockWatcher; import me.libraryaddict.disguise.disguisetypes.watchers.FallingBlockWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.LivingWatcher; import me.libraryaddict.disguise.disguisetypes.watchers.LivingWatcher;
import me.libraryaddict.disguise.disguisetypes.watchers.PlayerWatcher; import me.libraryaddict.disguise.disguisetypes.watchers.PlayerWatcher;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
import me.libraryaddict.disguise.utilities.LibsPremium;
import me.libraryaddict.disguise.utilities.packets.IPacketHandler; import me.libraryaddict.disguise.utilities.packets.IPacketHandler;
import me.libraryaddict.disguise.utilities.packets.LibsPackets; import me.libraryaddict.disguise.utilities.packets.LibsPackets;
import me.libraryaddict.disguise.utilities.packets.PacketsHandler; import me.libraryaddict.disguise.utilities.packets.PacketsHandler;
@ -281,7 +283,10 @@ public class PacketHandlerSpawn implements IPacketHandler {
deleteTab.getModifier().write(0, ReflectionManager.getEnumPlayerInfoAction(4)); deleteTab.getModifier().write(0, ReflectionManager.getEnumPlayerInfoAction(4));
if (!((PlayerDisguise) disguise).isDisplayedInTab()) { if (!((PlayerDisguise) disguise).isDisplayedInTab()) {
packets.addDelayedPacket(deleteTab, DisguiseConfig.getPlayerDisguisesTablistExpires()); if (LibsPremium.getPaidInformation() == null ||
LibsPremium.getPaidInformation().getVersion().matches("[0-9]+")) {
packets.addDelayedPacket(deleteTab, DisguiseConfig.getPlayerDisguisesTablistExpires());
}
} }
} else if (disguise.getType().isMob() || disguise.getType() == DisguiseType.ARMOR_STAND) { } else if (disguise.getType().isMob() || disguise.getType() == DisguiseType.ARMOR_STAND) {
Vector vec = disguisedEntity.getVelocity(); Vector vec = disguisedEntity.getVelocity();

@ -14,6 +14,7 @@ import me.libraryaddict.disguise.LibsDisguises;
import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.Disguise;
import me.libraryaddict.disguise.disguisetypes.MetaIndex; import me.libraryaddict.disguise.disguisetypes.MetaIndex;
import me.libraryaddict.disguise.utilities.DisguiseUtilities; import me.libraryaddict.disguise.utilities.DisguiseUtilities;
import me.libraryaddict.disguise.utilities.LibsPremium;
import me.libraryaddict.disguise.utilities.packets.LibsPackets; import me.libraryaddict.disguise.utilities.packets.LibsPackets;
import me.libraryaddict.disguise.utilities.packets.PacketsManager; import me.libraryaddict.disguise.utilities.packets.PacketsManager;
import me.libraryaddict.disguise.utilities.reflection.ReflectionManager; import me.libraryaddict.disguise.utilities.reflection.ReflectionManager;
@ -112,7 +113,10 @@ public class PacketListenerViewSelfDisguise extends PacketAdapter {
transformed.sendDelayed(observer); transformed.sendDelayed(observer);
if (event.getPacketType() == Server.ENTITY_METADATA) { if (event.getPacketType() == Server.ENTITY_METADATA) {
event.setPacket(packet = packet.deepClone()); if (!LibsPremium.getPluginInformation().isPremium() || LibsPremium.getPaidInformation() != null ||
LibsPremium.getPluginInformation().getBuildNumber().matches("[0-9]+")) {
event.setPacket(packet = packet.deepClone());
}
for (WrappedWatchableObject watch : packet.getWatchableCollectionModifier().read(0)) { for (WrappedWatchableObject watch : packet.getWatchableCollectionModifier().read(0)) {
if (watch.getIndex() == 0) { if (watch.getIndex() == 0) {

@ -54,7 +54,6 @@ public class PluginInformation {
} }
public boolean isLegit() { public boolean isLegit() {
return getUserID().matches("[0-9]+") && LibsPremium.getResourceID().equals("32453") && return getUserID().matches("[0-9]+") && getResourceID().equals("32453") && getDownloadID().matches("-?[0-9]+");
getDownloadID().matches("-?[0-9]+");
} }
} }