[BLEEDING] Guards for activation of IAtributeAccess implementations.

This commit is contained in:
asofold 2016-06-09 23:40:09 +02:00
parent 765383834b
commit f18e7e46d1
15 changed files with 99 additions and 1 deletions

View File

@ -10,9 +10,16 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
public class BukkitAttributeAccess implements IAttributeAccess { public class BukkitAttributeAccess implements IAttributeAccess {
public BukkitAttributeAccess() {
if (ReflectionUtil.getClass("org.bukkit.attribute.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
private int operationToInt(final Operation operation) { private int operationToInt(final Operation operation) {
switch (operation) { switch (operation) {
case ADD_NUMBER: case ADD_NUMBER:

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_6_R1.AttributeInstance; import net.minecraft.server.v1_6_R1.AttributeInstance;
import net.minecraft.server.v1_6_R1.AttributeModifier; import net.minecraft.server.v1_6_R1.AttributeModifier;
import net.minecraft.server.v1_6_R1.GenericAttributes; import net.minecraft.server.v1_6_R1.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_6_R1.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().a(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().a(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_6_R2.AttributeInstance; import net.minecraft.server.v1_6_R2.AttributeInstance;
import net.minecraft.server.v1_6_R2.AttributeModifier; import net.minecraft.server.v1_6_R2.AttributeModifier;
import net.minecraft.server.v1_6_R2.GenericAttributes; import net.minecraft.server.v1_6_R2.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_6_R2.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_6_R3.AttributeInstance; import net.minecraft.server.v1_6_R3.AttributeInstance;
import net.minecraft.server.v1_6_R3.AttributeModifier; import net.minecraft.server.v1_6_R3.AttributeModifier;
import net.minecraft.server.v1_6_R3.GenericAttributes; import net.minecraft.server.v1_6_R3.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_6_R3.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_7_R1.AttributeInstance; import net.minecraft.server.v1_7_R1.AttributeInstance;
import net.minecraft.server.v1_7_R1.AttributeModifier; import net.minecraft.server.v1_7_R1.AttributeModifier;
import net.minecraft.server.v1_7_R1.GenericAttributes; import net.minecraft.server.v1_7_R1.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_7_R1.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_7_R2.AttributeInstance; import net.minecraft.server.v1_7_R2.AttributeInstance;
import net.minecraft.server.v1_7_R2.AttributeModifier; import net.minecraft.server.v1_7_R2.AttributeModifier;
import net.minecraft.server.v1_7_R2.GenericAttributes; import net.minecraft.server.v1_7_R2.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_7_R2.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_7_R3.AttributeInstance; import net.minecraft.server.v1_7_R3.AttributeInstance;
import net.minecraft.server.v1_7_R3.AttributeModifier; import net.minecraft.server.v1_7_R3.AttributeModifier;
import net.minecraft.server.v1_7_R3.GenericAttributes; import net.minecraft.server.v1_7_R3.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_7_R3.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_7_R4.AttributeInstance; import net.minecraft.server.v1_7_R4.AttributeInstance;
import net.minecraft.server.v1_7_R4.AttributeModifier; import net.minecraft.server.v1_7_R4.AttributeModifier;
import net.minecraft.server.v1_7_R4.GenericAttributes; import net.minecraft.server.v1_7_R4.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_7_R4.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(final Player player) { public double getSpeedAttributeMultiplier(final Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_10_R1.AttributeInstance; import net.minecraft.server.v1_10_R1.AttributeInstance;
import net.minecraft.server.v1_10_R1.AttributeModifier; import net.minecraft.server.v1_10_R1.AttributeModifier;
import net.minecraft.server.v1_10_R1.GenericAttributes; import net.minecraft.server.v1_10_R1.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_10_R1.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_8_R1.AttributeInstance; import net.minecraft.server.v1_8_R1.AttributeInstance;
import net.minecraft.server.v1_8_R1.AttributeModifier; import net.minecraft.server.v1_8_R1.AttributeModifier;
import net.minecraft.server.v1_8_R1.GenericAttributes; import net.minecraft.server.v1_8_R1.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_8_R1.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_8_R2.AttributeInstance; import net.minecraft.server.v1_8_R2.AttributeInstance;
import net.minecraft.server.v1_8_R2.AttributeModifier; import net.minecraft.server.v1_8_R2.AttributeModifier;
import net.minecraft.server.v1_8_R2.GenericAttributes; import net.minecraft.server.v1_8_R2.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_8_R2.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.d);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_8_R3.AttributeInstance; import net.minecraft.server.v1_8_R3.AttributeInstance;
import net.minecraft.server.v1_8_R3.AttributeModifier; import net.minecraft.server.v1_8_R3.AttributeModifier;
import net.minecraft.server.v1_8_R3.GenericAttributes; import net.minecraft.server.v1_8_R3.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_8_R3.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_9_R1.AttributeInstance; import net.minecraft.server.v1_9_R1.AttributeInstance;
import net.minecraft.server.v1_9_R1.AttributeModifier; import net.minecraft.server.v1_9_R1.AttributeModifier;
import net.minecraft.server.v1_9_R1.GenericAttributes; import net.minecraft.server.v1_9_R1.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_9_R1.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);

View File

@ -5,12 +5,19 @@ import org.bukkit.entity.Player;
import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess; import fr.neatmonster.nocheatplus.components.modifiers.IAttributeAccess;
import fr.neatmonster.nocheatplus.utilities.AttribUtil; import fr.neatmonster.nocheatplus.utilities.AttribUtil;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
import net.minecraft.server.v1_9_R2.AttributeInstance; import net.minecraft.server.v1_9_R2.AttributeInstance;
import net.minecraft.server.v1_9_R2.AttributeModifier; import net.minecraft.server.v1_9_R2.AttributeModifier;
import net.minecraft.server.v1_9_R2.GenericAttributes; import net.minecraft.server.v1_9_R2.GenericAttributes;
public class AttributeAccess implements IAttributeAccess { public class AttributeAccess implements IAttributeAccess {
public AttributeAccess() {
if (ReflectionUtil.getClass("net.minecraft.server.v1_9_R2.AttributeInstance") == null) {
throw new RuntimeException("Service not available.");
}
}
@Override @Override
public double getSpeedAttributeMultiplier(Player player) { public double getSpeedAttributeMultiplier(Player player) {
final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); final AttributeInstance attr = ((CraftLivingEntity) player).getHandle().getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);

View File

@ -22,7 +22,7 @@ public class AttributeAccessFactory {
} }
catch (Throwable t) {} catch (Throwable t) {}
RegistryHelper.setupGenericInstance(new String[] { RegistryHelper.setupGenericInstance(new String[] {
"fr.neatmonster.nocheatplus.compat.cbdev", "fr.neatmonster.nocheatplus.compat.cbdev.AttributeAccess",
"fr.neatmonster.nocheatplus.compat.spigotcb1_9_R2.AttributeAccess", "fr.neatmonster.nocheatplus.compat.spigotcb1_9_R2.AttributeAccess",
"fr.neatmonster.nocheatplus.compat.spigotcb1_9_R1.AttributeAccess", "fr.neatmonster.nocheatplus.compat.spigotcb1_9_R1.AttributeAccess",
"fr.neatmonster.nocheatplus.compat.spigotcb1_8_R3.AttributeAccess", "fr.neatmonster.nocheatplus.compat.spigotcb1_8_R3.AttributeAccess",