ItemDisplay
ItemDisplay Release v1.3
This plugin supports JRE6 and JRE7
Note: I am not going to upgrade this plugin anymore. I've started a new project I've been wanting to do for a long time, it's a 2d space shooter game, me and my friend are currently working on it, I might work on this plugin again but it's not likely. Since v1.3.1 is the lastest and most stable version i'll keep the project this way. And last but not least, thank you ALL for your cooperation.
Refer yourselves to http://dev.bukkit.org/profiles/Ryanjh5521/ for possible updates and bug fixes.
Description
This plugin allows you to put any items in your iventory over specified blocks as a display, it also allows you to place items and blocks on the ground to be picked up later. Both displays and drops don't despawn and are fire/lava proff.
Commands
/itemd - Turns itemd mode on/off
/itemd help - Shows help message
/itemd list - Shows a list of all items in a 5 block radius(spherical) around you
/itemd delete ID/(ID1 ~ ID2) - Deletes any item displays/placings that belongs to you with ID or is in range of ID1 to ID2
/itemp - Turns off item placing mode
/itemp #sec - Places an item on the ground, makes it pickable by anyone, protects the item for #sec seconds, prevents despawn and respawn if it dies by lava, fire, etc.
Usage
Using the command "/itemd" gives you the ability to create the displays, left click the block you want the item to stay above, you can click in any face of the block, note that it will alwas stay on TOP of the block you clicked. Using "/itemd" again disbales the mode. Left Clicking and sneaking with the mode enabled you will be able to remove the display.
Using the command "/itemd help" shows a help message with the commands and a brief description.
Using the command "/itemd list" shows a list with every item display/placing around you within a spherical radius of 5 blocks. It also shows the ID's wich can be used with the delete command.
Using the command "/itemd delete ID/ID1ID2" deletes any item displays/placings with ID or is in range of ID1 to ID2 . It'll give the item back if the configuration is set to true, and you won't be able to delete some displays depending on the configuration settings. OP's can always delete any displays/placings.
Using the command "/itemp #" gives you the ability to lay an item on the ground, left click the block you want the item to stay above, you can click in any face of the block, note that it will alwas stay on TOP of the block you clicked. Using "/itemp #" again sets the time protection to #. Left Clicking and sneaking with the mode enabled you will be able to remove the item.
Using the command "/itemp" deactivated the item place mode.
Permissions
- itemdisplay.forcedelete:
- description: Gives you the permission to force displays deletion
- itemdisplay.basic:
- description: Basic permissions to create, list and command delete displays
- itemdisplay.nodecrease:
- description: Does not decrease item stack when placing an item
- itemdisplay.ignoredisplaylimit:
- description: Let's you create infinite ammounts of displays
- itemdisplay.*:
- description: Gives you all display permissions
- default: op
- children:
- itemdisplay.forcedelete: true
- itemdisplay.basic: true
- itemdisplay.nodecrease: true
- itemdisplay.ignoredisplaylimit: true
- description: Gives you all display permissions
Configuration File
- version
- The version of the file, DO NOT CHANGE IT
- decrease_item_stack_on_creation
- when set to true, if player is not OP, the itemstack of the item the player is holding will be decreased by 1.
- give_item_back_on_deletion
- when set to true, the player will receive the item back upon deleting a display
- force_public_displays
- when set to true, any player can delete any display
- max_player_displays
- the maximum ammount of displays each player can create. OP's can create as many as they wish
- block_default
- when set to true, players will be able to create displays on all blocks not specified below
- allow_blocks
- - COBBLESTONE
- - STONE
- players will be able to create displays on COBBLESTONE and STONE despite the value of 'block_default'
- deny_blocks
- - BEDROCK
- - SAND
- - GRAVEL
- players will NOT be able to create displays on BEDROCK, SAND and GRAVEL despite the value of 'block_default'
Notes
The displays are saved and loaded on plugin enable and disable. The items on display are not pickable and will respawn on fire death, they will also try to move to their original location if they are moved. Creating a display will not consume any items.
To Do List
- [1.2]
/itemd instead of /itemd [on/off] - [1.3]
/itemp # instead of /itemd p # - [1.2]
Configuration file- [1.3]
Allow placement only over specified blocks - [In progress]Allow creation of only specified items
- [1.2]
Whether or not to decrease the itemstack when creating the display - [1.2]
Whether or not to give the item back to the player - [1.2]
Allow or deny players to delete other player's displays - [1.2]
Allow or deny item pickup (it'll decrease itemstack on creation unless player is op) - [1.3]
Limited displays
- [1.3]
- [1.0]Permissions:
- [1.2]
itemdisplay.forcedelete(You can delete any display) - [1.2]
itemdisplay.basic(You can create and delete your own displays) - [1.2]
itemdisplay.nodecrease(Your item stack does not decrease upon creating displays or placing items) - [1.3]
itemdisplay.ignoredisplaylimit(You can create as many displays as you want) - [1.2]
itemdisplay.*(Gives you all the permissions above)
- [1.2]
- [?]More than 1 item per block (that'll be a lot of work and thinking but it'll look awsome)
- [?]Chat or command the number to select the slot of the block
- [?]Auto-organize on item addition - create up to 9 displays in one block but if you want to remove 1 you'll have to remove all
- [?]Create 9 displays ontop of a block with all your inventory items
- [1.3]
Rewrite code to fix bugs, help adding new features and enhance speed - [1.3]
List and Delete commands(single ID or range)
- [?]Support for items on nether and theend
Known Bugs
Bug: On server start some items over glass/glowstone/slabs/stairs/furnaces may not appear at first
Quick fix: Type "reload" on your server console and it should be ok
Cause: Sometimes the server or the client does not draw the sprite of the item despite it being there, that is, it is there but it's not being rendered.
[FIXED]Bug: When a player activates the mode, all players are able to create display
WARNING: Closing the server inappropriately might cause the items to vanish or be able to pickup, hence duplicating it.
Latest News
20/06 - 05:06(GMT): I'm overloaded with college work, I will release v1.2 as soon as possible, maybe this weekend along with a fresh video for the plugin. Thank you all for the support!
23/06 - 02:25(GMT): Most of the features for 1.2 is already done, it took me a lot more work than what I thought it'd take. My code is really messy, I intended to use it only on my server so I'll probably rewrite it after 1.2 so I can fix the bugs more easily. This is my first plugin so it'll take a lot of getting used to API... But anyways, tomorrow 1.2 will probably be out! Again, Thanks for the support!
24/06 - 00:01(GMT): Plugin is ready! I'm just testing it with a friend on the server, should be up any time soon!
24/06 - 01:01(GMT): Plugin is ready! Just needs approval for you to download!
26/06 - 03:25(GMT): I'm currently rewriting the plugin to enhance speed, fix bugs and add more functionalities, thanks for your patience ;)
28/06 - 02:38(GMT): ItemDisplay 1.3 is out! It just needs approval, I fixed a bunch of errors and added the so much awaited /itemd delete and /itemd list commands to help you with those annoying "undeletable" displays :)
29/06 - 00:21(GMT): ItemDisplay 1.3.1 is ready, waiting approval. I fixed some bugs that allowed items to be picked up, now the plugin ensures no item will be picked no matter what!
-deleted-
If I break the items beneath it, will it stay up?
@Ryanjh5521
Does this work for 1.5.2?
Im back guys. I will be updating the plugin soon. This time I will be doing things right.
Can somebody please tell me how I remove items the /itemdisplay remove (or whatever the remove command is) doesn't work. It just gives me an internal server error, please help!
update it plz!!!
@Ryanjh5521
Please update this I love this plugin but 1.4.2 made it act different and items just fall on the floor and not sit in their spot!
@Ryanjh5521
Keep us posted please. I want it ! ;-).
Oh sorry bukkit didnt approve it uet. Will keep you posted. I have a bug fix build that is like the old plugin but I finally found out the reason it didnt work was as simple as a return statement. It is the small things in Java that get you the worst
Hi Ryanjh5521. I'm looking for the new rewritten version that you just posted but cannot find it. I've checked your link at the top of the page and can't find it. Am I doing something wrong? Thanks.
Just posted a new totally rewritten version. It took a while due to alot of delays and how advanced the coding is
@gizmopinzo
You shift then hit them to delete
Cannot delete blocks. It is pretty horrible having blocks on the ground that just, is there.
I am getting used to college again guys. trust me I am working my ass off to update it. I develop plugins and I run 3 servers!
I can place but not delete too. please help
I just downloaded the new 1.3.2 beta release to see if it would fix the error, but no luck. I can place items on display just fine, but I can't delete any items once placed. Like others here I get an internal server error when I try.
My updated version has just been uploaded. You can download it on my page once it is approved!
ERROR!!!
Hi I'm really wanting to open my server in the next couple of days but i need this to work so please help!!!
When I Do The Command /itemd it dosent say /itemd [on:off] like the video shows it just comes up with item delete, Has Anyone Elce Come With This Problem Or How Can I Make It Work :'( Please Reply ASAP!!!!!!!!!
@nrkid9
Hey nrkid. I am the new plugin manager. Go to the link in the desc that will lead you to my profile. From there head to itemdisplay and there will be a new
build by Sept 5th. The plugin is going to be revamped too so keep tuned!
Getting the following when trying to use the /itemd command. I see other servers still using this, maybe one of the previous versions still work?
2012-08-31 00:11:05 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'itemd' in plugin ItemDisplay v1.3 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:492) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:878) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:825) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:807) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.NetworkManager.b(NetworkManager.java:281) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:583) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.IndexOutOfBoundsException: Index: 0 at java.util.Collections$EmptyList.get(Collections.java:3204) at me.kapetozo.itemdisplay.helpers.ItemDisplayCommandExecutor.onCommand(ItemDisplayCommandExecutor.java:23) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40) ... 15 more 2012-08-31 00:11:25 [SEVERE] Could not pass event PlayerInteractEvent to ItemDisplay org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177) at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:114) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:546) at net.minecraft.server.Packet14BlockDig.handle(SourceFile:46) at net.minecraft.server.NetworkManager.b(NetworkManager.java:281) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:583) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.IndexOutOfBoundsException: Index: 0 at java.util.Collections$EmptyList.get(Collections.java:3204) at me.kapetozo.itemdisplay.helpers.ItemDisplayListener.onPlayerLeftClick(ItemDisplayListener.java:44) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 16 more 2012-08-31 00:11:27 [SEVERE] Could not pass event PlayerInteractEvent to ItemDisplay org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177) at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:331) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:649) at net.minecraft.server.Packet15Place.handle(SourceFile:58) at net.minecraft.server.NetworkManager.b(NetworkManager.java:281) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:583) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.IndexOutOfBoundsException: Index: 0 at java.util.Collections$EmptyList.get(Collections.java:3204) at me.kapetozo.itemdisplay.helpers.ItemDisplayListener.onPlayerLeftClick(ItemDisplayListener.java:44) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 16 more