minecraft-src/net/minecraft/client/gui/contextualbar/JumpableVehicleBarRenderer.java
2025-09-18 12:27:44 +00:00

45 lines
2 KiB
Java

package net.minecraft.client.gui.contextualbar;
import java.util.Objects;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.DeltaTracker;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.RenderPipelines;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.PlayerRideableJumping;
@Environment(EnvType.CLIENT)
public class JumpableVehicleBarRenderer implements ContextualBarRenderer {
private static final ResourceLocation JUMP_BAR_BACKGROUND_SPRITE = ResourceLocation.withDefaultNamespace("hud/jump_bar_background");
private static final ResourceLocation JUMP_BAR_COOLDOWN_SPRITE = ResourceLocation.withDefaultNamespace("hud/jump_bar_cooldown");
private static final ResourceLocation JUMP_BAR_PROGRESS_SPRITE = ResourceLocation.withDefaultNamespace("hud/jump_bar_progress");
private final Minecraft minecraft;
private final PlayerRideableJumping playerJumpableVehicle;
public JumpableVehicleBarRenderer(Minecraft minecraft) {
this.minecraft = minecraft;
this.playerJumpableVehicle = ((LocalPlayer)Objects.requireNonNull(minecraft.player)).jumpableVehicle();
}
@Override
public void renderBackground(GuiGraphics guiGraphics, DeltaTracker deltaTracker) {
int i = this.left(this.minecraft.getWindow());
int j = this.top(this.minecraft.getWindow());
guiGraphics.blitSprite(RenderPipelines.GUI_TEXTURED, JUMP_BAR_BACKGROUND_SPRITE, i, j, 182, 5);
if (this.playerJumpableVehicle.getJumpCooldown() > 0) {
guiGraphics.blitSprite(RenderPipelines.GUI_TEXTURED, JUMP_BAR_COOLDOWN_SPRITE, i, j, 182, 5);
} else {
int k = (int)(this.minecraft.player.getJumpRidingScale() * 183.0F);
if (k > 0) {
guiGraphics.blitSprite(RenderPipelines.GUI_TEXTURED, JUMP_BAR_PROGRESS_SPRITE, 182, 5, 0, 0, i, j, k, 5);
}
}
}
@Override
public void render(GuiGraphics guiGraphics, DeltaTracker deltaTracker) {
}
}