parent
b500cde68c
commit
a35950fc0b
3 changed files with 18 additions and 10 deletions
|
|
@ -1,7 +1,9 @@
|
||||||
# FORK!
|
# FORK!
|
||||||
This is a forked version of https://modrinth.com/mod/powered-jetpacks
|
This is a forked version of https://modrinth.com/mod/powered-jetpacks
|
||||||
which was originally for 1.20.1. I've ported the mod to 1.21.8, but
|
which was originally for 1.20.1. I've ported the mod to 1.21.8, but
|
||||||
there's still a major bug, which is if you're using a
|
there's still a major bug, which is if you're using the powered jetback in quirk armor,
|
||||||
|
it won't show it on your player model.
|
||||||
|
|
||||||
# Powered Jetpacks
|
# Powered Jetpacks
|
||||||
A simple fabric mod about jetpacks powered with E energy.
|
A simple fabric mod about jetpacks powered with E energy.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
|
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
|
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback;
|
import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback;
|
||||||
|
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElementRegistry;
|
||||||
|
import net.fabricmc.fabric.api.client.rendering.v1.hud.VanillaHudElements;
|
||||||
import net.minecraft.client.render.entity.feature.FeatureRendererContext;
|
import net.minecraft.client.render.entity.feature.FeatureRendererContext;
|
||||||
import net.minecraft.client.render.entity.model.EntityModel;
|
import net.minecraft.client.render.entity.model.EntityModel;
|
||||||
import net.minecraft.entity.EntityType;
|
import net.minecraft.entity.EntityType;
|
||||||
|
|
@ -19,16 +21,17 @@ public class PoweredJetpacksClient implements ClientModInitializer {
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
ItemTooltipCallback.EVENT.register(new StackToolTipHandler());
|
ItemTooltipCallback.EVENT.register(new StackToolTipHandler());
|
||||||
HudRenderCallback.EVENT.register(new JetpackHUD());
|
|
||||||
|
|
||||||
LivingEntityFeatureRendererRegistrationCallback.EVENT.register(
|
LivingEntityFeatureRendererRegistrationCallback.EVENT.register(
|
||||||
(entityType, entityRenderer, registrationHelper, context) -> {
|
(entityType, entityRenderer, registrationHelper, context) -> {
|
||||||
if (entityRenderer != null && entityType == EntityType.PLAYER) {
|
if (entityRenderer != null && entityType == EntityType.PLAYER) {
|
||||||
// Construct your feature renderer with the context
|
//TODO: Need to get the PlayerEntity somehow here, for Trinkets
|
||||||
// Need to get the PlayerEntity somehow here
|
|
||||||
registrationHelper.register(new JetpackRenderer(entityRenderer));
|
registrationHelper.register(new JetpackRenderer(entityRenderer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
HudElementRegistry.addLast(Identifier.of(PoweredJetpacks.MOD_ID, "hud"), new JetpackHUD());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2,7 +2,9 @@ package konhaiii.powered_jetpacks.hud;
|
||||||
|
|
||||||
import konhaiii.powered_jetpacks.PoweredJetpacks;
|
import konhaiii.powered_jetpacks.PoweredJetpacks;
|
||||||
import konhaiii.powered_jetpacks.item.special.JetpackItem;
|
import konhaiii.powered_jetpacks.item.special.JetpackItem;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
|
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElement;
|
||||||
|
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElementRegistry;
|
||||||
|
import net.fabricmc.fabric.api.client.rendering.v1.hud.VanillaHudElements;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
|
@ -10,25 +12,26 @@ import net.minecraft.client.render.RenderTickCounter;
|
||||||
import net.minecraft.entity.EquipmentSlot;
|
import net.minecraft.entity.EquipmentSlot;
|
||||||
import net.minecraft.entity.LivingEntity;
|
import net.minecraft.entity.LivingEntity;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
import static net.minecraft.client.resource.language.I18n.translate;
|
import static net.minecraft.client.resource.language.I18n.translate;
|
||||||
|
|
||||||
public class JetpackHUD implements HudRenderCallback {
|
public class JetpackHUD implements HudElement {
|
||||||
private boolean isValidJetpack(ItemStack stack) {
|
private static boolean isValidJetpack(ItemStack stack) {
|
||||||
return stack.getItem() instanceof JetpackItem;
|
return stack.getItem() instanceof JetpackItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int percentage(double CurrentValue, double MaxValue) {
|
private static int percentage(double CurrentValue, double MaxValue) {
|
||||||
if (CurrentValue == 0)
|
if (CurrentValue == 0)
|
||||||
return 0;
|
return 0;
|
||||||
return (int) ((CurrentValue * 100.0f) / MaxValue);
|
return (int) ((CurrentValue * 100.0f) / MaxValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onHudRender(DrawContext drawContext, RenderTickCounter renderTickCounter) {
|
public void render(DrawContext drawContext, RenderTickCounter renderTickCounter) {
|
||||||
MinecraftClient client = MinecraftClient.getInstance();
|
MinecraftClient client = MinecraftClient.getInstance();
|
||||||
if (client.player == null) return;
|
if (client.player == null) return;
|
||||||
|
|
||||||
|
|
@ -57,7 +60,7 @@ public class JetpackHUD implements HudRenderCallback {
|
||||||
int percentage = percentage(energy, maxEnergy);
|
int percentage = percentage(energy, maxEnergy);
|
||||||
String energyText = translate("hud.powered_jetpacks.jetpack_power").concat(String.valueOf(percentage)).concat("%");
|
String energyText = translate("hud.powered_jetpacks.jetpack_power").concat(String.valueOf(percentage)).concat("%");
|
||||||
|
|
||||||
drawContext.drawTextWithShadow(textRenderer, energyText, 10, 10, 0xFFFFFF);
|
drawContext.drawTextWithShadow(textRenderer, energyText, 10, 10, 0xFFFFFFFF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue