Fix minor issues

This commit is contained in:
Alexander Söderberg 2020-07-22 19:54:35 +02:00
parent 32e095ce15
commit 287cb0f5ad
3 changed files with 23 additions and 17 deletions

View File

@ -38,6 +38,7 @@ import com.plotsquared.core.util.task.RunnableVal2;
import com.plotsquared.core.util.task.RunnableVal3; import com.plotsquared.core.util.task.RunnableVal3;
import net.kyori.adventure.text.minimessage.Template; import net.kyori.adventure.text.minimessage.Template;
import javax.annotation.Nullable;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
@ -223,7 +224,7 @@ public abstract class Command {
return "plots." + getFullId(); return "plots." + getFullId();
} }
public <T> void paginate(PlotPlayer player, List<T> c, int size, int page, public <T> void paginate(PlotPlayer<?> player, List<T> c, int size, int page,
RunnableVal3<Integer, T, Caption> add, String baseCommand, String header) { RunnableVal3<Integer, T, Caption> add, String baseCommand, String header) {
// Calculate pages & index // Calculate pages & index
if (page < 0) { if (page < 0) {
@ -576,34 +577,36 @@ public abstract class Command {
return this.getFullId().hashCode(); return this.getFullId().hashCode();
} }
public void checkTrue(boolean mustBeTrue, Captions message, Template... args) { public void checkTrue(boolean mustBeTrue, Caption message, Template... args) {
if (!mustBeTrue) { if (!mustBeTrue) {
throw new CommandException(message, args); throw new CommandException(message, args);
} }
} }
public <T extends Object> T check(T object, Captions message, Template... args) { public <T> T check(T object, Caption message, Template... args) {
if (object == null) { if (object == null) {
throw new CommandException(message, args); throw new CommandException(message, args);
} }
return object; return object;
} }
public enum CommandResult { public enum CommandResult {
FAILURE, SUCCESS FAILURE, SUCCESS
} }
public static class CommandException extends RuntimeException { public static class CommandException extends RuntimeException {
private final Template[] args; private final Template[] args;
private final Caption message; private final Caption message;
public CommandException(Caption message, Template... args) { public CommandException(@Nullable final Caption message, final Template... args) {
this.message = message; this.message = message;
this.args = args; this.args = args;
} }
public void perform(PlotPlayer player) { public void perform(@Nullable final PlotPlayer<?> player) {
if (player != null && message != null) { if (player != null && message != null) {
player.sendMessage(message, args); player.sendMessage(message, args);
} }

View File

@ -27,6 +27,7 @@ package com.plotsquared.core.command;
import com.google.inject.Inject; import com.google.inject.Inject;
import com.plotsquared.core.configuration.Captions; import com.plotsquared.core.configuration.Captions;
import com.plotsquared.core.configuration.caption.Templates;
import com.plotsquared.core.configuration.caption.TranslatableCaption; import com.plotsquared.core.configuration.caption.TranslatableCaption;
import com.plotsquared.core.database.DBFunc; import com.plotsquared.core.database.DBFunc;
import com.plotsquared.core.player.PlotPlayer; import com.plotsquared.core.player.PlotPlayer;
@ -74,7 +75,9 @@ public class Trust extends Command {
checkTrue(currentPlot.isOwner(player.getUUID()) || Permissions checkTrue(currentPlot.isOwner(player.getUUID()) || Permissions
.hasPermission(player, Captions.PERMISSION_ADMIN_COMMAND_TRUST), .hasPermission(player, Captions.PERMISSION_ADMIN_COMMAND_TRUST),
Captions.NO_PLOT_PERMS); Captions.NO_PLOT_PERMS);
checkTrue(args.length == 1, Captions.COMMAND_SYNTAX, getUsage());
checkTrue(args.length == 1, TranslatableCaption.of("commandconfig.command_syntax"),
Templates.of("value", getUsage()));
final CompletableFuture<Boolean> future = new CompletableFuture<>(); final CompletableFuture<Boolean> future = new CompletableFuture<>();
PlayerManager.getUUIDsFromString(args[0], (uuids, throwable) -> { PlayerManager.getUUIDsFromString(args[0], (uuids, throwable) -> {
@ -90,7 +93,9 @@ public class Trust extends Command {
future.completeExceptionally(throwable); future.completeExceptionally(throwable);
return; return;
} else { } else {
checkTrue(!uuids.isEmpty(), Captions.INVALID_PLAYER, args[0]); checkTrue(!uuids.isEmpty(), TranslatableCaption.of("errors.invalid_player"),
Templates.of("value", args[0]));
Iterator<UUID> iterator = uuids.iterator(); Iterator<UUID> iterator = uuids.iterator();
int size = currentPlot.getTrusted().size() + currentPlot.getMembers().size(); int size = currentPlot.getTrusted().size() + currentPlot.getMembers().size();
while (iterator.hasNext()) { while (iterator.hasNext()) {

View File

@ -1,15 +1,10 @@
package com.plotsquared.core.util; package com.plotsquared.core.util;
import lombok.experimental.UtilityClass;
import org.jetbrains.annotations.Range;
/** /**
* This cache is used for world generation and just saves a bit of calculation time when checking if something is in the plot area. * This cache is used for world generation and just saves a bit of calculation time when checking if something is in the plot area.
*/ */
@UtilityClass
public class ChunkUtil { public class ChunkUtil {
/** /**
* Cache of mapping x,y,z coordinates to the chunk array<br> * Cache of mapping x,y,z coordinates to the chunk array<br>
* - Used for efficient world generation<br> * - Used for efficient world generation<br>
@ -46,6 +41,9 @@ public class ChunkUtil {
} }
} }
private ChunkUtil() {
}
/** /**
* Get the J value for Chunk block storage from the chunk xyz coordinates. * Get the J value for Chunk block storage from the chunk xyz coordinates.
* J is in the range 0 to 4095 where it represents a position in an array of 16x16x16 xyz (ChunkSection Array[4096]). * J is in the range 0 to 4095 where it represents a position in an array of 16x16x16 xyz (ChunkSection Array[4096]).
@ -55,8 +53,8 @@ public class ChunkUtil {
* @param z Relative z coordinate * @param z Relative z coordinate
* @return J value for xyz position in Array[4096]. * @return J value for xyz position in Array[4096].
*/ */
public static int getJ(@Range(from = 0, to = 15) int x, @Range(from = 0, to = 255) int y, public static int getJ(int x, int y,
@Range(from = 0, to = 15) int z) { int z) {
return CACHE_J[y][x][z]; return CACHE_J[y][x][z];
} }
@ -66,7 +64,7 @@ public class ChunkUtil {
* @param j Position in the xyz Array[4096]. * @param j Position in the xyz Array[4096].
* @return x coordinate within the chunk * @return x coordinate within the chunk
*/ */
public static int getX(@Range(from = 0, to = 4095) int j) { public static int getX(int j) {
return x_loc[j]; return x_loc[j];
} }
@ -77,7 +75,7 @@ public class ChunkUtil {
* @param j Position in the xyz Array[4096]. * @param j Position in the xyz Array[4096].
* @return x coordinate within the chunk * @return x coordinate within the chunk
*/ */
public static int getY(@Range(from = 0, to = 15) int i, @Range(from = 0, to = 4095) int j) { public static int getY(int i, int j) {
return y_loc[i][j]; return y_loc[i][j];
} }
@ -87,7 +85,7 @@ public class ChunkUtil {
* @param j Position in the xyz Array[4096]. * @param j Position in the xyz Array[4096].
* @return z coordinate within the chunk * @return z coordinate within the chunk
*/ */
public static int getZ(@Range(from = 0, to = 4095) int j) { public static int getZ(int j) {
return z_loc[j]; return z_loc[j];
} }
} }