Fixed inventory lookups/rollbacks missing block placement actions

This commit is contained in:
Intelli 2022-02-18 20:29:45 -07:00
parent 527be90249
commit 585d8b275a
14 changed files with 136 additions and 114 deletions

View file

@ -44,6 +44,7 @@ public class Process {
public static final int ITEM_TRANSACTION = 26;
public static final int INVENTORY_ROLLBACK_UPDATE = 27;
public static final int INVENTORY_CONTAINER_ROLLBACK_UPDATE = 28;
public static final int BLOCK_INVENTORY_ROLLBACK_UPDATE = 29;
public static int lastLockUpdate = 0;
private static volatile int currentConsumerSize = 0;
@ -166,6 +167,9 @@ public class Process {
case Process.INVENTORY_CONTAINER_ROLLBACK_UPDATE:
RollbackUpdateProcess.process(statement, processId, id, forceData, 3);
break;
case Process.BLOCK_INVENTORY_ROLLBACK_UPDATE:
RollbackUpdateProcess.process(statement, processId, id, forceData, 4);
break;
case Process.WORLD_INSERT:
WorldInsertProcess.process(preparedStmtWorlds, i, statement, object, forceData);
break;

View file

@ -6,6 +6,7 @@ import java.util.Map;
import net.coreprotect.consumer.Consumer;
import net.coreprotect.database.Database;
import net.coreprotect.utility.Util;
class RollbackUpdateProcess {
@ -16,8 +17,8 @@ class RollbackUpdateProcess {
for (Object[] listRow : list) {
long rowid = (Long) listRow[0];
int rolledBack = (Integer) listRow[9];
if (rolledBack == action) {
Database.performUpdate(statement, rowid, action, table);
if (Util.rolledBack(rolledBack, (table == 2 || table == 3 || table == 4)) == action) { // 1 = restore, 0 = rollback
Database.performUpdate(statement, rowid, rolledBack, table);
}
}
updateLists.remove(id);