From 4a8818c5fd4be406c59b518b86f10f39b4e6dcdd Mon Sep 17 00:00:00 2001 From: t00thpick1 Date: Wed, 2 Mar 2016 20:43:58 -0500 Subject: SPIGOT-1638 / SPIGOT-1673: Rework Potions API --- nms-patches/EntityAreaEffectCloud.patch | 25 ++++++++++++++++++++++ nms-patches/EntityPotion.patch | 7 +++++-- nms-patches/EntityTippedArrow.patch | 37 +++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 nms-patches/EntityAreaEffectCloud.patch create mode 100644 nms-patches/EntityTippedArrow.patch (limited to 'nms-patches') diff --git a/nms-patches/EntityAreaEffectCloud.patch b/nms-patches/EntityAreaEffectCloud.patch new file mode 100644 index 00000000..0be2ccd8 --- /dev/null +++ b/nms-patches/EntityAreaEffectCloud.patch @@ -0,0 +1,25 @@ +--- a/net/minecraft/server/EntityAreaEffectCloud.java ++++ b/net/minecraft/server/EntityAreaEffectCloud.java +@@ -91,6 +91,22 @@ + + } + ++ // CraftBukkit start accessor methods ++ public void refreshEffects() { ++ if (!this.au) { ++ this.getDataWatcher().set(EntityAreaEffectCloud.b, Integer.valueOf(PotionUtil.a((Collection) PotionUtil.a(this.e, (Collection) this.effects)))); // PAIL: rename ++ } ++ } ++ ++ public String getType() { ++ return ((MinecraftKey) PotionRegistry.a.b(this.e)).toString(); // PAIL: rename ++ } ++ ++ public void setType(String string) { ++ a(PotionRegistry.a.get(new MinecraftKey(string))); // PAIL: rename ++ } ++ // CraftBukkit end ++ + public int getColor() { + return ((Integer) this.getDataWatcher().get(EntityAreaEffectCloud.b)).intValue(); + } diff --git a/nms-patches/EntityPotion.patch b/nms-patches/EntityPotion.patch index b8469651..f4731684 100644 --- a/nms-patches/EntityPotion.patch +++ b/nms-patches/EntityPotion.patch @@ -101,7 +101,7 @@ } } } -@@ -138,10 +173,10 @@ +@@ -138,19 +173,20 @@ } } } @@ -115,7 +115,10 @@ } } -@@ -151,6 +186,7 @@ +- private boolean n() { ++ public boolean n() { // PAIL: rename, access + return this.getItem().getItem() == Items.LINGERING_POTION; + } private void a(BlockPosition blockposition) { if (this.world.getType(blockposition).getBlock() == Blocks.FIRE) { diff --git a/nms-patches/EntityTippedArrow.patch b/nms-patches/EntityTippedArrow.patch new file mode 100644 index 00000000..135274da --- /dev/null +++ b/nms-patches/EntityTippedArrow.patch @@ -0,0 +1,37 @@ +--- a/net/minecraft/server/EntityTippedArrow.java ++++ b/net/minecraft/server/EntityTippedArrow.java +@@ -10,7 +10,7 @@ + + private static final DataWatcherObject f = DataWatcher.a(EntityTippedArrow.class, DataWatcherRegistry.b); + private PotionRegistry g; +- private final Set h; ++ public final Set 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(); + } -- cgit v1.2.3