This commit is contained in:
Jesse Boyd 2017-11-13 16:20:30 +11:00
parent f72aa7baf9
commit 12580b52ae
No known key found for this signature in database
GPG Key ID: 59F1DE6293AF6E1F
2 changed files with 72 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import com.boydti.fawe.util.MainUtil;
import com.thevoxelbox.voxelsniper.RangeBlockHelper;
import com.thevoxelbox.voxelsniper.SnipeData;
import com.thevoxelbox.voxelsniper.Sniper;
import com.thevoxelbox.voxelsniper.brush.WarpBrush;
import com.thevoxelbox.voxelsniper.brush.perform.PerformBrush;
import com.thevoxelbox.voxelsniper.command.VoxelVoxelCommand;
import com.thevoxelbox.voxelsniper.event.SniperBrushChangedEvent;
@ -62,6 +63,8 @@ public class Favs extends JavaPlugin {
RangeBlockHelper.inject();
SniperBrushChangedEvent.inject();
SniperMaterialChangedEvent.inject();
WarpBrush.inject(); // Fixes for async tp
// Forward the commands so //p and //d will work
setupCommand("/p", new FaweCommand("voxelsniper.sniper") {
@Override

View File

@ -0,0 +1,69 @@
package com.thevoxelbox.voxelsniper.brush;
import com.boydti.fawe.object.RunnableVal;
import com.boydti.fawe.util.TaskManager;
import com.thevoxelbox.voxelsniper.Message;
import com.thevoxelbox.voxelsniper.SnipeData;
import com.thevoxelbox.voxelsniper.brush.perform.PerformBrush;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
/**
* @author MikeMatrix
*/
public class WarpBrush extends Brush
{
/**
*
*/
public WarpBrush()
{
this.setName("Warp");
}
@Override
public final void info(final Message vm)
{
vm.brushName(this.getName());
}
@Override
protected final void arrow(final SnipeData v)
{
Player player = v.owner().getPlayer();
Location location = this.getLastBlock().getLocation();
Location playerLocation = player.getLocation();
location.setPitch(playerLocation.getPitch());
location.setYaw(playerLocation.getYaw());
player.teleport(location);
}
@Override
protected final void powder(final SnipeData v)
{
Player player = v.owner().getPlayer();
Location location = this.getLastBlock().getLocation();
Location playerLocation = player.getLocation();
location.setPitch(playerLocation.getPitch());
location.setYaw(playerLocation.getYaw());
location.setWorld(Bukkit.getWorld(location.getWorld().getName()));
TaskManager.IMP.sync(new RunnableVal<Object>() {
@Override
public void run(Object value) {
player.teleport(location);
}
});
}
@Override
public String getPermissionNode()
{
return "voxelsniper.brush.warp";
}
public static Class<?> inject() {
return WarpBrush.class;
}
}