summaryrefslogtreecommitdiffhomepage
path: root/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch')
-rw-r--r--patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch
new file mode 100644
index 0000000000..e1e7b38b6d
--- /dev/null
+++ b/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch
@@ -0,0 +1,49 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: William Blake Galbreath <[email protected]>
+Date: Fri, 7 Feb 2020 14:36:56 -0600
+Subject: [PATCH] Add option to nerf pigmen from nether portals
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
+index 8576fbaedf3076e8b492c499d4176b1116e7ef56..8bdaee1054f64fa5a0f4058ac3dc7d3626138ac4 100644
+--- a/src/main/java/net/minecraft/world/entity/Entity.java
++++ b/src/main/java/net/minecraft/world/entity/Entity.java
+@@ -386,6 +386,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
+ // Paper start
+ public long activatedImmunityTick = Integer.MIN_VALUE; // Paper
+ public boolean isTemporarilyActive = false; // Paper
++ public boolean fromNetherPortal; // Paper
+ protected int numCollisions = 0; // Paper
+ public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one
+ @javax.annotation.Nullable
+@@ -1978,6 +1979,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
+ if (spawnedViaMobSpawner) {
+ nbt.putBoolean("Paper.FromMobSpawner", true);
+ }
++ if (fromNetherPortal) {
++ nbt.putBoolean("Paper.FromNetherPortal", true);
++ }
+ // Paper end
+ return nbt;
+ } catch (Throwable throwable) {
+@@ -2119,6 +2123,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
+ }
+
+ spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
++ fromNetherPortal = nbt.getBoolean("Paper.FromNetherPortal");
+ if (nbt.contains("Paper.SpawnReason")) {
+ String spawnReasonName = nbt.getString("Paper.SpawnReason");
+ try {
+diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
+index 33078e2199c8eb0ce012a72eeb4421df12817b84..8c97cae63b4b373f1d67e797b9fe1064b5205da5 100644
+--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
++++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
+@@ -66,6 +66,8 @@ public class NetherPortalBlock extends Block {
+
+ if (entity != null) {
+ entity.setPortalCooldown();
++ entity.fromNetherPortal = true; // Paper
++ if (world.paperConfig().entities.behavior.nerfPigmenFromNetherPortals) ((net.minecraft.world.entity.Mob) entity).aware = false; // Paper
+ }
+ }
+ }