Skip to content

Commit 8cc2507

Browse files
committed
Updated to Fabric 1.21, added KillAura.weapons setting
1 parent da409a3 commit 8cc2507

File tree

12 files changed

+86
-63
lines changed

12 files changed

+86
-63
lines changed

gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ kotlinVersion=2.0.0
1111
progresoVersion=0.3
1212

1313
# fabric
14-
minecraftVersion=1.20.6
15-
fabricVersion=0.99.4+1.20.6
14+
minecraftVersion=1.21
15+
fabricVersion=0.100.4+1.21
1616
fabricLoomVersion=1.6-SNAPSHOT
17-
yarnMappings=1.20.6+build.3
17+
yarnMappings=1.21+build.7
1818
loaderVersion=0.15.11
1919

2020
# other

progreso-client/src/main/java/org/progreso/client/mixins/gui/MixinInGameHud.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import net.minecraft.client.gui.DrawContext;
44
import net.minecraft.client.gui.hud.InGameHud;
5+
import net.minecraft.client.render.RenderTickCounter;
56
import org.progreso.client.Client;
67
import org.progreso.client.events.render.Render2DEvent;
78
import org.spongepowered.asm.mixin.Mixin;
@@ -15,7 +16,13 @@ public abstract class MixinInGameHud {
1516
method = "render",
1617
at = @At("TAIL")
1718
)
18-
public void renderHook(DrawContext context, float tickDelta, CallbackInfo callbackInfo) {
19+
public void renderHook(
20+
DrawContext context,
21+
RenderTickCounter tickCounter,
22+
CallbackInfo callbackInfo
23+
) {
24+
Client.getMc().getClient().getProfiler().push("progreso_2d_render");
1925
Client.EVENT_BUS.post(new Render2DEvent(context));
26+
Client.getMc().getClient().getProfiler().pop();
2027
}
2128
}

progreso-client/src/main/java/org/progreso/client/mixins/network/MixinClientPlayerInteractionManager.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package org.progreso.client.mixins.network;
22

33
import net.minecraft.client.network.ClientPlayerInteractionManager;
4+
import net.minecraft.entity.Entity;
5+
import net.minecraft.entity.player.PlayerEntity;
46
import net.minecraft.util.math.BlockPos;
57
import net.minecraft.util.math.Direction;
68
import org.progreso.client.Client;
79
import org.progreso.client.events.block.DamageBlockEvent;
10+
import org.progreso.client.events.player.AttackEntityEvent;
811
import org.spongepowered.asm.mixin.Mixin;
912
import org.spongepowered.asm.mixin.injection.At;
1013
import org.spongepowered.asm.mixin.injection.Inject;
14+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1115
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
1216

1317
@Mixin(ClientPlayerInteractionManager.class)
@@ -21,4 +25,15 @@ public void attackBlockHook(BlockPos pos, Direction direction, CallbackInfoRetur
2125
callbackInfoReturnable.cancel();
2226
}
2327
}
28+
29+
@Inject(
30+
method = "attackEntity",
31+
at = @At("HEAD"),
32+
cancellable = true
33+
)
34+
public void attackEntityHook(PlayerEntity player, Entity target, CallbackInfo callbackInfo) {
35+
if (Client.EVENT_BUS.post(new AttackEntityEvent(target))) {
36+
callbackInfo.cancel();
37+
}
38+
}
2439
}

