Skip to content

Commit

Permalink
Merge pull request #120 from Danielxs01/1.14.4-forge
Browse files Browse the repository at this point in the history
[1.14.4] Added actionbar and text-rendering
  • Loading branch information
cam72cam committed Dec 11, 2023
2 parents a28f5e9 + b30fe55 commit 5ecd199
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/main/java/cam72cam/mod/entity/Player.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ public void sendMessage(PlayerMessage o) {
internal.sendMessage(o.internal);
}

public void sendActionBarMessage(PlayerMessage o){
internal.sendStatusMessage(o.internal, true);
}

public boolean isCrouching() {
return internal.isSneaking();
}
Expand Down
45 changes: 45 additions & 0 deletions src/main/java/cam72cam/mod/render/GlobalRender.java
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,51 @@ public static void drawText(String str, RenderState state, Vec3d pos, float scal
}
}

/** Draws centered text (does not rotate towards player) */
public static void drawRawCenteredText(String str, RenderState state, int color)
{
FontRenderer fontRendererIn = Minecraft.getInstance().fontRenderer;

state.color(1,1,1,1).alpha_test(true);

try (With ignored = RenderContext.apply(state)) {
fontRendererIn.drawString(str, -fontRendererIn.getStringWidth(str) / 2, 0, color);
}
}

/** Draws left-oriented text (does not rotate towards player) */
public static void drawRawLeftOrientedText(String str, RenderState state, int color)
{
FontRenderer fontRendererIn = Minecraft.getInstance().fontRenderer;

state.color(1,1,1,1).alpha_test(true);

try (With ignored = RenderContext.apply(state)) {
fontRendererIn.drawString(str, 0, 0, color);
}
}

/** Draws right-oriented text (does not rotate towards player) */
public static void drawRawRightOrientedText(String str, RenderState state, int color)
{
FontRenderer fontRendererIn = Minecraft.getInstance().fontRenderer;

state.color(1,1,1,1).alpha_test(true);

try (With ignored = RenderContext.apply(state)) {
fontRendererIn.drawString(str, -fontRendererIn.getStringWidth(str), 0, color);
}
}

/**
* Converts rgb to single 24bit-integer (can be used for methods using 'int color')
* Values should be between 0 and 255, there is no validation.
*/
public static int rgbToInt(int red, int green, int blue){

return 255 << 24 | red << 16 | green << 8 | blue;
}

@FunctionalInterface
public interface MouseoverEvent {
void render(Player player, ItemStack stack, Vec3i pos, Vec3d offset, RenderState state, float partialTicks);
Expand Down

0 comments on commit 5ecd199

Please sign in to comment.