9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-22 08:19:31 +00:00

Fix MC-110386

This commit is contained in:
Martijn Muijsers
2022-12-23 15:33:21 +01:00
parent f724183584
commit e57f3e35a6
55 changed files with 66 additions and 14 deletions

View File

@@ -0,0 +1,52 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Fri, 23 Dec 2022 15:30:58 +0100
Subject: [PATCH] Fix MC-110386
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
This patch is based on the following patch:
"Fix mobs attacking themselves"
By: etil2jz <81570777+etil2jz@users.noreply.github.com>
As part of: Mirai (https://github.com/etil2jz/Mirai)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
* Mirai description *
If an entity is provoked by a second one using commands,
the second will join in the fight against itself,
causing it to attack itself repeatedly. See https://bugs.mojang.com/browse/MC-110386.
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java
index 39ea15c7577af186d93d4ad9a48034d746a86fc8..865eb39f4a1d2207c857acccc0695be92af2d6bb 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java
@@ -114,6 +114,11 @@ public class HurtByTargetGoal extends TargetGoal {
}
protected void alertOther(Mob mob, LivingEntity target) {
+ // Gale start - Mirai - fix MC-110386
+ if (mob == target && mob.level.galeConfig().gameplayMechanics.fixes.mc110386) {
+ return;
+ }
+ // Gale end - Mirai - fix MC-110386
mob.setTarget(target, org.bukkit.event.entity.EntityTargetEvent.TargetReason.TARGET_ATTACKED_NEARBY_ENTITY, true); // CraftBukkit - reason
}
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 0ae303da1858ed75cb0eb4b224a0e21fa352fc70..c1349f89da677297ca1c24e375addaed1f91953c 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -265,6 +265,11 @@ public class GaleWorldConfiguration extends ConfigurationPart {
public boolean mc121706 = false;
// Gale end - Purpur - fix MC-121706
+ // Gale start - Mirai - fix MC-110386
+ @Setting("mc-110386")
+ public boolean mc110386 = true;
+ // Gale end - Mirai - fix MC-110386
+
}
}

View File

