Files
Purpur/patches/server/0101-Entities-can-use-portals-configuration.patch
granny 8ea46a7e26 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@a3dfe6d Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6722)
PaperMC/Paper@fdd5c65 Fix CraftCriteria defaults map (#6723)
PaperMC/Paper@d54e8c5 Support components in command permission msgs (#6676)
PaperMC/Paper@e155002 Fix EntityPortalExitEvent not being called (#5617)
PaperMC/Paper@e4d8c47 Update adventure and fix command perm serialization NPE (#6729)
PaperMC/Paper@0cdeeef Remove unnecessary Velocity repo from server (#6730)
PaperMC/Paper@a419941 Add download link to the /version command (#6482)
PaperMC/Paper@8e661c6 Deprecate API methods added by 'Close Plugin Class Loaders on Disable' (#6737)
PaperMC/Paper@7991c4b Fix upstream block state factories (#6738)
PaperMC/Paper@bfe5622 Fix EntityPortalExitEvent target location
PaperMC/Paper@3391ccf Discard out of bounds chunks during regionfile header recalculation
PaperMC/Paper@cf4af9f Add config setting for logging player ip addresses. (#6342)
PaperMC/Paper@6dfc0f5 Add getChangedBlockData() property to BlockPhysicsEvent to expose BlockData (#6743)
PaperMC/Paper@0d1e187 Fix kicking ops when whitelist is reloaded (MC-171420) (#6742)
PaperMC/Paper@975f2e5 Filter ip address on join if setting is true (#6748)
2021-10-08 01:57:27 -07:00

49 lines
3.1 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Mon, 17 Aug 2020 19:32:05 -0500
Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d21d173ce17c7e8965c4cbce506e8c46eb21b615..e798ff01ad1cd7b94d644304d4949b0ef147dd51 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2734,7 +2734,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) {
this.setPortalCooldown();
- } else {
+ } else if (level.purpurConfig.entitiesCanUsePortals || this instanceof ServerPlayer) { // Purpur
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable();
}
@@ -3385,7 +3385,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
}
public boolean canChangeDimensions() {
- return isAlive() && valid; // Paper
+ return isAlive() && valid && (level.purpurConfig.entitiesCanUsePortals || this instanceof ServerPlayer); // Paper // Purpur
}
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 99e55295b4ad0128e427d0014b9f8fbbfa819954..058e2045b4717ab65fc14097154ee57ad461ce45 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -287,6 +287,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
+ public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
@@ -295,6 +296,7 @@ public class PurpurWorldConfig {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
+ entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);