progreso-client/src/main/java/org/progreso/client/mixins/render/MixinGameRenderer.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.llamalad7.mixinextras.sugar.Local;
44
import net.minecraft.client.render.GameRenderer;
5+
import net.minecraft.client.render.RenderTickCounter;
56
import net.minecraft.client.util.math.MatrixStack;
67
import org.joml.Matrix4f;
78
import org.objectweb.asm.Opcodes;
@@ -15,7 +16,7 @@
1516
@Mixin(GameRenderer.class)
1617
public abstract class MixinGameRenderer {
1718
@Inject(
18-
method = "renderWorld(FJ)V",
19+
method = "renderWorld",
1920
at = @At(
2021
value = "FIELD",
2122
target = "Lnet/minecraft/client/render/GameRenderer;renderHand:Z",
@@ -24,12 +25,12 @@ public abstract class MixinGameRenderer {
2425
)
2526
)
2627
public void renderWorldHook(
27-
float tickDelta,
28-
long limitTime,
29-
CallbackInfo ci,
30-
@Local(ordinal = 1) Matrix4f matrix4f2
28+
RenderTickCounter tickCounter,
29+
CallbackInfo callbackInfo,
30+
@Local(ordinal = 1) Matrix4f matrix4f2,
31+
@Local(ordinal = 1) float tickDelta
3132
) {
32-
Client.getMc().getClient().getProfiler().push("progreso_render");
33+
Client.getMc().getClient().getProfiler().push("progreso_3d_render");
3334
MatrixStack matrixStack = new MatrixStack();
3435
matrixStack.multiplyPositionMatrix(matrix4f2);
3536
Client.EVENT_BUS.post(new Render3DEvent(matrixStack, tickDelta));

progreso-client/src/main/kotlin/org/progreso/client/Client.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,6 @@ class Client : ClientModInitializer {
118118
}
119119

120120
class MinecraftClientWrapper(val client: MinecraftClient) {
121-
val tickDelta get() = client.tickDelta
122-
123121
val world get() = client.world!!
124122
val player get() = client.player!!
125123
val textRenderer get() = client.textRenderer!!
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.progreso.client.events.player
2+
3+
import net.minecraft.entity.Entity
4+
import org.progreso.api.event.Event
5+
6+
data class AttackEntityEvent(val entity: Entity) : Event()

progreso-client/src/main/kotlin/org/progreso/client/gui/clickgui/element/elements/ColorElement.kt

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ package org.progreso.client.gui.clickgui.element.elements
33
import com.mojang.blaze3d.platform.GlStateManager
44
import com.mojang.blaze3d.systems.RenderSystem
55
import net.minecraft.client.gui.DrawContext
6-
import net.minecraft.client.render.GameRenderer
7-
import net.minecraft.client.render.Tessellator
8-
import net.minecraft.client.render.VertexFormat
9-
import net.minecraft.client.render.VertexFormats
6+
import net.minecraft.client.render.*
107
import org.progreso.api.setting.settings.ColorSetting
118
import org.progreso.api.setting.settings.NumberSetting
129
import org.progreso.client.gui.clickgui.element.AbstractChildElement
@@ -122,53 +119,46 @@ class ColorElement(
122119

123120
RenderSystem.setShader(GameRenderer::getPositionColorProgram)
124121

125-
val buffer = Tessellator.getInstance().buffer
126-
buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR)
122+
var buffer = Tessellator.getInstance().begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR)
127123

128124
buffer
129125
.vertex(matrix, x, y, 0f)
130126
.color(1f, 1f, 1f, 1f)
131-
.next()
132127

133128
buffer
134129
.vertex(matrix, x, y + height, 0f)
135130
.color(1f, 1f, 1f, 1f)
136-
.next()
137131

138132
buffer
139133
.vertex(matrix, x + width, y + height, 0f)
140134
.color(red, green, blue, alpha)
141-
.next()
142135

143136
buffer
144137
.vertex(matrix, x + width, y, 0f)
145138
.color(red, green, blue, alpha)
146-
.next()
147139

148-
Tessellator.getInstance().draw()
149-
buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR)
140+
BufferRenderer.drawWithGlobalProgram(buffer.end())
141+
142+
buffer = Tessellator.getInstance().begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR)
150143

151144
buffer
152145
.vertex(matrix, x, y, 0f)
153146
.color(0f, 0f, 0f, 0f)
154-
.next()
155147

156148
buffer
157149
.vertex(matrix, x, y + height, 0f)
158150
.color(0f, 0f, 0f, 1f)
159-
.next()
160151

161152
buffer
162153
.vertex(matrix, x + width, y + height, 0f)
163154
.color(0f, 0f, 0f, 1f)
164-
.next()
165155

166156
buffer
167157
.vertex(matrix, x + width, y, 0f)
168158
.color(0f, 0f, 0f, 0f)
169-
.next()
170159

171-
Tessellator.getInstance().draw()
160+
BufferRenderer.drawWithGlobalProgram(buffer.end())
161+
172162
context.matrices.pop()
173163

174164
RenderSystem.setShaderColor(1f, 1f, 1f, 1f)

progreso-client/src/main/kotlin/org/progreso/client/modules/combat/KillAura.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import net.minecraft.entity.passive.IronGolemEntity
77
import net.minecraft.entity.passive.PassiveEntity
88
import net.minecraft.entity.passive.SnowGolemEntity
99
import net.minecraft.entity.player.PlayerEntity
10+
import net.minecraft.item.AxeItem
11+
import net.minecraft.item.MaceItem
1012
import net.minecraft.item.SwordItem
1113
import org.progreso.api.module.AbstractModule
1214
import org.progreso.client.Client.Companion.mc
@@ -18,18 +20,25 @@ import org.progreso.client.util.player.attack
1820
@AbstractModule.AutoRegister
1921
object KillAura : AbstractModule() {
2022
private val distance by setting("Distance", 4, 1..6)
21-
private val onlySword by setting("OnlySword", true)
2223
private val target by setting("Target", Target.Distance)
2324

25+
private val weapons = setting("Weapons")
26+
private val axe by weapons.setting("Axe", false)
27+
private val sword by weapons.setting("Sword", true)
28+
private val mace by weapons.setting("Mace", false)
29+
2430
private val targets = setting("Targets")
2531
private val players by targets.setting("Players", true)
2632
private val monsters by targets.setting("Monsters", false)
2733
private val animals by targets.setting("Animals", false)
2834

2935
init {
3036
safeEventListener<TickEvent> { _ ->
31-
if (onlySword && mc.player.mainHandStack.item !is SwordItem) {
32-
return@safeEventListener
37+
when (mc.player.mainHandStack.item) {
38+
is AxeItem -> if (!axe) return@safeEventListener
39+
is SwordItem -> if (!sword) return@safeEventListener
40+
is MaceItem -> if (!mace) return@safeEventListener
41+
else -> return@safeEventListener
3342
}
3443

3544
val entity = mc.world.entities

progreso-client/src/main/kotlin/org/progreso/client/modules/misc/AutoTool.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package org.progreso.client.modules.misc
33
import net.minecraft.enchantment.EnchantmentHelper
44
import net.minecraft.enchantment.Enchantments
55
import net.minecraft.item.ItemStack
6+
import net.minecraft.registry.RegistryKeys
67
import net.minecraft.util.math.BlockPos
78
import org.progreso.api.module.AbstractModule
89
import org.progreso.client.Client.Companion.mc
@@ -29,7 +30,10 @@ object AutoTool : AbstractModule() {
2930
var speed = stack.getMiningSpeedMultiplier(mc.world.getBlockState(pos))
3031

3132
if (speed > 1.0f) {
32-
speed += EnchantmentHelper.getLevel(Enchantments.EFFICIENCY, stack)
33+
speed += EnchantmentHelper.getLevel(
34+
mc.world.registryManager.get(RegistryKeys.ENCHANTMENT).getEntry(Enchantments.EFFICIENCY).get(),
35+
stack
36+
)
3337
}
3438

3539
return speed

progreso-client/src/main/kotlin/org/progreso/client/util/player/Interaction.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ import net.minecraft.entity.LivingEntity
55
import net.minecraft.util.Hand
66
import org.progreso.client.Client.Companion.mc
77

8-
fun ClientPlayerInteractionManager.attack(entity: LivingEntity, checkStrength: Boolean = true) {
9-
if (checkStrength && mc.player.getAttackCooldownProgress(mc.tickDelta) != 1.0f) {
8+
fun ClientPlayerInteractionManager.attack(
9+
entity: LivingEntity,
10+
checkStrength: Boolean = true,
11+
tickDelta: Float = 0.5f
12+
) {
13+
if (checkStrength && mc.player.getAttackCooldownProgress(tickDelta) != 1.0f) {
1014
return
1115
}
1216

0 commit comments

Comments
 (0)