Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

Commit 589fe07

Browse files
committed
sync VP-1.2.7-1.16.5
1 parent aeb9c5f commit 589fe07

File tree

13 files changed

+70
-45
lines changed

13 files changed

+70
-45
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G
88
loader_version=0.11.3
99

1010
# Mod Properties
11-
mod_version = 1.0.0-1.16.5
11+
mod_version = 1.0.1-1.16.5
1212
maven_group = org.localmc.tools.hardcodepatcher
1313
archives_base_name = HardcodeTextPatcher-Fabric
1414

src/main/java/org/localmc/tools/hardcodepatcher/HardcodePatcher.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.localmc.tools.hardcodepatcher;
22

33
import org.localmc.tools.hardcodepatcher.command.CommandEventHandler;
4-
import org.localmc.tools.hardcodepatcher.config.HardcodeTextPatcherConfig;
5-
import org.localmc.tools.hardcodepatcher.config.HardcodeTextPatcherPatch;
4+
import org.localmc.tools.hardcodepatcher.config.HardcodePatcherConfig;
5+
import org.localmc.tools.hardcodepatcher.config.HardcodePatcherPatch;
66
import net.fabricmc.api.ModInitializer;
77
import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback;
88
import net.fabricmc.loader.api.FabricLoader;
@@ -19,18 +19,17 @@ public class HardcodePatcher implements ModInitializer {
1919
public static final String patchFileName = "hardcodepatcher.json";
2020
public static final Path configPath = FabricLoader.getInstance().getConfigDir().resolve("HardcodePatcher");
2121
public static final Logger LOGGER = LogManager.getLogger();
22-
public static ArrayList<String> exportList = new ArrayList<>();
23-
public static List<HardcodeTextPatcherPatch> vpps = new ArrayList<>();
22+
public static List<HardcodePatcherPatch> vpps = new ArrayList<>();
2423

2524
@Override
2625
public void onInitialize() {
2726
CommandRegistrationCallback.EVENT.register(CommandEventHandler::registerClientCommands);
2827

2928
try {
30-
HardcodeTextPatcherConfig.readConfig();
31-
List<String> mods = HardcodeTextPatcherConfig.getMods();
29+
HardcodePatcherConfig.readConfig();
30+
List<String> mods = HardcodePatcherConfig.getMods();
3231
for (String mod : mods) {
33-
HardcodeTextPatcherPatch vpp = new HardcodeTextPatcherPatch(mod + ".json");
32+
HardcodePatcherPatch vpp = new HardcodePatcherPatch(mod + ".json");
3433
try {
3534
vpp.readConfig();
3635
vpps.add(vpp);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.localmc.tools.hardcodepatcher;
2+
3+
import java.util.ArrayList;
4+
import java.util.HashMap;
5+
import java.util.Map;
6+
7+
public class HardcodePatcherUtils {
8+
public static ArrayList<String> exportList = new ArrayList<>();
9+
public static Map<String, Boolean> exported = new HashMap<>();
10+
public static void addToExportList(String text) {
11+
if (!exported.getOrDefault(text, false) || !isInExportList(text)) {
12+
exported.put(text, true);
13+
exportList.add(text);
14+
}
15+
}
16+
public static boolean isInExportList(String text) {
17+
return exportList.lastIndexOf(text) != -1;
18+
}
19+
}

src/main/java/org/localmc/tools/hardcodepatcher/ThePatcher.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.localmc.tools.hardcodepatcher;
22

33
import org.localmc.tools.hardcodepatcher.config.DebugMode;
4-
import org.localmc.tools.hardcodepatcher.config.HardcodeTextPatcherConfig;
5-
import org.localmc.tools.hardcodepatcher.config.HardcodeTextPatcherPatch;
4+
import org.localmc.tools.hardcodepatcher.config.HardcodePatcherConfig;
5+
import org.localmc.tools.hardcodepatcher.config.HardcodePatcherPatch;
66

77
import java.util.Arrays;
88

@@ -14,21 +14,30 @@ public static String patch(String s) {
1414
if (s == null || s.trim().equals("")) {
1515
return s;
1616
}
17-
HardcodePatcher.exportList.add(s);
17+
HardcodePatcherUtils.addToExportList(s);
1818
// VaultPatcher.LOGGER.info(Arrays.toString(Thread.currentThread().getStackTrace()));
1919
String ret;
20-
for (HardcodeTextPatcherPatch vpp : HardcodePatcher.vpps) {
20+
for (HardcodePatcherPatch vpp : HardcodePatcher.vpps) {
2121
StackTraceElement[] stacks = Thread.currentThread().getStackTrace();
2222
ret = vpp.patch(s, stacks);
23-
DebugMode debug = HardcodeTextPatcherConfig.getDebugMode();
23+
DebugMode debug = HardcodePatcherConfig.getDebugMode();
24+
String format = debug.getOutputFormat();
2425
if (ret != null && !ret.equals(s)) {
25-
if (debug.isEnable() && debug.getOutputMode() == 0) {
26-
HardcodePatcher.LOGGER.info(String.format(debug.getOutputFormat(), s, ret, Arrays.toString(stacks)));
26+
if (debug.isEnable() && (debug.getOutputMode() == 1 || debug.getOutputMode() == 0)) {
27+
HardcodePatcher.LOGGER.info(
28+
format.replace("<source>", s)
29+
.replace("<target>", ret)
30+
.replace("<stack>", Arrays.toString(stacks))
31+
);
2732
}
2833
return ret;
2934
} else {
3035
if (debug.isEnable() && debug.getOutputMode() == 1) {
31-
HardcodePatcher.LOGGER.info(String.format(debug.getOutputFormat(), s, ret, Arrays.toString(stacks)));
36+
HardcodePatcher.LOGGER.info(
37+
format.replace("<source>", s)
38+
.replace("<target>", s)
39+
.replace("<stack>", Arrays.toString(stacks))
40+
);
3241
}
3342
return s;
3443
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package org.localmc.tools.hardcodepatcher.command;
22

33
import com.mojang.brigadier.CommandDispatcher;
4+
import com.mojang.brigadier.tree.LiteralCommandNode;
45
import org.localmc.tools.hardcodepatcher.HardcodePatcher;
56
import net.minecraft.server.command.CommandManager;
67
import net.minecraft.server.command.ServerCommandSource;
78

89
public class CommandEventHandler {
910
public static void registerClientCommands(CommandDispatcher<ServerCommandSource> dispatcher, Boolean dedicated) {
10-
dispatcher.register(
11+
LiteralCommandNode<ServerCommandSource> cmd = dispatcher.register(
1112
CommandManager.literal(HardcodePatcher.MODID
1213
).then(
1314
CommandManager.literal("export")
@@ -18,7 +19,7 @@ public static void registerClientCommands(CommandDispatcher<ServerCommandSource>
1819
).then(
1920
CommandManager.literal("reload")
2021
.executes(ReloadCommand.instance)
21-
)
22-
);
22+
));
23+
dispatcher.register(CommandManager.literal("hp").redirect(cmd));
2324
}
2425
}

src/main/java/org/localmc/tools/hardcodepatcher/command/ExportCommand.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@
88
import net.fabricmc.loader.api.FabricLoader;
99
import net.minecraft.server.command.ServerCommandSource;
1010
import net.minecraft.text.TranslatableText;
11+
import org.localmc.tools.hardcodepatcher.HardcodePatcherUtils;
1112

1213
import java.io.BufferedWriter;
1314
import java.io.FileWriter;
1415
import java.io.IOException;
1516
import java.util.ArrayList;
1617

17-
1818
public class ExportCommand implements Command<ServerCommandSource> {
1919
public static ExportCommand instance = new ExportCommand();
2020

2121
@Override
2222
public int run(CommandContext<ServerCommandSource> context) {
2323
context.getSource().sendFeedback(new TranslatableText("commands.hardcodepatcher.export.warning.wip"), true);
2424
Gson gson = new Gson();
25-
String json = gson.toJson(HardcodePatcher.exportList, new TypeToken<ArrayList<String>>() {
25+
String json = gson.toJson(HardcodePatcherUtils.exportList, new TypeToken<ArrayList<String>>() {
2626
}.getType());
27-
//Export langs
27+
//Export
2828
try {
2929
BufferedWriter bw = new BufferedWriter(new FileWriter(FabricLoader.getInstance().getGameDir().resolve(HardcodePatcher.patchFileName).toFile()));
3030
bw.write(json);

src/main/java/org/localmc/tools/hardcodepatcher/command/ListCommand.java

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

33
import com.mojang.brigadier.Command;
44
import com.mojang.brigadier.context.CommandContext;
5-
import org.localmc.tools.hardcodepatcher.config.HardcodeTextPatcherConfig;
5+
import org.localmc.tools.hardcodepatcher.config.HardcodePatcherConfig;
66
import net.minecraft.server.command.ServerCommandSource;
77
import net.minecraft.text.LiteralText;
88
import net.minecraft.text.TranslatableText;
@@ -16,7 +16,7 @@ public class ListCommand implements Command<ServerCommandSource> {
1616
public int run(CommandContext<ServerCommandSource> context) {
1717
context.getSource().sendFeedback(new TranslatableText("commands.hardcodepatcher.list.warning.wip"), false);
1818
context.getSource().sendFeedback(new TranslatableText("commands.hardcodepatcher.list.tips.modslist"), false);
19-
List<String> mods = HardcodeTextPatcherConfig.getMods();
19+
List<String> mods = HardcodePatcherConfig.getMods();
2020
StringBuilder str = new StringBuilder();
2121
for (String mod : mods) {
2222
str.append("§a").append(mod).append(",");

src/main/java/org/localmc/tools/hardcodepatcher/config/DebugMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class DebugMode {
1212

1313
private int outputMode = 0;
1414

15-
private String outputFormat = "%s -> %s";
15+
private String outputFormat = "<source> -> <target>";
1616

1717
public boolean isEnable() {
1818
return isEnable;

src/main/java/org/localmc/tools/hardcodepatcher/config/HardcodeTextPatcherConfig.java renamed to src/main/java/org/localmc/tools/hardcodepatcher/config/HardcodePatcherConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import java.util.ArrayList;
1717
import java.util.List;
1818

19-
public class HardcodeTextPatcherConfig {
19+
public class HardcodePatcherConfig {
2020
private static final Gson GSON = new Gson();
2121
private static final Path configFile = HardcodePatcher.configPath.resolve("config.json");
2222
private static List<String> mods = new ArrayList<>();

src/main/java/org/localmc/tools/hardcodepatcher/config/HardcodeTextPatcherPatch.java renamed to src/main/java/org/localmc/tools/hardcodepatcher/config/HardcodePatcherPatch.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import java.nio.file.Path;
1414
import java.util.*;
1515

16-
public class HardcodeTextPatcherPatch {
16+
public class HardcodePatcherPatch {
1717
private static final Gson GSON = new Gson();
1818
private static boolean isSemimatch = false;
1919
private final Path patchFile;
@@ -22,7 +22,7 @@ public class HardcodeTextPatcherPatch {
2222

2323
private PatchInfo info = new PatchInfo();
2424

25-
public HardcodeTextPatcherPatch(String patchFile) {
25+
public HardcodePatcherPatch(String patchFile) {
2626
HardcodePatcher.LOGGER.info("Load Module " + patchFile);
2727
Path p = HardcodePatcher.configPath.resolve(patchFile);
2828
try {

0 commit comments

Comments
 (0)