--- a/net/minecraft/server/EntityTippedArrow.java +++ b/net/minecraft/server/EntityTippedArrow.java @@ -10,7 +10,7 @@ private static final DataWatcherObject<Integer> f = DataWatcher.a(EntityTippedArrow.class, DataWatcherRegistry.b); private PotionRegistry g; - private final Set<MobEffect> h; + public final Set<MobEffect> h; // CraftBukkit private -> public public EntityTippedArrow(World world) { super(world); @@ -98,6 +98,25 @@ } } + // CraftBukkit start accessor methods + public void refreshEffects() { + this.getDataWatcher().set(EntityTippedArrow.f, Integer.valueOf(PotionUtil.a((Collection) PotionUtil.a(this.g, (Collection) this.h)))); // PAIL: rename + } + + public String getType() { + return ((MinecraftKey) PotionRegistry.a.b(this.g)).toString(); + } + + public void setType(String string) { + this.g = PotionRegistry.a.get(new MinecraftKey(string)); + this.datawatcher.set(EntityTippedArrow.f, Integer.valueOf(PotionUtil.a((Collection) PotionUtil.a(this.g, (Collection) this.h)))); // PAIL: rename + } + + public boolean isTipped() { + return !(this.h.isEmpty() && this.g == Potions.a); // PAIL: rename + } + // CraftBukkit end + public int n() { return ((Integer) this.datawatcher.get(EntityTippedArrow.f)).intValue(); }