Compare commits
4
Commits
b0d75af8c4
...
e8f686b2d3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e8f686b2d3 | ||
|
|
df5afe99e3 | ||
|
|
653738568a | ||
|
|
a6a324a61a |
@@ -1,7 +1,11 @@
|
|||||||
package org.saturnclient.common.ref.game;
|
package org.saturnclient.common.ref.game;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An item stack. Its methods are implemented in ItemStackMixin, so their names must not match any of
|
||||||
|
* ItemStack's own methods.
|
||||||
|
*/
|
||||||
public interface ItemStackRef {
|
public interface ItemStackRef {
|
||||||
public boolean isEmpty();
|
public boolean isEmptyStack();
|
||||||
public int getMaxDamage();
|
public int getMaxItemDamage();
|
||||||
public int getDamage();
|
public int getItemDamage();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
package org.saturnclient.common.ref.render;
|
package org.saturnclient.common.ref.render;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The game window. Its methods are implemented in WindowMixin, so their names must not match any of
|
||||||
|
* Window's own methods.
|
||||||
|
*/
|
||||||
public interface WindowRef {
|
public interface WindowRef {
|
||||||
public int getWidth();
|
/** The window's width in screen coordinates */
|
||||||
|
public int getWindowWidth();
|
||||||
|
|
||||||
public int getHeight();
|
/** The window's height in screen coordinates */
|
||||||
|
public int getWindowHeight();
|
||||||
|
|
||||||
public int getFramebufferWidth();
|
public int getFramebufferWidth();
|
||||||
|
|
||||||
|
|||||||
@@ -163,14 +163,6 @@ public class ConfigManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether the config file has a value for {@code name} in this namespace,
|
|
||||||
* which tells which version last saved it.
|
|
||||||
*/
|
|
||||||
public boolean isSaved(String name) {
|
|
||||||
return getSaved(name) != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private JsonNode getSaved(String name) {
|
private JsonNode getSaved(String name) {
|
||||||
JsonNode source = cachedJson != null ? cachedJson : loadAndCache();
|
JsonNode source = cachedJson != null ? cachedJson : loadAndCache();
|
||||||
if (source == null || !source.isObject())
|
if (source == null || !source.isObject())
|
||||||
|
|||||||
@@ -81,29 +81,6 @@ public class Theme {
|
|||||||
config.property("Widget Radius", WIDGET_RADIUS, "Corner rounding of buttons and cards");
|
config.property("Widget Radius", WIDGET_RADIUS, "Corner rounding of buttons and cards");
|
||||||
|
|
||||||
config.property("Font", FONT, "Font of every Saturn screen");
|
config.property("Font", FONT, "Font of every Saturn screen");
|
||||||
|
|
||||||
if (!parent.isSaved(Config.MENU_BLUR)) {
|
|
||||||
upgradeOpaqueColors();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Before 0.1.3 panels and cards were made translucent in code, and the
|
|
||||||
* background and primary colors were saved fully opaque. Saved colors that
|
|
||||||
* are an old default or preset get the translucency the colors now carry
|
|
||||||
* themselves; colors the player picked are left as they are. Runs only on
|
|
||||||
* configs from older versions, so a preset color later set opaque on
|
|
||||||
* purpose stays opaque.
|
|
||||||
*/
|
|
||||||
private static void upgradeOpaqueColors() {
|
|
||||||
for (Preset preset : PRESETS) {
|
|
||||||
if (BACKGROUND.value == (preset.background() | 0xFF000000)) {
|
|
||||||
BACKGROUND.value = preset.background();
|
|
||||||
}
|
|
||||||
if (PRIMARY.value == (preset.primary() | 0xFF000000)) {
|
|
||||||
PRIMARY.value = preset.primary();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -75,16 +75,16 @@ public class ArmorDisplayMod extends Mod implements HudMod {
|
|||||||
|
|
||||||
int row = 0;
|
int row = 0;
|
||||||
|
|
||||||
if (useMainHand.value && !mainHand.isEmpty()) {
|
if (useMainHand.value && !mainHand.isEmptyStack()) {
|
||||||
row = renderSlot(scope, mainHand, row);
|
row = renderSlot(scope, mainHand, row);
|
||||||
}
|
}
|
||||||
if (!helmet.isEmpty())
|
if (!helmet.isEmptyStack())
|
||||||
row = renderSlot(scope, helmet, row);
|
row = renderSlot(scope, helmet, row);
|
||||||
if (!chestplate.isEmpty())
|
if (!chestplate.isEmptyStack())
|
||||||
row = renderSlot(scope, chestplate, row);
|
row = renderSlot(scope, chestplate, row);
|
||||||
if (!leggings.isEmpty())
|
if (!leggings.isEmptyStack())
|
||||||
row = renderSlot(scope, leggings, row);
|
row = renderSlot(scope, leggings, row);
|
||||||
if (!boots.isEmpty())
|
if (!boots.isEmptyStack())
|
||||||
row = renderSlot(scope, boots, row);
|
row = renderSlot(scope, boots, row);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,8 +94,8 @@ public class ArmorDisplayMod extends Mod implements HudMod {
|
|||||||
private int renderSlot(RenderScope scope, ItemStackRef item, int row) {
|
private int renderSlot(RenderScope scope, ItemStackRef item, int row) {
|
||||||
scope.drawItem(item, 0, 15 * row);
|
scope.drawItem(item, 0, 15 * row);
|
||||||
|
|
||||||
if (item.getMaxDamage() > 0) {
|
if (item.getMaxItemDamage() > 0) {
|
||||||
int remaining = item.getMaxDamage() - item.getDamage();
|
int remaining = item.getMaxItemDamage() - item.getItemDamage();
|
||||||
scope.drawText(0.5f, String.valueOf(remaining),
|
scope.drawText(0.5f, String.valueOf(remaining),
|
||||||
17, (15 * row) + 3,
|
17, (15 * row) + 3,
|
||||||
layout.font.value, layout.fgColor.value);
|
layout.font.value, layout.fgColor.value);
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ public class ImageTexture extends Element {
|
|||||||
if (sprite.toString().endsWith(".svg")) {
|
if (sprite.toString().endsWith(".svg")) {
|
||||||
MinecraftClientRef client = Providers.saturn.getClient();
|
MinecraftClientRef client = Providers.saturn.getClient();
|
||||||
|
|
||||||
int renderWidth = (int) (width * client.getWindow().getFramebufferWidth() / client.getWindow().getWidth());
|
int renderWidth = (int) (width * client.getWindow().getFramebufferWidth() / client.getWindow().getWindowWidth());
|
||||||
int renderHeight = (int) (height * client.getWindow().getFramebufferHeight()
|
int renderHeight = (int) (height * client.getWindow().getFramebufferHeight()
|
||||||
/ client.getWindow().getHeight());
|
/ client.getWindow().getWindowHeight());
|
||||||
|
|
||||||
IdentifierRef pngId = SvgTexture.getSvg(sprite, renderWidth * 2, renderHeight * 2);
|
IdentifierRef pngId = SvgTexture.getSvg(sprite, renderWidth * 2, renderHeight * 2);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user