@@ -66,12 +66,13 @@ public static boolean saveGroupData(GroupData g) {
6666
6767 private static boolean saveSinglePage (Connection conn , GroupData g , String pageId , InventoryData inv ) throws SQLException {
6868 // 🔁 versionチェック
69- long dbPageVersion = getInventoryPageVersion (conn , g .groupUUID , pageId );
70- if (dbPageVersion != inv .version ) {
69+ long dbPageVersion = getInventoryPageVersion (conn , g .groupUUID , g .ownerPlugin , pageId );
70+ Bukkit .getLogger ().info ("[Debug] pageId=" + pageId + ", client=" + inv .version + ", db=" + dbPageVersion );
71+ if (dbPageVersion != 0 && dbPageVersion != inv .version ) {
7172 Bukkit .getLogger ().warning ("[BetterStorage] ページバージョン不一致: " + pageId );
7273 return false ;
7374 }
74- inv . version = dbPageVersion + 1 ;
75+
7576
7677 // ---------- inventory_table ----------
7778 String invSql = "REPLACE INTO inventory_table " +
@@ -183,6 +184,8 @@ private static boolean saveSinglePage(Connection conn, GroupData g, String pageI
183184 ps .executeBatch ();
184185 }
185186 }
187+
188+ inv .version = dbPageVersion + 1 ;
186189 return true ;
187190 }
188191
@@ -248,13 +251,12 @@ public static boolean saveInventoryOnly(GroupData g, StorageData storageData, St
248251 inv = g .storageData .storageInventory .get (pageId );
249252 }
250253
251- long dbPageVersion = getInventoryPageVersion (conn , g .groupUUID , pageId );
254+ long dbPageVersion = getInventoryPageVersion (conn , g .groupUUID , g . ownerPlugin , pageId );
252255 if (dbPageVersion != inv .version ) {
253256 Bukkit .getLogger ().warning ("[BetterStorage]Error:InventoryDataVersion不一致:" + g .groupName );
254257 Bukkit .getLogger ().warning ("[BetterStorage]DB上のVer:" + dbPageVersion + "保存しようとしたVer:" + inv .version );
255258 return false ;
256259 }
257- inv .version = dbPageVersion + 1 ;
258260
259261 saveSinglePage (conn , g , pageId , inv );
260262 saveGroupTable (conn , g ); // group_tableは必須(versionが無くても更新してOK)
@@ -366,6 +368,7 @@ public static GroupData loadGroupData(String groupName) {
366368 String sql = "SELECT group_uuid FROM group_table WHERE group_name = ?" ;
367369 try (PreparedStatement ps = conn .prepareStatement (sql )) {
368370 ps .setString (1 , input );
371+ Bukkit .getLogger ().info ("🔍 group_name lookup: '" + input + "'" );
369372 try (ResultSet rs = ps .executeQuery ()) {
370373 if (rs .next ()) {
371374 return UUID .fromString (rs .getString ("group_uuid" ));
@@ -418,10 +421,10 @@ private static Map<String, InventoryData> loadInventoryData(Connection conn, UUI
418421 InventoryData inv = new InventoryData (display , rows , reqPerm , slotMap );
419422 inv .version = version ; // ← version設定!
420423 map .put (pageId , inv );
424+ Bukkit .getLogger ().info (pageId + "loadinvdata:" + version );
421425 }
422426 }
423427 }
424-
425428 loadTags (conn , groupUUID , pluginName , map );
426429 return map ;
427430 }
@@ -556,7 +559,6 @@ public static void loadPageItems(Connection conn, UUID groupUUID, String pluginN
556559
557560 inv .itemStackSlot = slotMap ;
558561 inv .setFullyLoaded (true );
559- inv .version = getInventoryPageVersion (conn , groupUUID , pageId );
560562 }
561563
562564 /** inventory_item_table からアイテムを読み込み */
@@ -618,11 +620,12 @@ private static String loadOwnerPlugin(Connection conn, UUID groupUUID) throws SQ
618620 * @return
619621 * @throws SQLException
620622 */
621- public static long getInventoryPageVersion (Connection conn , UUID groupUUID , String pageId ) throws SQLException {
622- String sql = "SELECT version FROM inventory_table WHERE group_uuid = ? AND page_id = ?" ;
623+ public static long getInventoryPageVersion (Connection conn , UUID groupUUID , String pluginName , String pageId ) throws SQLException {
624+ String sql = "SELECT version FROM inventory_table WHERE group_uuid = ? AND plugin_name = ? AND page_id = ?" ;
623625 try (PreparedStatement ps = conn .prepareStatement (sql )) {
624626 ps .setString (1 , groupUUID .toString ());
625- ps .setString (2 , pageId );
627+ ps .setString (2 , pluginName );
628+ ps .setString (3 , pageId );
626629 try (ResultSet rs = ps .executeQuery ()) {
627630 return rs .next () ? rs .getLong ("version" ) : 0 ;
628631 }
0 commit comments