Update Outdated Code
This commit is contained in:
parent
5d889b0e77
commit
6dcaacee49
|
@ -4,7 +4,7 @@
|
|||
<groupId>me.ghotimayo</groupId>
|
||||
<artifactId>ClassicSwords</artifactId>
|
||||
<name>ClassicSwords</name>
|
||||
<version>BETA-0.1</version>
|
||||
<version>BETA-1.0</version>
|
||||
<description>Old combat for new minecraft</description>
|
||||
<build>
|
||||
<plugins>
|
||||
|
@ -46,7 +46,7 @@
|
|||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.12-R0.1-SNAPSHOT</version>
|
||||
<version>1.13.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
|
@ -58,13 +58,13 @@
|
|||
<dependency>
|
||||
<groupId>org.bukkit</groupId>
|
||||
<artifactId>craftbukkit</artifactId>
|
||||
<version>1.12.2-R0.1-SNAPSHOT</version>
|
||||
<version>1.13.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bukkit</groupId>
|
||||
<artifactId>bukkit</artifactId>
|
||||
<version>1.12.2-R0.1-SNAPSHOT</version>
|
||||
<version>1.13.2-R0.1-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -3,7 +3,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>me.ghotimayo</groupId>
|
||||
<artifactId>ClassicSwords</artifactId>
|
||||
<version>BETA-0.1</version>
|
||||
<version>BETA-1.0</version>
|
||||
<name>ClassicSwords</name>
|
||||
<description>Old combat for new minecraft</description>
|
||||
<properties>
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
package com.fpghoti.classicswords;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
@ -13,11 +9,11 @@ import org.bukkit.plugin.PluginManager;
|
|||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import com.fpghoti.classicswords.commands.CSword;
|
||||
import com.fpghoti.classicswords.event.BlockingEvent;
|
||||
import com.fpghoti.classicswords.event.InventoryEvent;
|
||||
import com.fpghoti.classicswords.event.RegenEvent;
|
||||
import com.fpghoti.classicswords.event.SwingEvent;
|
||||
import com.fpghoti.classicswords.commands.CSwordCommand;
|
||||
import com.fpghoti.classicswords.event.BlockingListener;
|
||||
import com.fpghoti.classicswords.event.InventoryListener;
|
||||
import com.fpghoti.classicswords.event.RegenListener;
|
||||
import com.fpghoti.classicswords.event.SwingListener;
|
||||
import com.fpghoti.classicswords.item.CItemType;
|
||||
import com.fpghoti.classicswords.item.ClassicSword;
|
||||
import com.fpghoti.classicswords.item.SetAttributes;
|
||||
|
@ -30,7 +26,7 @@ public class ClassicSwordsMain extends JavaPlugin{
|
|||
plugin = this;
|
||||
SetAttributes.defineSwords();
|
||||
registerEvents();
|
||||
getCommand("CSword").setExecutor(new CSword(this));
|
||||
getCommand("CSword").setExecutor(new CSwordCommand());
|
||||
registerConfig();
|
||||
messageSet();
|
||||
startItemCheck();
|
||||
|
@ -61,11 +57,11 @@ public class ClassicSwordsMain extends JavaPlugin{
|
|||
}
|
||||
public void registerEvents(){
|
||||
PluginManager pm = getServer().getPluginManager();
|
||||
pm.registerEvents(new SwingEvent(this), this);
|
||||
InventoryEvent ie = new InventoryEvent(this);
|
||||
pm.registerEvents(new SwingListener(this), this);
|
||||
InventoryListener ie = new InventoryListener();
|
||||
pm.registerEvents(ie, this);
|
||||
pm.registerEvents(new BlockingEvent(this), this);
|
||||
pm.registerEvents(new RegenEvent(this), this);
|
||||
pm.registerEvents(new BlockingListener(), this);
|
||||
pm.registerEvents(new RegenListener(this), this);
|
||||
}
|
||||
FileConfiguration config = this.getConfig();
|
||||
|
||||
|
|
|
@ -6,16 +6,9 @@ import org.bukkit.command.CommandExecutor;
|
|||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.fpghoti.classicswords.ClassicSwordsMain;
|
||||
import com.fpghoti.classicswords.item.CItem;
|
||||
import com.fpghoti.classicswords.item.CItemManager;
|
||||
|
||||
public class CSword implements CommandExecutor{
|
||||
|
||||
private ClassicSwordsMain plugin;
|
||||
|
||||
public CSword(ClassicSwordsMain plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
public class CSwordCommand implements CommandExecutor{
|
||||
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args){
|
||||
if(label.equalsIgnoreCase("csword")){
|
||||
|
@ -23,15 +16,15 @@ public class CSword implements CommandExecutor{
|
|||
Player p = (Player) sender;
|
||||
if(args[0] != null){
|
||||
if(args[0].equalsIgnoreCase("wood")){
|
||||
CItem.givecWoodSword(p, false);
|
||||
CItemManager.givecWoodSword(p, false);
|
||||
}else if(args[0].equalsIgnoreCase("stone")){
|
||||
CItem.givecStoneSword(p, false);
|
||||
CItemManager.givecStoneSword(p, false);
|
||||
}else if(args[0].equalsIgnoreCase("iron")){
|
||||
CItem.givecIronSword(p, false);
|
||||
CItemManager.givecIronSword(p, false);
|
||||
}else if(args[0].equalsIgnoreCase("gold")){
|
||||
CItem.givecGoldSword(p, false);
|
||||
CItemManager.givecGoldSword(p, false);
|
||||
}else if(args[0].equalsIgnoreCase("diamond")){
|
||||
CItem.givecDiamondSword(p, false);
|
||||
CItemManager.givecDiamondSword(p, false);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "That is not a valid cSword type!");
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package com.fpghoti.classicswords.event;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
@ -12,13 +13,7 @@ import org.bukkit.event.inventory.InventoryOpenEvent;
|
|||
import com.fpghoti.classicswords.ClassicSwordsMain;
|
||||
|
||||
|
||||
public class BlockingEvent implements Listener{
|
||||
|
||||
private ClassicSwordsMain plugin;
|
||||
|
||||
public BlockingEvent(ClassicSwordsMain plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
public class BlockingListener implements Listener{
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -31,6 +26,7 @@ public class BlockingEvent implements Listener{
|
|||
if(newdamage < 0) {
|
||||
newdamage = 0;
|
||||
}
|
||||
|
||||
if(event.getDamage(DamageModifier.BLOCKING) >= 0){
|
||||
return;
|
||||
}
|
||||
|
@ -38,9 +34,29 @@ public class BlockingEvent implements Listener{
|
|||
if(event.getFinalDamage() >= newdamage) {
|
||||
event.setDamage(DamageModifier.BLOCKING, newdamage * -1);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//For future use
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private boolean hitShield(Location attacker, Location victim) {
|
||||
double attackerPitch = Math.toRadians(attacker.getPitch());
|
||||
double attackerYaw = Math.toRadians(attacker.getYaw());
|
||||
double attackerX = -Math.cos(attackerPitch) * Math.sin(attackerYaw);
|
||||
double attackerY = -Math.sin(attackerPitch);
|
||||
double attackerZ = Math.cos(attackerPitch) * Math.cos(attackerYaw);
|
||||
double victimPitch = Math.toRadians(victim.getPitch());
|
||||
double victimYaw = Math.toRadians(victim.getYaw());
|
||||
double victimX = -Math.cos(victimPitch) * Math.sin(victimYaw);
|
||||
double victimY = -Math.sin(victimPitch);
|
||||
double victimZ = Math.cos(victimPitch) * Math.cos(victimYaw);
|
||||
return (victimX * attackerX + victimY * attackerY + victimZ * attackerZ) < 0.6D;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -14,18 +14,11 @@ import org.bukkit.event.player.PlayerKickEvent;
|
|||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.fpghoti.classicswords.ClassicSwordsMain;
|
||||
import com.fpghoti.classicswords.item.CItemType;
|
||||
import com.fpghoti.classicswords.item.ClassicSword;
|
||||
import com.fpghoti.classicswords.util.Storage;
|
||||
|
||||
public class InventoryEvent implements Listener{
|
||||
|
||||
private ClassicSwordsMain plugin;
|
||||
|
||||
public InventoryEvent(ClassicSwordsMain plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
public class InventoryListener implements Listener{
|
||||
|
||||
@EventHandler
|
||||
public void onInvOpen(InventoryOpenEvent event){
|
|
@ -1,12 +1,7 @@
|
|||
package com.fpghoti.classicswords.event;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.attribute.Attribute;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
@ -17,11 +12,11 @@ import org.bukkit.event.entity.EntityRegainHealthEvent;
|
|||
import com.fpghoti.classicswords.ClassicSwordsMain;
|
||||
import com.fpghoti.classicswords.util.Storage;
|
||||
|
||||
public class RegenEvent implements Listener{
|
||||
public class RegenListener implements Listener{
|
||||
|
||||
private ClassicSwordsMain plugin;
|
||||
|
||||
public RegenEvent(ClassicSwordsMain plugin) {
|
||||
public RegenListener(ClassicSwordsMain plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
|
@ -1,12 +1,8 @@
|
|||
package com.fpghoti.classicswords.event;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
|
@ -17,19 +13,17 @@ import org.bukkit.event.block.BlockDamageEvent;
|
|||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import com.fpghoti.classicswords.ClassicSwordsMain;
|
||||
import com.fpghoti.classicswords.item.CItem;
|
||||
import com.fpghoti.classicswords.item.CItemType;
|
||||
import com.fpghoti.classicswords.item.ClassicSword;
|
||||
import com.fpghoti.classicswords.util.Storage;
|
||||
|
||||
public class SwingEvent implements Listener{
|
||||
public class SwingListener implements Listener{
|
||||
|
||||
private ClassicSwordsMain plugin;
|
||||
|
||||
public SwingEvent(ClassicSwordsMain plugin) {
|
||||
public SwingListener(ClassicSwordsMain plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
|
@ -1,269 +0,0 @@
|
|||
package com.fpghoti.classicswords.item;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftItemStack;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagCompound;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagDouble;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagInt;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagList;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagString;
|
||||
|
||||
public class CItem {
|
||||
|
||||
public static void givecDiamondSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, (short)1);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Diamond Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(7));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecWoodSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, (short)2);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Wood Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(4));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecStoneSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, (short)3);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Stone Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(5));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecIronSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, (short)4);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Iron Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(6));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecGoldSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, (short)5);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Gold Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(4));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,275 @@
|
|||
package com.fpghoti.classicswords.item;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftItemStack;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagCompound;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagDouble;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagInt;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagList;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagString;
|
||||
|
||||
public class CItemManager {
|
||||
|
||||
public static void givecDiamondSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(1);
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Diamond Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(7));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecWoodSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(2);
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Wood Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(4));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecStoneSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(3);
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Stone Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(5));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecIronSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(4);
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Iron Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(6));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
public static void givecGoldSword(Player p, Boolean hold){
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(5);
|
||||
meta.setUnbreakable(true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
|
||||
meta.setDisplayName("Classic Gold Sword");
|
||||
csword.setItemMeta(meta);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(csword);
|
||||
NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
|
||||
NBTTagList modifiers = new NBTTagList();
|
||||
NBTTagCompound damage = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
damage.set("AttributeName", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Name", new NBTTagString("generic.attackDamage"));
|
||||
damage.set("Amount", new NBTTagInt(4));
|
||||
damage.set("Operation", new NBTTagInt(0));
|
||||
damage.set("UUIDLeast", new NBTTagInt(894654));
|
||||
damage.set("UUIDMost", new NBTTagInt(2872));
|
||||
damage.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
NBTTagCompound atspeed = new NBTTagCompound();
|
||||
|
||||
|
||||
|
||||
atspeed.set("AttributeName", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Name", new NBTTagString("generic.attackSpeed"));
|
||||
atspeed.set("Amount", new NBTTagDouble(1021.6));
|
||||
atspeed.set("Operation", new NBTTagInt(0));
|
||||
atspeed.set("UUIDLeast", new NBTTagInt(894654));
|
||||
atspeed.set("UUIDMost", new NBTTagInt(2872));
|
||||
atspeed.set("Slot", new NBTTagString("mainhand"));
|
||||
|
||||
modifiers.add(damage);
|
||||
modifiers.add(atspeed);
|
||||
compound.set("AttributeModifiers", modifiers);
|
||||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
|
||||
|
||||
|
||||
if(hold){
|
||||
p.getInventory().setItemInMainHand(csword);
|
||||
}else{
|
||||
p.sendMessage(ChatColor.AQUA + "Spawning in a cSword...");
|
||||
p.getInventory().addItem(csword);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
package com.fpghoti.classicswords.item;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.fpghoti.classicswords.util.Storage;
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.fpghoti.classicswords.item;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.util.Random;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
|
@ -12,6 +11,7 @@ import org.bukkit.entity.Player;
|
|||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import com.fpghoti.classicswords.item.CItemType.SwordType;
|
||||
|
@ -29,8 +29,11 @@ public class ClassicSword {
|
|||
|
||||
String name;
|
||||
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, CItemType.getSwordModel(type));
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(CItemType.getSwordModel(type));
|
||||
|
||||
if(old.hasItemMeta()) {
|
||||
ItemMeta ometa = old.getItemMeta();
|
||||
if(ometa.hasDisplayName()) {
|
||||
|
@ -66,7 +69,9 @@ public class ClassicSword {
|
|||
|
||||
NBTTagCompound cstag = new NBTTagCompound();
|
||||
|
||||
int dur = old.getType().getMaxDurability() - old.getDurability();
|
||||
//int dur = old.getType().getMaxDurability() - old.getDurability();
|
||||
int dur = old.getType().getMaxDurability() - ((Damageable)old.getItemMeta()).getDamage();
|
||||
|
||||
cstag.set("Durability", new NBTTagInt(dur));
|
||||
cstag.set("Type", new NBTTagString(CItemType.getShortName(type)));
|
||||
|
||||
|
@ -88,9 +93,11 @@ public class ClassicSword {
|
|||
if(isCShield(old)) {
|
||||
String name;
|
||||
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, CItemType.getSwordBlockModel(type));
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(CItemType.getSwordBlockModel(type));
|
||||
|
||||
if(old.hasItemMeta()) {
|
||||
ItemMeta ometa = old.getItemMeta();
|
||||
if(ometa.hasDisplayName()) {
|
||||
|
@ -157,9 +164,11 @@ public class ClassicSword {
|
|||
|
||||
String name;
|
||||
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1, CItemType.getSwordModel(type));
|
||||
ItemStack csword = new ItemStack(Material.SHIELD, 1);
|
||||
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
ItemMeta meta = csword.getItemMeta();
|
||||
((Damageable)meta).setDamage(CItemType.getSwordModel(type));
|
||||
|
||||
if(old.hasItemMeta()) {
|
||||
ItemMeta ometa = old.getItemMeta();
|
||||
if(ometa.hasDisplayName()) {
|
||||
|
@ -268,7 +277,8 @@ public class ClassicSword {
|
|||
nmsStack.setTag(compound);
|
||||
csword = CraftItemStack.asBukkitCopy(nmsStack);
|
||||
|
||||
csword.setDurability((short)(csword.getType().getMaxDurability() - (short)((int)getCShieldDurability(old))));
|
||||
//csword.setDurability((short)(csword.getType().getMaxDurability() - (short)((int)getCShieldDurability(old))));
|
||||
((Damageable)csword.getItemMeta()).setDamage(csword.getType().getMaxDurability() - ((int)getCShieldDurability(old)));
|
||||
|
||||
return csword;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.fpghoti.classicswords.util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
|
|
Loading…
Reference in New Issue