13
0
geforkt von Mirrors/Paper

SPIGOT-974: Add ArmorStand locking API

Dieser Commit ist enthalten in:
Martoph 2020-08-23 09:53:19 +10:00 committet von md_5
Ursprung 7d8884b263
Commit 850e7b1400
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: E8E901AC7C617C11
2 geänderte Dateien mit 26 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -16,6 +16,15 @@
public class EntityArmorStand extends EntityLiving { public class EntityArmorStand extends EntityLiving {
private static final Vector3f bj = new Vector3f(0.0F, 0.0F, 0.0F); private static final Vector3f bj = new Vector3f(0.0F, 0.0F, 0.0F);
@@ -29,7 +38,7 @@
private final NonNullList<ItemStack> armorItems;
private boolean armorStandInvisible;
public long bi;
- private int bv;
+ public int bv; //PAIL private -> public, rename disabledSlots
public Vector3f headPose;
public Vector3f bodyPose;
public Vector3f leftArmPose;
@@ -55,6 +64,13 @@ @@ -55,6 +64,13 @@
this.setPosition(d0, d1, d2); this.setPosition(d0, d1, d2);
} }

Datei anzeigen

@ -2,9 +2,11 @@ package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityArmorStand; import net.minecraft.server.EntityArmorStand;
import net.minecraft.server.Vector3f; import net.minecraft.server.Vector3f;
import org.bukkit.craftbukkit.CraftEquipmentSlot;
import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.ArmorStand; import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.util.EulerAngle; import org.bukkit.util.EulerAngle;
@ -211,4 +213,19 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {
public void setMarker(boolean marker) { public void setMarker(boolean marker) {
getHandle().setMarker(marker); getHandle().setMarker(marker);
} }
@Override
public void addEquipmentLock(EquipmentSlot equipmentSlot, LockType lockType) {
getHandle().bv |= (1 << CraftEquipmentSlot.getNMS(equipmentSlot).c() + lockType.ordinal() * 8); // PAIL c() rename getSlotFlag()
}
@Override
public void removeEquipmentLock(EquipmentSlot equipmentSlot, LockType lockType) {
getHandle().bv &= ~(1 << CraftEquipmentSlot.getNMS(equipmentSlot).c() + lockType.ordinal() * 8);
}
@Override
public boolean hasEquipmentLock(EquipmentSlot equipmentSlot, LockType lockType) {
return (getHandle().bv & (1 << CraftEquipmentSlot.getNMS(equipmentSlot).c() + lockType.ordinal() * 8)) != 0;
}
} }