package net.diamonddominion.esaych.global;
import net.diamonddominion.esaych.CustomPlugin;
import org.bukkit.Effect;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.block.Action;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.util.Vector;
public class Trampoline {
private CustomPlugin plugin;
public Trampoline(CustomPlugin plugin) {
this.plugin = plugin;
}
public void enable() {
log("Enabled");
}
@SuppressWarnings("deprecation")
public void onPlayerInteract(PlayerInteractEvent event) {
Player player = event.getPlayer();
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
if (event.getClickedBlock().getTypeId() == 19) {
player.setVelocity(new Vector(player.getVelocity().getX(), 1.3D, player.getVelocity().getZ()));
player.getWorld().playEffect(event.getClickedBlock().getLocation(), Effect.STEP_SOUND, 19);
}
}
}
@SuppressWarnings("deprecation")
public void onEntityDamage(EntityDamageEvent event) {
if (event.getEntity() instanceof Player) {
if (event.getCause() == DamageCause.FALL) {
Location l = event.getEntity().getLocation().add(0, -1, 0);
Material mBelow = l.getBlock().getType();
if (mBelow == Material.SPONGE) {
event.setCancelled(true);
Player player = (Player) event.getEntity();
if (!player.isSneaking()) {
player.setVelocity(new Vector(player.getVelocity().getX(), 1.3D, player.getVelocity().getZ()));
if (player.hasPermission("customplugin.crazytramp") || l.getBlock().getData() == (byte) 1)
player.setVelocity(new Vector(player.getVelocity().getX(), 10D, player.getVelocity().getZ()));
player.getWorld().playEffect(l, Effect.STEP_SOUND, 19);
}
}
}
}
}
public void log(String info) {
plugin.getLogger().info("<Trampoline> " + info);
}
}