Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.

Commit

Permalink
feat: update to 1.20
Browse files Browse the repository at this point in the history
  • Loading branch information
Commander07 committed Jun 7, 2023
1 parent ae81c93 commit b824e9f
Show file tree
Hide file tree
Showing 64 changed files with 412 additions and 413 deletions.
14 changes: 7 additions & 7 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ kotlin.code.style = official
org.gradle.jvmargs = -Xmx1G
org.gradle.warning.mode = all
# Check these on https://fabricmc.net/develop/
minecraftVersion = 1.19.4
yarnMappings = 1.19.4+build.2
loaderVersion = 0.14.19
minecraftVersion = 1.20
yarnMappings = 1.20+build.1
loaderVersion = 0.14.21
# Fabric API
fabricVersion = 0.78.0+1.19.4
loomVersion = 1.1-SNAPSHOT
fabricVersion = 0.83.0+1.20
loomVersion = 1.2-SNAPSHOT
# Mod Properties
modVersion = 0.2.12-1.19.4
modVersion = 0.2.12-1.20
mavenGroup = io.github.nbcss
archivesBaseName = wynnlib
# Kotlin
systemProp.kotlinVersion = 1.8.10
fabricKotlinVersion = 1.9.3+kotlin.1.8.20
fabricKotlinVersion = 1.9.4+kotlin.1.8.21
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4 changes: 3 additions & 1 deletion gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,14 @@ if [ -n "$JAVA_HOME" ] ; then
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
Expand Down Expand Up @@ -229,4 +231,4 @@ eval "set -- $(
tr '\n' ' '
)" '"$@"'

exec "$JAVACMD" "$@"
exec "$JAVACMD" "$@"
2 changes: 1 addition & 1 deletion gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,4 @@ exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega
:omega
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.github.nbcss.wynnlib.mixins;

