From ec91269fd000205fb76a991433123307944af837 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Tue, 30 Jul 2024 20:52:40 +0200 Subject: [PATCH] We be ballin' - Fix bath tires and beach balls --- .../decorative/entity/BathTireEntity.java | 25 +++++++++++++++++++ .../decorative/entity/BeachBallEntity.java | 16 ++++++++++++ 2 files changed, 41 insertions(+) diff --git a/src/main/java/eu/midnightdust/motschen/decorative/entity/BathTireEntity.java b/src/main/java/eu/midnightdust/motschen/decorative/entity/BathTireEntity.java index be0b703..2d8aa58 100755 --- a/src/main/java/eu/midnightdust/motschen/decorative/entity/BathTireEntity.java +++ b/src/main/java/eu/midnightdust/motschen/decorative/entity/BathTireEntity.java @@ -1,10 +1,14 @@ package eu.midnightdust.motschen.decorative.entity; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.mob.MobEntity; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.FluidState; import net.minecraft.item.ItemStack; import net.minecraft.registry.Registries; +import net.minecraft.registry.tag.TagKey; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.Identifier; @@ -32,4 +36,25 @@ public class BathTireEntity extends MobEntity { } return super.interactAt(player, hitPos, hand); } + @Override + public boolean shouldDismountUnderwater() { + return false; + } + @Override + public Vec3d getPassengerRidingPos(Entity passenger) { + return this.getPos().add(0,0.4d, 0); + } + @Override + protected void swimUpward(TagKey fluid) { + if (this.getNavigation().canSwim()) { + super.swimUpward(fluid); + } else { + this.setVelocity(this.getVelocity().add(0.0D, 0.7D, 0.0D)); + } + + } + @Override + public boolean canWalkOnFluid(FluidState fluid) { + return true; + } } diff --git a/src/main/java/eu/midnightdust/motschen/decorative/entity/BeachBallEntity.java b/src/main/java/eu/midnightdust/motschen/decorative/entity/BeachBallEntity.java index d480666..0913a3b 100755 --- a/src/main/java/eu/midnightdust/motschen/decorative/entity/BeachBallEntity.java +++ b/src/main/java/eu/midnightdust/motschen/decorative/entity/BeachBallEntity.java @@ -4,7 +4,10 @@ import eu.midnightdust.motschen.decorative.init.Pool; import net.minecraft.entity.EntityType; import net.minecraft.entity.mob.MobEntity; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.FluidState; import net.minecraft.item.ItemStack; +import net.minecraft.registry.tag.TagKey; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.Vec3d; @@ -25,4 +28,17 @@ public class BeachBallEntity extends MobEntity { } return ActionResult.FAIL; } + @Override + protected void swimUpward(TagKey fluid) { + if (this.getNavigation().canSwim()) { + super.swimUpward(fluid); + } else { + this.setVelocity(this.getVelocity().add(0.0D, 0.7D, 0.0D)); + } + + } + @Override + public boolean canWalkOnFluid(FluidState fluid) { + return true; + } }