Skip to content

Commit 2b60ce6

Browse files
committed
fix:修复旧类名及已知bug
1 parent 197e91c commit 2b60ce6

6 files changed

Lines changed: 54 additions & 12 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ rmdir /s /q _tmp
4444
.\gradlew.bat build
4545
```
4646

47-
**产物:** `build\libs\duskbyte-client-1.0.0.jar`
47+
**产物:** `build\libs\duskbyte-client-1.0.0-git-xxxxxxx.jar`(版本号自动包含 git commit hash)
4848
**启动开发客户端:** `.\gradlew.bat runClient`
4949

5050
---

‎build.gradle‎

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,27 @@
11

2+
import java.text.SimpleDateFormat
3+
24
plugins {
35
id 'fabric-loom' version '1.7.4'
46
id 'java'
57
}
68

7-
version = project.mod_version
9+
// Git version: git-xxxxxxx
10+
def gitHash = 'unknown'
11+
try {
12+
def proc = 'git rev-parse --short HEAD'.execute()
13+
proc.waitFor()
14+
gitHash = proc.text.trim()
15+
} catch (Exception ignored) {}
16+
17+
def gitDirty = ''
18+
try {
19+
def proc = 'git diff --quiet'.execute()
20+
proc.waitFor()
21+
if (proc.exitValue() != 0) gitDirty = '-dirty'
22+
} catch (Exception ignored) {}
23+
24+
version = "${project.mod_version}-git-${gitHash}${gitDirty}"
825
group = project.maven_group
926

1027
base { archivesName = project.archives_base_name }
@@ -42,4 +59,18 @@ tasks.named('jar') {
4259
include '**/*.json'
4360
include '**/*.png'
4461
}
62+
manifest {
63+
attributes(
64+
'Implementation-Title': 'DuskByteClient',
65+
'Implementation-Version': project.version,
66+
)
67+
}
68+
}
69+
70+
// Print version on build
71+
task printVersion {
72+
doFirst {
73+
println "Building DuskByteClient v${project.version}"
74+
}
4575
}
76+
build.dependsOn printVersion

‎src/main/java/dev/duskbyte/DuskByteClient.java‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
package dev.duskbyte;
23

34
import dev.duskbyte.gui.ClickGuiScreen;
@@ -14,7 +15,19 @@
1415

1516
public class DuskByteClient implements ClientModInitializer {
1617
public static final String NAME = "DuskByte";
17-
public static final String VERSION = "1.0.0";
18+
public static String VERSION = "dev";
19+
20+
static {
21+
try {
22+
var url = DuskByteClient.class.getProtectionDomain().getCodeSource().getLocation();
23+
var manifest = new java.net.URL(url, "META-INF/MANIFEST.MF").openConnection().getInputStream();
24+
var props = new java.util.Properties();
25+
props.load(manifest);
26+
manifest.close();
27+
VERSION = props.getProperty("Implementation-Version", "dev");
28+
} catch (Exception ignored) {}
29+
}
30+
1831
public static KeyBinding clickGuiKey;
1932

2033
@Override

‎src/main/java/dev/duskbyte/mixin/TitleScreenMixin.java‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
package dev.duskbyte.mixin;
33

4+
import dev.duskbyte.DuskByteClient;
45
import net.minecraft.client.gui.DrawContext;
56
import net.minecraft.client.gui.screen.TitleScreen;
67
import org.spongepowered.asm.mixin.Mixin;
@@ -13,9 +14,10 @@ public class TitleScreenMixin {
1314
@Inject(method = "render", at = @At("RETURN"))
1415
private void onRender(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
1516
var mc = net.minecraft.client.MinecraftClient.getInstance();
17+
String version = DuskByteClient.VERSION;
1618
context.drawTextWithShadow(
1719
mc.textRenderer,
18-
"§b§lDuskByte Client §7v" + dev.duskbyte.DuskByteClient.VERSION,
20+
"§b§lDuskByte §7v" + version,
1921
4, mc.textRenderer.fontHeight + 4,
2022
0xFFFFFF
2123
);

‎src/main/java/dev/duskbyte/module/movement/NoFall.java‎

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

44
import dev.duskbyte.module.Category;
55
import dev.duskbyte.module.Module;
6-
import net.minecraft.network.packet.c2s.play.PlayerMoveC2CPacket;
76

87
public class NoFall extends Module {
98
public NoFall() {
@@ -13,9 +12,9 @@ public NoFall() {
1312
@Override
1413
public void onTick() {
1514
if (mc.player == null || mc.currentScreen != null) return;
15+
// Claim on-ground when falling to prevent fall damage
1616
if (mc.player.fallDistance > 2.5f) {
17-
mc.player.networkHandler.sendPacket(
18-
new PlayerMoveC2CPacket.OnGroundOnly(true, mc.player.horizontalCollision));
17+
mc.player.setOnGround(true);
1918
}
2019
}
2120
}

‎src/main/java/dev/duskbyte/module/player/AutoEat.java‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
import dev.duskbyte.module.Category;
55
import dev.duskbyte.module.Module;
6-
import net.minecraft.item.FoodComponent;
7-
import net.minecraft.item.ItemStack;
86
import net.minecraft.util.Hand;
97

108
public class AutoEat extends Module {
@@ -16,8 +14,7 @@ public AutoEat() {
1614
public void onTick() {
1715
if (mc.player == null || mc.currentScreen != null) return;
1816
if (mc.player.getHungerManager().getFoodLevel() > 18) return;
19-
if (mc.player.getMainHandStack().getFoodComponent() != null) {
20-
mc.interactionManager.interactItem(mc.player, Hand.MAIN_HAND);
21-
}
17+
// Just try to use held item - if it's food Minecraft handles it
18+
mc.interactionManager.interactItem(mc.player, Hand.MAIN_HAND);
2219
}
2320
}

0 commit comments

Comments
 (0)