Skip to content

Commit

Permalink
add: VectorValue
Browse files Browse the repository at this point in the history
  • Loading branch information
Maru32768 committed Aug 27, 2022
1 parent 9e048bc commit 8b5933b
Showing 1 changed file with 54 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package net.kunmc.lab.configlib.value;

import net.kunmc.lab.commandlib.ArgumentBuilder;
import net.kunmc.lab.configlib.SingleValue;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
import org.bukkit.util.Vector;

import java.util.List;

public class VectorValue extends SingleValue<Vector, VectorValue> {
public VectorValue() {
this(null);
}

public VectorValue(Vector value) {
super(value);
}

@Override
protected void appendArgument(ArgumentBuilder builder) {
builder.locationArgument("location");
}

@Override
protected boolean isCorrectArgument(String entryName, List<Object> argument, CommandSender sender) {
return true;
}

@Override
protected String incorrectArgumentMessage(String entryName, List<Object> argument, CommandSender sender) {
return "";
}

@Override
protected Vector argumentToValue(List<Object> argument, CommandSender sender) {
return ((Location) argument.get(0)).toVector();
}

@Override
protected boolean validateOnSet(String entryName, Vector newValue, CommandSender sender) {
return true;
}

@Override
protected String invalidValueMessage(String entryName, Vector newValue, CommandSender sender) {
return "";
}

@Override
protected String valueToString(Vector vector) {
return String.format("{x=%.1f,y=%.1f,z=%.1f}", vector.getX(), vector.getY(), vector.getZ());
}
}

0 comments on commit 8b5933b

Please sign in to comment.