mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-07-10 06:58:34 +00:00
fix conflicts
This commit is contained in:
@ -22,6 +22,7 @@ package com.sk89q.worldedit.extension.platform;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.boydti.fawe.Fawe;
|
||||
import com.boydti.fawe.command.AnvilCommands;
|
||||
import com.boydti.fawe.config.BBC;
|
||||
import com.boydti.fawe.config.Settings;
|
||||
import com.boydti.fawe.object.FawePlayer;
|
||||
@ -30,22 +31,55 @@ import com.boydti.fawe.util.TaskManager;
|
||||
import com.boydti.fawe.wrappers.LocationMaskedPlayerWrapper;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.reflect.TypeToken;
|
||||
import com.sk89q.worldedit.EditSession;
|
||||
import com.sk89q.worldedit.IncompleteRegionException;
|
||||
import com.sk89q.worldedit.LocalConfiguration;
|
||||
import com.sk89q.worldedit.LocalSession;
|
||||
import com.sk89q.worldedit.WorldEdit;
|
||||
//import com.sk89q.worldedit.command.BiomeCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.ChunkCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.ClipboardCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.GeneralCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.HistoryCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.NavigationCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.SchematicCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.SnapshotCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.SuperPickaxeCommandsRegistration;
|
||||
//import com.sk89q.worldedit.command.WorldEditCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.ApplyBrushCommands;
|
||||
import com.sk89q.worldedit.command.BiomeCommands;
|
||||
import com.sk89q.worldedit.command.BiomeCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.BrushCommands;
|
||||
import com.sk89q.worldedit.command.BrushCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.BrushOptionsCommands;
|
||||
import com.sk89q.worldedit.command.ChunkCommands;
|
||||
import com.sk89q.worldedit.command.ChunkCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.ClipboardCommands;
|
||||
import com.sk89q.worldedit.command.ClipboardCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.ExpandCommands;
|
||||
import com.sk89q.worldedit.command.GeneralCommands;
|
||||
import com.sk89q.worldedit.command.GeneralCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.GenerationCommands;
|
||||
import com.sk89q.worldedit.command.GenerationCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.HistoryCommands;
|
||||
import com.sk89q.worldedit.command.HistoryCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.NavigationCommands;
|
||||
import com.sk89q.worldedit.command.NavigationCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.PaintBrushCommands;
|
||||
import com.sk89q.worldedit.command.RegionCommands;
|
||||
import com.sk89q.worldedit.command.RegionCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.SchematicCommands;
|
||||
import com.sk89q.worldedit.command.SchematicCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.ScriptingCommands;
|
||||
import com.sk89q.worldedit.command.ScriptingCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.SelectionCommands;
|
||||
import com.sk89q.worldedit.command.SelectionCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.SnapshotCommands;
|
||||
import com.sk89q.worldedit.command.SnapshotCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.SnapshotUtilCommands;
|
||||
import com.sk89q.worldedit.command.SnapshotUtilCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.SuperPickaxeCommands;
|
||||
import com.sk89q.worldedit.command.SuperPickaxeCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.ToolCommands;
|
||||
import com.sk89q.worldedit.command.ToolCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.ToolUtilCommands;
|
||||
import com.sk89q.worldedit.command.ToolUtilCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.TransformCommands;
|
||||
import com.sk89q.worldedit.command.UtilityCommands;
|
||||
import com.sk89q.worldedit.command.UtilityCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.WorldEditCommands;
|
||||
import com.sk89q.worldedit.command.WorldEditCommandsRegistration;
|
||||
import com.sk89q.worldedit.command.argument.Arguments;
|
||||
import com.sk89q.worldedit.command.argument.BooleanConverter;
|
||||
import com.sk89q.worldedit.command.argument.CommaSeparatedValuesConverter;
|
||||
@ -71,6 +105,7 @@ import com.sk89q.worldedit.extension.platform.binding.CommandBindings;
|
||||
import com.sk89q.worldedit.extension.platform.binding.ConsumeBindings;
|
||||
import com.sk89q.worldedit.extension.platform.binding.ProvideBindings;
|
||||
import com.sk89q.worldedit.extent.Extent;
|
||||
import com.sk89q.worldedit.internal.annotation.Selection;
|
||||
import com.sk89q.worldedit.internal.command.CommandArgParser;
|
||||
import com.sk89q.worldedit.internal.command.CommandLoggingHandler;
|
||||
import com.sk89q.worldedit.internal.command.CommandRegistrationHandler;
|
||||
@ -126,9 +161,11 @@ import org.enginehub.piston.part.SubCommandPart;
|
||||
import org.enginehub.piston.suggestion.Suggestion;
|
||||
import org.enginehub.piston.util.HelpGenerator;
|
||||
import org.enginehub.piston.util.ValueProvider;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
/**
|
||||
* Handles the registration and invocation of commands.
|
||||
*
|
||||
@ -152,14 +189,9 @@ public final class PlatformCommandManager {
|
||||
private final InjectedValueStore globalInjectedValues;
|
||||
private final DynamicStreamHandler dynamicHandler = new DynamicStreamHandler();
|
||||
private final WorldEditExceptionConverter exceptionConverter;
|
||||
private final CommandRegistrationHandler registration;
|
||||
public final CommandRegistrationHandler registration;
|
||||
private static PlatformCommandManager INSTANCE;
|
||||
|
||||
/*
|
||||
Command types
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Create a new instance.
|
||||
*
|
||||
@ -203,7 +235,7 @@ public final class PlatformCommandManager {
|
||||
DirectionConverter.register(worldEdit, commandManager);
|
||||
FactoryConverter.register(worldEdit, commandManager);
|
||||
for (int count = 2; count <= 3; count++) {
|
||||
commandManager.registerConverter(Key.of(double.class, com.sk89q.worldedit.extension.platform.Annotations.radii(count)),
|
||||
commandManager.registerConverter(Key.of(double.class, Annotations.radii(count)),
|
||||
CommaSeparatedValuesConverter.wrapAndLimit(ArgumentConverters.get(
|
||||
TypeToken.of(double.class)
|
||||
), count)
|
||||
@ -218,8 +250,9 @@ public final class PlatformCommandManager {
|
||||
RegionFactoryConverter.register(commandManager);
|
||||
}
|
||||
|
||||
private void registerAlwaysInjectedValues() {
|
||||
globalInjectedValues.injectValue(Key.of(InjectedValueAccess.class), context -> Optional.of(context));
|
||||
public void register(Object classWithMethods) {
|
||||
globalInjectedValues.injectValue(Key.of(InjectedValueAccess.class), Optional::of);
|
||||
// TODO NOT IMPLEMENTED - register the following using a custom processor / annotations
|
||||
register(new AnnotatedBindings(worldEdit));
|
||||
register(new CommandBindings(worldEdit));
|
||||
register(new ConsumeBindings(worldEdit));
|
||||
@ -227,10 +260,6 @@ public final class PlatformCommandManager {
|
||||
register(new ProvideBindings(worldEdit));
|
||||
}
|
||||
|
||||
public void register(Object classWithMethods) {
|
||||
// TODO NOT IMPLEMENTED - register the following using a custom processor / annotations
|
||||
}
|
||||
|
||||
private <CI> void registerSubCommands(String name, List<String> aliases, String desc,
|
||||
CommandRegistration<CI> registration, CI instance) {
|
||||
registerSubCommands(name, aliases, desc, registration, instance, m -> {});
|
||||
@ -266,121 +295,141 @@ public final class PlatformCommandManager {
|
||||
public void registerAllCommands() {
|
||||
if (Settings.IMP.ENABLED_COMPONENTS.COMMANDS) {
|
||||
// TODO NOT IMPLEMENTED dunno why these have issues generating
|
||||
// registerSubCommands(
|
||||
// "schematic",
|
||||
// ImmutableList.of("schem", "/schematic", "/schem"),
|
||||
// "Schematic commands for saving/loading areas",
|
||||
// SchematicCommandsRegistration.builder(),
|
||||
// new SchematicCommands(worldEdit)
|
||||
// );
|
||||
// registerSubCommands(
|
||||
// "snapshot",
|
||||
// ImmutableList.of("snap"),
|
||||
// "Snapshot commands for restoring backups",
|
||||
// SnapshotCommandsRegistration.builder(),
|
||||
// new SnapshotCommands(worldEdit)
|
||||
// );
|
||||
// registerSubCommands(
|
||||
// "superpickaxe",
|
||||
// ImmutableList.of("pickaxe", "sp"),
|
||||
// "Super-pickaxe commands",
|
||||
// SuperPickaxeCommandsRegistration.builder(),
|
||||
// new SuperPickaxeCommands(worldEdit)
|
||||
// );
|
||||
// registerSubCommands(
|
||||
// "brush",
|
||||
// ImmutableList.of("br", "/brush", "/br"),
|
||||
// "Brushing commands",
|
||||
// BrushCommandsRegistration.builder(),
|
||||
// new BrushCommands(worldEdit),
|
||||
// (Consumer<CommandManager>) manager -> {
|
||||
// PaintBrushCommands.register(commandManagerService, manager, registration);
|
||||
// ApplyBrushCommands.register(commandManagerService, manager, registration);
|
||||
// }
|
||||
// );
|
||||
// registerSubCommands(
|
||||
// "worldedit",
|
||||
// ImmutableList.of("we"),
|
||||
// "WorldEdit commands",
|
||||
// WorldEditCommandsRegistration.builder(),
|
||||
// new WorldEditCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// BiomeCommandsRegistration.builder(),
|
||||
// new BiomeCommands()
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// ChunkCommandsRegistration.builder(),
|
||||
// new ChunkCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// ClipboardCommandsRegistration.builder(),
|
||||
// new ClipboardCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// GeneralCommandsRegistration.builder(),
|
||||
// new GeneralCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// GenerationCommandsRegistration.builder(),
|
||||
// new GenerationCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// HistoryCommandsRegistration.builder(),
|
||||
// new HistoryCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// NavigationCommandsRegistration.builder(),
|
||||
// new NavigationCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// RegionCommandsRegistration.builder(),
|
||||
// new RegionCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// ScriptingCommandsRegistration.builder(),
|
||||
// new ScriptingCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// SelectionCommandsRegistration.builder(),
|
||||
// new SelectionCommands(worldEdit)
|
||||
// );
|
||||
// ExpandCommands.register(registration, commandManager, commandManagerService);
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// SnapshotUtilCommandsRegistration.builder(),
|
||||
// new SnapshotUtilCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// ToolCommandsRegistration.builder(),
|
||||
// new ToolCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// ToolUtilCommandsRegistration.builder(),
|
||||
// new ToolUtilCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// UtilityCommandsRegistration.builder(),
|
||||
// new UtilityCommands(worldEdit)
|
||||
// );
|
||||
// this.registration.register(
|
||||
// commandManager,
|
||||
// AnvilCommandsRegistration.builder(),
|
||||
// new AnvilCommands(worldEdit)
|
||||
// );
|
||||
registerSubCommands(
|
||||
"schematic",
|
||||
ImmutableList.of("schem", "/schematic", "/schem"),
|
||||
"Schematic commands for saving/loading areas",
|
||||
SchematicCommandsRegistration.builder(),
|
||||
new SchematicCommands(worldEdit)
|
||||
);
|
||||
registerSubCommands(
|
||||
"snapshot",
|
||||
ImmutableList.of("snap"),
|
||||
"Snapshot commands for restoring backups",
|
||||
SnapshotCommandsRegistration.builder(),
|
||||
new SnapshotCommands(worldEdit)
|
||||
);
|
||||
registerSubCommands(
|
||||
"superpickaxe",
|
||||
ImmutableList.of("pickaxe", "sp"),
|
||||
"Super-pickaxe commands",
|
||||
SuperPickaxeCommandsRegistration.builder(),
|
||||
new SuperPickaxeCommands(worldEdit)
|
||||
);
|
||||
registerSubCommands(
|
||||
"brush",
|
||||
ImmutableList.of("br", "/brush", "/br"),
|
||||
"Brushing commands",
|
||||
BrushCommandsRegistration.builder(),
|
||||
new BrushCommands(worldEdit),
|
||||
manager -> {
|
||||
PaintBrushCommands.register(commandManagerService, manager, registration);
|
||||
ApplyBrushCommands.register(commandManagerService, manager, registration);
|
||||
}
|
||||
);
|
||||
registerSubCommands(
|
||||
"brush",
|
||||
ImmutableList.of("br", "/b"),
|
||||
"Tool commands",
|
||||
BrushOptionsCommandsRegistration.builder(),
|
||||
new BrushOptionsCommands(worldEdit)
|
||||
);
|
||||
registerSubCommands(
|
||||
"worldedit",
|
||||
ImmutableList.of("we"),
|
||||
"WorldEdit commands",
|
||||
WorldEditCommandsRegistration.builder(),
|
||||
new WorldEditCommands(worldEdit)
|
||||
);
|
||||
registerSubCommands(
|
||||
"/anvil",
|
||||
ImmutableList.of(),
|
||||
"Manipulate billions of blocks https://github.com/boy0001/FastAsyncWorldedit/wiki/Anvil-API",
|
||||
AnvilCommandsRegistration.builder(),
|
||||
new AnvilCommands(worldEdit)
|
||||
);
|
||||
registerSubCommands(
|
||||
"transforms",
|
||||
ImmutableList.of(),
|
||||
"Transforms modify how a block is placed\n" +
|
||||
" - Use [brackets] for arguments\n" +
|
||||
" - Use , to OR multiple\n" +
|
||||
" - Use & to AND multiple\n" +
|
||||
"More Info: https://git.io/v9KHO",
|
||||
TransformCommandsRegistration.builder(),
|
||||
new TransformCommands()
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
BiomeCommandsRegistration.builder(),
|
||||
new BiomeCommands()
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
ChunkCommandsRegistration.builder(),
|
||||
new ChunkCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
ClipboardCommandsRegistration.builder(),
|
||||
new ClipboardCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
GeneralCommandsRegistration.builder(),
|
||||
new GeneralCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
GenerationCommandsRegistration.builder(),
|
||||
new GenerationCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
HistoryCommandsRegistration.builder(),
|
||||
new HistoryCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
NavigationCommandsRegistration.builder(),
|
||||
new NavigationCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
RegionCommandsRegistration.builder(),
|
||||
new RegionCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
ScriptingCommandsRegistration.builder(),
|
||||
new ScriptingCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
SelectionCommandsRegistration.builder(),
|
||||
new SelectionCommands(worldEdit)
|
||||
);
|
||||
ExpandCommands.register(registration, commandManager, commandManagerService);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
SnapshotUtilCommandsRegistration.builder(),
|
||||
new SnapshotUtilCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
ToolCommandsRegistration.builder(),
|
||||
new ToolCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
ToolUtilCommandsRegistration.builder(),
|
||||
new ToolUtilCommands(worldEdit)
|
||||
);
|
||||
this.registration.register(
|
||||
commandManager,
|
||||
UtilityCommandsRegistration.builder(),
|
||||
new UtilityCommands(worldEdit)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -488,7 +537,7 @@ public final class PlatformCommandManager {
|
||||
dynamicHandler.setHandler(null);
|
||||
}
|
||||
|
||||
private Stream<Substring> parseArgs(String input) {
|
||||
public Stream<Substring> parseArgs(String input) {
|
||||
return new CommandArgParser(CommandArgParser.spaceSplit(input.substring(1))).parseArgs();
|
||||
}
|
||||
|
||||
@ -587,17 +636,20 @@ public final class PlatformCommandManager {
|
||||
Request.request().setWorld(((World) extent));
|
||||
}
|
||||
}
|
||||
LocalConfiguration config = worldEdit.getConfiguration();
|
||||
|
||||
MemoizingValueAccess context = initializeInjectedValues(event::getArguments, actor);
|
||||
|
||||
ThrowableSupplier<Throwable> task =
|
||||
() -> commandManager.execute(context,Lists.newArrayList(split));
|
||||
() -> commandManager.execute(context, ImmutableList.copyOf(split));
|
||||
|
||||
handleCommandTask(task, context, session, event);
|
||||
}
|
||||
|
||||
public Object handleCommandTask(ThrowableSupplier<Throwable> task, InjectedValueAccess context, @Nullable LocalSession session, CommandEvent event) {
|
||||
Actor actor = context.injectedValue(Key.of(Actor.class)).orElseThrow(() -> new IllegalStateException("No player"));
|
||||
Request.reset();
|
||||
Actor actor = context.injectedValue(Key.of(Actor.class)).orElseThrow(() -> new IllegalStateException("No player"));
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
|
||||
try {
|
||||
@ -651,8 +703,7 @@ public final class PlatformCommandManager {
|
||||
} else {
|
||||
System.out.println("Invalid context " + context);
|
||||
}
|
||||
Optional<EditSession> editSessionOpt =
|
||||
context.injectedValue(Key.of(EditSession.class));
|
||||
Optional<EditSession> editSessionOpt = context.injectedValue(Key.of(EditSession.class));
|
||||
|
||||
if (editSessionOpt.isPresent()) {
|
||||
EditSession editSession = editSessionOpt.get();
|
||||
|
Reference in New Issue
Block a user