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.
I'm using notepad++ and my config files were already terminated only with a linefeed (\n). I tested with different combinations of \r and \n with no change in result.
@Lisured
When do you release the next update? I look forward to adding customized blocks :D
@geekahedron
I have theory this is caused by bad line endings. What text editor do you use? Try to use unix line endings (\n).
I'm getting the error that the config is unproperly formated (sic) no matter what I do, using the pregenerated configuration or simply copy pasting the sample config from this page. I'm using the latest dev builds of both UltraItems (v0.10p1) and Spout (v520). What do I need to do to get a working config?
@aehooo No one requested this one yet so it was only on todo list. I will add that tomorrow (it's almost 3 AM)
@Lextao When there will be api for that in spout.
Can something be implemented to get a player name, or the target?
Something like this:
action: /give {target} 1 1
or something like
action: /give {self} 1 1
Sorry if this already exists, I'm lurking on the pages, but learn about plugin on the comments isnt the aesiest way.
Hi, when will it be possible to determine if an item is an item or a sword?
Because I want my sprites to show correctly :(
@Redstoner_Pro
It should work with 519 too.
@Lisured
you cant really say i have outdated spout.. im using recomended build... its more like your plugin in dev build is too new. however.. i will try this.. though it says 519 now.. not 518.. will this be an issue?
@Astaen
You can always stay on ui build compatible with your spout version.
Couldn't you works only on Spout RB ? =/
@Redstoner_Pro
Try spout 518. You have outdated spout.
trying the Dev build this is all i get.. .plugin wont even enable.
Devbuild of UI. spout build 510
@Lisured
Okay Thank's
@KaYaToX
Spout team is already very busy with implementing all the apis on their todo list. You can ask them for swords in their issue tracker but i think this is already planned. See https://github.com/SpoutDev/Spout/issues/milestones
Also you can already specify multiple actions in pre-release version (see example config)
Download: http://dl.dropbox.com/u/1189439/stable/0.10p1/UltraItems.jar
@Lisured
Okay, should they make a motion or request ! It would be perfect to add weapons or armor !
@KaYaToX
It depends on spout when it implements api for that.
Thank you for your response, But it's expected ? If so, when do you think ?
@ChrisX930
It should be thee in a while. I was trying to fix error that even didn't exist.
@KaYaToX
Swords and armors aren't possible atm.
@sakuah
Update to dev version of ultraitems.
My ultraitems congif.yml keeps reverting back to
'UltraItems:': {}
whenever i restart the server or type /reload, or /ui reload, or /ultraitems reload. I am just curious what I am missing. and it keeps giving me an internal server error anytime I try and use /ultraitems list
====== [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'ultraitems' in plugin UltraItems v0.9 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:355) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
etc... I am thinking it stems from the previously stated issue...
thanks