From 180aad05decc7eefa87e4e45d6747c48f40e5361 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Mon, 17 Apr 2023 12:12:01 -0400 Subject: save --- .../Minecraft/Scripts/PlayerScript.java | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 src/main/java/net/tylermurphy/Minecraft/Scripts/PlayerScript.java (limited to 'src/main/java/net/tylermurphy/Minecraft/Scripts/PlayerScript.java') diff --git a/src/main/java/net/tylermurphy/Minecraft/Scripts/PlayerScript.java b/src/main/java/net/tylermurphy/Minecraft/Scripts/PlayerScript.java new file mode 100755 index 0000000..eb64b14 --- /dev/null +++ b/src/main/java/net/tylermurphy/Minecraft/Scripts/PlayerScript.java @@ -0,0 +1,44 @@ +package net.tylermurphy.Minecraft.Scripts; + +import static net.tylermurphy.Minecraft.UI.UIMaster.bindUI; +import static net.tylermurphy.Minecraft.UI.UIMaster.getImage; +import static net.tylermurphy.Minecraft.UI.UIMaster.getText; +import static net.tylermurphy.Minecraft.UI.UIMaster.setEnabled; + +import net.tylermurphy.Minecraft.Main; +import net.tylermurphy.Minecraft.Scene.World; + +public class PlayerScript extends Script { + + int last_height = 0; + + public void Update() { + World.player.isFalling = World.player.isInAir && !World.player.isFlying && !World.player.isSwimming; + if(World.player.isSwimming || World.player.isFlying) last_height = (int) World.player.getTransform().getGlobalPosition().y; + + if(World.player.isFalling) { + if(!World.player.wasFalling) + last_height = (int) World.player.getTransform().getGlobalPosition().y; + World.player.wasFalling = true; + } else if(World.player.wasFalling) { + int current_height = (int) World.player.getTransform().getGlobalPosition().y; + float height_fell = last_height - current_height; + if(height_fell > 3) + World.player.health -= height_fell - 3; + World.player.health = Math.max(World.player.health,0); + World.player.wasFalling = false; + } + + if(World.player.health <= 0) { + World.player.isDead = true; + bindUI(1); + setEnabled(false); + bindUI(0); + getText("dead").setEnabled(true); + getImage("crosshair").setEnabled(false); + } + World.world_origin.recalculateOrigin(); + if(!World.player.isDead && Main.getTicks() % 80 == 0 && World.player.health < 20) World.player.health++; + } + +} -- cgit v1.2.3-freya