Skip to content

Commit

Permalink
Fix interpreter changes
Browse files Browse the repository at this point in the history
  • Loading branch information
N3X15 committed Jun 7, 2011
1 parent cb24ed1 commit ec0a7ba
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 31 deletions.
Expand Up @@ -3,15 +3,15 @@
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import me.taylorkelly.bigbrother.WorldManager;
import me.taylorkelly.bigbrother.datablock.BBDataBlock;
import me.taylorkelly.bigbrother.datablock.BBDataBlock.Action;
import me.taylorkelly.util.TimeParser;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.Server;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;

public class RollbackInterpreter {
Expand Down Expand Up @@ -71,8 +71,17 @@ private void parseAction(String actstr) {
for(String act:actstr.split(",")) {
if(act.startsWith("!") && allowedActions.size()==0) {
// Populate list
for(Action a:BBDataBlock.Action.values())
allowedActions.add(a);
allowedActions.add(Action.BLOCK_BROKEN);
allowedActions.add(Action.BLOCK_PLACED);
allowedActions.add(Action.DELTA_CHEST);
allowedActions.add(Action.CREATE_SIGN_TEXT);
allowedActions.add(Action.DESTROY_SIGN_TEXT);
allowedActions.add(Action.LEAF_DECAY);
allowedActions.add(Action.TNT_EXPLOSION);
allowedActions.add(Action.CREEPER_EXPLOSION);
allowedActions.add(Action.MISC_EXPLOSION);
allowedActions.add(Action.BLOCK_BURN);
allowedActions.add(Action.LAVA_FLOW);
}
Action ca;
if(act.startsWith("!")) {
Expand Down
Expand Up @@ -35,7 +35,8 @@ public String create(Rollback rollback, WorldManager manager) {
statement.append(", "+BBUsersTable.getInstance().getTableName()+" AS usr ");
statement.append(" WHERE ");
statement.append(" bbworlds.id = bbdata.world AND bbdata.player = usr.id AND ");
statement.append(getActionString());
statement.append(getActionString(rollback));

if (!rollback.rollbackAll) {
statement.append(" AND ");
statement.append(getPlayerString(rollback.players));
Expand Down Expand Up @@ -124,31 +125,19 @@ private StringBuilder getPlayerString(ArrayList<String> players) {
return ret;
}

private StringBuilder getActionString() {
// TODO maybe more customizable actions?
private StringBuilder getActionString(Rollback rollback) {
StringBuilder ret = new StringBuilder("action IN(");
ret.append("'");
ret.append(Action.BLOCK_BROKEN.ordinal());
ret.append("','");
ret.append(Action.BLOCK_PLACED.ordinal());
ret.append("','");
ret.append(Action.DELTA_CHEST.ordinal());
ret.append("','");
ret.append(Action.CREATE_SIGN_TEXT.ordinal());
ret.append("','");
ret.append(Action.DESTROY_SIGN_TEXT.ordinal());
ret.append("','");
ret.append(Action.LEAF_DECAY.ordinal());
ret.append("','");
ret.append(Action.TNT_EXPLOSION.ordinal());
ret.append("','");
ret.append(Action.CREEPER_EXPLOSION.ordinal());
ret.append("','");
ret.append(Action.MISC_EXPLOSION.ordinal());
ret.append("','");
ret.append(Action.BLOCK_BURN.ordinal());
ret.append("','");
ret.append(Action.LAVA_FLOW.ordinal());
boolean first=true;
for(Action act:rollback.allowedActions) {
if(first) {
first=false;
} else {
ret.append(",");
}
ret.append("'");
ret.append(act.ordinal());
ret.append("'");
}
ret.append("')");
return ret;
}
Expand All @@ -161,7 +150,7 @@ public String update(Rollback rollback, WorldManager manager) {
else
statement.append(" SET rbacked = '1'");
statement.append(" WHERE ");
statement.append(getActionString());
statement.append(getActionString(rollback));
if (!rollback.rollbackAll) {
statement.append(" AND ");
statement.append(getPlayerString(rollback.players));
Expand Down Expand Up @@ -236,7 +225,7 @@ public String undoStatement(Rollback rollback, WorldManager manager) {
statement.append(" SET rbacked = '0'");
statement.append(" WHERE ");
statement.append(" bbdata.player = usr.id AND ");
statement.append(getActionString());
statement.append(getActionString(rollback));
if (!rollback.rollbackAll) {
statement.append(" AND ");
statement.append(getPlayerString(rollback.players));
Expand Down

0 comments on commit ec0a7ba

Please sign in to comment.