Skip to content

Commit

Permalink
Ay that works
Browse files Browse the repository at this point in the history
  • Loading branch information
enjarai committed Jan 1, 2024
1 parent 6d0ea84 commit ea56a73
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 24 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
- Updated to 1.20.2
- Updated to 1.20.4
3 changes: 1 addition & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'fabric-loom' version '1.0-SNAPSHOT'
id 'fabric-loom' version '1.4-SNAPSHOT'
id 'maven-publish'
id 'me.fallenbreath.yamlang' version '1.2.1'
}
Expand Down Expand Up @@ -38,7 +38,6 @@ dependencies {
include modImplementation("nl.enjarai:cicada-lib:${project.cicada_version}") {
exclude group: "net.fabricmc.fabric-api"
}
annotationProcessor("com.github.LlamaLad7.mixinextras:mixinextras-fabric:${project.mixin_extras_version}")
}

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

# Fabric Properties
# check these on https://fabricmc.net/use
minecraft_version=1.20.2
yarn_mappings=1.20.2+build.4
loader_version=0.14.23
minecraft_version=1.20.4
yarn_mappings=1.20.4+build.3
loader_version=0.15.3

# Mod Properties
mod_version=2.5.2
maven_group=nl.enjarai
archives_base_name=recursive-resources

fabric_version=0.90.0+1.20.2
fabric_version=0.92.0+1.20.4
# https://modrinth.com/mod/modmenu/versions
modmenu_version=8.0.0
modmenu_version=9.0.0
shared_resources_version=1.5.2
cicada_version=0.4.4
mixin_extras_version=0.2.0-beta.6
cicada_version=0.5.2+1.20.2-plus
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ protected void init() {
// Replacing the available pack list with our custom implementation
originalAvailablePacks = availablePackList;
remove(originalAvailablePacks);
addSelectableChild(customAvailablePacks = new PackListWidget(client, this, 200, height, availablePackList.title));
customAvailablePacks.setLeftPos(width / 2 - 204);
addDrawableChild(customAvailablePacks = new PackListWidget(client, this, 200, height, availablePackList.title));
customAvailablePacks.setPosition(width / 2 - 204, originalAvailablePacks.getY());
// Make the title of the available packs selector clickable to load all packs
((FolderedPackListWidget) customAvailablePacks).recursiveresources$setTitleClickable(AVAILABLE_PACKS_TITLE_HOVER, null, () -> {
for (ResourcePackEntry entry : Lists.reverse(List.copyOf(availablePackList.children()))) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,27 @@
import com.llamalad7.mixinextras.sugar.ref.LocalIntRef;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.widget.ContainerWidget;
import net.minecraft.client.gui.widget.EntryListWidget;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(EntryListWidget.class)
public abstract class EntryListWidgetMixin {
public abstract class EntryListWidgetMixin extends ContainerWidget {
@Shadow @Final protected MinecraftClient client;

@Shadow protected int width;

@Shadow protected int top;
public EntryListWidgetMixin(int i, int j, int k, int l, Text text) {
super(i, j, k, l, text);
}

@Inject(
method = "render",
method = "renderWidget",
at = @At("HEAD")
)
private void recursiveresources$captureParams(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci,
Expand All @@ -32,7 +35,7 @@ public abstract class EntryListWidgetMixin {
}

@WrapWithCondition(
method = "render",
method = "renderWidget",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/client/gui/widget/EntryListWidget;renderHeader(Lnet/minecraft/client/gui/DrawContext;II)V"
Expand All @@ -47,6 +50,6 @@ public abstract class EntryListWidgetMixin {
method = "clickedHeader",
at = @At("HEAD")
)
protected void recursiveresources$handleHeaderClick(int x, int y, CallbackInfo ci) {
protected void recursiveresources$handleHeaderClick(int x, int y, CallbackInfoReturnable<Boolean> cir) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

import java.util.List;

Expand All @@ -31,6 +32,10 @@ public abstract class PackListWidgetMixin extends EntryListWidgetMixin implement
@Nullable
private Runnable titleClickEvent;

public PackListWidgetMixin(int i, int j, int k, int l, Text text) {
super(i, j, k, l, text);
}

@Override
public void recursiveresources$setTitleClickable(Text hoverText, Text tooltip, Runnable clickEvent) {
this.titleHoverText = hoverText;
Expand All @@ -46,7 +51,7 @@ public abstract class PackListWidgetMixin extends EntryListWidgetMixin implement
int textWidth = client.textRenderer.getWidth(text);

int left = x + width / 2 - textWidth / 2;
int top = Math.min(this.top + 3, y);
int top = Math.min(this.getY() + 3, y);
int right = left + textWidth;
int bottom = top + client.textRenderer.fontHeight;

Expand All @@ -68,7 +73,7 @@ public abstract class PackListWidgetMixin extends EntryListWidgetMixin implement
}

@Override
protected void recursiveresources$handleHeaderClick(int x, int y, CallbackInfo ci) {
protected void recursiveresources$handleHeaderClick(int x, int y, CallbackInfoReturnable<Boolean> ci) {
if (titleClickEvent != null && y <= client.textRenderer.fontHeight) {
titleClickEvent.run();
}
Expand Down
5 changes: 3 additions & 2 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,10 @@
"accessWidener": "recursiveresources.accesswidener",

"depends": {
"minecraft": ">=1.20.2- <1.20.3-",
"minecraft": ">=1.20.3- <=1.20.4",
"fabric-api": "*",
"cicada": "*"
"cicada": "*",
"fabricloader": ">=0.15"
},

"custom": {
Expand Down

0 comments on commit ea56a73

Please sign in to comment.