mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-09-29 23:17:41 +02:00
[BLEEDING] Guards for activation of IAtributeAccess implementations.
This commit is contained in:
parent
765383834b
commit
f18e7e46d1
@ -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:
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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",
|
||||||
|
Loading…
Reference in New Issue
Block a user