TP keeps player pitch and yaw
This commit is contained in:
@@ -2,8 +2,11 @@ package fantasypvp.kand_smp;
|
|||||||
|
|
||||||
import fantasypvp.kand_smp.commands.CmdLightningSword;
|
import fantasypvp.kand_smp.commands.CmdLightningSword;
|
||||||
import fantasypvp.kand_smp.commands.CmdTeleportSpawn;
|
import fantasypvp.kand_smp.commands.CmdTeleportSpawn;
|
||||||
|
import fantasypvp.kand_smp.commands.GiveDashItemCommand;
|
||||||
import fantasypvp.kand_smp.commands.SetSpawnCommand;
|
import fantasypvp.kand_smp.commands.SetSpawnCommand;
|
||||||
|
import fantasypvp.kand_smp.events.DashItemListener;
|
||||||
import fantasypvp.kand_smp.events.Events;
|
import fantasypvp.kand_smp.events.Events;
|
||||||
|
import fantasypvp.kand_smp.items.DashItem;
|
||||||
import fantasypvp.kand_smp.items.LightningGear;
|
import fantasypvp.kand_smp.items.LightningGear;
|
||||||
import fantasypvp.kand_smp.items.TrueNetherite;
|
import fantasypvp.kand_smp.items.TrueNetherite;
|
||||||
import fantasypvp.kand_smp.items.Witherite;
|
import fantasypvp.kand_smp.items.Witherite;
|
||||||
@@ -20,10 +23,13 @@ public final class Kand_smp extends JavaPlugin {
|
|||||||
Witherite.init();
|
Witherite.init();
|
||||||
// register listeners
|
// register listeners
|
||||||
getServer().getPluginManager().registerEvents(new Events(), this);
|
getServer().getPluginManager().registerEvents(new Events(), this);
|
||||||
|
getServer().getPluginManager().registerEvents(new DashItemListener(),this);
|
||||||
|
|
||||||
getCommand("lightning_sword").setExecutor(new CmdLightningSword());
|
getCommand("lightning_sword").setExecutor(new CmdLightningSword());
|
||||||
getCommand("spawn").setExecutor(new CmdTeleportSpawn(this));
|
getCommand("spawn").setExecutor(new CmdTeleportSpawn(this));
|
||||||
getCommand("setSpawnTp").setExecutor(new SetSpawnCommand(this));
|
getCommand("setSpawnTp").setExecutor(new SetSpawnCommand(this));
|
||||||
|
getCommand("dashstick").setExecutor(new GiveDashItemCommand());
|
||||||
|
|
||||||
|
|
||||||
getServer().broadcastMessage("§aKand SMP has been enabled!");
|
getServer().broadcastMessage("§aKand SMP has been enabled!");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package fantasypvp.kand_smp.commands;
|
||||||
|
|
||||||
|
import fantasypvp.kand_smp.items.DashItem;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
public class GiveDashItemCommand implements CommandExecutor {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||||
|
|
||||||
|
if(!(sender instanceof Player)){
|
||||||
|
sender.sendMessage("You must be a player to execute this command");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player = (Player) sender;
|
||||||
|
|
||||||
|
if(!(player.hasPermission("giveDashItem"))){
|
||||||
|
player.sendMessage(ChatColor.RED+"You don't have permission to run this command.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack dashItem = new DashItem().createDashItem();
|
||||||
|
|
||||||
|
player.getInventory().addItem(dashItem);
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package fantasypvp.kand_smp.events;
|
||||||
|
|
||||||
|
import fantasypvp.kand_smp.items.DashItem;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
|
||||||
|
import org.bukkit.Particle;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class DashItemListener implements Listener {
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerInteract(PlayerInteractEvent event) {
|
||||||
|
ItemStack item = event.getItem(); // Get the item the player interacted with
|
||||||
|
if (item != null && item.isSimilar(new DashItem().createDashItem())) {
|
||||||
|
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
|
||||||
|
Location location = player.getLocation();
|
||||||
|
|
||||||
|
Vector direction = location.getDirection();
|
||||||
|
|
||||||
|
player.setVelocity(direction.multiply(2.0));
|
||||||
|
|
||||||
|
player.playSound(location, Sound.ENTITY_DRAGON_FIREBALL_EXPLODE, 1.0f, 1.0f);
|
||||||
|
|
||||||
|
World world = player.getWorld();
|
||||||
|
|
||||||
|
world.spawnParticle(Particle.EXPLOSION_LARGE,location,1);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void OnEntityDamage(EntityDamageEvent event){
|
||||||
|
if(event.getEntity() instanceof Player){
|
||||||
|
|
||||||
|
Player player = (Player) event.getEntity();
|
||||||
|
|
||||||
|
ItemStack itemInMainHand = player.getInventory().getItemInMainHand();
|
||||||
|
|
||||||
|
if (itemInMainHand.isSimilar(new DashItem().createDashItem())) {
|
||||||
|
|
||||||
|
event.setCancelled(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@ import static org.bukkit.Bukkit.*;
|
|||||||
public class Events implements Listener {
|
public class Events implements Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public static void onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent event) {
|
public static void onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent event) {
|
||||||
|
|
||||||
getServer().broadcastMessage("§a" + event.getPlayer().getName() + " has joined the server!");
|
getServer().broadcastMessage("§a" + event.getPlayer().getName() + " has joined the server!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package fantasypvp.kand_smp.items;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class DashItem extends ItemStack {
|
||||||
|
|
||||||
|
public ItemStack createDashItem(){
|
||||||
|
|
||||||
|
ItemStack item = new ItemStack(Material.STICK,1);
|
||||||
|
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
|
||||||
|
List<String>stickLore = new ArrayList<>();
|
||||||
|
stickLore.add("Click this stick and you'll be there in a jiffy.");
|
||||||
|
stickLore.add("About this, don't get sniffy.");
|
||||||
|
|
||||||
|
|
||||||
|
meta.setLore(stickLore);
|
||||||
|
|
||||||
|
meta.setDisplayName(ChatColor.AQUA+"[Dash"+ChatColor.BLUE+" Stick]");
|
||||||
|
|
||||||
|
item.setItemMeta(meta);
|
||||||
|
|
||||||
|
return item;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -76,7 +76,12 @@
|
|||||||
# Other
|
# Other
|
||||||
|
|
||||||
## Lightning Sword
|
## Lightning Sword
|
||||||
- Rename necessary?
|
- Rename necessary? (Zeus Staff?)
|
||||||
- (Critical) attacking strikes lightning on a target
|
- (Critical) attacking strikes lightning on a target
|
||||||
- independent item
|
- independent item
|
||||||
- crafted with a lightning rod, two diamonds and two nether stars
|
- crafted with a lightning rod, two diamonds and two nether stars
|
||||||
|
|
||||||
|
## Dash Stick
|
||||||
|
- Rename
|
||||||
|
- Right click launches player where they are looking, plays a sound and summons explosion particles
|
||||||
|
- Disables fall damage when active
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
lightning-sword-name:"LIGHTNING SWORD"
|
||||||
@@ -12,6 +12,11 @@ commands:
|
|||||||
setSpawnTp:
|
setSpawnTp:
|
||||||
description: Sets the world spawn tp point
|
description: Sets the world spawn tp point
|
||||||
usage: /setSpawnTp
|
usage: /setSpawnTp
|
||||||
|
dashstick:
|
||||||
|
description: gives the user a dash stick
|
||||||
|
usage: /dashstick
|
||||||
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
lightning_sword:
|
lightning_sword:
|
||||||
description: Allows player to run /lightning_sword
|
description: Allows player to run /lightning_sword
|
||||||
|
|||||||
Reference in New Issue
Block a user