mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 23:26:45 +01:00
Fixed teleport exploit in regards to Archery bonus XP.
This commit is contained in:
parent
b11e28c880
commit
8f17ec96f0
@ -18,10 +18,21 @@ public class ArcheryManager extends SkillManager {
|
||||
|
||||
public void distanceXpBonus(LivingEntity target) {
|
||||
Player player = mcMMOPlayer.getPlayer();
|
||||
Location shooterLocation = player.getEyeLocation();
|
||||
Location shooterLocation = player.getLocation();
|
||||
Location targetLocation = target.getLocation();
|
||||
|
||||
if (!shooterLocation.getWorld().equals(targetLocation.getWorld())) {
|
||||
return;
|
||||
}
|
||||
|
||||
double squaredDistance = shooterLocation.distanceSquared(targetLocation);
|
||||
|
||||
// Cap distance at 100^2 to prevent teleport exploit.
|
||||
// TODO: Better way to handle this would be great...
|
||||
if (squaredDistance > 10000) {
|
||||
squaredDistance = 10000;
|
||||
}
|
||||
|
||||
int bonusXp = (int) (squaredDistance * Archery.distanceXpModifer);
|
||||
mcMMOPlayer.addXp(SkillType.ARCHERY, bonusXp);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user