2016-05-17 10:07:12 +08:00
|
|
|
From c5ca014520533f97fea98525454b2ef371d0e83a Mon Sep 17 00:00:00 2001
|
2016-03-01 07:09:49 +08:00
|
|
|
From: gsand <gsandowns@gmail.com>
|
|
|
|
Date: Tue, 1 Mar 2016 13:43:16 -0600
|
|
|
|
Subject: [PATCH] Player Exhaustion Multipliers
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
2016-05-17 10:07:12 +08:00
|
|
|
index a44bbed..b1d712f 100644
|
2016-03-01 07:09:49 +08:00
|
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
2016-05-17 10:07:12 +08:00
|
|
|
@@ -105,4 +105,13 @@ public class PaperWorldConfig {
|
2016-03-19 10:10:20 +08:00
|
|
|
private void nerfedMobsShouldJump() {
|
|
|
|
nerfedMobsShouldJump = getBoolean("spawner-nerfed-mobs-should-jump", false);
|
2016-03-01 07:09:49 +08:00
|
|
|
}
|
|
|
|
+
|
|
|
|
+ public float blockBreakExhaustion;
|
|
|
|
+ public float playerSwimmingExhaustion;
|
|
|
|
+ public void exhaustionValues() {
|
|
|
|
+ blockBreakExhaustion = getFloat("player-exhaustion.block-break", 0.025F);
|
|
|
|
+ playerSwimmingExhaustion = getFloat("player-exhaustion.swimming", 0.015F);
|
|
|
|
+ log("Player exhaustion penalty for breaking blocks is " + blockBreakExhaustion);
|
|
|
|
+ log("Player exhaustion penalty for swimming is " + playerSwimmingExhaustion);
|
|
|
|
+ }
|
|
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
2016-05-12 10:07:46 +08:00
|
|
|
index 3212255..3d6f803 100644
|
2016-03-01 07:09:49 +08:00
|
|
|
--- a/src/main/java/net/minecraft/server/Block.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/Block.java
|
2016-05-12 10:07:46 +08:00
|
|
|
@@ -450,7 +450,7 @@ public class Block {
|
2016-03-01 07:09:49 +08:00
|
|
|
|
2016-05-12 10:07:46 +08:00
|
|
|
public void a(World world, EntityHuman entityhuman, BlockPosition blockposition, IBlockData iblockdata, @Nullable TileEntity tileentity, @Nullable ItemStack itemstack) {
|
2016-03-01 07:09:49 +08:00
|
|
|
entityhuman.b(StatisticList.a(this));
|
|
|
|
- entityhuman.applyExhaustion(0.025F);
|
|
|
|
+ entityhuman.applyExhaustion(world.paperConfig.blockBreakExhaustion); // Paper - Configurable block break exhaustion
|
|
|
|
if (this.o() && EnchantmentManager.getEnchantmentLevel(Enchantments.SILK_TOUCH, itemstack) > 0) {
|
|
|
|
ItemStack itemstack1 = this.u(iblockdata);
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
2016-05-12 10:07:46 +08:00
|
|
|
index 6a8f499..3e1a84e 100644
|
2016-03-01 07:09:49 +08:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
2016-05-12 10:07:46 +08:00
|
|
|
@@ -1455,13 +1455,13 @@ public abstract class EntityHuman extends EntityLiving {
|
2016-03-01 07:09:49 +08:00
|
|
|
i = Math.round(MathHelper.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
|
|
|
|
if (i > 0) {
|
|
|
|
this.a(StatisticList.q, i);
|
|
|
|
- this.applyExhaustion(0.015F * (float) i * 0.01F);
|
|
|
|
+ this.applyExhaustion(world.paperConfig.playerSwimmingExhaustion); // Paper - Configurable swimming exhaustion
|
|
|
|
}
|
|
|
|
} else if (this.isInWater()) {
|
|
|
|
i = Math.round(MathHelper.sqrt(d0 * d0 + d2 * d2) * 100.0F);
|
|
|
|
if (i > 0) {
|
|
|
|
this.a(StatisticList.m, i);
|
|
|
|
- this.applyExhaustion(0.015F * (float) i * 0.01F);
|
|
|
|
+ this.applyExhaustion(world.paperConfig.playerSwimmingExhaustion); // Paper - Configurable swimming exhaustion
|
|
|
|
}
|
|
|
|
} else if (this.n_()) {
|
|
|
|
if (d1 > 0.0D) {
|
|
|
|
--
|
2016-05-12 10:07:46 +08:00
|
|
|
2.8.2
|
2016-03-01 07:09:49 +08:00
|
|
|
|