mirror of
https://github.com/BX-Team/DivineMC.git
synced 2026-01-06 15:41:52 +00:00
lithium patches left
This commit is contained in:
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix MC-110386
|
||||
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..51724ad62cf218531bb7e08e3055963f79f1f9c6 100644
|
||||
index 80ef4b6649da3049f21624926fa38595d76c5da5..3b7424fe3baa2d7d55d34fe7a0ebdbe11862805f 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,7 @@ public class HurtByTargetGoal extends TargetGoal {
|
||||
@@ -1,16 +1,16 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
|
||||
Date: Tue, 4 Apr 2023 22:40:31 +0300
|
||||
Date: Sat, 10 Jun 2023 13:12:59 +0300
|
||||
Subject: [PATCH] Despawn shulker bullets on owner death
|
||||
|
||||
|
||||
diff --git a/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java b/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java
|
||||
index ee19959e3401ac1e4cf859114f927d2521e48fd0..7328d7daa1e411ce492ffedc4e22162b0a4b2253 100644
|
||||
index 9eede8eb7fefc414f3a1207cd3ca2b33deb5ea13..ca344da743a7503795bdaeff0a1b14e0721f5092 100644
|
||||
--- a/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java
|
||||
+++ b/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java
|
||||
@@ -89,4 +89,9 @@ public class DivineWorldConfig {
|
||||
private void enableBetterImpaling() {
|
||||
enableBetterImpaling = getBoolean("gameplay-mechanics.tools.trident.better-impaling", enableBetterImpaling);
|
||||
@@ -84,4 +84,9 @@ public class DivineWorldConfig {
|
||||
dontEjectPlayerFromBoatUnderwater = getBoolean("gameplay-mechanics.boat.dont-eject-players-from-boat-underwater", dontEjectPlayerFromBoatUnderwater);
|
||||
alwaysAllowToEnterTheBoat = getBoolean("gameplay-mechanics.boat.always-allow-to-enter-the-boat", alwaysAllowToEnterTheBoat);
|
||||
}
|
||||
+
|
||||
+ public boolean despawnShulkerBulletsOnOwnerDeath = true;
|
||||
@@ -20,15 +20,15 @@ index ee19959e3401ac1e4cf859114f927d2521e48fd0..7328d7daa1e411ce492ffedc4e22162b
|
||||
}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
|
||||
index 113ab29ba7adbb40f61eb0cfbda23ada7ef1305d..0f2bc9f977895c5d75b8dd6f625e49472b2d3ce7 100644
|
||||
index a38c02af71e0eca2d727342b31a2118d107cfb63..aef2cd823e6672395e365673cc83d2c39819d4ae 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
|
||||
@@ -218,6 +218,17 @@ public class ShulkerBullet extends Projectile {
|
||||
Vec3 vec3d;
|
||||
|
||||
if (!this.level.isClientSide) {
|
||||
if (!this.level().isClientSide) {
|
||||
+ // DivineMC start - despawn shulker bullets on owner death
|
||||
+ if (this.level.divinemcConfig.despawnShulkerBulletsOnOwnerDeath) {
|
||||
+ if (this.level().divinemcConfig.despawnShulkerBulletsOnOwnerDeath) {
|
||||
+ if (!isInvulnerable()) {
|
||||
+ var owner = getOwner();
|
||||
+ if (owner == null || !owner.isAlive()) {
|
||||
@@ -39,5 +39,5 @@ index 113ab29ba7adbb40f61eb0cfbda23ada7ef1305d..0f2bc9f977895c5d75b8dd6f625e4947
|
||||
+ }
|
||||
+ // DivineMC end
|
||||
if (this.finalTarget == null && this.targetId != null) {
|
||||
this.finalTarget = ((ServerLevel) this.level).getEntity(this.targetId);
|
||||
this.finalTarget = ((ServerLevel) this.level()).getEntity(this.targetId);
|
||||
if (this.finalTarget == null) {
|
||||
@@ -1,25 +1,22 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
|
||||
Date: Sat, 8 Apr 2023 01:13:16 +0300
|
||||
Date: Sat, 10 Jun 2023 13:17:01 +0300
|
||||
Subject: [PATCH] Fix MC-31819
|
||||
|
||||
The food saturation value is depleted on peaceful, even though the displayed hunger bar never goes down.
|
||||
Hunger (or any related value, including saturation) should not go down on peaceful.
|
||||
Original bug on Mojira: https://bugs.mojang.com/browse/MC-31819
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 71c22dfc5d6b86b812a6b2be1cd7fe2338471734..61a69dff027875afae4d54c52a098de05e64d19a 100644
|
||||
index d00035e31cf4773a418d1cc6a6018d08e6b558f0..9f5153580f96f643240a8817a74a47b22e2a85cc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1951,6 +1951,11 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1968,6 +1968,11 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
|
||||
public void causeFoodExhaustion(float f, EntityExhaustionEvent.ExhaustionReason reason) {
|
||||
+ // DivineMC start - Fix MC-31819
|
||||
+ if (this.level.getDifficulty() == Difficulty.PEACEFUL) {
|
||||
+ if (this.level().getDifficulty() == Difficulty.PEACEFUL) {
|
||||
+ return;
|
||||
+ }
|
||||
+ // DivineMC end
|
||||
// CraftBukkit end
|
||||
if (!this.abilities.invulnerable) {
|
||||
if (!this.level.isClientSide) {
|
||||
if (!this.level().isClientSide) {
|
||||
@@ -1,16 +1,16 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
|
||||
Date: Tue, 4 Apr 2023 22:30:19 +0300
|
||||
Date: Sat, 10 Jun 2023 13:22:43 +0300
|
||||
Subject: [PATCH] Better Impaling
|
||||
|
||||
|
||||
diff --git a/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java b/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java
|
||||
index 9eede8eb7fefc414f3a1207cd3ca2b33deb5ea13..ee19959e3401ac1e4cf859114f927d2521e48fd0 100644
|
||||
index ca344da743a7503795bdaeff0a1b14e0721f5092..55e9c680e31ef8dd0ede05e8b33a705e268338bc 100644
|
||||
--- a/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java
|
||||
+++ b/src/main/java/gq/bxteam/divinemc/configuration/DivineWorldConfig.java
|
||||
@@ -84,4 +84,9 @@ public class DivineWorldConfig {
|
||||
dontEjectPlayerFromBoatUnderwater = getBoolean("gameplay-mechanics.boat.dont-eject-players-from-boat-underwater", dontEjectPlayerFromBoatUnderwater);
|
||||
alwaysAllowToEnterTheBoat = getBoolean("gameplay-mechanics.boat.always-allow-to-enter-the-boat", alwaysAllowToEnterTheBoat);
|
||||
@@ -89,4 +89,9 @@ public class DivineWorldConfig {
|
||||
private void despawnShulkerBulletsOnOwnerDeath() {
|
||||
despawnShulkerBulletsOnOwnerDeath = getBoolean("gameplay-mechanics.mob.shulker.despawn-bullets-on-player-death", despawnShulkerBulletsOnOwnerDeath);
|
||||
}
|
||||
+
|
||||
+ public boolean enableBetterImpaling = true;
|
||||
@@ -20,15 +20,15 @@ index 9eede8eb7fefc414f3a1207cd3ca2b33deb5ea13..ee19959e3401ac1e4cf859114f927d25
|
||||
}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 8e2274f7dce34e0997356205cf96e46f8d41cca1..9775895f9d3d254422645449cfca097a89c8692d 100644
|
||||
index 3162c27ee305f5280a326b953288c846d0b6cae0..73833f073e6ed25a1db6633ad82137619d265234 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1686,6 +1686,15 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1682,6 +1682,15 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
if (target instanceof LivingEntity) {
|
||||
f += EnchantmentHelper.getDamageBonus(this.getMainHandItem(), ((LivingEntity) target).getMobType());
|
||||
+ // DivineMC start - Better Impaling
|
||||
+ if (this.level.divinemcConfig.enableBetterImpaling) {
|
||||
+ if (this.level().divinemcConfig.enableBetterImpaling) {
|
||||
+ if (((LivingEntity) target).getMobType() != net.minecraft.world.entity.MobType.WATER && target.isInWaterRainOrBubble()) {
|
||||
+ int impalingLevel = EnchantmentHelper.getItemEnchantmentLevel(net.minecraft.world.item.enchantment.Enchantments.IMPALING, getMainHandItem());
|
||||
+ if (impalingLevel > 0)
|
||||
@@ -40,27 +40,26 @@ index 8e2274f7dce34e0997356205cf96e46f8d41cca1..9775895f9d3d254422645449cfca097a
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index d055cfc257cc7282170ba67c848af3e6c5f2ec1f..71c22dfc5d6b86b812a6b2be1cd7fe2338471734 100644
|
||||
index 9f5153580f96f643240a8817a74a47b22e2a85cc..8eabfbabb2b588bd6b7eed92b017b5dbb0672ce5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1295,6 +1295,15 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1295,6 +1295,14 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
if (target instanceof LivingEntity) {
|
||||
f1 = EnchantmentHelper.getDamageBonus(this.getMainHandItem(), ((LivingEntity) target).getMobType());
|
||||
+ // DivineMC start - Better Impaling
|
||||
+ if (this.level.divinemcConfig.enableBetterImpaling) {
|
||||
+ if (this.level().divinemcConfig.enableBetterImpaling) {
|
||||
+ if (((LivingEntity) target).getMobType() != MobType.WATER && target.isInWaterRainOrBubble()) {
|
||||
+ int impalingLevel = EnchantmentHelper.getItemEnchantmentLevel(net.minecraft.world.item.enchantment.Enchantments.IMPALING, getMainHandItem());
|
||||
+ if (impalingLevel > 0)
|
||||
+ f += net.minecraft.world.item.enchantment.Enchantments.IMPALING.getDamageBonus(impalingLevel, MobType.WATER);
|
||||
+ }
|
||||
+ }
|
||||
+ // DivineMC end
|
||||
} else {
|
||||
f1 = EnchantmentHelper.getDamageBonus(this.getMainHandItem(), MobType.UNDEFINED);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||
index fb10fc5a5aa3b6d6220694041778bfd39ffa1cb8..af3bb7c2dbc6d3558f064c4a8c7b202802210754 100644
|
||||
index 0ea182962d6647629fc98c9e7406f7b7ce012c5e..c7209c1decdd8a1c787b986c3db410042f0b60e1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||
@@ -134,6 +134,15 @@ public class ThrownTrident extends AbstractArrow {
|
||||
@@ -68,7 +67,7 @@ index fb10fc5a5aa3b6d6220694041778bfd39ffa1cb8..af3bb7c2dbc6d3558f064c4a8c7b2028
|
||||
|
||||
f += EnchantmentHelper.getDamageBonus(this.tridentItem, entityliving.getMobType());
|
||||
+ // DivineMC start - Better Impaling
|
||||
+ if (this.level.divinemcConfig.enableBetterImpaling) {
|
||||
+ if (this.level().divinemcConfig.enableBetterImpaling) {
|
||||
+ if (entityliving.getMobType() != net.minecraft.world.entity.MobType.WATER && entityliving.isInWaterRainOrBubble()) {
|
||||
+ int impalingLevel = EnchantmentHelper.getItemEnchantmentLevel(net.minecraft.world.item.enchantment.Enchantments.IMPALING, tridentItem);
|
||||
+ if (impalingLevel > 0)
|
||||
Reference in New Issue
Block a user