Skip to content

Commit

Permalink
Backport to 1.16
Browse files Browse the repository at this point in the history
  • Loading branch information
Gaider10 committed Apr 16, 2023
1 parent f24e9df commit 10b15f4
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 43 deletions.
6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ plugins {
id 'fabric-loom' version '1.1-SNAPSHOT'
}

sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

archivesBaseName = project.archives_base_name
version = "${project.mod_version}-${project.minecraft_version}"
Expand All @@ -29,7 +29,7 @@ processResources {
}

tasks.withType(JavaCompile).configureEach {
it.options.release = 17
it.options.release = 8
}

java {
Expand Down
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
org.gradle.jvmargs=-Xmx1G

# Fabric Properties
minecraft_version=1.19.3
yarn_mappings=1.19.3+build.5
minecraft_version=1.16
yarn_mappings=1.16+build.4
loader_version=0.14.19

# Mod Properties
mod_version = 1.1.0
archives_base_name = PlayerHealthIndicators

# Dependencies
fabric_version=0.76.1+1.19.3
fabric_version=0.42.0+1.16
50 changes: 25 additions & 25 deletions src/main/java/me/andrew/healthindicators/HealthIndicatorsMod.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package me.andrew.healthindicators;

import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.options.KeyBinding;
import net.minecraft.client.util.InputUtil;
import net.minecraft.text.Text;
import net.minecraft.text.LiteralText;

public class HealthIndicatorsMod implements ModInitializer {
public static final String MOD_ID = "healthindicators";
Expand Down Expand Up @@ -36,35 +36,35 @@ public class HealthIndicatorsMod implements ModInitializer {
@Override
public void onInitialize() {
Config.load();
}

ClientTickEvents.END_CLIENT_TICK.register(client -> {
while (RENDERING_ENABLED_KEY_BINDING.wasPressed()) {
Config.setRenderingEnabled(!Config.getRenderingEnabled());
if (client.player != null) {
client.player.sendMessage(Text.literal((Config.getRenderingEnabled() ? "Enabled" : "Disabled") + " Health Indicators"), true);
}
public static void onTick(MinecraftClient client) {
while (RENDERING_ENABLED_KEY_BINDING.wasPressed()) {
Config.setRenderingEnabled(!Config.getRenderingEnabled());
if (client.player != null) {
client.player.sendMessage(new LiteralText((Config.getRenderingEnabled() ? "Enabled" : "Disabled") + " Health Indicators"), true);
}
}

while (HEART_STACKING_ENABLED_KEY_BINDING.wasPressed()) {
Config.setHeartStackingEnabled(!Config.getHeartStackingEnabled());
if (client.player != null) {
client.player.sendMessage(Text.literal((Config.getHeartStackingEnabled() ? "Enabled" : "Disabled") + " Heart Stacking"), true);
}
while (HEART_STACKING_ENABLED_KEY_BINDING.wasPressed()) {
Config.setHeartStackingEnabled(!Config.getHeartStackingEnabled());
if (client.player != null) {
client.player.sendMessage(new LiteralText((Config.getHeartStackingEnabled() ? "Enabled" : "Disabled") + " Heart Stacking"), true);
}
}

while (INCREASE_HEART_OFFSET_KEY_BINDING.wasPressed()) {
Config.setHeartOffset(Config.getHeartOffset() + 1);
if (client.player != null) {
client.player.sendMessage(Text.literal("Set heart offset to " + Config.getHeartOffset()), true);
}
while (INCREASE_HEART_OFFSET_KEY_BINDING.wasPressed()) {
Config.setHeartOffset(Config.getHeartOffset() + 1);
if (client.player != null) {
client.player.sendMessage(new LiteralText("Set heart offset to " + Config.getHeartOffset()), true);
}
}

while (DECREASE_HEART_OFFSET_KEY_BINDING.wasPressed()) {
Config.setHeartOffset(Config.getHeartOffset() - 1);
if (client.player != null) {
client.player.sendMessage(Text.literal("Set heart offset to " + Config.getHeartOffset()), true);
}
while (DECREASE_HEART_OFFSET_KEY_BINDING.wasPressed()) {
Config.setHeartOffset(Config.getHeartOffset() - 1);
if (client.player != null) {
client.player.sendMessage(new LiteralText("Set heart offset to " + Config.getHeartOffset()), true);
}
});
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package me.andrew.healthindicators.mixin;

import me.andrew.healthindicators.HealthIndicatorsMod;
import net.minecraft.client.MinecraftClient;
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.CallbackInfo;

@Mixin(MinecraftClient.class)
public abstract class MinecraftClientMixin {
@Inject(
method = "tick",
at = @At("HEAD")
)
private void inject_tick(CallbackInfo ci) {
HealthIndicatorsMod.onTick((MinecraftClient)(Object) this);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.render.*;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.EntityRenderDispatcher;
import net.minecraft.client.render.entity.LivingEntityRenderer;
import net.minecraft.client.render.entity.PlayerEntityRenderer;
import net.minecraft.client.render.entity.model.PlayerEntityModel;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.MathHelper;
import org.joml.Matrix4f;
import net.minecraft.util.math.Matrix4f;
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.CallbackInfo;

@Mixin(PlayerEntityRenderer.class)
public abstract class PlayerEntityRendererMixin extends LivingEntityRenderer<AbstractClientPlayerEntity, PlayerEntityModel<AbstractClientPlayerEntity>> {
public PlayerEntityRendererMixin(EntityRendererFactory.Context ctx, PlayerEntityModel<AbstractClientPlayerEntity> model, float shadowRadius) {
super(ctx, model, shadowRadius);
public PlayerEntityRendererMixin(EntityRenderDispatcher dispatcher, PlayerEntityModel<AbstractClientPlayerEntity> model, float shadowRadius) {
super(dispatcher, model, shadowRadius);
}

@Inject(
Expand Down Expand Up @@ -57,12 +57,12 @@ public void renderHealth(AbstractClientPlayerEntity abstractClientPlayerEntity,
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder vertexConsumer = tessellator.getBuffer();

vertexConsumer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE);
RenderSystem.setShader(GameRenderer::getPositionTexProgram);
RenderSystem.setShaderTexture(0, DrawableHelper.GUI_ICONS_TEXTURE);
vertexConsumer.begin(7, VertexFormats.POSITION_TEXTURE);
MinecraftClient.getInstance().getTextureManager().bindTexture(DrawableHelper.GUI_ICONS_TEXTURE);
RenderSystem.enableBlend();
RenderSystem.enableDepthTest();

Matrix4f model = matrixStack.peek().getPositionMatrix();
Matrix4f model = matrixStack.peek().getModel();

int healthRed = MathHelper.ceil(abstractClientPlayerEntity.getHealth());
int maxHealth = MathHelper.ceil(abstractClientPlayerEntity.getMaxHealth());
Expand Down Expand Up @@ -115,7 +115,8 @@ public void renderHealth(AbstractClientPlayerEntity abstractClientPlayerEntity,
}

private static boolean shouldRenderHeartsForEntity(Entity entity) {
if (entity instanceof AbstractClientPlayerEntity abstractClientPlayerEntity) {
if (entity instanceof AbstractClientPlayerEntity) {
AbstractClientPlayerEntity abstractClientPlayerEntity = (AbstractClientPlayerEntity) entity;
return !abstractClientPlayerEntity.isMainPlayer() && !abstractClientPlayerEntity.isInvisibleTo(MinecraftClient.getInstance().player);
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"depends": {
"fabricloader": ">=0.11.3",
"fabric": "*",
"minecraft": "1.19.x",
"java": ">=17"
"minecraft": "1.16.x",
"java": ">=8"
}
}
3 changes: 2 additions & 1 deletion src/main/resources/healthindicators.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
"required": true,
"minVersion": "0.8",
"package": "me.andrew.healthindicators.mixin",
"compatibilityLevel": "JAVA_17",
"compatibilityLevel": "JAVA_8",
"client": [
"MinecraftClientMixin",
"PlayerEntityRendererMixin"
],
"injectors": {
Expand Down

0 comments on commit 10b15f4

Please sign in to comment.