Skip to content

Commit f7beea6

Browse files
committed
1.21.9 (almost)
1 parent 45e7544 commit f7beea6

File tree

15 files changed

+103
-107
lines changed

15 files changed

+103
-107
lines changed

gradle.properties

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
# Done to increase the memory available to gradle.
22
org.gradle.jvmargs=-Xmx1G
33
org.gradle.parallel=true
4+
# IntelliJ IDEA is not yet fully compatible with configuration cache, see: https://github.com/FabricMC/fabric-loom/issues/1349
5+
org.gradle.configuration-cache=false
46
# Fabric Properties
57
# check these on https://fabricmc.net/develop
6-
minecraft_version=1.21.8
7-
yarn_mappings=1.21.8+build.1
8+
minecraft_version=1.21.9
9+
yarn_mappings=1.21.9+build.1
810
loader_version=0.17.2
911
loom_version=1.11-SNAPSHOT
1012
# Mod Properties
11-
mod_version=1.21.8
13+
mod_version=1.21.9
1214
maven_group=autumnvn.autumn
1315
archives_base_name=autumn
1416
# Dependencies
15-
fabric_version=0.132.0+1.21.8
17+
fabric_version=0.133.14+1.21.9
1618
modmenu_version=15.0.0-beta.3

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
#
4-
# Copyright © 2015-2021 the original authors.
4+
# Copyright © 2015 the original authors.
55
#
66
# Licensed under the Apache License, Version 2.0 (the "License");
77
# you may not use this file except in compliance with the License.
@@ -114,7 +114,6 @@ case "$( uname )" in #(
114114
NONSTOP* ) nonstop=true ;;
115115
esac
116116

117-
CLASSPATH="\\\"\\\""
118117

119118

120119
# Determine the Java command to use to start the JVM.
@@ -172,7 +171,6 @@ fi
172171
# For Cygwin or MSYS, switch paths to Windows format before running java
173172
if "$cygwin" || "$msys" ; then
174173
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
175-
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
176174

177175
JAVACMD=$( cygpath --unix "$JAVACMD" )
178176

@@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
212210

213211
set -- \
214212
"-Dorg.gradle.appname=$APP_BASE_NAME" \
215-
-classpath "$CLASSPATH" \
216213
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
217214
"$@"
218215

gradlew.bat

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,10 @@ goto fail
7070
:execute
7171
@rem Setup the command line
7272

73-
set CLASSPATH=
7473

7574

7675
@rem Execute Gradle
77-
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
76+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
7877

7978
:end
8079
@rem End local scope for the variables with windows NT shell

