aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/savedata/PlayerDataManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/savedata/PlayerDataManager.java')
-rw-r--r--src/main/java/kubatech/savedata/PlayerDataManager.java116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/main/java/kubatech/savedata/PlayerDataManager.java b/src/main/java/kubatech/savedata/PlayerDataManager.java
deleted file mode 100644
index 17357a1a2a..0000000000
--- a/src/main/java/kubatech/savedata/PlayerDataManager.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * spotless:off
- * KubaTech - Gregtech Addon
- * Copyright (C) 2022 - 2024 kuba6000
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <https://www.gnu.org/licenses/>.
- * spotless:on
- */
-
-package kubatech.savedata;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import net.minecraft.world.WorldSavedData;
-import net.minecraftforge.event.world.WorldEvent;
-
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import kubatech.api.helpers.UUIDFinder;
-
-public class PlayerDataManager extends WorldSavedData {
-
- private static final String playerDataName = "KubaTech_PlayerData";
- static PlayerDataManager Instance = null;
- private final HashMap<UUID, PlayerData> players = new HashMap<>();
-
- public static void Initialize(World world) {
- if (Instance != null) {
- Instance.players.clear();
- }
- Instance = (PlayerDataManager) world.mapStorage.loadData(PlayerDataManager.class, playerDataName);
- if (Instance == null) {
- Instance = new PlayerDataManager();
- world.mapStorage.setData(playerDataName, Instance);
- }
- Instance.markDirty();
- }
-
- @SuppressWarnings("unused")
- public PlayerDataManager(String p_i2141_1_) {
- super(p_i2141_1_);
- }
-
- public PlayerDataManager() {
- super(playerDataName);
- }
-
- @Override
- public void readFromNBT(NBTTagCompound NBTData) {
- if (!NBTData.hasKey("size")) return;
- players.clear();
- for (int i = 0, imax = NBTData.getInteger("size"); i < imax; i++) {
- NBTTagCompound playerNBTData = NBTData.getCompoundTag("Player." + i);
- if (!playerNBTData.hasKey("uuid")) continue;
- UUID uuid = UUID.fromString(playerNBTData.getString("uuid"));
- PlayerData pData = new PlayerData(playerNBTData.getCompoundTag("data"));
- players.put(uuid, pData);
- if (!pData.username.isEmpty()) UUIDFinder.updateMapping(pData.username, uuid);
- }
- }
-
- @Override
- public void writeToNBT(NBTTagCompound NBTData) {
- NBTData.setInteger("size", players.size());
- int i = 0;
- for (Map.Entry<UUID, PlayerData> playerDataEntry : players.entrySet()) {
- NBTTagCompound playerNBTData = new NBTTagCompound();
- playerNBTData.setString(
- "uuid",
- playerDataEntry.getKey()
- .toString());
- playerNBTData.setTag(
- "data",
- playerDataEntry.getValue()
- .toNBTData());
- NBTData.setTag("Player." + (i++), playerNBTData);
- }
- }
-
- public static PlayerData getPlayer(UUID player) {
- if (Instance == null) return null; // probably client side
- return Instance.players.computeIfAbsent(player, s -> new PlayerData());
- }
-
- public static void initializePlayer(EntityPlayerMP player) {
- if (Instance == null) return;
- if (!Instance.players.containsKey(player.getPersistentID())) {
- PlayerData pData = new PlayerData();
- pData.username = player.getCommandSenderName();
- Instance.players.put(player.getPersistentID(), pData);
- Instance.markDirty();
- }
- }
-
- @SuppressWarnings("unused")
- @SubscribeEvent
- public void onWorldLoad(WorldEvent.Load event) {
- if (event.world.isRemote || event.world.provider.dimensionId != 0) return;
- Initialize(event.world);
- }
-}