Few small fixes of the mine world.

master
erikradovan 3 weeks ago
parent 300cb801da
commit cc6cac939f
  1. 15
      src/main/java/xyz/soukup/ecoCraftCore/database/objects/Island.java
  2. 4
      src/main/java/xyz/soukup/ecoCraftCore/mines/MineWorldManager.java

@ -109,10 +109,25 @@ public class Island {
} }
} }
public static Island findByUuid(String uuid) {
try {
return DaoRegistry.getIslandDao().queryBuilder().where().eq("uuid", uuid).queryForFirst();
} catch (SQLException e) {
return null;
}
}
public void save(){ public void save(){
try { try {
// createOrUpdate works by primary id; resolve id from uuid first to avoid duplicate inserts.
if (this.id <= 0 && this.uuid != null) {
Island existing = findByUuid(this.uuid);
if (existing != null) {
this.id = existing.id;
}
}
DaoRegistry.getIslandDao().createOrUpdate(this); DaoRegistry.getIslandDao().createOrUpdate(this);
} catch (SQLException e) { } catch (SQLException e) {
throw new RuntimeException(e); throw new RuntimeException(e);

@ -107,10 +107,8 @@ public class MineWorldManager implements Listener {
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> { Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
try { try {
if (loader.worldExists(MINE_WORLD_NAME)) {
loader.deleteWorld(MINE_WORLD_NAME); loader.deleteWorld(MINE_WORLD_NAME);
plugin.getLogger().info("[MineWorld] Old mine world deleted."); plugin.getLogger().info("[MineWorld] Old mine world metadata deleted.");
}
SlimePropertyMap properties = new SlimePropertyMap(); SlimePropertyMap properties = new SlimePropertyMap();
properties.setValue(SlimeProperties.ENVIRONMENT, "NORMAL"); properties.setValue(SlimeProperties.ENVIRONMENT, "NORMAL");

Loading…
Cancel
Save