diff --git a/.classpath b/.classpath
index 2e9dd1b..c083794 100644
--- a/.classpath
+++ b/.classpath
@@ -1,8 +1,36 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
index d5e9b9a..f604e26 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
*.class
/bin/
-/debug code.txt
\ No newline at end of file
+/debug code.txt
+/.vscode/
\ No newline at end of file
diff --git a/.project b/.project
index 7d619c2..f2833a3 100644
--- a/.project
+++ b/.project
@@ -1,17 +1,34 @@
-
-
- itemstay-master
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
+
+
+ PlotMe
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
+
+ 1624448535208
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..7a53139
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
+encoding/src=UTF-8
diff --git a/.settings/org.eclipse.jdt.apt.core.prefs b/.settings/org.eclipse.jdt.apt.core.prefs
new file mode 100644
index 0000000..d4313d4
--- /dev/null
+++ b/.settings/org.eclipse.jdt.apt.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1b6e1ef
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..e0f15db
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "java.configuration.updateBuildConfiguration": "automatic"
+}
\ No newline at end of file
diff --git a/lib/Clearlag.jar b/lib/Clearlag.jar
new file mode 100644
index 0000000..63e0045
Binary files /dev/null and b/lib/Clearlag.jar differ
diff --git a/plugin.yml b/plugin.yml
index fa23e12..d5c3d3b 100644
--- a/plugin.yml
+++ b/plugin.yml
@@ -1,6 +1,7 @@
name: ItemStay
main: me.nighteyes604.ItemStay.ItemStay
-version: 1.5.6
+version: 2.0.0
+api-version: '1.16'
description: A plugin allowing users to create item displays.
softdepend: [Multiverse-Core, Multiworld]
load: POSTWORLD
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..cc492b7
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,88 @@
+
+ 4.0.0
+ me.nighteyes604.ItemStay
+ itemstay
+ 2.0.0
+ ItemStay
+ http://dev.bukkit.org/bukkit-mods/plotme/
+
+ clean package install
+ ItemStay
+ src
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.8
+ 1.8
+ true
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 2.3
+
+
+
+
+
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
+ .
+ true
+ .
+
+ plugin.yml
+
+
+
+
+
+ UTF-8
+
+
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/groups/public
+
+ always
+
+
+ always
+
+
+
+
+
+
+ org.spigotmc
+ spigot-api
+ 1.16.5-R0.1-SNAPSHOT
+
+ provided
+
+
+ me.minebuilders
+ clearlag-core
+ 2.9.7
+ system
+ ${project.basedir}/lib/Clearlag.jar
+
+
+
diff --git a/src/me/nighteyes604/ItemStay/FrozenItem.java b/src/me/nighteyes604/ItemStay/FrozenItem.java
index 45ff582..be16e66 100644
--- a/src/me/nighteyes604/ItemStay/FrozenItem.java
+++ b/src/me/nighteyes604/ItemStay/FrozenItem.java
@@ -1,12 +1,12 @@
package me.nighteyes604.ItemStay;
import java.util.Locale;
-
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.util.Vector;
@@ -77,7 +77,7 @@ void respawn()
}
}
- void destroy()
+ public void destroy()
{
if (!hasWorldAndChunk())
return;
@@ -103,7 +103,8 @@ private void removeDuplicateItems()
private void place()
{
- ItemStack stack = new ItemStack(material, 1, data);
+ ItemStack stack = new ItemStack(material, 1);
+ ((Damageable)stack.getItemMeta()).setDamage(data);
item = location.getWorld().dropItem(new Location(location.getWorld(), location.getX() + dropOffset.getX(), location.getY() + dropOffset.getY(), location.getZ() + dropOffset.getZ()), stack);
ItemMeta m = item.getItemStack().getItemMeta();
diff --git a/src/me/nighteyes604/ItemStay/ItemStay.java b/src/me/nighteyes604/ItemStay/ItemStay.java
index 23e6003..afe4ec4 100644
--- a/src/me/nighteyes604/ItemStay/ItemStay.java
+++ b/src/me/nighteyes604/ItemStay/ItemStay.java
@@ -23,6 +23,7 @@
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.Damageable;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitTask;
@@ -305,8 +306,8 @@ public QInfo registerItem(String owner, Item item)
return new QInfo(fi.getId(), QResult.LOCATION_TAKEN);
}
}
-
- frozenItems.add(new FrozenItem(owner, item.getItemStack().getType(), item.getItemStack().getDurability(), item.getLocation().getWorld().getName(), item.getLocation().getBlockX(), item.getLocation().getBlockY(), item.getLocation().getBlockZ()));
+ short damage = (short)((Damageable)item.getItemStack().getItemMeta()).getDamage();
+ frozenItems.add(new FrozenItem(owner, item.getItemStack().getType(), damage, item.getLocation().getWorld().getName(), item.getLocation().getBlockX(), item.getLocation().getBlockY(), item.getLocation().getBlockZ()));
save();
FrozenItem newfi = frozenItems.get(frozenItems.size() - 1);
newfi.respawn();
@@ -334,8 +335,8 @@ public QInfo registerItem(String owner, ItemStack itemStack, Location location)
return new QInfo(fi.getId(), QResult.LOCATION_TAKEN);
}
}
-
- frozenItems.add(new FrozenItem(owner, itemStack.getType(), itemStack.getDurability(), location.getWorld().getName(), location.getBlockX(), location.getBlockY(), location.getBlockZ()));
+ short damage = (short)((Damageable)itemStack.getItemMeta()).getDamage();
+ frozenItems.add(new FrozenItem(owner, itemStack.getType(), damage, location.getWorld().getName(), location.getBlockX(), location.getBlockY(), location.getBlockZ()));
save();
FrozenItem newfi = frozenItems.get(frozenItems.size() - 1);
newfi.respawn();
@@ -507,7 +508,6 @@ void save()
}
}
- @SuppressWarnings("deprecation")
private void loadDataFile()
{
File folder = getDataFolder();
@@ -564,17 +564,7 @@ private void loadDataFile()
offset = 1;
Material mat;
- try
- {
- //old system, numeric id
- mat = Material.getMaterial(Integer.parseInt(lineBits[5 + offset]));
- }
- catch (NumberFormatException e)
- {
- //new system, mat name
- mat = Material.getMaterial(lineBits[5 + offset]);
- }
-
+ mat = Material.getMaterial(lineBits[5 + offset]);
short data = Short.valueOf(lineBits[6 + offset]);
FrozenItem fi = new FrozenItem(player, mat, data, lineBits[1], x, y, z);
diff --git a/src/me/nighteyes604/ItemStay/ItemStayListener.java b/src/me/nighteyes604/ItemStay/ItemStayListener.java
index b9ac72a..b49bea3 100644
--- a/src/me/nighteyes604/ItemStay/ItemStayListener.java
+++ b/src/me/nighteyes604/ItemStay/ItemStayListener.java
@@ -4,7 +4,6 @@
import java.util.List;
import me.minebuilders.clearlag.events.EntityRemoveEvent;
-import me.nighteyes604.ItemStay.FrozenItem;
import org.bukkit.ChatColor;
import org.bukkit.Location;
@@ -15,10 +14,11 @@
import org.bukkit.event.entity.ItemDespawnEvent;
import org.bukkit.event.inventory.InventoryPickupItemEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
-import org.bukkit.event.player.PlayerPickupItemEvent;
+import org.bukkit.event.entity.EntityPickupItemEvent;
import org.bukkit.event.world.ChunkLoadEvent;
+import org.bukkit.inventory.meta.Damageable;
-class ItemStayListener implements Listener
+public class ItemStayListener implements Listener
{
private static ItemStay plugin;
@@ -28,7 +28,7 @@ class ItemStayListener implements Listener
}
//Try to prevent despawning from unknown causes
- @EventHandler(priority = EventPriority.NORMAL)
+ @EventHandler //(priority = EventPriority.NORMAL)
public void onItemDespawnEvent(ItemDespawnEvent event)
{
for (FrozenItem fi : plugin.frozenItems)
@@ -44,7 +44,7 @@ public void onItemDespawnEvent(ItemDespawnEvent event)
}
//Prevent pickup by misc. inventories/entities
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ @EventHandler //(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onInventoryPickupItemEvent(final InventoryPickupItemEvent e)
{
if (!e.getItem().getItemStack().hasItemMeta())
@@ -62,23 +62,23 @@ public void onInventoryPickupItemEvent(final InventoryPickupItemEvent e)
}
}
- @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ @EventHandler //(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onChunkLoadEvent(final ChunkLoadEvent event)
- {
- for (FrozenItem fi : plugin.frozenItems)
- {
- if (!fi.hasWorldAndChunk())
- continue;
-
- if (fi.getLocation().getChunk().equals(event.getChunk()))
- {
- fi.respawnIfDead();
- }
- }
+ { // Disabled
+ // for (FrozenItem fi : plugin.frozenItems)
+ // {
+ // if (!fi.hasWorldAndChunk())
+ // continue;
+
+ // if (fi.getLocation().getChunk().equals(event.getChunk()))
+ // {
+ // fi.respawnIfDead();
+ // }
+ // }
}
//Handle item placing
- @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
+ @EventHandler //(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPlayerDropItemEvent(final PlayerDropItemEvent event)
{
if (plugin.saveNextItem.contains(event.getPlayer().getName().toLowerCase()))
@@ -104,8 +104,8 @@ public void run()
return;
}
}
-
- plugin.frozenItems.add(new FrozenItem(event.getPlayer().getName(), item.getItemStack().getType(), item.getItemStack().getDurability(), item.getLocation().getWorld().getName(), item.getLocation().getBlockX(), item.getLocation().getBlockY(), item.getLocation().getBlockZ()));
+ short damage = (short)((Damageable)item.getItemStack().getItemMeta()).getDamage();
+ plugin.frozenItems.add(new FrozenItem(event.getPlayer().getName(), item.getItemStack().getType(), damage, item.getLocation().getWorld().getName(), item.getLocation().getBlockX(), item.getLocation().getBlockY(), item.getLocation().getBlockZ()));
item.remove();
plugin.save();
FrozenItem fi = plugin.frozenItems.get(plugin.frozenItems.size() - 1);
@@ -118,8 +118,8 @@ public void run()
}
//Prevent player pickup
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onPlayerPickupItemEvent(PlayerPickupItemEvent event)
+ @EventHandler //(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onEntityPickupItemEvent(EntityPickupItemEvent event)
{
if (!event.getItem().getItemStack().hasItemMeta())
return;
diff --git a/target/ItemStay.jar b/target/ItemStay.jar
new file mode 100644
index 0000000..ccd73d1
Binary files /dev/null and b/target/ItemStay.jar differ
diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml
new file mode 100644
index 0000000..4bbc4df
--- /dev/null
+++ b/target/classes/plugin.yml
@@ -0,0 +1,22 @@
+name: ItemStay
+main: me.nighteyes604.ItemStay.ItemStay
+version: 2.0.0
+api-version: '1.16'
+description: A plugin allowing users to create item displays.
+softdepend: [Multiverse-Core, Multiworld]
+load: POSTWORLD
+author: Nighteyes604, speeed
+commands:
+ itemstay:
+ description: The base for all item display commands. Type /itemstay help for more information.
+ usage: / help for more information.
+permissions:
+ itemstay.admin:
+ description: Grants access to display creation, deletion of any display, respawning items and reloading items from file.
+ default: op
+ itemstay.create:
+ description: Grants access to display creation and deletion of owned displays.
+ default: op
+ itemstay.delete:
+ description: Grants access to deletion of any display.
+ default: op
\ No newline at end of file
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..889157d
--- /dev/null
+++ b/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu Jun 24 09:50:21 CST 2021
+version=2.0.0
+groupId=me.nighteyes604.ItemStay
+artifactId=itemstay
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..b798f68
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,8 @@
+me/nighteyes604/ItemStay/ItemStayListener.class
+me/nighteyes604/ItemStay/ItemStay$2.class
+me/nighteyes604/ItemStay/ItemStayListener$1.class
+me/nighteyes604/ItemStay/QInfo.class
+me/nighteyes604/ItemStay/ItemStay.class
+me/nighteyes604/ItemStay/ItemStay$1.class
+me/nighteyes604/ItemStay/FrozenItem.class
+me/nighteyes604/ItemStay/QResult.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..b33abdb
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,5 @@
+/home/fjy/Desktop/Itemstay/src/me/nighteyes604/ItemStay/FrozenItem.java
+/home/fjy/Desktop/Itemstay/src/me/nighteyes604/ItemStay/QInfo.java
+/home/fjy/Desktop/Itemstay/src/me/nighteyes604/ItemStay/ItemStayListener.java
+/home/fjy/Desktop/Itemstay/src/me/nighteyes604/ItemStay/QResult.java
+/home/fjy/Desktop/Itemstay/src/me/nighteyes604/ItemStay/ItemStay.java
diff --git a/target/original-ItemStay.jar b/target/original-ItemStay.jar
new file mode 100644
index 0000000..ccd73d1
Binary files /dev/null and b/target/original-ItemStay.jar differ