Use enum type for scoll actions

This commit is contained in:
Jesse Boyd
2019-10-23 15:44:13 +01:00
parent 8768085479
commit e32bc6db4a
13 changed files with 62 additions and 72 deletions

View File

@ -22,7 +22,7 @@ package com.sk89q.worldedit.command;
import com.boydti.fawe.config.BBC;
import com.boydti.fawe.object.brush.BrushSettings;
import com.boydti.fawe.object.brush.TargetMode;
import com.boydti.fawe.object.brush.scroll.ScrollAction;
import com.boydti.fawe.object.brush.scroll.Scroll;
import com.boydti.fawe.object.brush.visualization.VisualMode;
import com.boydti.fawe.object.extent.ResettableExtent;
import com.boydti.fawe.util.MathMan;
@ -326,24 +326,25 @@ public class ToolUtilCommands {
public void scroll(Player player, EditSession editSession, LocalSession session,
@Switch(name = 'h', desc = "TODO")
boolean offHand,
@Arg(desc = "Target Modes")
String modes,
@Arg(desc = "Target Modes", def = "none")
Scroll.Action mode,
@Arg(desc = "The scroll action", variable = true)
List<String> commandStr) throws WorldEditException {
// TODO NOT IMPLEMENTED Convert ScrollAction to an argument converter
BrushTool bt = session.getBrushTool(player, false);
if (bt == null) {
BBC.BRUSH_NONE.send(player);
return;
}
BrushSettings settings = offHand ? bt.getOffHand() : bt.getContext();
ScrollAction action = ScrollAction.fromArguments(bt, player, session, StringMan.join(commandStr, " "), true);
Scroll action = Scroll.fromArguments(bt, player, session, mode, commandStr, true);
settings.setScrollAction(action);
if (modes.equalsIgnoreCase("none")) {
if (mode == Scroll.Action.NONE) {
BBC.BRUSH_SCROLL_ACTION_UNSET.send(player);
} else if (action != null) {
settings.addSetting(BrushSettings.SettingType.SCROLL_ACTION, modes);
BBC.BRUSH_SCROLL_ACTION_SET.send(player, modes);
String full = (mode.name().toLowerCase() + " " + StringMan.join(commandStr, " ")).trim();
settings.addSetting(BrushSettings.SettingType.SCROLL_ACTION, full);
BBC.BRUSH_SCROLL_ACTION_SET.send(player, mode);
}
bt.update();
}