Fixes #787
This commit is contained in:
parent
f72aa7baf9
commit
12580b52ae
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user