aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev/mayaqq/ygasi/registry
diff options
context:
space:
mode:
authorMaximusbarcz <maxim.baranek@gmail.com>2022-12-23 11:29:31 +0100
committerMaximusbarcz <maxim.baranek@gmail.com>2022-12-23 11:29:31 +0100
commite5bc4dae41d2d3e04440a4fe02793d4084427437 (patch)
tree739ad7936b322f506b4a845cada07372ac40576a /src/main/java/dev/mayaqq/ygasi/registry
parentca23a48ec1efa4ebcc578c8dc876a0e8794a885b (diff)
downloadygasi-e5bc4dae41d2d3e04440a4fe02793d4084427437.tar.gz
ygasi-e5bc4dae41d2d3e04440a4fe02793d4084427437.tar.bz2
ygasi-e5bc4dae41d2d3e04440a4fe02793d4084427437.zip
Added DataGen to the build.gradle (not done yet)
Diffstat (limited to 'src/main/java/dev/mayaqq/ygasi/registry')
-rw-r--r--src/main/java/dev/mayaqq/ygasi/registry/AdvancementRegistry.java4
-rw-r--r--src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java17
-rw-r--r--src/main/java/dev/mayaqq/ygasi/registry/DataGenRegistry.java11
-rw-r--r--src/main/java/dev/mayaqq/ygasi/registry/PlayerDataRegistry.java29
4 files changed, 52 insertions, 9 deletions
diff --git a/src/main/java/dev/mayaqq/ygasi/registry/AdvancementRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/AdvancementRegistry.java
new file mode 100644
index 0000000..09aa2c5
--- /dev/null
+++ b/src/main/java/dev/mayaqq/ygasi/registry/AdvancementRegistry.java
@@ -0,0 +1,4 @@
+package dev.mayaqq.ygasi.registry;
+
+public class AdvancementRegistry {
+}
diff --git a/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java
index 190002b..62d8dea 100644
--- a/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java
+++ b/src/main/java/dev/mayaqq/ygasi/registry/CommandRegistry.java
@@ -3,7 +3,11 @@ package dev.mayaqq.ygasi.registry;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import com.mojang.brigadier.context.CommandContext;
import dev.mayaqq.ygasi.gui.BranchGui;
+import dev.mayaqq.ygasi.gui.DruidryGui;
+import dev.mayaqq.ygasi.gui.MercenaryGui;
+import dev.mayaqq.ygasi.gui.WizardryGui;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
+import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.command.argument.EntityArgumentType;
import net.minecraft.server.command.CommandManager;
import net.minecraft.server.command.ServerCommandSource;
@@ -11,6 +15,8 @@ import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.stat.Stats;
import net.minecraft.text.Text;
+import java.io.File;
+
import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS;
import static net.minecraft.server.command.CommandManager.literal;
@@ -25,21 +31,21 @@ public class CommandRegistry {
.then(literal("Mercenary")
.executes(context -> {
ServerPlayerEntity player = context.getSource().getPlayer();
- BranchGui.gui(player);
+ MercenaryGui.gui(player);
return 1;
})
)
.then(literal("Wizardry")
.executes(context -> {
ServerPlayerEntity player = context.getSource().getPlayer();
- BranchGui.gui(player);
+ WizardryGui.gui(player);
return 1;
})
)
.then(literal("Druidry")
.executes(context -> {
ServerPlayerEntity player = context.getSource().getPlayer();
- BranchGui.gui(player);
+ DruidryGui.gui(player);
return 1;
})
)
@@ -51,7 +57,10 @@ public class CommandRegistry {
.executes(context -> {
ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target");
player.resetStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS));
- context.getSource().sendMessage(Text.literal("§aSkill Points reset to 0 for " + player.getEntityName() + "."));
+ File playerData = new File(FabricLoader.getInstance().getGameDir().toFile() + "/ygasi/" + player.getUuid() + ".json");
+ playerData.delete();
+ PlayerDataRegistry.load(player.getUuid());
+ context.getSource().sendMessage(Text.literal("§aSkill Points reset to 0 and all skill data deleted for " + player.getEntityName() + "."));
return 1;
})))
.then(literal("add")
diff --git a/src/main/java/dev/mayaqq/ygasi/registry/DataGenRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/DataGenRegistry.java
new file mode 100644
index 0000000..a060c42
--- /dev/null
+++ b/src/main/java/dev/mayaqq/ygasi/registry/DataGenRegistry.java
@@ -0,0 +1,11 @@
+package dev.mayaqq.ygasi.registry;
+
+import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
+import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
+
+public class DataGenRegistry implements DataGeneratorEntrypoint {
+ @Override
+ public void onInitializeDataGenerator(FabricDataGenerator dataGenerator) {
+
+ }
+}
diff --git a/src/main/java/dev/mayaqq/ygasi/registry/PlayerDataRegistry.java b/src/main/java/dev/mayaqq/ygasi/registry/PlayerDataRegistry.java
index 811d8e0..d3fd387 100644
--- a/src/main/java/dev/mayaqq/ygasi/registry/PlayerDataRegistry.java
+++ b/src/main/java/dev/mayaqq/ygasi/registry/PlayerDataRegistry.java
@@ -4,19 +4,19 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.SerializedName;
import net.fabricmc.loader.api.FabricLoader;
-import net.minecraft.server.MinecraftServer;
import java.io.*;
import java.util.*;
public class PlayerDataRegistry {
public static PlayerData PLAYERDATA = new PlayerData();
+ public static EmptyPlayerData EMPTYPLAYERDATA = new EmptyPlayerData();
private static final Gson gson = new GsonBuilder().setPrettyPrinting().create();
public static void load(UUID uuid) {
//this isnt working :sob:
- File playerDataFolder = new File(MinecraftServer::getSavePath, "ygasi");
+ File playerDataFolder = new File(FabricLoader.getInstance().getGameDir().toFile(), "ygasi");
File playerDatFile = new File(FabricLoader.getInstance().getGameDir().toFile() + "/ygasi/" + uuid + ".json");
if (!playerDataFolder.exists()) {
playerDataFolder.mkdir();
@@ -24,7 +24,7 @@ public class PlayerDataRegistry {
if (!playerDatFile.exists()) {
try {
playerDatFile.createNewFile();
- save(uuid);
+ saveEmpty(uuid);
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -47,13 +47,32 @@ public class PlayerDataRegistry {
throw new RuntimeException(e);
}
}
+ public static void saveEmpty(UUID uuid) {
+ try {
+ File playerDatFile = new File(FabricLoader.getInstance().getGameDir().toFile() + "/ygasi/" + uuid + ".json");
+ var writer = new FileWriter(playerDatFile);
+ writer.write(gson.toJson(EMPTYPLAYERDATA));
+ writer.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
public static class PlayerData {
@SerializedName("branches")
- public Map<String, Boolean> branches = new HashMap<>();
+ public static Map<String, Boolean> branches = new HashMap<>();
@SerializedName("skills")
- public Map<String, Map<String, Integer>> skills = new HashMap<>();
+ public static Map<String, Integer> skills = new HashMap<>();
public PlayerData() {}
}
+
+ public static class EmptyPlayerData {
+ @SerializedName("branches")
+ public static Map<String, Boolean> branches = new HashMap<>();
+ @SerializedName("skills")
+ public static Map<String, Integer> skills = new HashMap<>();
+
+ public EmptyPlayerData() {}
+ }
} \ No newline at end of file