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.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,
"package": "xyz.nearmisses.patience.mc_rebalance.mixin",
"compatibilityLevel": "JAVA_21",
"mixins": [
"ExampleMixin"
],
"injectors": {
"defaultRequire": 1
},
"overwrites": {
"requireAnnotations": true
"required": true,
"package": "xyz.nearmisses.patience.mc_rebalance.mixin",
"compatibilityLevel": "JAVA_21",
"mixins": [
"ExperienceOrbRework"
],
"injectors": {
"defaultRequire": 1
},
"overwrites": {
"requireAnnotations": true
}
}