下面列出了怎么用org.bukkit.entity.Rabbit的API类实例代码及写法,或者点击链接到github查看源代码。
private static Rabbit.Type typeFromInt(int i){
switch(i){
case 1:
return Rabbit.Type.BLACK;
case 2:
return Rabbit.Type.BLACK_AND_WHITE;
case 3:
return Rabbit.Type.BROWN;
case 4:
return Rabbit.Type.GOLD;
case 5:
return Rabbit.Type.SALT_AND_PEPPER;
case 6:
return Rabbit.Type.THE_KILLER_BUNNY;
case 7:
return Rabbit.Type.WHITE;
default:
break;
}
return Rabbit.Type.BLACK;
}
private static int intFromType(Rabbit.Type type){
int i = 0;
switch(type){
case BLACK:
i = 1;
break;
case BLACK_AND_WHITE:
i = 2;
break;
case BROWN:
i = 3;
break;
case GOLD:
i = 4;
break;
case SALT_AND_PEPPER:
i = 5;
break;
case THE_KILLER_BUNNY:
i = 6;
break;
case WHITE:
i = 7;
break;
default:
break;
}
return i;
}
protected static Rabbit.Type fromMagic(int magicValue) {
if (magicValue < INVERSE.length) {
return INVERSE[magicValue];
} else if (magicValue == 99) {
return Rabbit.Type.THE_KILLER_BUNNY;
}
// a default
return Rabbit.Type.BROWN;
}
protected static Rabbit.Type fromMagic(int magicValue) {
if (magicValue < INVERSE.length) {
return INVERSE[magicValue];
} else if (magicValue == 99) {
return Rabbit.Type.THE_KILLER_BUNNY;
}
// a default
return Rabbit.Type.BROWN;
}
protected static Rabbit.Type fromMagic(int magicValue) {
if (magicValue < INVERSE.length) {
return INVERSE[magicValue];
} else if (magicValue == 99) {
return Rabbit.Type.THE_KILLER_BUNNY;
}
// a default
return Rabbit.Type.BROWN;
}
@SuppressWarnings("null")
@Override
protected boolean init(Class<? extends Rabbit> c, Rabbit rabbit) {
type = (rabbit == null) ? 0 : intFromType(rabbit.getRabbitType());
return true;
}
@Override
public void set(Rabbit entity) {
if (type != 0)
entity.setRabbitType(typeFromInt(type));
}
@SuppressWarnings("null")
@Override
protected boolean match(Rabbit entity) {
return type == 0 || intFromType(entity.getRabbitType()) == type;
}
@Override
public Class<? extends Rabbit> getType() {
return Rabbit.class;
}
@Override
public void setRabbitType(Rabbit.Type type) {
((IEntityRabbitPet) getEntityPet()).setType(type);
}
@Override
public Rabbit.Type getRabbitType() {
return ((IEntityRabbitPet) getEntityPet()).getType();
}
@Override
public Rabbit.Type getType() {
return getBukkitEntity().getRabbitType();
}
@Override
public void setType(Rabbit.Type type) {
getBukkitEntity().setRabbitType(type);
}
@Override
public Rabbit getBukkitEntity() {
return (Rabbit) super.getBukkitEntity();
}
@Override
public Rabbit.Type getRabbitType() {
return TypeMapping.fromMagic(this.datawatcher.getByte(18));
}
@Override
public void setRabbitType(Rabbit.Type type) {
this.datawatcher.watch(18, Byte.valueOf((byte) TypeMapping.toMagic(type)));
}
private static void set(Rabbit.Type type, int magicValue) {
NMS_TYPES[type.ordinal()] = magicValue;
if (magicValue < INVERSE.length) {
INVERSE[magicValue] = type;
}
}
protected static int toMagic(Rabbit.Type type) {
return NMS_TYPES[type.ordinal()];
}
@Override
public void setRabbitType(Rabbit.Type type) {
((IEntityRabbitPet) getEntityPet()).setRabbitType(type);
}
@Override
public Rabbit.Type getRabbitType() {
return ((IEntityRabbitPet) getEntityPet()).getRabbitType();
}
@Override
public Rabbit.Type getRabbitType() {
return TypeMapping.fromMagic(this.datawatcher.getByte(18));
}
@Override
public void setRabbitType(Rabbit.Type type) {
this.datawatcher.watch(18, Byte.valueOf((byte) TypeMapping.toMagic(type)));
}
private static void set(Rabbit.Type type, int magicValue) {
NMS_TYPES[type.ordinal()] = magicValue;
if (magicValue < INVERSE.length) {
INVERSE[magicValue] = type;
}
}
protected static int toMagic(Rabbit.Type type) {
return NMS_TYPES[type.ordinal()];
}
@Override
public Rabbit.Type getRabbitType() {
return TypeMapping.fromMagic(this.datawatcher.getByte(18));
}
@Override
public void setRabbitType(Rabbit.Type type) {
this.datawatcher.watch(18, Byte.valueOf((byte) TypeMapping.toMagic(type)));
}
private static void set(Rabbit.Type type, int magicValue) {
NMS_TYPES[type.ordinal()] = magicValue;
if (magicValue < INVERSE.length) {
INVERSE[magicValue] = type;
}
}
protected static int toMagic(Rabbit.Type type) {
return NMS_TYPES[type.ordinal()];
}
void setRabbitType(Rabbit.Type type);
Rabbit.Type getRabbitType();