mirror of
https://github.com/webbukkit/dynmap.git
synced 2024-11-23 18:55:14 +01:00
Update minimum spigot api, improve armor points counting
This commit is contained in:
parent
f89777a0dd
commit
0eb2dffac2
@ -11,6 +11,6 @@ description = 'bukkit-helper'
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':dynmap-api')
|
implementation project(':dynmap-api')
|
||||||
implementation project(path: ':DynmapCore', configuration: 'shadow')
|
implementation project(path: ':DynmapCore', configuration: 'shadow')
|
||||||
implementation group: 'org.bukkit', name: 'bukkit', version:'1.7.10-R0.1-SNAPSHOT'
|
implementation group: 'org.bukkit', name: 'bukkit', version:'1.10.2-R0.1-SNAPSHOT'
|
||||||
implementation group: 'com.google.code.gson', name: 'gson', version:'2.8.9'
|
implementation group: 'com.google.code.gson', name: 'gson', version:'2.8.9'
|
||||||
}
|
}
|
||||||
|
@ -17,12 +17,12 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation group: 'org.bukkit', name: 'bukkit', version: '1.7.10-R0.1-SNAPSHOT'
|
implementation group: 'org.bukkit', name: 'bukkit', version: '1.10.2-R0.1-SNAPSHOT'
|
||||||
implementation 'com.nijikokun.bukkit:Permissions:3.1.6'
|
implementation 'com.nijikokun.bukkit:Permissions:3.1.6'
|
||||||
implementation 'me.lucko.luckperms:luckperms-api:4.3'
|
implementation 'me.lucko.luckperms:luckperms-api:4.3'
|
||||||
implementation 'net.luckperms:api:5.0'
|
implementation 'net.luckperms:api:5.0'
|
||||||
implementation('com.github.MilkBowl:VaultAPI:1.7') { transitive = false }
|
implementation('com.github.MilkBowl:VaultAPI:1.7') { transitive = false }
|
||||||
compileOnly 'net.skinsrestorer:skinsrestorer-api:14.1.+'
|
compileOnly 'net.skinsrestorer:skinsrestorer-api:14.2.+'
|
||||||
implementation project(":dynmap-api")
|
implementation project(":dynmap-api")
|
||||||
implementation project(path: ":DynmapCore", configuration: "shadow")
|
implementation project(path: ":DynmapCore", configuration: "shadow")
|
||||||
implementation group: 'ru.tehkode', name: 'PermissionsEx', version: '1.19.1'
|
implementation group: 'ru.tehkode', name: 'PermissionsEx', version: '1.19.1'
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
package org.dynmap.bukkit;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.PlayerInventory;
|
|
||||||
|
|
||||||
public class Armor {
|
|
||||||
/**
|
|
||||||
* http://www.minecraftwiki.net/wiki/Item_Durability#Armor_durability
|
|
||||||
* We rely on getArmorContents() to return 4 armor pieces in the order
|
|
||||||
* of: boots, pants, chest, helmet
|
|
||||||
*/
|
|
||||||
private static final int armorPoints[] = {3, 6, 8, 3};
|
|
||||||
|
|
||||||
public static final int getArmorPoints(Player player) {
|
|
||||||
int currentDurability = 0;
|
|
||||||
int baseDurability = 0;
|
|
||||||
int baseArmorPoints = 0;
|
|
||||||
ItemStack[] itm = new ItemStack[4];
|
|
||||||
PlayerInventory inv = player.getInventory();
|
|
||||||
itm[0] = inv.getBoots();
|
|
||||||
itm[1]= inv.getLeggings();
|
|
||||||
itm[2] = inv.getChestplate();
|
|
||||||
itm[3] = inv.getHelmet();
|
|
||||||
for(int i = 0; i < 4; i++) {
|
|
||||||
if(itm[i] == null) continue;
|
|
||||||
int dur = itm[i].getDurability();
|
|
||||||
int max = itm[i].getType().getMaxDurability();
|
|
||||||
if(max <= 0) continue;
|
|
||||||
if(i == 2)
|
|
||||||
max = max + 1; /* Always 1 too low for chestplate */
|
|
||||||
else
|
|
||||||
max = max - 3; /* Always 3 too high, versus how client calculates it */
|
|
||||||
baseDurability += max;
|
|
||||||
currentDurability += max - dur;
|
|
||||||
baseArmorPoints += armorPoints[i];
|
|
||||||
}
|
|
||||||
int ap = 0;
|
|
||||||
if(baseDurability > 0)
|
|
||||||
ap = ((baseArmorPoints - 1) * currentDurability) / baseDurability + 1;
|
|
||||||
return ap;
|
|
||||||
}
|
|
||||||
}
|
|
@ -30,6 +30,7 @@ import org.bukkit.Location;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.attribute.Attribute;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
@ -728,7 +729,7 @@ public class DynmapPlugin extends JavaPlugin implements DynmapAPI {
|
|||||||
@Override
|
@Override
|
||||||
public int getArmorPoints() {
|
public int getArmorPoints() {
|
||||||
if(player != null)
|
if(player != null)
|
||||||
return Armor.getArmorPoints(player);
|
return (int) player.getAttribute(Attribute.GENERIC_ARMOR).getValue();
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user