SkyText
SkyText
Description
Compatible with Bukkit 1.7.2!
SkyText is a plugin to allow you to write text in your world
using the command /skytext hello_world 0 will write hello world in blocks where you are standing. You can use this plugin to write text above your portals or just write text to sign post areas.
In v1.1+ you can now add scheduled text.
For instance, if you have a minigames area you can put text that changes between all your minigames available in the portal beneath. You could also, if other plugins allow, have countdowns to games starting.
Also, in 1.1+, you can now have text that changes based upon command blocks.
Any suggestions then please let me know, this is my first plugin (of many I hope).
Features
- writes text of your choosing
- change the rotation of the text
- Schedule text to display on server start
- Allow changing text in a specific position
Dependencies
- worldedit - I highly recommend getting the latest snapshot, especially if you are running 1.7.2 as this has the latest NMS support (http://builds.enginehub.org/job/worldedit/)
Optional dependencies
- Vault - If you want any integration with economy, ensure you have Vault
- Factions - If you are a factions lover, and want to integrate, ensure you have it installed!
How to install
- download SkyText.jar and place in plugins folder
- download worldedit from here and place in plugins folder
- restart server
- If you change the config, you will need to restart the server to get those changes!
Setup
No setup is required if you do not wish to have text that changes on a schedule or is linked to server start.
Brief Tutorial
Commands
Note: If you wish to have a space in your message, use the _ character
Place a message where the player is standing with a specified rotation and optional coordinates
- /skytext <message> <rotation in degrees (0,90,180 or 270)> [x] [y] [z] [world]
From 1.15 you can also use:
- /skytext <message> <rotation in degrees (0,90,180 or 270)> [blockid] [dataid] [x] [y] [z] [world]
Create a new message group in the config and set a default message
- /skytext create <name_of_message_group> <message>
Add a new message to be rotated in a message group
- /skytext set <name_of_message_group> <message>
Change message group settings (new in 1.12)
- /skytext set <name_of_message_group> set <world|ticks|rotation|blockid|dataid|location> <value>
Reload from config.yml
- /skytext reload
Config.yml
You can see an example config.yml here config.yml
Permissions
- skytext.write gives permission to write
- skytext.create gives permission to create a message group
- skytext.reload gives permission to reload from config.yml
API
A better implemented API is coming shortly, but this code works perfectly fine for now.
Add this to your OnEnable or initialisation code:
SkyText SkyTextPlugin = new SkyText();
Then wherever you wish to write text use this:
Writing.WriteText(new Location(Bukkit.getWorld("world"),100,100,100), "chicken", 0, SkyTextPlugin, 100, 1, 0);
WriteText Parameters:
- Location is the location in the world.
- The letters are what you want to display, in this case I picked "Chicken",
- The angle is the rotation angle, either 0,90,180 or 270
- Then we pass the skytext plugin into the command.
- Then we pass the maxwidth, this is currently unused.
- Finally we pass the blockid and the dataid.
Changelog
- 1.15
- Breaking Change: Updated command to include optional blockid and dataid of block: /skytext <Message> <rotation> [blockid] [dataid] [x] [y] [z] [world_name]
- Added some colours to messages to make them clearer
- Added the following parameters:
- %online% - The number of online players
- %maxplayers% - The maximum amount of players allowed
- %playername% - The name of the player running the command
- %playerlevel% - The level of the player running the command
- %playerlevel:PlayerName% - The level of the specified player
- %playerbalance% - The balance of the player running the command
- %playerbalance:PlayerName% - The level of the specified player
- %playerpower% - The Factions Power for the player running the command
- %playerpower:PlayerName% - The Factions Power for the specified player
- %days:EventName% - Days until EventName happens
- %hours:EventName% - Hours until EventName happens
- %minutes:EventName% - Minutes until EventName happens
- %seconds:EventName% - Seconds until EventName happens
- Fixed compatibility problem with AWE
- Fixed Colon not working
- Area is no longer cleared in advance, rather as each letter is added a space is also added between letters
- 1.14
- Fixed crash when using the plugin when you did not have the magical default world name that I created. (*slaps self*)
- 1.13
- Added reload command. Use /skytext reload to reload config.yml
- Added skytext.reload permission. Use to allow anyone to reload.
- Removed the need for setup:true|false in the config, it will now check if the schematics are present before copying them
- 1.12
- Refactored code to make things a little easier to maintain (Already!?)
- Added setting message_group settings without editing config.yml
- Added more error checking and feedback to the player
- 1.11
- Now correctly clears old word of message group
- Fixed spacing between letters
- Fixed letter I getting skipped (if you upgrade from a previous version, set setup:false in the config.yml to regen the schematics
TODO
- Add Undo
- Add broadcast option to skytext options (when large letters in the sky just aren't enough!)
Bugs
- When using message groups, if one of the lines is longer than the other, the text can overlap. I would recommend using the underscore character to flesh out the text so it gets wiped. For example:
- _hello_world_
- how_are_you
- Improve schematics
Thanks
- Thanks to desht for the TerrainManager code, it saved me some research! :D
Is source code available somewhere?
Please, update to 1.7.4! PLIIIIIIIIZ!
PLZ UPDATE
@fujiboy4
can you please test out your server to make sure it's THE RIGHT SERVER VERSION before using it...
Doesn't work D:
I really wanted this for my server, hence it won't work, I wont be using it D:
Not working :(
File exception when reloaded server, can you please test out the plugin to make sure it WORKS before uploading it...
Doesn't work at all. Errors up when loading.
@TomiTGames
I am thinking of adding those features however i haven't taken over the plugin :/
I have updated the plugin myself to 1.7.9 and 1.7.10 i am also working on a 1.8 plugin that supports the 2 different worldguard verisions (5.0 and 6.0) :D
Update to 1.7.10!
Update To 1.7.9
would love to use this on 1.7.9 R10
Update To 1.7.9 Please!
How do you delete text, when I try it replaces it...
Please Continue To Update Plugin!
updat to 1.7.9 it dont work
Can U Update This To 1.7.9?Please I Can't Use In 1.7.9
Hey. Could you add a way do set multiple lines per message, like, I wanted do do a message saying "Survival" in line 1 and "Games" in line 2. Then it changed to "Paintball". Can it be done ?