Skip to content

Commit 496bbd9

Browse files
committed
feat: Update to 1.21.9
1 parent bfd69b0 commit 496bbd9

14 files changed

Lines changed: 96 additions & 86 deletions

File tree

‎build.gradle.kts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ dependencies {
3939
modImplementation(libs.fabric.api)
4040
modImplementation(libs.fabric.kotlin)
4141

42-
modImplementation(libs.mod.menu)
4342
modImplementation(libs.yacl)
4443
include(modImplementation(libs.keybinds.get())!!)
4544

45+
modCompileOnly(libs.mod.menu)
4646
modCompileOnly(libs.carpet)
4747
modCompileOnly(libs.chunk.debug)
48-
modImplementation(libs.sodium)
48+
modCompileOnly(libs.sodium)
4949

5050
modRuntimeOnly(libs.dev.auth)
5151
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

‎libs.versions.toml‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
[versions]
2-
minecraft = "1.21.8"
3-
fabric-loader = "0.16.14"
4-
fabric-api = "0.129.0+1.21.8"
5-
parchment = "1.21.6:2025.06.29"
2+
minecraft = "1.21.9-rc1"
3+
fabric-loader = "0.17.2"
4+
fabric-api = "0.133.13+1.21.9"
5+
parchment = "1.21.8:2025.09.14"
66
fabric-kotlin = "1.13.5+kotlin.2.2.10"
7-
keybinds = "0.1.15+1.21.6"
8-
yacl = "3.7.1+1.21.6-fabric"
7+
keybinds = "0.2.0+1.21.9-rc1"
8+
yacl = "3.8.0+1.21.9-fabric"
99

1010
# Compatability
11-
mod-menu = "15.0.0-beta.2"
12-
carpet = "1.4.176"
13-
chunk-debug = "2.1.3+1.21.4"
11+
mod-menu = "15.0.0"
12+
carpet = "1.4.177"
13+
chunk-debug = "2.4.2+1.21.9-rc1"
1414
sodium = "mc1.21.6-0.6.13-fabric"
1515

1616
# Runtime
1717
dev-auth = "1.2.1"
1818

1919
# Plugins
20-
fabric-loom = "1.10-SNAPSHOT"
20+
fabric-loom = "1.11-SNAPSHOT"
2121
mod-publish = "0.8.4"
2222

2323
[libraries]

‎src/main/java/me/senseiwells/essential_client/mixins/crafting_hax/RecipeBookComponentMixin.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ public class RecipeBookComponentMixin<T extends RecipeBookMenu> {
3030
private void onHandlePlaceRecipe(
3131
RecipeCollection recipes,
3232
RecipeDisplayId recipe,
33+
boolean useMaxItems,
3334
CallbackInfoReturnable<Boolean> cir
3435
) {
35-
if (EssentialClientConfig.getInstance().getCraftingHax() && Screen.hasControlDown()) {
36+
if (EssentialClientConfig.getInstance().getCraftingHax() && this.minecraft.hasControlDown()) {
3637
int containerId = this.menu.containerId;
37-
boolean craftMax = Screen.hasShiftDown();
3838
MultiPlayerGameMode mode = this.minecraft.gameMode;
3939
if (mode != null) {
4040
mode.handleInventoryMouseClick(
41-
containerId, 0, craftMax ? 1 : 0, ClickType.THROW, this.minecraft.player
41+
containerId, 0, useMaxItems ? 1 : 0, ClickType.THROW, this.minecraft.player
4242
);
4343
}
4444
}

‎src/main/java/me/senseiwells/essential_client/mixins/disable_armor_rendering/HumanoidArmorLayerMixin.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
@Mixin(HumanoidArmorLayer.class)
1111
public class HumanoidArmorLayerMixin {
1212
@Inject(
13-
method = "render(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;ILnet/minecraft/client/renderer/entity/state/HumanoidRenderState;FF)V",
13+
method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/HumanoidRenderState;FF)V",
1414
at = @At("HEAD"),
1515
cancellable = true
1616
)

‎src/main/java/me/senseiwells/essential_client/mixins/disable_display_text_rendering/DisplayRendererMixin.java‎

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package me.senseiwells.essential_client.mixins.disable_display_text_rendering;
22

3-
import com.mojang.blaze3d.vertex.PoseStack;
3+
import com.llamalad7.mixinextras.sugar.Local;
44
import me.senseiwells.essential_client.EssentialClientConfig;
5-
import net.minecraft.client.renderer.MultiBufferSource;
65
import net.minecraft.client.renderer.entity.DisplayRenderer;
76
import net.minecraft.client.renderer.entity.state.DisplayEntityRenderState;
87
import net.minecraft.client.renderer.entity.state.TextDisplayEntityRenderState;
@@ -14,17 +13,11 @@
1413
@Mixin(DisplayRenderer.class)
1514
public class DisplayRendererMixin {
1615
@Inject(
17-
method = "render(Lnet/minecraft/client/renderer/entity/state/DisplayEntityRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V",
16+
method = "submit(Lnet/minecraft/client/renderer/entity/state/DisplayEntityRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V",
1817
at = @At("HEAD"),
1918
cancellable = true
2019
)
21-
private void onRender(
22-
DisplayEntityRenderState state,
23-
PoseStack poseStack,
24-
MultiBufferSource multiBufferSource,
25-
int i,
26-
CallbackInfo ci
27-
) {
20+
private void onRender(CallbackInfo ci, @Local(argsOnly = true) DisplayEntityRenderState state) {
2821
if (state instanceof TextDisplayEntityRenderState && EssentialClientConfig.getInstance().getDisableDisplayTextRendering()) {
2922
ci.cancel();
3023
}

‎src/main/java/me/senseiwells/essential_client/mixins/disable_map_rendering/ItemFrameRendererMixin.java‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import me.senseiwells.essential_client.EssentialClientConfig;
66
import net.minecraft.client.renderer.MapRenderer;
77
import net.minecraft.client.renderer.MultiBufferSource;
8+
import net.minecraft.client.renderer.SubmitNodeCollector;
89
import net.minecraft.client.renderer.entity.ItemFrameRenderer;
910
import net.minecraft.client.renderer.state.MapRenderState;
1011
import org.spongepowered.asm.mixin.Mixin;
@@ -13,19 +14,19 @@
1314
@Mixin(ItemFrameRenderer.class)
1415
public class ItemFrameRendererMixin {
1516
@WrapWithCondition(
16-
method = "render(Lnet/minecraft/client/renderer/entity/state/ItemFrameRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V",
17+
method = "submit(Lnet/minecraft/client/renderer/entity/state/ItemFrameRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V",
1718
at = @At(
1819
value = "INVOKE",
19-
target = "Lnet/minecraft/client/renderer/MapRenderer;render(Lnet/minecraft/client/renderer/state/MapRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;ZI)V"
20+
target = "Lnet/minecraft/client/renderer/MapRenderer;render(Lnet/minecraft/client/renderer/state/MapRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ZI)V"
2021
)
2122
)
2223
private boolean onRenderMap(
2324
MapRenderer instance,
2425
MapRenderState mapRenderState,
2526
PoseStack poseStack,
26-
MultiBufferSource multiBufferSource,
27+
SubmitNodeCollector submitNodeCollector,
2728
boolean bl,
28-
int i
29+
int light
2930
) {
3031
return !EssentialClientConfig.getInstance().getDisableMapRendering();
3132
}

‎src/main/java/me/senseiwells/essential_client/mixins/disable_nametag_rendering/EntityRendererMixin.java‎

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
import com.mojang.blaze3d.vertex.PoseStack;
55
import me.senseiwells.essential_client.EssentialClientConfig;
66
import net.minecraft.client.renderer.MultiBufferSource;
7+
import net.minecraft.client.renderer.SubmitNodeCollector;
78
import net.minecraft.client.renderer.entity.EntityRenderer;
89
import net.minecraft.client.renderer.entity.state.EntityRenderState;
10+
import net.minecraft.client.renderer.state.CameraRenderState;
911
import net.minecraft.network.chat.Component;
1012
import net.minecraft.world.entity.Entity;
1113
import org.spongepowered.asm.mixin.Mixin;
@@ -14,19 +16,18 @@
1416
@Mixin(EntityRenderer.class)
1517
public class EntityRendererMixin {
1618
@WrapWithCondition(
17-
method = "render",
19+
method = "submit",
1820
at = @At(
1921
value = "INVOKE",
20-
target = "Lnet/minecraft/client/renderer/entity/EntityRenderer;renderNameTag(Lnet/minecraft/client/renderer/entity/state/EntityRenderState;Lnet/minecraft/network/chat/Component;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V"
22+
target = "Lnet/minecraft/client/renderer/entity/EntityRenderer;submitNameTag(Lnet/minecraft/client/renderer/entity/state/EntityRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V"
2123
)
2224
)
2325
private boolean onRenderNametag(
24-
EntityRenderer<?, ?> instance,
25-
EntityRenderState entityRenderState,
26-
Component component,
27-
PoseStack poseStack,
28-
MultiBufferSource multiBufferSource,
29-
int i
26+
EntityRenderer<?, ?> instance,
27+
EntityRenderState entityRenderState,
28+
PoseStack poseStack,
29+
SubmitNodeCollector submitNodeCollector,
30+
CameraRenderState cameraRenderState
3031
) {
3132
return !EssentialClientConfig.getInstance().getDisableNametagRendering();
3233
}

‎src/main/java/me/senseiwells/essential_client/mixins/fix_macos_cursor_jumping/EditBoxMixin.java‎

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import net.minecraft.client.Minecraft;
66
import net.minecraft.client.gui.components.AbstractWidget;
77
import net.minecraft.client.gui.components.EditBox;
8-
import net.minecraft.client.gui.screens.Screen;
8+
import net.minecraft.client.input.InputQuirks;
9+
import net.minecraft.client.input.KeyEvent;
910
import net.minecraft.network.chat.Component;
1011
import org.spongepowered.asm.mixin.Mixin;
1112
import org.spongepowered.asm.mixin.Shadow;
@@ -41,11 +42,12 @@ public EditBoxMixin(int x, int y, int width, int height, Component message) {
4142
at = @At("HEAD"),
4243
cancellable = true
4344
)
44-
private void onDeleteText(int count, CallbackInfo ci) {
45-
if (Minecraft.ON_OSX && EssentialClientConfig.getInstance().getFixMacOSCursorJumping()) {
46-
if (Screen.hasControlDown()) {
45+
private void onDeleteText(int count, boolean bl, CallbackInfo ci) {
46+
if (InputQuirks.REPLACE_CTRL_KEY_WITH_CMD_KEY && EssentialClientConfig.getInstance().getFixMacOSCursorJumping()) {
47+
Minecraft minecraft = Minecraft.getInstance();
48+
if (minecraft.hasControlDown()) {
4749
this.insertText("");
48-
} else if (Screen.hasAltDown()) {
50+
} else if (minecraft.hasAltDown()) {
4951
this.deleteWords(count);
5052
} else {
5153
this.deleteChars(count);
@@ -60,27 +62,27 @@ private void onDeleteText(int count, CallbackInfo ci) {
6062
at = @At("HEAD"),
6163
cancellable = true
6264
)
63-
private void onKeyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable<Boolean> cir) {
65+
private void onKeyPressed(KeyEvent event, CallbackInfoReturnable<Boolean> cir) {
6466
if (this.isActive() && this.isFocused()) {
65-
if (Minecraft.ON_OSX && EssentialClientConfig.getInstance().getFixMacOSCursorJumping()) {
66-
switch (keyCode) {
67+
if (InputQuirks.REPLACE_CTRL_KEY_WITH_CMD_KEY && EssentialClientConfig.getInstance().getFixMacOSCursorJumping()) {
68+
switch (event.key()) {
6769
case InputConstants.KEY_RIGHT -> {
68-
if (Screen.hasControlDown()) {
69-
this.moveCursorToEnd(Screen.hasShiftDown());
70-
} else if (Screen.hasAltDown()) {
71-
this.moveCursorTo(this.getWordPosition(1), Screen.hasShiftDown());
70+
if (event.hasControlDown()) {
71+
this.moveCursorToEnd(event.hasShiftDown());
72+
} else if (event.hasAltDown()) {
73+
this.moveCursorTo(this.getWordPosition(1), event.hasShiftDown());
7274
} else {
73-
this.moveCursor(1, Screen.hasShiftDown());
75+
this.moveCursor(1, event.hasShiftDown());
7476
}
7577
cir.setReturnValue(true);
7678
}
7779
case InputConstants.KEY_LEFT -> {
78-
if (Screen.hasControlDown()) {
79-
this.moveCursorToStart(Screen.hasShiftDown());
80-
} else if (Screen.hasAltDown()) {
81-
this.moveCursorTo(this.getWordPosition(-1), Screen.hasShiftDown());
80+
if (event.hasControlDown()) {
81+
this.moveCursorToStart(event.hasShiftDown());
82+
} else if (event.hasAltDown()) {
83+
this.moveCursorTo(this.getWordPosition(-1), event.hasShiftDown());
8284
} else {
83-
this.moveCursor(-1, Screen.hasShiftDown());
85+
this.moveCursor(-1, event.hasShiftDown());
8486
}
8587
cir.setReturnValue(true);
8688
}
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package me.senseiwells.essential_client.mixins.sneak_to_not_waterlog;
22

3+
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
34
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
45
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
56
import com.llamalad7.mixinextras.sugar.Local;
@@ -12,18 +13,17 @@
1213

1314
@Mixin(BucketItem.class)
1415
public class BucketItemMixin {
15-
@WrapOperation(
16-
method = "use",
17-
constant = @Constant(classValue = LiquidBlockContainer.class)
16+
@ModifyExpressionValue(
17+
method = "emptyContents",
18+
at = @At(
19+
value = "INVOKE",
20+
target = "Lnet/minecraft/world/entity/LivingEntity;isShiftKeyDown()Z"
21+
)
1822
)
19-
private boolean playerCheckBypass(
20-
Object object,
21-
Operation<Boolean> original,
22-
@Local(argsOnly = true) Player player
23-
) {
23+
private boolean playerCheckBypass(boolean original) {
2424
if (EssentialClientConfig.getInstance().getSneakToNotWaterlog()) {
25-
return original.call(object) && !player.isSecondaryUseActive();
25+
return original;
2626
}
27-
return original.call(object);
27+
return false;
2828
}
2929
}

0 commit comments

Comments
 (0)