diff --git a/nmshandler/src/main/java/net/aufdemrand/denizen/nms/util/DenizenAtomicIntegerFieldUpdater.java b/nmshandler/src/main/java/net/aufdemrand/denizen/nms/util/DenizenAtomicIntegerFieldUpdater.java deleted file mode 100644 index c77571437b..0000000000 --- a/nmshandler/src/main/java/net/aufdemrand/denizen/nms/util/DenizenAtomicIntegerFieldUpdater.java +++ /dev/null @@ -1,62 +0,0 @@ -package net.aufdemrand.denizen.nms.util; - -import sun.misc.Unsafe; - -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; - -public class DenizenAtomicIntegerFieldUpdater extends AtomicIntegerFieldUpdater { - private static final Unsafe unsafe; - - static { - Unsafe theUnsafe = null; - try { - Field field = Unsafe.class.getDeclaredField("theUnsafe"); - field.setAccessible(true); - theUnsafe = (Unsafe) field.get(null); - } - catch (Exception e) { - e.printStackTrace(); - } - unsafe = theUnsafe; - } - - private final long offset; - - public DenizenAtomicIntegerFieldUpdater(Field field) { - field.setAccessible(true); - int modifiers = field.getModifiers(); - - Class fieldt = field.getType(); - if (fieldt != int.class) { - throw new IllegalArgumentException("Must be integer type"); - } - - if (!Modifier.isVolatile(modifiers)) { - throw new IllegalArgumentException("Must be volatile type"); - } - - offset = unsafe.objectFieldOffset(field); - } - - public boolean compareAndSet(T obj, int expect, int update) { - return unsafe.compareAndSwapInt(obj, offset, expect, update); - } - - public boolean weakCompareAndSet(T obj, int expect, int update) { - return unsafe.compareAndSwapInt(obj, offset, expect, update); - } - - public void set(T obj, int newValue) { - unsafe.putIntVolatile(obj, offset, newValue); - } - - public void lazySet(T obj, int newValue) { - unsafe.putOrderedInt(obj, offset, newValue); - } - - public final int get(T obj) { - return unsafe.getIntVolatile(obj, offset); - } -} diff --git a/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_10_R1.java b/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_10_R1.java index c1336067cc..ffc88b96d9 100644 --- a/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_10_R1.java +++ b/v1_10_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_10_R1.java @@ -1,12 +1,9 @@ package net.aufdemrand.denizen.nms.impl.packets.handlers; -import net.aufdemrand.denizen.nms.util.DenizenAtomicIntegerFieldUpdater; import net.minecraft.server.v1_10_R1.*; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_10_R1.entity.CraftPlayer; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; import java.util.Set; public class AbstractListenerPlayIn_v1_10_R1 extends PlayerConnection { @@ -16,19 +13,6 @@ public class AbstractListenerPlayIn_v1_10_R1 extends PlayerConnection { public AbstractListenerPlayIn_v1_10_R1(NetworkManager networkManager, EntityPlayer entityPlayer, PlayerConnection oldListener) { super(MinecraftServer.getServer(), networkManager, entityPlayer); this.oldListener = oldListener; - try { - Field chatSpamField = PlayerConnection.class.getDeclaredField("chatSpamField"); - chatSpamField.setAccessible(true); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(chatSpamField, chatSpamField.getModifiers() & ~Modifier.FINAL); - Field chatThrottle = PlayerConnection.class.getDeclaredField("chatThrottle"); - chatThrottle.setAccessible(true); - chatSpamField.set(null, new DenizenAtomicIntegerFieldUpdater(chatThrottle)); - } - catch (Exception e) { - e.printStackTrace(); - } } @Override diff --git a/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_11_R1.java b/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_11_R1.java index 38ffef7740..823881610c 100644 --- a/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_11_R1.java +++ b/v1_11_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_11_R1.java @@ -1,12 +1,9 @@ package net.aufdemrand.denizen.nms.impl.packets.handlers; -import net.aufdemrand.denizen.nms.util.DenizenAtomicIntegerFieldUpdater; import net.minecraft.server.v1_11_R1.*; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; import java.util.Set; public class AbstractListenerPlayIn_v1_11_R1 extends PlayerConnection { @@ -16,19 +13,6 @@ public class AbstractListenerPlayIn_v1_11_R1 extends PlayerConnection { public AbstractListenerPlayIn_v1_11_R1(NetworkManager networkManager, EntityPlayer entityPlayer, PlayerConnection oldListener) { super(MinecraftServer.getServer(), networkManager, entityPlayer); this.oldListener = oldListener; - try { - Field chatSpamField = PlayerConnection.class.getDeclaredField("chatSpamField"); - chatSpamField.setAccessible(true); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(chatSpamField, chatSpamField.getModifiers() & ~Modifier.FINAL); - Field chatThrottle = PlayerConnection.class.getDeclaredField("chatThrottle"); - chatThrottle.setAccessible(true); - chatSpamField.set(null, new DenizenAtomicIntegerFieldUpdater(chatThrottle)); - } - catch (Exception e) { - e.printStackTrace(); - } } @Override diff --git a/v1_12_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_12_R1.java b/v1_12_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_12_R1.java index 821a876d63..b0ad14edab 100644 --- a/v1_12_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_12_R1.java +++ b/v1_12_R1/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_12_R1.java @@ -1,12 +1,9 @@ package net.aufdemrand.denizen.nms.impl.packets.handlers; -import net.aufdemrand.denizen.nms.util.DenizenAtomicIntegerFieldUpdater; import net.minecraft.server.v1_12_R1.*; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; import java.util.Set; public class AbstractListenerPlayIn_v1_12_R1 extends PlayerConnection { @@ -16,19 +13,6 @@ public class AbstractListenerPlayIn_v1_12_R1 extends PlayerConnection { public AbstractListenerPlayIn_v1_12_R1(NetworkManager networkManager, EntityPlayer entityPlayer, PlayerConnection oldListener) { super(MinecraftServer.getServer(), networkManager, entityPlayer); this.oldListener = oldListener; - try { - Field chatSpamField = PlayerConnection.class.getDeclaredField("chatSpamField"); - chatSpamField.setAccessible(true); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(chatSpamField, chatSpamField.getModifiers() & ~Modifier.FINAL); - Field chatThrottle = PlayerConnection.class.getDeclaredField("chatThrottle"); - chatThrottle.setAccessible(true); - chatSpamField.set(null, new DenizenAtomicIntegerFieldUpdater(chatThrottle)); - } - catch (Exception e) { - e.printStackTrace(); - } } @Override diff --git a/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_13_R2.java b/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_13_R2.java index 17990a13a9..b828c6688f 100644 --- a/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_13_R2.java +++ b/v1_13_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_13_R2.java @@ -1,12 +1,9 @@ package net.aufdemrand.denizen.nms.impl.packets.handlers; -import net.aufdemrand.denizen.nms.util.DenizenAtomicIntegerFieldUpdater; import net.minecraft.server.v1_13_R2.*; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_13_R2.entity.CraftPlayer; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; import java.util.Set; public class AbstractListenerPlayIn_v1_13_R2 extends PlayerConnection { @@ -16,19 +13,6 @@ public class AbstractListenerPlayIn_v1_13_R2 extends PlayerConnection { public AbstractListenerPlayIn_v1_13_R2(NetworkManager networkManager, EntityPlayer entityPlayer, PlayerConnection oldListener) { super(MinecraftServer.getServer(), networkManager, entityPlayer); this.oldListener = oldListener; - try { - Field chatSpamField = PlayerConnection.class.getDeclaredField("chatSpamField"); - chatSpamField.setAccessible(true); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(chatSpamField, chatSpamField.getModifiers() & ~Modifier.FINAL); - Field chatThrottle = PlayerConnection.class.getDeclaredField("chatThrottle"); - chatThrottle.setAccessible(true); - chatSpamField.set(null, new DenizenAtomicIntegerFieldUpdater(chatThrottle)); - } - catch (Exception e) { - e.printStackTrace(); - } } @Override diff --git a/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_8_R3.java b/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_8_R3.java index e39349d956..e5bc0bd56a 100644 --- a/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_8_R3.java +++ b/v1_8_R3/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_8_R3.java @@ -1,12 +1,9 @@ package net.aufdemrand.denizen.nms.impl.packets.handlers; -import net.aufdemrand.denizen.nms.util.DenizenAtomicIntegerFieldUpdater; import net.minecraft.server.v1_8_R3.*; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; import java.util.Set; public class AbstractListenerPlayIn_v1_8_R3 extends PlayerConnection { @@ -16,19 +13,6 @@ public class AbstractListenerPlayIn_v1_8_R3 extends PlayerConnection { public AbstractListenerPlayIn_v1_8_R3(NetworkManager networkManager, EntityPlayer entityPlayer, PlayerConnection oldListener) { super(MinecraftServer.getServer(), networkManager, entityPlayer); this.oldListener = oldListener; - try { - Field chatSpamField = PlayerConnection.class.getDeclaredField("chatSpamField"); - chatSpamField.setAccessible(true); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(chatSpamField, chatSpamField.getModifiers() & ~Modifier.FINAL); - Field chatThrottle = PlayerConnection.class.getDeclaredField("chatThrottle"); - chatThrottle.setAccessible(true); - chatSpamField.set(null, new DenizenAtomicIntegerFieldUpdater(chatThrottle)); - } - catch (Exception e) { - e.printStackTrace(); - } } @Override diff --git a/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_9_R2.java b/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_9_R2.java index 728efe8361..a0dc533f4e 100644 --- a/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_9_R2.java +++ b/v1_9_R2/src/main/java/net/aufdemrand/denizen/nms/impl/packets/handlers/AbstractListenerPlayIn_v1_9_R2.java @@ -1,12 +1,9 @@ package net.aufdemrand.denizen.nms.impl.packets.handlers; -import net.aufdemrand.denizen.nms.util.DenizenAtomicIntegerFieldUpdater; import net.minecraft.server.v1_9_R2.*; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; import java.util.Set; public class AbstractListenerPlayIn_v1_9_R2 extends PlayerConnection { @@ -16,19 +13,6 @@ public class AbstractListenerPlayIn_v1_9_R2 extends PlayerConnection { public AbstractListenerPlayIn_v1_9_R2(NetworkManager networkManager, EntityPlayer entityPlayer, PlayerConnection oldListener) { super(MinecraftServer.getServer(), networkManager, entityPlayer); this.oldListener = oldListener; - try { - Field chatSpamField = PlayerConnection.class.getDeclaredField("chatSpamField"); - chatSpamField.setAccessible(true); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(chatSpamField, chatSpamField.getModifiers() & ~Modifier.FINAL); - Field chatThrottle = PlayerConnection.class.getDeclaredField("chatThrottle"); - chatThrottle.setAccessible(true); - chatSpamField.set(null, new DenizenAtomicIntegerFieldUpdater(chatThrottle)); - } - catch (Exception e) { - e.printStackTrace(); - } } @Override