Add some debug to shops saving

This commit is contained in:
fullwall 2023-02-15 05:36:51 +08:00
parent e9c989bc55
commit dc384e42f8
4 changed files with 29 additions and 9 deletions

View File

@ -588,11 +588,11 @@ public class Citizens extends JavaPlugin implements CitizensPlugin {
if (saves == null)
return;
saves.storeAll(npcRegistry);
shops.saveShops();
shops.storeShops();
if (async) {
saves.saveToDisk();
new Thread(() -> {
shops.saveToDisk();
saves.saveToDiskImmediate();
}).start();
} else {
shops.saveToDisk();

View File

@ -6,6 +6,7 @@ import com.google.common.collect.Maps;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.persistence.PersistenceLoader;
import net.citizensnpcs.api.util.Messaging;
import net.citizensnpcs.api.util.Storage;
import net.citizensnpcs.api.util.YamlStorage;
import net.citizensnpcs.trait.ShopTrait.NPCShop;
@ -22,6 +23,10 @@ public class StoredShops {
}
public void deleteShop(NPCShop shop) {
if (Messaging.isDebugging()) {
Messaging.debug("Deleting shop", shop.getName());
new Exception().printStackTrace();
}
if (npcShops.values().contains(shop)) {
npcShops.values().remove(shop);
} else {
@ -41,18 +46,22 @@ public class StoredShops {
}
public void load() {
Messaging.debug("Loading shops...", globalShops.size(), npcShops.size());
PersistenceLoader.load(this, storage.getKey(""));
}
public boolean loadFromDisk() {
Messaging.debug("Loading shops from disk...");
return storage.load();
}
public void saveShops() {
PersistenceLoader.save(this, storage.getKey(""));
}
public void saveToDisk() {
Messaging.debug("Saving shops to disk...");
storage.save();
}
public void storeShops() {
Messaging.debug("Saving shops...", globalShops.size(), npcShops.size());
PersistenceLoader.save(this, storage.getKey(""));
}
}

View File

@ -1,7 +1,9 @@
package net.citizensnpcs.trait;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
@ -106,8 +108,13 @@ public class LookClose extends Trait implements Toggleable {
session.getSession().rotateToFace(player);
seen.add(player.getUniqueId());
}
for (UUID uuid : Sets.newHashSet(Sets.difference(sessions.keySet(), seen))) {
sessions.remove(uuid).end();
for (Iterator<Entry<UUID, PacketRotationSession>> iterator = sessions.entrySet().iterator(); iterator
.hasNext();) {
Entry<UUID, PacketRotationSession> entry = iterator.next();
if (!seen.contains(entry.getKey())) {
entry.getValue().end();
iterator.remove();
}
}
return;
} else if (sessions.size() > 0) {

View File

@ -62,11 +62,12 @@ public class VillagerTrait extends Trait {
@Command(
aliases = { "npc" },
usage = "villager (--level level) (--type type) (--profession profession)",
usage = "villager (--level level) (--type type) (--profession profession) -s(hake head)",
desc = "Sets villager modifiers",
modifiers = { "villager" },
min = 1,
max = 1,
flags = "s",
permission = "citizens.npc.villager")
@Requirements(selected = true, ownership = true, types = EntityType.VILLAGER)
public static void villager(CommandContext args, CommandSender sender, NPC npc,
@ -97,6 +98,9 @@ public class VillagerTrait extends Trait {
npc.getOrAddTrait(VillagerProfession.class).setProfession(profession);
output += " " + Messaging.tr(Messages.PROFESSION_SET, npc.getName(), args.getFlag("profession"));
}
if (args.hasFlag('s')) {
((Villager) npc.getEntity()).shakeHead();
}
if (!output.isEmpty()) {
Messaging.send(sender, output.trim());
} else {