Add tameable options to older ocelot disguise
This commit is contained in:
parent
e541da2a6d
commit
fc78734fd5
@ -7,6 +7,9 @@ import me.libraryaddict.disguise.utilities.reflection.NmsRemovedIn;
|
||||
import me.libraryaddict.disguise.utilities.reflection.NmsVersion;
|
||||
import org.bukkit.entity.Ocelot;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
public class OcelotWatcher extends AgeableWatcher {
|
||||
|
||||
public OcelotWatcher(Disguise disguise) {
|
||||
@ -36,4 +39,53 @@ public class OcelotWatcher extends AgeableWatcher {
|
||||
setData(MetaIndex.OCELOT_TYPE, newType.getId());
|
||||
sendData(MetaIndex.OCELOT_TYPE);
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
public Optional<UUID> getOwner() {
|
||||
return getData(MetaIndex.TAMEABLE_OWNER);
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
public void setOwner(UUID owner) {
|
||||
setData(MetaIndex.TAMEABLE_OWNER, Optional.of(owner));
|
||||
sendData(MetaIndex.TAMEABLE_OWNER);
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
public boolean isSitting() {
|
||||
return isTameableFlag(1);
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
public void setSitting(boolean sitting) {
|
||||
setTameableFlag(1, sitting);
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
public boolean isTamed() {
|
||||
return isTameableFlag(4);
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
public void setTamed(boolean tamed) {
|
||||
setTameableFlag(4, tamed);
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
protected boolean isTameableFlag(int no) {
|
||||
return (getData(MetaIndex.TAMEABLE_META) & no) != 0;
|
||||
}
|
||||
|
||||
@NmsRemovedIn(val = NmsVersion.v1_14)
|
||||
protected void setTameableFlag(int no, boolean flag) {
|
||||
byte value = getData(MetaIndex.TAMEABLE_META);
|
||||
|
||||
if (flag) {
|
||||
setData(MetaIndex.TAMEABLE_META, (byte) (value | no));
|
||||
} else {
|
||||
setData(MetaIndex.TAMEABLE_META, (byte) (value & -(no + 1)));
|
||||
}
|
||||
|
||||
sendData(MetaIndex.TAMEABLE_META);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user