Files
MiraiMC/patches/server/0053-Entities-can-use-portals-configuration.patch
2022-02-14 17:37:45 +01:00

47 lines
2.5 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
Original code by PurpurMC, licensed under MIT
You can find the original code on https://github.com/PurpurMC/Purpur
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 62e757fe84abf647c92005c16f24c94786a2229b..87c8c3aca37570b93cd8c10ef4ed7ed5cd54ccb8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2750,7 +2750,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
if (this.isOnPortalCooldown()) {
if (!(wtf.etil.mirai.MiraiConfig.playerFixStuckPortal && this instanceof Player && !pos.equals(portalPos))) // Purpur
this.setPortalCooldown();
- } else {
+ } else if (wtf.etil.mirai.MiraiConfig.entitiesCanUsePortals || this instanceof ServerPlayer) { // Purpur
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable();
portalPos = BlockPos.ZERO; // Purpur
@@ -3412,7 +3412,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
public boolean canChangeDimensions() {
- return isAlive() && valid; // Paper
+ return isAlive() && valid && (wtf.etil.mirai.MiraiConfig.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/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java
index f05dac79dc5a2bfacbe209bb36e13c4f55cac311..0e80ceca8f8188b8d0eb80e130699f6f6302a8fd 100644
--- a/src/main/java/wtf/etil/mirai/MiraiConfig.java
+++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java
@@ -225,6 +225,9 @@ public class MiraiConfig {
playerFixStuckPortal = getBoolean("player-fix-stuck-in-portal", playerFixStuckPortal);
}
-
+ public static boolean entitiesCanUsePortals = true;
+ private static void entitiesPortal() {
+ entitiesCanUsePortals = getBoolean("entities-can-use-portals", entitiesCanUsePortals);
+ }
}
\ No newline at end of file