UltraItems
<font color="red" size="5">UltraItems is going to be merged with SpoutBlocks into SpoutMaterials.</font>
UltraItems creates custom items (with custom title and texture). You can also set crafting recipe and left / right mouse button click action. Action is something to post in chat (eg. command or some message), so you need another plugin to handle this. It is recommended to have commandhelper installed to do advanced commands (command chaining). This plugin requires Spout to be installed, otherwise items will have default texture. You can get item via command /ultraitems (alias /ui).
What you can do with this: wands, food, <s>tools</s>, <s>change stackability</s>
What you can't do (for now): armor, blocks, entities, change durability
<font color="red" size="5">Warning: This plugin requires development version of spoutcraft (check 'use latest dev build' in spoutcraft options) because of bug where items.png is in inventory instead of texture.</font>
Frequently Asked Questions
- Why ain't my permissionbypass working?
- You have to use some permission manger using SuperPerms (like PermissionsBukkit or PemissionsEx or bPermissions)
- How can i set healing staff?
- You can set negative damage.entity option to achieve that
- Will you add maxstacksize soon?
- I have asked Olloth (he's working on custom item api in spout) and he said that method for changing stackability isn't something that can be done easily.
- Will you add crafting with different data values soon?
- See IRC log
- What about furnace crafting from custom items?
- See Spout issue #800
- Will you add custom blocks soon? What will be possible to set?
- Yep. Luminescence, opacity, drop, friction, hardness, whether is powered, explosion resistance. I also like the idea it would act like tree block. And some events like place.
- Why i can't change id of base item?
- Not a preferred way of creating item with spout api anymore.
- How can i set mob drops?
- Use one of following plugins: CookieMonster, EcoCreature or MoneyDrop
- How do i convert old items (pre 0.8) to new spout compatible items?
- Follow this info.
- How can i find out id and data value of item?
- It is shown in console on start-up or after performing /ui reload.
- What does 'Config is unproperly formated?' mean?
- You either don't have UltraItems as root node or you have BOM signature in your config.
Example configuration
Following example should be working with dev version. If you can't use something, download dev version first.
UltraItems: # main container
flashwand: # item name (used when obtaining item via command)
title: Lightning wand # title shown when cursor moved on item in inventory
url: http://ogion.cz/files/items/flash.png # url of image to set to inventory item (it is currently only in inventory and in-hand)
lclick: # left click section
action: |
/zap # command sent when left clicking with item in-hand
let them burn! #you can specify more action as same as multiple permissions to bypass just add multi-line notation (pipe, vertical bar or whatever you call |)
#also you can use variables $player, $coords, $world
permissionbypass: flashplugin.zap # temporarily adds specified permission (removed after performing of action), not recommended to use (if you leave item in chest everybody can use it).
rclick: # right click section
action: /zap multi# command sent when right clicking with item in-hand
cracker:
title: Notch crackers
url: http://ogion.cz/files/items/notch.png
rclick:
health: 20 # 2 = 1 hearth, you can use negative values too
hunger: 20 # 2 = 1 hunger unit (chicken leg), you can use negative values too
consume: true # whether or not is item consumed after clicking
sound: http://ogion.cz/files/items/crunch.ogg
<s>maxstacksize: 6 # maximal size of stack</s>
recipes:
- type: shaped
amount: 2 # amount of items gained by crafting
ingredients: |
0 266
266 357 266
0 266
osword:
title: Obsidian sword
url: http://dl.dropbox.com/u/1189439/osword.png
instantbreak: true # instantly breaks the block being destroyed
damage:
entity: 80 # damage caused to entity (2 = 1 hearth)
recipes:
- type: furnace # you can use furnace, shaped or shapeless
ingredients: "49" # ingredient id:data
- type: shaped
ingredients: |
0 49
0 49
0 cracker
# note you can use item names in recipes (item has to be specified before used in recipe)
Permissions
- ultraitems.* - All UltraItems' commands
- ultraitems.reload - Reload config (default: op)
- ultraitems.list - Show list of items (default: true)
- ultraitems.give - Give item (default: true)
- ultraitems.give.* - Give all items (default: true)
- ultraitems.craft.* - Craft all items (default: true)
Commands
- /ultraitems <itemname> [amount] - gives player item itemname
- /ultraitems list - shows list of items
- /ultraitems reload - reloads configuration file (this works quite weird if you updated recipes so rather use /reload)
- /ultraitems replace - replaces items before new spout item api with new ones
Future releases
- Support for mana plugins
- Complex scripting language for more customisable items
- Block enemy attack (like right click with weapon in mc)
- Integration into give command (General plugin)
- More food properties (poison) and animation
- More events (blockplace, drop, pick, destroyed, walkedon, walkedoff)
- Explosions
- Custom blocks
- Config generator
- Delay option
- Advanced consumption (another items, replacing item)
- Entity shooting (arrows, fireballs)
Changelog
0.9
- Added crafting permissions
- Added amount for give command
- Some crafting fixes (you can use custom item names in recipes)
- Added basic api
- Added instantbreak option
0.8.1
- New bukkit config api
- /ui replace command for replacing old items with new ones
- Info about added items
0.8
- Compatible with new spout api
- Entity damage multiplier changed to absolute number
- Removed multiple spaces bug, data values can be now separated with :,;-
0.7.1
- Fixed data values in recipes
0.7
- Disabled consume for left click action
- Added crafting recipes
- Added health and hunger options
- Colored messages
- Prevented stacking of items with different data values
- Added maxstacksize option
- Added permissionbypass option
0.6
- Added entity damage multiplier
- Enabled data value 0 for click action
0.5
- Better error handling
- Enabled data value 0
- Blocking all right click actions
0.4
- Moved action, consume into l/rclick section
- Action not required for other settings
- Sound setting supported
0.3
- Added consume option
- Enhanced exception handling (incorrect spout)
- Fixed onPlayerInteract without item causing NPE
0.2
- Working reload command
- No errors in console mode
- Restructured returns
- Removed dev messages
0.1
- Initial release
- SuperPerms support
Known bugs
New features are tested before being released but it can miss some bug. If you find any, please report it to the comments or issues section.
- Sound sometimes isn't played (Spout's bug?)
- Reloading config doesn't reset item titles and textures if removed from config (you can use /reload command from bukkit)
- Consume on left click not working correctly (had to disable it because it caused internal server error - bukkit's issue?)
- Maxstacksize isn't working correctly
Download
You can find it in files section. Source is in repository
You can get latest dev version on DropBox.
If you can't make it so that items have custom durabilities, can you re-add data values again? Or is it possible to make your own data value?
so.. i have upgraded to the dev build.. now the plugin doesnt like even the default config file. I just get an error: 2011-11-02 15:15:11 [WARNING] [UltraItems] Config is unproperly formated, please visit UltraItems page for example config I have even tried loading the example word for word into the config with the same results. Going back to other version... at least i could use the plugin.
@Lisured
from v0.8.1
@Lisured
Oh, thanks. I'm being retarded this days :^P
When we create item like sword or pickaxe, in Third Person it's juste like image (sprite) not as Sword or Pickaxe. It's just the image / sprite.. Can you do something for this? I want to create sword or pickaxe..
@Lextao
You have tile instead of title in obssword definition.
Hello, I have a BIG problem that led me to disabling this plugin completely on my server:
I created a recipe for the Obsidian Sword, you can see my config here: http://dev.bukkit.org/paste/4185/
On startup, console displays: [UltraItems] Ingredient: obsingot doesn't exist!, but the recipe is there, and when i try to login, i get NullPointerException on console and NO ONE can connect... Hep :(
I'm using Spoutcraft 718, #1337, Spout 510 and Dev version of UI.
EDIT: I moved the recipe upwards in the config and the warning at startup disappeared, but i still cant connect, i get this NPE: http://dev.bukkit.org/paste/4186/
@ChrisX930
You can't change durability because items already have data value. Minecraft tools use data value as durability.
@Redstoner_Pro
Try dev version.
Heya LISURED, i think you should add "durability" for items.I think that a "unlimited use - Obsidian Sword" isn't a great idea, i think it need a durability
ok so.. im trying to figure this out. im trying to use the example u have for the osword on my server. I do the config exactly as its setup up top, do a /ui reload. when i look at my config file it has reset it back to default. doesnt matter how i setup the file it just keeps resetting back to default. What am i doing wrong.
@Astaen
This is already fixed in dev version i think and it has nothing to do with permissionbypass which is working for me with PermissionsBukkit.
@ChrisX930
Will be added ASAP
@damfle
When did it started happening?
Ok, there's the log. My player "Gregaulait" use an item wich type the command /jump, I put a permissionbypass for it, but the access is still denied to him.
I want a update with a "multiple-command-function" <3
@Lisured
I just have a "lost connection" and "took too long to log in" when I log in
@Gugu42
Fixed in dev version
@damfle
Do you have anything in console / spoutcraft logs (.spoutcraft/logs)
@Lisured
I only use essentials, world guard, world edit and spout... Its strange...
Hello ! I have a problem :
When I run UltraItems on my local server , It's work perfectly , but when It's on my public server , the items doesn't works , only /ui reload works , the other commands tell 'An internal error as occured ... '
The error in console :
01.11 18:02:03 [Server] INFO ... 13 more 01.11 18:02:03 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40) 01.11 18:02:03 [Server] INFO at cz.ogion.ultraitems.UltraItems.onCommand(UltraItems.java:168) 01.11 18:02:03 [Server] INFO Caused by: java.lang.NullPointerException 01.11 18:02:03 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 01.11 18:02:03 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) 01.11 18:02:03 [Server] INFO at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471) 01.11 18:02:03 [Server] INFO at net.minecraft.server.NetworkListenThread.a(SourceFile:108) 01.11 18:02:03 [Server] INFO at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501) 01.11 18:02:03 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92) 01.11 18:02:03 [Server] INFO at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) 01.11 18:02:03 [Server] INFO at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33) 01.11 18:02:03 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715) 01.11 18:02:03 [Server] INFO at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722) 01.11 18:02:03 [Server] INFO at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757) 01.11 18:02:03 [Server] INFO at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:355) 01.11 18:02:03 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163) 01.11 18:02:03 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42) 01.11 18:02:03 [Server] INFO org.bukkit.command.CommandException: Unhandled exception executing command 'ui' in plugin UltraItems v0.9
PS :
My version of Spout is 510 , And CB 1337
@damfle
Are you sure this isn't caused by another plugin?
@Astaen
I have to test it. Anything in console?
You can't change durability because items already have data value
@RealExa
Ask author. AFAIK moneydrop item is the itemid from settings with data value 9001 so you can try to set itemid to 318 and change your coin item data value in spout config to 9001.
@Lisured
I use the same... ^^
Permission Bypass do not works anymore for me and Idk why =/ I'm using PEX like before, but now it wont works.
Also, is it possible to change durability of an item with Spout ?