Individual Signs Plus
Signs can now display updating , user specific sign messages (such as your money). Choose from 100+ placeholders or make your own!
This plugin was originally an addon for InSigns by blablubbabc. He's made some other really neat plugins which you should definitely check out.
[Overview]
- Allows you to display text on a sign that is different for each player looking at it.
- Create signs with custom {placeholders} simply by typing them on the sign.
- For example; {player} will turn into your username.
- Create your own placeholders, or download additional ones.
- Placeholders contain information such as your current balance or the held item.
- Placeholders can be updated automatically (default once per second)
- Alternatively you can right click the sign to update it.
- You can find a list of placeholders below.
[Dependencies]
[Recommended]
- ProtocolLib (More efficient sign updating)
[Optional]
- Vault (Adds permission, economy and chat related placeholders)
- Enjin (Adds enjin tags)
- Factions (Adds faction related tags)
- Essentials (Used for getting offlineplayer DisplayName)
[Commands]
Command | Description | Permission |
---|---|---|
/isp setline <index> <value> | Set a line of a sign | insignsplus.setline insignsplus.setline.override |
/isp help <placeholder> | Describes the function and usage of the placeholder | |
/isp list <page> | Lists the placeholders for this plugin | |
/isp save | Saves the plugin data | insignsplus.save |
/isp reload | Reloads all configuration | insignsplus.reload |
/isp enable | Enable a disabled placeholder | insignsplus.enable |
/isp disable | Disables a placeholder | insignsplus.disable |
[Permissions]
- insignsplus.create - allows you to use all non whitelisted placeholders
- insignsplus.create.* - allows you to use everything
- insignsplus.create.<placeholder> - allows you to use a specific placeholder.
[Placeholders]
- {player}
- {world}
- {x}
- {y}
- {z}
- {lvl}
- {exp}
- {money}
- Click here for a detailed list.
[Scripting]
- Custom placeholders go in the folder ".../plugins/InSignsPlus/scripts/"
- Any additional placeholders will go there.
- To add your own copy the default template "example.yml"
- The placeholder for "example.yml" would be {example}
script: - if {hasperm:hello} - return &1Hello! - else - return &4Bye!
- Please visit the scripting page for more info.
[API]
Want to display per user, updating statistics for your minigame plugin?
The API allows you to have auto-updating per user sign messages without having to worry about all the protocol stuff:
- Click here for the developer API
[Performance]
- The plugin only updates packets when the server has a high tickrate.
- The updates occur on a separate thread.
- Only certain whitelisted placeholders are updated.
- You can configure how many signs can be updated at one time (default 1000).
- You may change the update interval (default 1 second).
- You can also simply disable auto-updating if you don't think it's necessary.
[Configuration]
- All configuration can be done through the config.yml
autoupdate: updates-per-milli: 1 #How many signs should be updated per millisecond enabled: true #Wether auto-updating should be enabled interval: 1 #How often should the signs be updated buffer: 1000 #The maximum number of signs to update per interval whitelist: # A list of placeholders to update (you can add your own) - dead - sleeping - etc...
To get a placeholder to autoupdate, simply add it to the "whitelist" in the config.yml
[Images/Video]
[Videos]
English
Russian
Other
https://www.youtube.com/watch?v=kauA79nH8NQ
@googlebuscus
@Empire92
No please don't. At least make it toggle-able and support more Holo plugins.
Version 0.7.0 adds an API:
http://dev.bukkit.org/bukkit-plugins/isp/files/33-v0-7-2/ http://dev.bukkit.org/bukkit-plugins/isp/pages/api/
@googlebuscus
Sounds like a neat idea :)
Can you work with the HoloAPI to allow us to create holographic displays with ISP's placeholders in them? That'd be a great feature.
Version 0.6.3 should be out soon, it contains a large amount of bug fixes.
@SirReason There is nothing wrong with your code. It seems like it was trying to evaluate it as a string for some odd reason...
I recoded quite a few things, so it should run a lot smoother now:
http://dev.bukkit.org/bukkit-plugins/isp/files/29-v0-6-4/
By default the plugin tries not to use the javascript engine unless it detects arithmetic, so on the last line you don't need the quotes.
You can force the plugin to evaluate something by enclosing it in {js:"some code or some.js file"}. Also, nice use of the parseInt.
I have a question regarding a custom script I want to use that isn't working the way I would like it to. The script is as follows:
No matter what I do, it only prints the first return statement. Even if I change the if statement to the exact opposite it still prints the following return. How can I get this to work?
Thanks in advance!
@Marium0505
There are a LOT of other plugins which modify the display name... However this should work for you: http://dev.bukkit.org/bukkit-plugins/isp/files/17-v0-6-1-only-for-bukkit-1-7-5/
@Empire92
Wouldn't it be possible if you extracted it from the {playernamehere}.yml file in the Essentials folder?
Their nicks are there whether the player is online or not.
@Marium0505
If I am online it will return my display name followed by True
&4Empire92&r: True
If I am offline it will return
Empire92: False
Unfortunately you cannot get the nickname of an offline player currently - however you can get their prefix
You will need to reload ISP with /isp reload to load the script
@Empire92
@Empire92
Are you able to write that script for me? I have no clue how to write it, lol.
(Just a reminder, what I need is to show a player's nick on a sign. And the plugin should output the nick whether the player is online or not.)
@Empire92
Anyone wanting to try out the latest version: http://dev.bukkit.org/bukkit-plugins/isp/files/15-v0-6-0/
It adds scrollable signs (i.e. you click the sign to go through the messages) For more info read the english.yml file after downloading version 0.6.0 of the plugin. You may need to update the config.yml to whitelist the new placeholders.
@Marium0505
Yeah... I just tested it and custom scripts didn't work for v0.5.0 Try this version out and tell me how it goes: http://dev.bukkit.org/bukkit-plugins/isp/files/14-v0-5-1/
@Empire92
Can you please write the script for me? I've tried several times without success. :/
@Marium0505 InSigns is no longer required (however it improves stability)
The placeholder for a nickname is {display} however that will include any other formatting attached to a player. I will add a {nickname} placeholder soon.
To shorten a placeholder you can add your own e.g {test} and then have it simply execute another placeholder. Custom placeholders can be found in the script folder for this plugin. http://dev.bukkit.org/bukkit-plugins/isp/#w-custom-placeholders
Assuming you are running bukkit 1.7.2 and using v0.5.0 of this plugin, offline players should work for most things (such as getting the item they are holding).
Also, how do I make the plugin output another pkayer's nickname? And is it somehow possible to shorten the placeholder in case I have issues with not being able to type the players full ign on a sign?
AND, does this work on offline players?
Might want to add InSigns to the requirements list....
Or eventually make this plugin independent on it InSigns.
@Empire92
it would be cool if you could have something like that and as well like a way to link a sign wall and display messages on it... just a thought for something new if you would be interested. and do you have any suggestions where to learn java?
@z00100100
The plugin doesn't update the sign itself. So let's say you put {money} on line one of a sign. The text will still be {money} but anyone who looks at it will see their balance. It does this through updating the packets, there is no need for a database.
so lets ay you have a set of signs at your spawn or shop and its just a wall of stat signs would they be different per player whom is looking at the sign i.e. z00100100 is looking at the sign it shows 2000 coin but wesker4god is looking at the same sign and it shows 20 coin. if the sign is encoded to @player could you make it only display data for client and make server side just a database accessed by said client for @player?