Fixed mushroom stews cosuming with the config turned on and added some water sounds for boats

master
Wynd 2025-04-06 14:50:23 +03:00
parent dd1e18a91c
commit 986e65dc9f
4 changed files with 34 additions and 3 deletions

View File

@ -115,7 +115,7 @@ public class WyHelper {
// player.dropItem(new ItemInstance(Tile.SLAB, 64)); // player.dropItem(new ItemInstance(Tile.SLAB, 64));
// player.dropItem(new ItemInstance(ItemType.minecart, 1)); // player.dropItem(new ItemInstance(ItemType.minecart, 1));
// player.dropItem(new ItemInstance(ItemType.minecartFurnace, 1)); // player.dropItem(new ItemInstance(ItemType.minecartFurnace, 1));
player.dropItem(new ItemInstance(ItemType.sign)); player.dropItem(new ItemInstance(ItemType.boat));
// player.dropItem(new ItemInstance(Tile.STONE_SLAB, 1, 2)); // player.dropItem(new ItemInstance(Tile.STONE_SLAB, 1, 2));
// player.dropItem(new ItemInstance(Tile.GOLDEN_RAIL, 64)); // player.dropItem(new ItemInstance(Tile.GOLDEN_RAIL, 64));
// player.dropItem(new ItemInstance(Tile.COBBLESTONE, 64)); // player.dropItem(new ItemInstance(Tile.COBBLESTONE, 64));

View File

@ -7,7 +7,9 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.entity.Boat; import net.minecraft.entity.Boat;
import net.minecraft.util.maths.MathsHelper;
import xyz.pixelatedw.finalbeta.ModConfig; import xyz.pixelatedw.finalbeta.ModConfig;
import xyz.pixelatedw.finalbeta.WyHelper;
@Mixin(Boat.class) @Mixin(Boat.class)
public class BoatMixin { public class BoatMixin {
@ -21,7 +23,7 @@ public class BoatMixin {
* check, which we're setting to false before the vanilla check happens * check, which we're setting to false before the vanilla check happens
* if the boat is set to survive the impact from our checks. * if the boat is set to survive the impact from our checks.
* *
* Do note that they way the boat collision check happens is that the * Do note that the way the boat collision check happens is that the
* boat gets slowed down first, and then the velocity check is * boat gets slowed down first, and then the velocity check is
* performed, by default a velocity check is 0.15, we're raising that * performed, by default a velocity check is 0.15, we're raising that
* limit to 0.22. * limit to 0.22.
@ -29,6 +31,12 @@ public class BoatMixin {
if (this.isCollidingHorizontally(boat) && this.canSurvive(boat)) { if (this.isCollidingHorizontally(boat) && this.canSurvive(boat)) {
((Boat) (Object) this).field_1624 = false; ((Boat) (Object) this).field_1624 = false;
} }
if (boat.passenger != null && boat.field_1645 % 39 == 1) {
float speed = MathsHelper.sqrt(boat.velocityX * boat.velocityX + boat.velocityZ * boat.velocityZ);
float volume = WyHelper.lerp(WyHelper.clamp(speed, 0.0F, 0.25F), 0.0F, 0.7F);
boat.level.playSound(boat.x, boat.y, boat.z, "sound3.liquid.water", volume, 0.0f);
}
} }
private boolean canSurvive(Boat boat) { private boolean canSurvive(Boat boat) {

View File

@ -0,0 +1,22 @@
package xyz.pixelatedw.finalbeta.mixin;
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.CallbackInfoReturnable;
import net.minecraft.entity.player.Player;
import net.minecraft.item.ItemInstance;
import net.minecraft.item.food.MushroomStewItem;
import net.minecraft.level.Level;
import xyz.pixelatedw.finalbeta.ModConfig;
@Mixin(MushroomStewItem.class)
public class MushroomStewItemMixin {
@Inject(method = "use", at = @At("HEAD"), cancellable = true)
public void use(ItemInstance stack, Level level, Player player, CallbackInfoReturnable<ItemInstance> cir) {
if (ModConfig.DISABLE_EATING_WHEN_MAX_HP.get() && player.health >= 20) {
cir.setReturnValue(stack);
}
}
}

View File

@ -51,7 +51,8 @@
"LeavesTileMixin", "LeavesTileMixin",
"StillFluidTileMixin", "StillFluidTileMixin",
"FlowingFluidTileMixin", "FlowingFluidTileMixin",
"ClientInteractionManagerMixin" "ClientInteractionManagerMixin",
"MushroomStewItemMixin"
], ],
"injectors": { "injectors": {
"defaultRequire": -1 "defaultRequire": -1