src/client/java/autumnvn/autumn/AutumnClient.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,13 @@ public class AutumnClient implements ClientModInitializer {
4545
public void onInitializeClient() {
4646
client = MinecraftClient.getInstance();
4747
options = new Options();
48-
autoAttackKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Auto Attack", GLFW.GLFW_KEY_R, "Autumn"));
49-
ignorePlayerKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Ignore Player", GLFW.GLFW_KEY_UNKNOWN, "Autumn"));
50-
freeCamKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Free Cam", GLFW.GLFW_KEY_H, "Autumn"));
51-
settingKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Open Autumn Settings", GLFW.GLFW_KEY_BACKSLASH, "Autumn"));
52-
zoomKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Zoom", GLFW.GLFW_KEY_LEFT_ALT, "Autumn"));
48+
49+
KeyBinding.Category category = KeyBinding.Category.create(Identifier.of("autumn:autumn"));
50+
autoAttackKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Auto Attack", GLFW.GLFW_KEY_R, category));
51+
ignorePlayerKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Ignore Player", GLFW.GLFW_KEY_UNKNOWN, category));
52+
freeCamKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Free Cam", GLFW.GLFW_KEY_H, category));
53+
settingKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Open Autumn Settings", GLFW.GLFW_KEY_BACKSLASH, category));
54+
zoomKey = KeyBindingHelper.registerKeyBinding(new KeyBinding("Zoom", GLFW.GLFW_KEY_LEFT_ALT, category));
5355

5456
FabricLoader.getInstance().getModContainer(MOD_ID).ifPresent(container -> ResourceManagerHelper.registerBuiltinResourcePack(Identifier.of("autumn", "autumn"), container, Text.literal("Autumn"), ResourcePackActivationType.DEFAULT_ENABLED));
5557
BlockRenderLayerMap.putBlock(Blocks.BARRIER, BlockRenderLayer.TRANSLUCENT);

src/client/java/autumnvn/autumn/ButtonListWidget.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,11 @@ static ButtonEntry create(int width, SimpleOption<?> firstOption, SimpleOption<?
4646
return new ButtonEntry(ImmutableMap.of(firstOption, firstOption.createWidget(AutumnClient.client.options, width / 2 - 155, 0, 150), secondOption, secondOption.createWidget(AutumnClient.client.options, width / 2 + 5, 0, 150)));
4747
}
4848

49-
public void render(DrawContext context, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) {
49+
@Override
50+
public void render(DrawContext context, int mouseX, int mouseY, boolean hovered, float deltaTicks) {
5051
this.buttons.forEach(button -> {
51-
button.setY(y);
52-
button.render(context, mouseX, mouseY, tickDelta);
52+
button.setY(getContentY());
53+
button.render(context, mouseX, mouseY, deltaTicks);
5354
});
5455
}
5556

src/client/java/autumnvn/autumn/FreeCam.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import net.minecraft.client.network.ClientConnectionState;
77
import net.minecraft.client.network.ClientPlayNetworkHandler;
88
import net.minecraft.client.network.ClientPlayerEntity;
9+
import net.minecraft.client.world.ClientChunkLoadProgress;
910
import net.minecraft.entity.Entity;
1011
import net.minecraft.network.packet.Packet;
1112
import net.minecraft.server.ServerLinks;
@@ -23,6 +24,7 @@ public class FreeCam extends ClientPlayerEntity {
2324
AutumnClient.client,
2425
Objects.requireNonNull(AutumnClient.client.getNetworkHandler()).getConnection(),
2526
new ClientConnectionState(
27+
new ClientChunkLoadProgress(),
2628
new GameProfile(UUID.randomUUID(), "FreeCam"),
2729
AutumnClient.client.getTelemetryManager().createWorldSession(false, null, null),
2830
AutumnClient.client.getNetworkHandler().getRegistryManager(),
@@ -33,7 +35,9 @@ public class FreeCam extends ClientPlayerEntity {
3335
Collections.emptyMap(),
3436
AutumnClient.client.inGameHud.getChatHud().toChatState(),
3537
Collections.emptyMap(),
36-
ServerLinks.EMPTY
38+
ServerLinks.EMPTY,
39+
Collections.emptyMap(),
40+
false
3741
)
3842
) {
3943

@@ -57,24 +61,20 @@ public FreeCam() {
5761
getAbilities().flying = true;
5862
input = new KeyboardInput(AutumnClient.client.options);
5963
refreshPositionAndAngles(
60-
AutumnClient.client.player.getPos().x,
61-
AutumnClient.client.player.getPos().y,
62-
AutumnClient.client.player.getPos().z,
64+
AutumnClient.client.player.getX(),
65+
AutumnClient.client.player.getY(),
66+
AutumnClient.client.player.getZ(),
6367
AutumnClient.client.player.getYaw(),
6468
AutumnClient.client.player.getPitch()
6569
);
6670
}
6771

6872
public void spawn() {
69-
if (clientWorld != null) {
70-
clientWorld.addEntity(this);
71-
}
73+
Objects.requireNonNull(AutumnClient.client.world).addEntity(this);
7274
}
7375

7476
public void despawn() {
75-
if (clientWorld != null) {
76-
clientWorld.removeEntity(getId(), RemovalReason.DISCARDED);
77-
}
77+
Objects.requireNonNull(AutumnClient.client.world).removeEntity(getId(), RemovalReason.DISCARDED);
7878
}
7979

8080
@Override

src/client/java/autumnvn/autumn/mixin/client/EntityRendererMixin.java

Lines changed: 20 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3,86 +3,58 @@
33
import autumnvn.autumn.AutumnClient;
44
import autumnvn.autumn.Utils;
55
import autumnvn.autumn.interfaces.IEntityRenderState;
6-
import net.minecraft.client.font.TextRenderer;
7-
import net.minecraft.client.render.VertexConsumerProvider;
6+
import net.minecraft.client.render.command.OrderedRenderCommandQueue;
87
import net.minecraft.client.render.entity.EntityRenderer;
98
import net.minecraft.client.render.entity.state.EntityRenderState;
9+
import net.minecraft.client.render.state.CameraRenderState;
1010
import net.minecraft.client.util.math.MatrixStack;
1111
import net.minecraft.entity.Entity;
1212
import net.minecraft.entity.EntityAttachmentType;
1313
import net.minecraft.entity.LivingEntity;
1414
import net.minecraft.entity.player.PlayerEntity;
1515
import net.minecraft.text.Text;
16-
import net.minecraft.util.math.Vec3d;
1716
import org.spongepowered.asm.mixin.Mixin;
1817
import org.spongepowered.asm.mixin.Shadow;
1918
import org.spongepowered.asm.mixin.injection.At;
2019
import org.spongepowered.asm.mixin.injection.Inject;
21-
import org.spongepowered.asm.mixin.injection.ModifyArgs;
22-
import org.spongepowered.asm.mixin.injection.ModifyVariable;
2320
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
24-
import org.spongepowered.asm.mixin.injection.invoke.arg.Args;
2521

2622
import java.util.Objects;
2723

2824
@Mixin(EntityRenderer.class)
29-
public class EntityRendererMixin<T extends Entity, S extends EntityRenderState> {
25+
public abstract class EntityRendererMixin<T extends Entity, S extends EntityRenderState> {
3026

3127
@Shadow
32-
private static void renderLeash(MatrixStack matrices, VertexConsumerProvider vertexConsumers, EntityRenderState.LeashData leashData) {
33-
}
34-
35-
@Shadow
36-
protected void renderLabelIfPresent(S state, Text text, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light) {
37-
}
28+
protected abstract void renderLabelIfPresent(S state, MatrixStack matrices, OrderedRenderCommandQueue queue, CameraRenderState cameraRenderState);
3829

3930
// BetterNametag
4031
@Inject(method = "render", at = @At("HEAD"), cancellable = true)
41-
private void render(S state, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) {
42-
Entity entity = ((IEntityRenderState) state).autumn$getEntity();
32+
private void render(S renderState, MatrixStack matrices, OrderedRenderCommandQueue queue, CameraRenderState cameraState, CallbackInfo ci) {
33+
Entity entity = ((IEntityRenderState) renderState).autumn$getEntity();
4334
if (AutumnClient.options.betterNametag.getValue() && entity instanceof LivingEntity livingEntity && (livingEntity instanceof PlayerEntity || livingEntity == Utils.getTargetedEntity())) {
44-
if (state.leashDatas != null) {
45-
for (EntityRenderState.LeashData leashData : state.leashDatas) {
46-
renderLeash(matrices, vertexConsumers, leashData);
35+
if (renderState.leashDatas != null) {
36+
for (EntityRenderState.LeashData leashData : renderState.leashDatas) {
37+
queue.submitLeash(matrices, leashData);
4738
}
4839
}
4940

5041
float health = livingEntity.getHealth() + livingEntity.getAbsorptionAmount();
5142
String ownerName = Utils.getOwnerName(livingEntity);
52-
renderLabelIfPresent(state,
53-
Text.of(
54-
String.format("%s%s %s%.0f§c❤%s",
55-
ownerName != null ? ownerName + (ownerName.endsWith("s") ? "' " : "'s ") : "",
56-
Objects.requireNonNull(livingEntity.getDisplayName()).getString(),
57-
Utils.color(health, 0, livingEntity.getMaxHealth()),
58-
health,
59-
livingEntity instanceof PlayerEntity playerEntity ? (playerEntity.isCreative() ? " §r[C]" : playerEntity.isSpectator() ? " §r[S]" : "") : ""
60-
)
61-
), matrices, vertexConsumers, light);
43+
renderState.nameLabelPos = entity.getAttachments().getPointNullable(EntityAttachmentType.NAME_TAG, 0, entity.getLerpedYaw(AutumnClient.client.getRenderTickCounter().getTickProgress(true)));
44+
renderState.displayName = Text.of(
45+
String.format("%s%s %s%.0f§c❤%s",
46+
ownerName != null ? ownerName + (ownerName.endsWith("s") ? "' " : "'s ") : "",
47+
Objects.requireNonNull(livingEntity.getDisplayName()).getString(),
48+
Utils.color(health, 0, livingEntity.getMaxHealth()),
49+
health,
50+
livingEntity instanceof PlayerEntity playerEntity ? (playerEntity.isCreative() ? " §r[C]" : playerEntity.isSpectator() ? " §r[S]" : "") : ""
51+
)
52+
);
53+
renderLabelIfPresent(renderState, matrices, queue, cameraState);
6254
ci.cancel();
6355
}
6456
}
6557

66-
@ModifyVariable(method = "renderLabelIfPresent", at = @At("STORE"))
67-
private Vec3d labelNamePos(Vec3d original, S state) {
68-
if (AutumnClient.options.betterNametag.getValue() && original == null) {
69-
Entity entity = ((IEntityRenderState) state).autumn$getEntity();
70-
if (entity instanceof LivingEntity livingEntity && (livingEntity instanceof PlayerEntity || livingEntity == Utils.getTargetedEntity())) {
71-
return entity.getAttachments().getPointNullable(EntityAttachmentType.NAME_TAG, 0, entity.getLerpedYaw(AutumnClient.client.getRenderTickCounter().getTickProgress(true)));
72-
}
73-
}
74-
75-
return original;
76-
}
77-
78-
@ModifyArgs(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)V", ordinal = 0))
79-
private void draw(Args args) {
80-
if (AutumnClient.options.betterNametag.getValue()) {
81-
args.set(3, 0xaaffffff);
82-
args.set(7, TextRenderer.TextLayerType.SEE_THROUGH);
83-
}
84-
}
85-
8658
@Inject(method = "updateRenderState", at = @At("HEAD"))
8759
private void updateRenderState(T entity, S state, float tickDelta, CallbackInfo ci) {
8860
if (AutumnClient.options.betterNametag.getValue()) {

src/client/java/autumnvn/autumn/mixin/client/FishingBobberEntityRendererMixin.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
import autumnvn.autumn.AutumnClient;
44
import autumnvn.autumn.interfaces.IEntityRenderState;
5-
import net.minecraft.client.render.VertexConsumerProvider;
5+
import net.minecraft.client.render.command.OrderedRenderCommandQueue;
66
import net.minecraft.client.render.entity.FishingBobberEntityRenderer;
77
import net.minecraft.client.render.entity.state.FishingBobberEntityState;
8+
import net.minecraft.client.render.state.CameraRenderState;
89
import net.minecraft.client.util.math.MatrixStack;
910
import net.minecraft.entity.Entity;
1011
import net.minecraft.entity.projectile.FishingBobberEntity;
@@ -17,8 +18,8 @@
1718
public class FishingBobberEntityRendererMixin {
1819

1920
// NoFishingBobber
20-
@Inject(method = "render(Lnet/minecraft/client/render/entity/state/FishingBobberEntityState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V", at = @At("HEAD"), cancellable = true)
21-
private void render(FishingBobberEntityState fishingBobberEntityState, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int i, CallbackInfo ci) {
21+
@Inject(method = "render(Lnet/minecraft/client/render/entity/state/FishingBobberEntityState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;Lnet/minecraft/client/render/state/CameraRenderState;)V", at = @At("HEAD"), cancellable = true)
22+
private void render(FishingBobberEntityState fishingBobberEntityState, MatrixStack matrixStack, OrderedRenderCommandQueue orderedRenderCommandQueue, CameraRenderState cameraRenderState, CallbackInfo ci) {
2223
Entity entity = ((IEntityRenderState) fishingBobberEntityState).autumn$getEntity();
2324
if (AutumnClient.options.noFishingBobber.getValue() && ((FishingBobberEntity) entity).getHookedEntity() == AutumnClient.client.player) {
2425
ci.cancel();
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package autumnvn.autumn.mixin.client;
2+
3+
import autumnvn.autumn.AutumnClient;
4+
import net.minecraft.client.render.command.LabelCommandRenderer;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
import org.spongepowered.asm.mixin.gen.Accessor;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Redirect;
9+
10+
import java.util.List;
11+
12+
@Mixin(LabelCommandRenderer.Commands.class)
13+
interface LabelCommandRendererCommandsAccessor {
14+
@Accessor("seethroughLabels")
15+
List<?> getSeethroughLabels();
16+
17+
@Accessor("normalLabels")
18+
List<?> getNormalLabels();
19+
}
20+
21+
@Mixin(LabelCommandRenderer.Commands.class)
22+
public class LabelCommandRendererCommandsMixin {
23+
24+
// BetterNametag
25+
@Redirect(method = "add", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/command/LabelCommandRenderer$Commands;normalLabels:Ljava/util/List;"))
26+
private List<?> normalLabels(LabelCommandRenderer.Commands instance) {
27+
return AutumnClient.options.betterNametag.getValue()
28+
? ((LabelCommandRendererCommandsAccessor) instance).getSeethroughLabels()
29+
: ((LabelCommandRendererCommandsAccessor) instance).getNormalLabels();
30+
}
31+
}

0 commit comments

Comments
 (0)