Add the ability to get and set the blocks in a minecart. As well as their Y offself
This commit is contained in:
parent
30754429a9
commit
62286cc5a0
@ -1,5 +1,7 @@
|
||||
package me.libraryaddict.disguise.disguisetypes.watchers;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.libraryaddict.disguise.disguisetypes.Disguise;
|
||||
import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
|
||||
|
||||
@ -9,13 +11,44 @@ public class MinecartWatcher extends FlagWatcher {
|
||||
super(disguise);
|
||||
}
|
||||
|
||||
public ItemStack getBlockInCart() {
|
||||
int id = (Integer) getValue(20, 0) & '\uffff';
|
||||
int data = (Integer) getValue(20, 0) >> 16;
|
||||
return new ItemStack(id, 1, (short) data);
|
||||
}
|
||||
|
||||
public int getBlockOffSet() {
|
||||
return (Integer) getValue(21, 0);
|
||||
}
|
||||
|
||||
public float getDamage() {
|
||||
return (Float) getValue(19, 0F);
|
||||
}
|
||||
|
||||
public boolean getViewBlockInCart() {
|
||||
return ((Byte) getValue(22, (byte) 0)) == (byte) 1;
|
||||
}
|
||||
|
||||
public void setBlockInCart(ItemStack item) {
|
||||
int id = item.getTypeId();
|
||||
int data = item.getDurability();
|
||||
setValue(20, (int) (id & '\uffff' | data << 16));
|
||||
sendData(20);
|
||||
setViewBlockInCart(true);
|
||||
}
|
||||
|
||||
public void setBlockOffSet(int i) {
|
||||
setValue(21, i);
|
||||
sendData(21);
|
||||
}
|
||||
|
||||
public void setDamage(float damage) {
|
||||
setValue(19, damage);
|
||||
sendData(19);
|
||||
}
|
||||
|
||||
public void setViewBlockInCart(boolean custom) {
|
||||
setValue(22, (byte) (custom ? 1 : 0));
|
||||
sendData(22);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user