Fixed ocelot settamed and setsitting not working. added issitting and istamed
This commit is contained in:
parent
e4d71bb6a4
commit
e221dc4757
@ -19,19 +19,39 @@ public class OcelotWatcher extends AgeableWatcher {
|
|||||||
return Ocelot.Type.getType((Byte) getValue(18, (byte) 0));
|
return Ocelot.Type.getType((Byte) getValue(18, (byte) 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isSitting() {
|
||||||
|
return isTrue(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isTamed() {
|
||||||
|
return isTrue(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isTrue(int no) {
|
||||||
|
return ((Byte) getValue(16, (byte) 0) & no) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setFlag(int no, boolean flag) {
|
||||||
|
byte b0 = (Byte) getValue(16, (byte) 0);
|
||||||
|
if (flag) {
|
||||||
|
setValue(16, (byte) (b0 | no));
|
||||||
|
} else {
|
||||||
|
setValue(16, (byte) (b0 & -(no + 1)));
|
||||||
|
}
|
||||||
|
sendData(16);
|
||||||
|
}
|
||||||
|
|
||||||
public void setOwner(String newOwner) {
|
public void setOwner(String newOwner) {
|
||||||
setValue(17, newOwner);
|
setValue(17, newOwner);
|
||||||
sendData(17);
|
sendData(17);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSitting(boolean sitting) {
|
public void setSitting(boolean sitting) {
|
||||||
setFlag(16, 1, sitting);
|
setFlag(1, sitting);
|
||||||
sendData(16);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTamed(boolean tamed) {
|
public void setTamed(boolean tamed) {
|
||||||
setFlag(16, 4, tamed);
|
setFlag(4, tamed);
|
||||||
sendData(16);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setType(Type newType) {
|
public void setType(Type newType) {
|
||||||
|
Loading…
Reference in New Issue
Block a user