import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.client.util.math.MatrixStack;
Expand All @@ -20,8 +21,8 @@
public class NBTPrinterMixin {
@Shadow
protected Slot focusedSlot;
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ingame/HandledScreen;drawForeground(Lnet/minecraft/client/util/math/MatrixStack;II)V"))
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ingame/HandledScreen;drawForeground(Lnet/minecraft/client/gui/DrawContext;II)V"))
public void render(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
/*if (focusedSlot != null && focusedSlot.hasStack()){
*//*ItemStack item = focusedSlot.getStack();
List<Text> tooltip = item.getTooltip(MinecraftClient.getInstance().player, TooltipContext.Default.NORMAL);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import io.github.nbcss.wynnlib.Settings;
import io.github.nbcss.wynnlib.function.AnalyzeMode;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.item.TooltipData;
import net.minecraft.client.util.math.MatrixStack;
Expand All @@ -16,20 +18,19 @@
import java.util.List;
import java.util.Optional;

@Mixin(Screen.class)
@Mixin(DrawContext.class)
public abstract class InventoryAnalysisMixin {
@Inject(method = "renderTooltip(Lnet/minecraft/client/util/math/MatrixStack;" +
"Lnet/minecraft/item/ItemStack;II)V", at = @At("HEAD"), cancellable = true)
public void renderTooltip(MatrixStack matrices, ItemStack stack, int x, int y, CallbackInfo info){
@Inject(method = "drawItemTooltip", at = @At("HEAD"), cancellable = true)
public void drawTooltip(TextRenderer textRenderer, ItemStack stack, int x, int y, CallbackInfo ci){
if(stack != null && Settings.INSTANCE.getOption(Settings.SettingOption.ANALYZE_MODE)){
List<Text> tooltip = AnalyzeMode.INSTANCE.getAnalyzeResult(stack);
if (tooltip != null) {
renderTooltip(matrices, tooltip, stack.getTooltipData(), x, y);
info.cancel();
drawTooltip(textRenderer, tooltip, stack.getTooltipData(), x, y);
ci.cancel();
}
}
}

@Shadow
public abstract void renderTooltip(MatrixStack matrices, List<Text> lines, Optional<TooltipData> data, int x, int y);
public abstract void drawTooltip(TextRenderer textRenderer, List<Text> lines, Optional<TooltipData> data, int x, int y);
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package io.github.nbcss.wynnlib.mixins.datafixer;

import net.minecraft.datafixer.fix.RecipeFix;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

import java.util.Map;
import net.minecraft.datafixer.mapping.FlatteningRecipeMapping;

@Mixin(RecipeFix.class)
@Mixin(FlatteningRecipeMapping.class)
public interface RecipeFixAccessor {

@Accessor("RECIPES")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
import io.github.nbcss.wynnlib.utils.Color;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
Expand All @@ -36,38 +35,37 @@ private PlayerEntity getCameraPlayer() {
return null;
}
private boolean flag = false;
MatrixStack matrixStack = null;
DrawContext context = null;

@Inject(method = "renderHotbar", at = @At("HEAD"))
public void renderHotbarHead(float tickDelta, MatrixStack matrices, CallbackInfo ci){
public void renderHotbarHead(float tickDelta, DrawContext context, CallbackInfo ci){
flag = true;
}

@Inject(method = "renderHotbar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;" +
"drawTexture(Lnet/minecraft/client/util/math/MatrixStack;IIIIII)V",
@Inject(method = "renderHotbar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawTexture(Lnet/minecraft/util/Identifier;IIIIII)V",
shift = At.Shift.AFTER))
public void renderHotbar(float tickDelta, MatrixStack matrices, CallbackInfo ci){
this.matrixStack = matrices;
public void renderHotbar(float tickDelta, DrawContext context, CallbackInfo ci){
this.context = context;
if(flag){
flag = false;
drawSlots(matrices);
drawSlots(context);
}
}

@Redirect(method = "renderHotbarItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/item/ItemRenderer;renderGuiItemOverlay(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;II)V"))
public void renderHotbarItem(ItemRenderer instance, MatrixStack matrices, TextRenderer textRenderer, ItemStack stack, int x, int y) {
@Redirect(method = "renderHotbarItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;II)V"))
public void renderHotbarItem(DrawContext instance, TextRenderer textRenderer, ItemStack stack, int x, int y) {
if (drawOverrides(textRenderer, stack, x, y))
return;
instance.renderGuiItemOverlay(matrices, textRenderer, stack, x, y);
instance.drawItemInSlot(textRenderer, stack, x, y);
}

private boolean drawOverrides(TextRenderer renderer, ItemStack stack, int x, int y) {
RenderItemOverrideEvent event = new RenderItemOverrideEvent(matrixStack, renderer, stack, x, y);
RenderItemOverrideEvent event = new RenderItemOverrideEvent(context, renderer, stack, x, y);
RenderItemOverrideEvent.Companion.handleEvent(event);
return event.getCancelled();
}

private void drawSlots(MatrixStack matrices){
private void drawSlots(DrawContext context){
PlayerEntity playerEntity = this.getCameraPlayer();
if (playerEntity != null){
int distance = 0;
Expand All @@ -83,13 +81,13 @@ private void drawSlots(MatrixStack matrices){
if(item != null){
RenderSystem.disableDepthTest();
Color color = item.getMatcherType().getColor();
DrawableHelper.fill(matrices, x, y, x + 16, y + 16, color.withAlpha(0xCC).code());
context.fill(x, y, x + 16, y + 16, color.withAlpha(0xCC).code());
}
}
if (playerEntity.experienceLevel > 0 && Settings.INSTANCE.isSlotLocked(36 + i)) {
RenderSystem.enableBlend();
RenderSystem.disableDepthTest();
RenderKit.INSTANCE.renderTexture(matrices, texture, x - 2, y - 2,
RenderKit.INSTANCE.renderTexture(context, texture, x - 2, y - 2,
0, 0, 20, 20, 20, 20);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.github.nbcss.wynnlib.mixins.render;

import io.github.nbcss.wynnlib.events.InventoryRenderEvent;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.util.math.MatrixStack;
Expand All @@ -22,16 +23,16 @@ protected InventoryRenderMixin(Text title) {
}

@Inject(method = "render", at = @At("HEAD"))
public void renderPre(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
public void renderPre(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
InventoryRenderEvent event = new InventoryRenderEvent((HandledScreen<?>) (Object) this,
matrices, x, y, mouseX, mouseY, delta, InventoryRenderEvent.Phase.PRE);
context, x, y, mouseX, mouseY, delta, InventoryRenderEvent.Phase.PRE);
InventoryRenderEvent.Companion.handleEvent(event);
}

@Inject(method = "render", at = @At("TAIL"))
public void renderPost(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
public void renderPost(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
InventoryRenderEvent event = new InventoryRenderEvent((HandledScreen<?>) (Object) this,
matrices, x, y, mouseX, mouseY, delta, InventoryRenderEvent.Phase.POST);
context, x, y, mouseX, mouseY, delta, InventoryRenderEvent.Phase.POST);
InventoryRenderEvent.Companion.handleEvent(event);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import io.github.nbcss.wynnlib.render.RenderKit;
import io.github.nbcss.wynnlib.utils.Color;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.render.item.ItemRenderer;
Expand All @@ -26,50 +27,50 @@
@Mixin(HandledScreen.class)
public class ItemBackgroundMixin extends Screen {
final Identifier TEXTURE = new Identifier("wynnlib", "textures/slot/circle.png");
MatrixStack matrixStack = null;
DrawContext drawContext = null;

protected ItemBackgroundMixin(Text title) {
super(title);
}

@Inject(method = "render", at = @At("HEAD"))
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci){
matrixStack = matrices;
public void render(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci){
drawContext = context;
}

@Inject(method = "drawItem", at = @At("HEAD"))
public void drawItem(MatrixStack matrices, ItemStack stack, int x, int y, String amountText, CallbackInfo ci) {
public void drawItem(DrawContext context, ItemStack stack, int x, int y, String amountText, CallbackInfo ci) {
drawColorSlot(stack, x, y);
}

@Inject(method = "drawSlot", at = @At("HEAD"))
private void drawSlot(MatrixStack matrices, Slot slot, CallbackInfo ci) {
DrawSlotEvent event = new DrawSlotEvent((HandledScreen<?>) (Object) this, matrices, slot);
private void drawSlot(DrawContext context, Slot slot, CallbackInfo ci) {
DrawSlotEvent event = new DrawSlotEvent((HandledScreen<?>) (Object) this, context, slot);
DrawSlotEvent.Companion.handleEvent(event);
}

@Redirect(method = "drawItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/item/ItemRenderer;renderGuiItemOverlay(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V"))
public void drawItemInvoke(ItemRenderer instance, MatrixStack matrices, TextRenderer textRenderer, ItemStack stack, int x, int y, String countLabel) {
@Redirect(method = "drawItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V"))
public void drawItemInvoke(DrawContext instance, TextRenderer textRenderer, ItemStack stack, int x, int y, String countOverride) {
if (drawOverrides(textRenderer, stack, x, y))
return;
instance.renderGuiItemOverlay(matrices, textRenderer, stack, x, y, countLabel);
instance.drawItemInSlot(textRenderer, stack, x, y, countOverride);
}

@Redirect(method = "drawSlot", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/item/ItemRenderer;renderInGuiWithOverrides(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;III)V"))
public void redirect(ItemRenderer instance, MatrixStack matrices, LivingEntity entity, ItemStack stack, int x, int y, int seed){
@Redirect(method = "drawSlot", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawItem(Lnet/minecraft/item/ItemStack;III)V"))
public void redirect(DrawContext instance, ItemStack stack, int x, int y, int seed){
drawColorSlot(stack, x, y);
instance.renderInGuiWithOverrides(matrices, entity, stack, x, y, seed);
instance.drawItem(stack, x, y, seed);
}

@Redirect(method = "drawSlot", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/item/ItemRenderer;renderGuiItemOverlay(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V"))
public void redirect(ItemRenderer instance, MatrixStack matrices, TextRenderer textRenderer, ItemStack stack, int x, int y, String countLabel){
@Redirect(method = "drawSlot", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V"))
public void redirect(DrawContext instance, TextRenderer textRenderer, ItemStack stack, int x, int y, String countOverride){
if (drawOverrides(textRenderer, stack, x, y))
return;
instance.renderGuiItemOverlay(matrices, textRenderer, stack, x, y, countLabel);
instance.drawItemInSlot(textRenderer, stack, x, y, countOverride);
}

private boolean drawOverrides(TextRenderer renderer, ItemStack stack, int x, int y) {
RenderItemOverrideEvent event = new RenderItemOverrideEvent(matrixStack, renderer, stack, x, y);
RenderItemOverrideEvent event = new RenderItemOverrideEvent(drawContext, renderer, stack, x, y);
RenderItemOverrideEvent.Companion.handleEvent(event);
return event.getCancelled();
}
Expand All @@ -79,12 +80,9 @@ private void drawColorSlot(ItemStack stack, int x, int y) {
return;
MatchableItem item = ItemMatcher.Companion.toItem(stack);
if(item != null) {
matrixStack.push();
matrixStack.translate(0.0, 0.0, -200.0);
Color color = item.getMatcherType().getColor();
RenderKit.INSTANCE.renderTextureWithColor(matrixStack, TEXTURE, color.solid(),
RenderKit.INSTANCE.renderTextureWithColor(drawContext, TEXTURE, color.solid(),
x - 2, y - 2, 0, 0, 20, 20, 20, 20);
matrixStack.pop();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import io.github.nbcss.wynnlib.utils.Keyed;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.util.math.MatrixStack;
Expand All @@ -33,27 +34,27 @@ public abstract class TimerHUDMixin {
@Shadow @Final private ItemRenderer itemRenderer;

@Inject(method = "render", at = @At("HEAD"))
public void render(MatrixStack matrices, float tickDelta, CallbackInfo ci) {
public void render(DrawContext context, float tickDelta, CallbackInfo ci) {
if (!this.client.options.hudHidden) {
renderSideTimers(matrices);
renderIconTimers(matrices, tickDelta);
renderSideTimers(context);
renderIconTimers(context, tickDelta);
}
}

private void renderSideTimers(MatrixStack matrices) {
private void renderSideTimers(DrawContext context) {
if (!Settings.INSTANCE.getOption(Settings.SettingOption.SIDE_INDICATOR))
return;
List<SideIndicator> timers = IndicatorManager.INSTANCE.getSideTimers();
Collections.sort(timers);
int posX = 3;
int posY = (client.getWindow().getScaledHeight() - 11 * timers.size()) / 2;
for (SideIndicator timer : timers) {
timer.render(matrices, getTextRenderer(), posX, posY);
timer.render(context, getTextRenderer(), posX, posY);
posY += 11;
}
}

private void renderIconTimers(MatrixStack matrices, float delta) {
private void renderIconTimers(DrawContext context, float delta) {
if (!Settings.INSTANCE.getOption(Settings.SettingOption.ICON_INDICATOR))
return;
List<IconIndicator> timers = IndicatorManager.INSTANCE.getIconTimers();
Expand All @@ -65,7 +66,7 @@ private void renderIconTimers(MatrixStack matrices, float delta) {
for (IconIndicator timer : timers) {
String key = timer.getKey();
if (!Settings.INSTANCE.getIndicatorEnabled(key)) continue;
timer.render(matrices, getTextRenderer(), posX, posY, delta);
timer.render(context, getTextRenderer(), posX, posY, delta);
posX += 28;
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package io.github.nbcss.wynnlib.events

import net.minecraft.client.gui.DrawContext
import net.minecraft.client.gui.screen.ingame.HandledScreen
import net.minecraft.client.util.math.MatrixStack
import net.minecraft.screen.slot.Slot

class DrawSlotEvent(val screen: HandledScreen<*>,
val matrices: MatrixStack,
val context: DrawContext,
val slot: Slot) {
companion object: EventHandler.HandlerList<DrawSlotEvent>()
}
Loading

0 comments on commit b824e9f

Please sign in to comment.