2016-03-03 02:43:58 +01:00
|
|
|
--- a/net/minecraft/server/EntityTippedArrow.java
|
|
|
|
+++ b/net/minecraft/server/EntityTippedArrow.java
|
2017-05-14 04:00:00 +02:00
|
|
|
@@ -116,6 +116,25 @@
|
2016-03-03 02:43:58 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
+ // CraftBukkit start accessor methods
|
|
|
|
+ public void refreshEffects() {
|
2018-08-26 04:00:00 +02:00
|
|
|
+ this.getDataWatcher().set(EntityTippedArrow.g, Integer.valueOf(PotionUtil.a((Collection) PotionUtil.a(this.potionRegistry, (Collection) this.effects))));
|
2016-03-03 02:43:58 +01:00
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public String getType() {
|
2018-08-26 04:00:00 +02:00
|
|
|
+ return IRegistry.POTION.getKey(this.potionRegistry).toString();
|
2016-03-03 02:43:58 +01:00
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setType(String string) {
|
2018-08-26 04:00:00 +02:00
|
|
|
+ this.potionRegistry = IRegistry.POTION.get(new MinecraftKey(string));
|
|
|
|
+ this.datawatcher.set(EntityTippedArrow.g, Integer.valueOf(PotionUtil.a((Collection) PotionUtil.a(this.potionRegistry, (Collection) this.effects))));
|
2016-03-03 02:43:58 +01:00
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isTipped() {
|
2016-11-17 02:41:03 +01:00
|
|
|
+ return !(this.effects.isEmpty() && this.potionRegistry == Potions.EMPTY);
|
2016-03-03 02:43:58 +01:00
|
|
|
+ }
|
|
|
|
+ // CraftBukkit end
|
|
|
|
+
|
2017-05-14 04:00:00 +02:00
|
|
|
public int getColor() {
|
2018-08-26 04:00:00 +02:00
|
|
|
return ((Integer) this.datawatcher.get(EntityTippedArrow.g)).intValue();
|
2016-03-03 02:43:58 +01:00
|
|
|
}
|
2018-07-20 08:04:37 +02:00
|
|
|
@@ -180,7 +199,7 @@
|
|
|
|
|
|
|
|
while (iterator.hasNext()) {
|
|
|
|
mobeffect = (MobEffect) iterator.next();
|
|
|
|
- entityliving.addEffect(new MobEffect(mobeffect.getMobEffect(), Math.max(mobeffect.getDuration() / 8, 1), mobeffect.getAmplifier(), mobeffect.isAmbient(), mobeffect.isShowParticles()));
|
|
|
|
+ entityliving.addEffect(new MobEffect(mobeffect.getMobEffect(), Math.max(mobeffect.getDuration() / 8, 1), mobeffect.getAmplifier(), mobeffect.isAmbient(), mobeffect.isShowParticles()), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ARROW); // CraftBukkit
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!this.effects.isEmpty()) {
|
|
|
|
@@ -188,7 +207,7 @@
|
|
|
|
|
|
|
|
while (iterator.hasNext()) {
|
|
|
|
mobeffect = (MobEffect) iterator.next();
|
|
|
|
- entityliving.addEffect(mobeffect);
|
|
|
|
+ entityliving.addEffect(mobeffect, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ARROW); // CraftBukkit
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|