@@ -49,7 +49,7 @@ index f80545f80948db27d1fbde77d0505c916eb504ed..2a596cc374206a85bb692f5e09ee2dd8
blockEntity.teleportCooldown = 100;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 0ae303da1858ed75cb0eb4b224a0e21fa352fc70..3b023cbd132c6aa263dbbe54ed7d30e1049d3875 100644
index c1349f89da677297ca1c24e375addaed1f91953c..1d3a49182fbd661e05e93d101a3fc723bf5e274e 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -249,6 +249,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -59,7 +59,7 @@ index 80aa539f7c6a6ee44338de084cdcdf5fb4ef996a..cb8fc8a88c14d2374a0bbe35aa1c2056
return EatBlockGoal.IS_TALL_GRASS.test(this.level.getBlockState(blockposition)) ? true : this.level.getBlockState(blockposition.below()).is(Blocks.GRASS_BLOCK);
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 3b023cbd132c6aa263dbbe54ed7d30e1049d3875..9470f4fcca253e722c4120fbab12da3959de60ab 100644
index 1d3a49182fbd661e05e93d101a3fc723bf5e274e..3a3c9d900374c6dc069bee8e782dd231f5f2bfc3 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -244,6 +244,8 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -55,7 +55,7 @@ index e7ef36dac559d03d127cf45373a7e0dc935b80a8..80b3f0a4ab3e57674a709ee9765df971
@Override
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 9470f4fcca253e722c4120fbab12da3959de60ab..201f30774536966bda6f79b4db2fba6352829e10 100644
index 3a3c9d900374c6dc069bee8e782dd231f5f2bfc3..b26f8204494271b8eae627533a7e6bd883db614c 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -245,6 +245,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -13,7 +13,7 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4b64c6009d93b034b16b67d743050d2a634db6ff..660e8d27bb8733f01d7e60b841877ee14579ede4 100644
index 792d0724893a0ecc656408e6398b996e1d300f41..fa6bcab86726a874a2f3f565afc8364b51d876fc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -290,7 +290,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -13,7 +13,7 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric)
Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 6ad1e6c4a20bec34b56276736ee616b5dcff0354..75ae119719cf566f66371606e70f19b6b36dc7cb 100644
index c60cabeff2058663ba05d6c41ff80756b43355a4..7a228425a973122de3d0b0e78d18586d6669e9ed 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -572,11 +572,10 @@ public abstract class LivingEntity extends Entity {

View File

@@ -320,7 +320,7 @@ index acae3eb30e0689048937f479dc3070f0688abdad..4b79f0474a9013dd4fdb68c6363ca194
int onResize(int newBits, T object);
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
index 7908360dd47937b2cb702e381802b7b278a5198e..1da043e5883dcde484fbbaab11dda3ec4a6e2481 100644
index 3c7ef1e8e338a84eee34f39ce73e64876632ea87..5eee4afb7bac7937155c979759bbc991f92c61fd 100644
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
@@ -22,8 +22,25 @@ import net.minecraft.util.Mth;

View File

@@ -13,7 +13,7 @@ As part of: Slice (https://github.com/Cryptite/Slice)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 75ae119719cf566f66371606e70f19b6b36dc7cb..88bfda2090a1f8c9368f5d6f98374d045c045150 100644
index 7a228425a973122de3d0b0e78d18586d6669e9ed..c6488bf509178c54ac95665f96a11cfced87cd34 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3148,7 +3148,7 @@ public abstract class LivingEntity extends Entity {
@@ -53,7 +53,7 @@ index 8fd080110ed4efaf6cb3a2561b32ed66ff8c78f0..b1a01ef0090718923aff4365d8e93c77
return stack.is(otherStack.getItem()) && ItemStack.tagMatches(stack, otherStack);
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 201f30774536966bda6f79b4db2fba6352829e10..dcbda08a6246b21b370a9005ed095d4413be6a81 100644
index b26f8204494271b8eae627533a7e6bd883db614c..7b99d605267dfd24f875fbf929b2a97728d16976 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -33,6 +33,8 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -13,7 +13,7 @@ As part of: Slice (https://github.com/Cryptite/Slice)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7841fd24b2f4e4310a6d34660e7c7cd265af835e..a5e2b9862358362f0c67683b0266ab846cab1fcf 100644
index 92c9ccf9a05fe54b5c7e5a72da5498115a6d5bd9..d05e5b9b4dec0779489856dab5e50b53ff698c38 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -868,7 +868,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -31,7 +31,7 @@ index 7841fd24b2f4e4310a6d34660e7c7cd265af835e..a5e2b9862358362f0c67683b0266ab84
this.firstTick = false;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index dcbda08a6246b21b370a9005ed095d4413be6a81..3c8f498ed1f730cc53fd395839f58ac4bd916265 100644
index 7b99d605267dfd24f875fbf929b2a97728d16976..045d6874b30a6ab2082f379415b9c3b3f80af000 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -248,6 +248,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -13,7 +13,7 @@ As part of: Mirai (https://github.com/etil2jz/Mirai)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java
index 2c01231dcfbb992c9d2f034fcfd4af52fe8ac265..b84c69e722ae120c38c3b7c4cc7c5584496f13ab 100644
index dd4409790524293be07483f00df05d8a8743e3d9..8fbed180d3f6207cdda70ca6c82dcc9c20741836 100644
--- a/src/main/java/net/minecraft/advancements/Advancement.java
+++ b/src/main/java/net/minecraft/advancements/Advancement.java
@@ -45,7 +45,7 @@ public class Advancement {

View File

@@ -36,7 +36,7 @@ index 216929c838446c3c14d9b9906ffa625ef35fcbc8..29c7f53a4fa88a77c4076a6294e689e4
} else {
this.wantedX = vec3.x;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 3c8f498ed1f730cc53fd395839f58ac4bd916265..92c6883c86fcfae34a57feb15e3a401f2bddc36a 100644
index 045d6874b30a6ab2082f379415b9c3b3f80af000..f254520946720d740fd2f846890d6d6425ca064e 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -247,6 +247,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -16,7 +16,7 @@ As part of: Akarin (https://github.com/Akarin-project/Akarin)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a5e2b9862358362f0c67683b0266ab846cab1fcf..83f48e8e9c48b67ac7aa0c790cdf1c43391cabe7 100644
index d05e5b9b4dec0779489856dab5e50b53ff698c38..7a2c57900d6d651bc9e05073fffe1476f6032e80 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1983,8 +1983,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 83f48e8e9c48b67ac7aa0c790cdf1c43391cabe7..5adb379fdb4bae14b143b5fd9adfe983b3e75419 100644
index 7a2c57900d6d651bc9e05073fffe1476f6032e80..5f1cea3088cb48804c46d7aadf347a8481470933 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1187,9 +1187,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {