Paper/nms-patches/EntityTippedArrow.patch

38 Zeilen
1.3 KiB
Diff

--- 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();
}