|
| 1 | +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| 2 | +From: Jake Potrebic <jake.m.potrebic@gmail.com> |
| 3 | +Date: Sun, 24 Oct 2021 20:29:45 -0700 |
| 4 | +Subject: [PATCH] Fix issues with mob conversion |
| 5 | + |
| 6 | + |
| 7 | +diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java |
| 8 | +index 116709ba2b298268ac806e6e45f2e910ca600706..1eeaf0cc9b00afd54f38f9cb50404ec9f9ba51f8 100644 |
| 9 | +--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java |
| 10 | ++++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java |
| 11 | +@@ -86,10 +86,15 @@ public class Skeleton extends AbstractSkeleton { |
| 12 | + } |
| 13 | + |
| 14 | + protected void doFreezeConversion() { |
| 15 | +- this.convertTo(EntityType.STRAY, true, org.bukkit.event.entity.EntityTransformEvent.TransformReason.FROZEN, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.FROZEN); // CraftBukkit - add spawn and transform reasons |
| 16 | +- if (!this.isSilent()) { |
| 17 | ++ Stray stray = this.convertTo(EntityType.STRAY, true, org.bukkit.event.entity.EntityTransformEvent.TransformReason.FROZEN, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.FROZEN); // CraftBukkit - add spawn and transform reasons // Paper - track result of conversion |
| 18 | ++ if (stray != null && !this.isSilent()) { // Paper - only send event if conversion succeeded |
| 19 | + this.level.levelEvent((Player) null, 1048, this.blockPosition(), 0); |
| 20 | + } |
| 21 | ++ // Paper start - reset conversion time to prevent event spam |
| 22 | ++ if (stray == null) { |
| 23 | ++ this.conversionTime = 300; |
| 24 | ++ } |
| 25 | ++ // Paper end |
| 26 | + |
| 27 | + } |
| 28 | + |
| 29 | +diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/AbstractPiglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/AbstractPiglin.java |
| 30 | +index cbf181b30bae134150933c721f22161e3e9ffca3..12a1cb536d5cb109cac75636369ed1b2bfa3a0a4 100644 |
| 31 | +--- a/src/main/java/net/minecraft/world/entity/monster/piglin/AbstractPiglin.java |
| 32 | ++++ b/src/main/java/net/minecraft/world/entity/monster/piglin/AbstractPiglin.java |
| 33 | +@@ -105,6 +105,11 @@ public abstract class AbstractPiglin extends Monster { |
| 34 | + if (entitypigzombie != null) { |
| 35 | + entitypigzombie.addEffect(new MobEffectInstance(MobEffects.CONFUSION, 200, 0)); |
| 36 | + } |
| 37 | ++ // Paper start - reset to prevent event spam |
| 38 | ++ else { |
| 39 | ++ this.timeInOverworld = 0; |
| 40 | ++ } |
| 41 | ++ // Paper end |
| 42 | + |
| 43 | + } |
| 44 | + |
| 45 | +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java |
| 46 | +index 61e2841fea6603e3e5fbd004de7ffdfb79fc9981..4a873a278a4dc76d868d789574a7890bf53832d7 100644 |
| 47 | +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java |
| 48 | ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java |
| 49 | +@@ -28,7 +28,7 @@ public class CraftSkeleton extends CraftAbstractSkeleton implements Skeleton { |
| 50 | + this.getHandle().conversionTime = -1; |
| 51 | + this.getHandle().getEntityData().set(net.minecraft.world.entity.monster.Skeleton.DATA_STRAY_CONVERSION_ID, false); |
| 52 | + } else { |
| 53 | +- this.getHandle().getSwimAmount(time); // PAIL rename startStrayConversion |
| 54 | ++ this.getHandle().startFreezeConversion(time); // PAIL rename startStrayConversion // Paper - nope, that's not the right method |
| 55 | + } |
| 56 | + } |
| 57 | + |
0 commit comments