mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add boat fall damage config
This commit is contained in:
committed by
granny
parent
d2132cfbfa
commit
d139523031
@@ -1,48 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
||||||
Date: Mon, 30 Nov 2020 19:36:35 -0600
|
|
||||||
Subject: [PATCH] Add boat fall damage config
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
|
||||||
index 5d4b0f8b621f62604f098da7bf0822d25b469547..51e58f447cc07224b2d9bbeff3719a719931a40c 100644
|
|
||||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
|
||||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
|
||||||
@@ -1439,7 +1439,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
|
||||||
if (this.isInvulnerableTo(world, source)) {
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
- if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur - Minecart settings and WASD controls
|
|
||||||
+ // Purpur start - Add boat fall damage config
|
|
||||||
+ if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {
|
|
||||||
+ if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.Boat && !level().purpurConfig.boatsDoFallDamage) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Purpur end - Add boat fall damage config
|
|
||||||
Entity entity = source.getEntity();
|
|
||||||
|
|
||||||
if (entity instanceof net.minecraft.world.entity.player.Player) {
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
index 897fac3caeab051cf2634d4e8b3dca62b389acd8..3bd6931d3b19bd9687cdaee2b245cd3f2e9df0bc 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
@@ -113,6 +113,7 @@ public class PurpurWorldConfig {
|
|
||||||
|
|
||||||
public boolean useBetterMending = false;
|
|
||||||
public boolean boatEjectPlayersOnLand = false;
|
|
||||||
+ public boolean boatsDoFallDamage = false;
|
|
||||||
public boolean disableDropsOnCrammingDeath = false;
|
|
||||||
public boolean milkCuresBadOmen = true;
|
|
||||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
|
||||||
@@ -123,6 +124,7 @@ public class PurpurWorldConfig {
|
|
||||||
private void miscGameplayMechanicsSettings() {
|
|
||||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
|
||||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
|
||||||
+ boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
|
|
||||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
|
||||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
|
||||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
|
||||||
@@ -5,17 +5,21 @@ Subject: [PATCH] Minecart settings and WASD controls
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||||
index a1ebdd491e79fff8e224095ee6058cd550c009f4..764d1433c92a52cdcaf9534a22a3a23486095969 100644
|
index d6e17c816e7dc2260d95490145a1e571cdffb912..69dfdfca73206dd93b660efcb41a63dca5b7842d 100644
|
||||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -1227,6 +1227,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
@@ -1229,6 +1229,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||||
if (this.isInvulnerableTo(level, damageSource)) {
|
|
||||||
return false;
|
|
||||||
} else {
|
} else {
|
||||||
+ if (damageSource.is(net.minecraft.tags.DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur - Minecart settings and WASD controls
|
// Purpur start - Add boat fall damage config
|
||||||
Entity entity = damageSource.getEntity();
|
if (damageSource.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {
|
||||||
if (!( // Paper - split the if statement. If below statement is false, hurtServer would not have been evaluated. Return false.
|
+ // Purpur start - Minecart settings and WASD controls
|
||||||
!(entity instanceof Player player && !this.canHarmPlayer(player))
|
+ if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Minecart settings and WASD controls
|
||||||
|
if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.Boat && !level().purpurConfig.boatsDoFallDamage) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
diff --git a/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
diff --git a/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
index 9e15e7159cf98b3928110df9eae6de93793bf44e..6df4d736d94b9e49a3eb3d59a329e37127aa64cd 100644
|
index 9e15e7159cf98b3928110df9eae6de93793bf44e..6df4d736d94b9e49a3eb3d59a329e37127aa64cd 100644
|
||||||
--- a/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
--- a/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
|
|||||||
@@ -8,6 +8,20 @@
|
|||||||
|
|
||||||
// Paper start - rewrite chunk system
|
// Paper start - rewrite chunk system
|
||||||
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
|
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
|
||||||
|
@@ -1217,6 +_,13 @@
|
||||||
|
if (this.isInvulnerableTo(level, damageSource)) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
+ // Purpur start - Add boat fall damage config
|
||||||
|
+ if (damageSource.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {
|
||||||
|
+ if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.Boat && !level().purpurConfig.boatsDoFallDamage) {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Add boat fall damage config
|
||||||
|
Entity entity = damageSource.getEntity();
|
||||||
|
if (!( // Paper - split the if statement. If below statement is false, hurtServer would not have been evaluated. Return false.
|
||||||
|
!(entity instanceof Player player && !this.canHarmPlayer(player))
|
||||||
@@ -2014,6 +_,26 @@
|
@@ -2014,6 +_,26 @@
|
||||||
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ public class PurpurWorldConfig {
|
|||||||
|
|
||||||
public boolean useBetterMending = false;
|
public boolean useBetterMending = false;
|
||||||
public boolean boatEjectPlayersOnLand = false;
|
public boolean boatEjectPlayersOnLand = false;
|
||||||
|
public boolean boatsDoFallDamage = false;
|
||||||
public boolean disableDropsOnCrammingDeath = false;
|
public boolean disableDropsOnCrammingDeath = false;
|
||||||
public boolean milkCuresBadOmen = true;
|
public boolean milkCuresBadOmen = true;
|
||||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||||
@@ -114,6 +115,7 @@ public class PurpurWorldConfig {
|
|||||||
private void miscGameplayMechanicsSettings() {
|
private void miscGameplayMechanicsSettings() {
|
||||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||||
|
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
|
||||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||||
|
|||||||
Reference in New Issue
Block a user