mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-04-02 22:53:14 +00:00
76 lines
2.6 KiB
Java
76 lines
2.6 KiB
Java
package com.thevoxelbox.voxelsniper.brush;
|
|
|
|
import com.thevoxelbox.voxelsniper.Message;
|
|
import com.thevoxelbox.voxelsniper.SnipeData;
|
|
import com.thevoxelbox.voxelsniper.brush.perform.PerformBrush;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.block.Block;
|
|
|
|
public class CheckerVoxelDiscBrush extends PerformBrush {
|
|
private boolean useWorldCoordinates = true;
|
|
|
|
/**
|
|
* Default constructor.
|
|
*/
|
|
public CheckerVoxelDiscBrush() {
|
|
this.setName("Checker Voxel Disc");
|
|
}
|
|
|
|
private void applyBrush(final SnipeData v, final Block target) {
|
|
for (int x = v.getBrushSize(); x >= -v.getBrushSize(); x--) {
|
|
for (int y = v.getBrushSize(); y >= -v.getBrushSize(); y--) {
|
|
final int sum = this.useWorldCoordinates ? target.getX() + x + target.getZ() + y : x + y;
|
|
if (sum % 2 != 0) {
|
|
this.current.perform(this.clampY(target.getX() + x, target.getY(), target.getZ() + y));
|
|
}
|
|
}
|
|
}
|
|
v.owner().storeUndo(this.current.getUndo());
|
|
}
|
|
|
|
@Override
|
|
protected final void arrow(final SnipeData v) {
|
|
this.applyBrush(v, this.getTargetBlock());
|
|
}
|
|
|
|
@Override
|
|
protected final void powder(final SnipeData v) {
|
|
this.applyBrush(v, this.getLastBlock());
|
|
}
|
|
|
|
@Override
|
|
public final void info(final Message vm) {
|
|
vm.brushName(this.getName());
|
|
vm.size();
|
|
}
|
|
|
|
@Override
|
|
public final void parameters(final String[] par, final SnipeData v) {
|
|
for (int x = 1; x < par.length; x++) {
|
|
final String parameter = par[x].toLowerCase();
|
|
|
|
if (parameter.equals("info")) {
|
|
v.sendMessage(ChatColor.GOLD + this.getName() + " Parameters:");
|
|
v.sendMessage(ChatColor.AQUA + "true -- Enables using World Coordinates.");
|
|
v.sendMessage(ChatColor.AQUA + "false -- Disables using World Coordinates.");
|
|
return;
|
|
}
|
|
if (parameter.startsWith("true")) {
|
|
this.useWorldCoordinates = true;
|
|
v.sendMessage(ChatColor.AQUA + "Enabled using World Coordinates.");
|
|
} else if (parameter.startsWith("false")) {
|
|
this.useWorldCoordinates = false;
|
|
v.sendMessage(ChatColor.AQUA + "Disabled using World Coordinates.");
|
|
} else {
|
|
v.sendMessage(ChatColor.RED + "Invalid brush parameters! Use the info parameter to display parameter info.");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public String getPermissionNode() {
|
|
return "voxelsniper.brush.checkervoxeldisc";
|
|
}
|
|
}
|