Experience orbs grant saturation

This commit is contained in:
patience 2026-02-07 02:21:17 +00:00
parent 509367b7a9
commit 05df5ca4b2
No known key found for this signature in database
4 changed files with 36 additions and 27 deletions

View file

@ -1,4 +1,4 @@
# Done to increase the memory available to gradle. # Done to increase the memory available to Gradle.
org.gradle.jvmargs=-Xmx1G org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true org.gradle.parallel=true

View file

@ -1,15 +0,0 @@
package xyz.nearmisses.patience.mc_rebalance.mixin;
import net.minecraft.server.MinecraftServer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(MinecraftServer.class)
public class ExampleMixin {
@Inject(at = @At("HEAD"), method = "loadLevel")
private void init(CallbackInfo info) {
// This code is injected into the start of MinecraftServer.loadLevel()V
}
}

View file

@ -0,0 +1,24 @@
package xyz.nearmisses.patience.mc_rebalance.mixin;
import net.minecraft.world.entity.ExperienceOrb;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.food.FoodData;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(ExperienceOrb.class)
public abstract class ExperienceOrbRework {
@Shadow
public abstract int getValue();
@Inject(at = @At("HEAD"), method = "playerTouch")
private void playerTouch(Player player, CallbackInfo ci) {
// This code is injected into the start of ExperienceOrb.playerTouch()
FoodData hunger = player.getFoodData();
hunger.setSaturation(hunger.getSaturationLevel() + getValue()*0.115f); // Placeholder value but it'll do
}
}

View file

@ -1,14 +1,14 @@
{ {
"required": true, "required": true,
"package": "xyz.nearmisses.patience.mc_rebalance.mixin", "package": "xyz.nearmisses.patience.mc_rebalance.mixin",
"compatibilityLevel": "JAVA_21", "compatibilityLevel": "JAVA_21",
"mixins": [ "mixins": [
"ExampleMixin" "ExperienceOrbRework"
], ],
"injectors": { "injectors": {
"defaultRequire": 1 "defaultRequire": 1
}, },
"overwrites": { "overwrites": {
"requireAnnotations": true "requireAnnotations": true
} }
} }