mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-22 19:07:44 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 12dec20 Bump paerweight to 1.1.7 e33ed89 Get short commit ref using a more proper method 7d6147d Remove now unneeded patch due to paperweight 1.1.7 e72fa41 Update task dependency for includeMappings so the new task isn't skipped 0ad5526 Trim whitspace off of git hash (oops) Tuinity Changes: e878ba9 Update paper 2bd2849 Bring back fix codec spam patch
77 lines
4.4 KiB
Diff
77 lines
4.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Thu, 24 Jun 2021 21:19:30 -0500
|
|
Subject: [PATCH] Burp after eating food fills hunger bar completely
|
|
|
|
|
|
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 48e208c332a06c56fef604920a1cb95cbe743efc..34e6be36d1304e072bd742a61105757f8e6b0a62 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
|
@@ -196,6 +196,8 @@ public abstract class Player extends LivingEntity {
|
|
// CraftBukkit end
|
|
|
|
// Purpur start
|
|
+ public int burpCooldown = 0;
|
|
+
|
|
public abstract void resetLastActionTime();
|
|
|
|
public void setAfk(boolean afk) {
|
|
@@ -258,6 +260,12 @@ public abstract class Player extends LivingEntity {
|
|
|
|
@Override
|
|
public void tick() {
|
|
+ // Purpur start
|
|
+ if (this.burpCooldown > 0 && --this.burpCooldown == 0) {
|
|
+ this.level.playSound(null, getX(), getY(), getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 1.0F, this.level.random.nextFloat() * 0.1F + 0.9F);
|
|
+ }
|
|
+ // Purpur end
|
|
+
|
|
this.noPhysics = this.isSpectator();
|
|
if (this.isSpectator()) {
|
|
this.onGround = false;
|
|
@@ -2347,7 +2355,7 @@ public abstract class Player extends LivingEntity {
|
|
public ItemStack eat(Level world, ItemStack stack) {
|
|
this.getFoodData().eat(stack.getItem(), stack);
|
|
this.awardStat(Stats.ITEM_USED.get(stack.getItem()));
|
|
- world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F);
|
|
+ // world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F); // Purpur - moved to tick()
|
|
if (this instanceof ServerPlayer) {
|
|
CriteriaTriggers.CONSUME_ITEM.trigger((ServerPlayer) this, stack);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java
|
|
index 97133bd4af30d0ba92cbf884b83140f3399f92e2..c1130952e3fa22abaa27fcc1c4761c831dc56cc3 100644
|
|
--- a/src/main/java/net/minecraft/world/food/FoodData.java
|
|
+++ b/src/main/java/net/minecraft/world/food/FoodData.java
|
|
@@ -34,8 +34,10 @@ public class FoodData {
|
|
// CraftBukkit end
|
|
|
|
public void eat(int food, float saturationModifier) {
|
|
+ int oldValue = this.foodLevel; // Purpur
|
|
this.foodLevel = Math.min(food + this.foodLevel, 20);
|
|
this.saturationLevel = Math.min(this.saturationLevel + (float) food * saturationModifier * 2.0F, (float) this.foodLevel);
|
|
+ if (this.entityhuman.level.purpurConfig.playerBurpWhenFull && this.foodLevel == 20 && oldValue < 20) this.entityhuman.burpCooldown = 10; // Purpur
|
|
}
|
|
|
|
public void eat(Item item, ItemStack stack) {
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index 1a94a68e206eef5f9d4c3e5af49ef03690ee13ea..6629addad421042fae15d1b70c0a8d51ecf5f3e2 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -330,6 +330,7 @@ public class PurpurWorldConfig {
|
|
public boolean playerSleepNearMonsters = false;
|
|
public boolean playersSkipNight = true;
|
|
public double playerCriticalDamageMultiplier = 1.5D;
|
|
+ public boolean playerBurpWhenFull = false;
|
|
private void playerSettings() {
|
|
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
|
|
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
|
|
@@ -346,6 +347,7 @@ public class PurpurWorldConfig {
|
|
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
|
|
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
|
|
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);
|
|
+ playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
|
|
}
|
|
|
|
public int snowballDamage = -1;
|