Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7fce6834c | ||
|
|
ac807a991b | ||
|
|
ba315ced3c | ||
|
|
f2e65174f9 |
@@ -167,7 +167,10 @@ abstract class HandledCommand implements CommandBase {
|
|||||||
|
|
||||||
StringUtil.copyPartialMatches(
|
StringUtil.copyPartialMatches(
|
||||||
args[0],
|
args[0],
|
||||||
this.getSubcommands().stream().map(CommandBase::getName).collect(Collectors.toList()),
|
this.getSubcommands().stream()
|
||||||
|
.filter(subCommand -> sender.hasPermission(subCommand.getPermission()))
|
||||||
|
.map(CommandBase::getName)
|
||||||
|
.collect(Collectors.toList()),
|
||||||
completions
|
completions
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -182,6 +185,10 @@ abstract class HandledCommand implements CommandBase {
|
|||||||
HandledCommand command = null;
|
HandledCommand command = null;
|
||||||
|
|
||||||
for (CommandBase subcommand : this.getSubcommands()) {
|
for (CommandBase subcommand : this.getSubcommands()) {
|
||||||
|
if (!sender.hasPermission(subcommand.getPermission())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase(subcommand.getName())) {
|
if (args[0].equalsIgnoreCase(subcommand.getName())) {
|
||||||
command = (HandledCommand) subcommand;
|
command = (HandledCommand) subcommand;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,26 +23,25 @@ public final class BlockUtils {
|
|||||||
*/
|
*/
|
||||||
private static final int MAX_BLOCKS = 2500;
|
private static final int MAX_BLOCKS = 2500;
|
||||||
|
|
||||||
private static Set<Block> getNearbyBlocks(@NotNull final Block origin,
|
private static Set<Block> getNearbyBlocks(@NotNull final Block start,
|
||||||
@NotNull final List<Material> allowedMaterials,
|
@NotNull final List<Material> allowedMaterials,
|
||||||
@NotNull final Set<Block> blocks,
|
@NotNull final Set<Block> blocks,
|
||||||
final int limit) {
|
final int limit) {
|
||||||
for (BlockFace face : BlockFace.values()) {
|
for (BlockFace face : BlockFace.values()) {
|
||||||
Block block = origin.getRelative(face);
|
Block block = start.getRelative(face);
|
||||||
|
|
||||||
if (!allowedMaterials.contains(block.getType())) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (blocks.contains(block)) {
|
if (blocks.contains(block)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (blocks.size() >= limit || blocks.size() > MAX_BLOCKS) {
|
if (allowedMaterials.contains(block.getType())) {
|
||||||
return blocks;
|
blocks.add(block);
|
||||||
}
|
|
||||||
|
|
||||||
blocks.addAll(getNearbyBlocks(block, allowedMaterials, blocks, limit));
|
if (blocks.size() > limit || blocks.size() > MAX_BLOCKS) {
|
||||||
|
return blocks;
|
||||||
|
}
|
||||||
|
|
||||||
|
blocks.addAll(getNearbyBlocks(block, allowedMaterials, blocks, limit));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return blocks;
|
return blocks;
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version = 6.35.1
|
version = 6.35.3
|
||||||
plugin-name = eco
|
plugin-name = eco
|
||||||
kotlin.code.style = official
|
kotlin.code.style = official
|
||||||
Reference in New Issue
Block a user