Skip to content

Commit 5903a60

Browse files
authored
use MixinExtras
wrapwithcondition is just perfect for fastreset
1 parent 1c2b82e commit 5903a60

File tree

5 files changed

+22
-13
lines changed

5 files changed

+22
-13
lines changed

build.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ dependencies {
1616
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
1717
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
1818

19+
// Mixin Extras
20+
modImplementation include("com.github.LlamaLad7:MixinExtras:${project.mixinextras_version}")
21+
implementation("com.github.LlamaLad7:MixinExtras:${project.mixinextras_version}")
22+
annotationProcessor("com.github.LlamaLad7:MixinExtras:${project.mixinextras_version}")
23+
1924
// Fabric API. This is technically optional, but you probably want it anyway.
2025
// modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
2126

@@ -47,6 +52,10 @@ task sourcesJar(type: Jar, dependsOn: classes) {
4752
from sourceSets.main.allSource
4853
}
4954

55+
repositories {
56+
maven { url 'https://jitpack.io' }
57+
}
58+
5059
jar {
5160
from "LICENSE"
5261
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ org.gradle.jvmargs=-Xmx1G
55
minecraft_version=1.16.1
66
yarn_mappings=1.16.1+build.21
77
loader_version=0.11.3
8+
mixinextras_version=0.0.12
89
# Mod Properties
910
mod_version=1.5
1011
maven_group=fast-reset-1.16.1-v

src/main/java/fast_reset/client/mixin/ResetMixin.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fast_reset.client.mixin;
22

3+
import com.llamalad7.mixinextras.injector.WrapWithCondition;
34
import fast_reset.client.FastReset;
45
import net.minecraft.server.MinecraftServer;
56
import net.minecraft.server.PlayerManager;
@@ -53,10 +54,8 @@ private boolean closeWorldsRedirect(Iterator<ServerWorld> iterator) {
5354
return false;
5455
}
5556

56-
@Redirect(method = "shutdown", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/PlayerManager;saveAllPlayerData()V"))
57-
private void disablePlayerSaving(PlayerManager playerManager) {
58-
if (FastReset.saveOnQuit) {
59-
playerManager.saveAllPlayerData();
60-
}
57+
@WrapWithCondition(method = "shutdown", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/PlayerManager;saveAllPlayerData()V"))
58+
private boolean disablePlayerSaving(PlayerManager playerManager) {
59+
return FastReset.saveOnQuit;
6160
}
6261
}
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
package fast_reset.client.mixin;
22

3+
import com.llamalad7.mixinextras.injector.WrapWithCondition;
34
import fast_reset.client.FastReset;
45
import net.minecraft.server.world.ServerChunkManager;
56
import org.spongepowered.asm.mixin.Mixin;
67
import org.spongepowered.asm.mixin.injection.At;
7-
import org.spongepowered.asm.mixin.injection.Redirect;
88

99
@Mixin(ServerChunkManager.class)
1010
public class ServerChunkManagerMixin {
1111

12-
@Redirect(method = "close", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/world/ServerChunkManager;save(Z)V"))
13-
private void closeRedirect(ServerChunkManager serverChunkManager, boolean flush) {
14-
if (FastReset.saveOnQuit) {
15-
serverChunkManager.save(flush);
16-
}
12+
@WrapWithCondition(method = "close", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/world/ServerChunkManager;save(Z)V"))
13+
private boolean closeRedirect(ServerChunkManager serverChunkManager, boolean flush) {
14+
return FastReset.saveOnQuit;
1715
}
1816
}

src/main/resources/fabric.mod.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
"license": "MIT",
1212
"environment": "client",
1313
"entrypoints": {
14+
"preLaunch": [
15+
"com.llamalad7.mixinextras.MixinExtrasBootstrap::init"
16+
],
1417
"client": [
1518
"fast_reset.client.FastReset"
1619
]
@@ -19,7 +22,6 @@
1922
"fast_reset.mixins.json"
2023
],
2124
"depends": {
22-
"fabricloader": ">=0.1.0",
23-
"minecraft": ">=1.16 <=1.16.1
25+
"fabricloader": ">=0.1.0"
2426
}
2527
}

0 commit comments

Comments
 (0)