RandomTips Announcer
RandomTips Announcer
RandomTips is an auto announcer that was creating out of the ideas for random tips and facts.
Whilst administering new players on our server I would manually type out a tip with a silly random number for example:
'ProTip#2352: Didnt make member rank? Its probably not your awful build.' 'ProTip#302: You can deny idiots from you plot with /plotme deny <idiots name>'
and so RandomTips was born.
RandomTips allows server owners and admins to setup announcements for specific worlds, to help new users learn tips or to just simply inform them.
Features
- Multiworld support.
- Custom prefix for each world.
- A global announcer.
- Random tip numbers (just for fun).
- Add and remove messages ingame.
- Stop and start announcements ingame.
- Players can ignore a specific announer.
Commands
Player Commands
- Toggle ignore for world: - /rt ignore
Permissions: randomtips.player
Admin Commands
- Add message: - /rt add <world> <message>
- Remove message: - /rt remove <world> <id>
- List world messages: - /rt messages <world>
- Stop world announcer: - /rt stop <world>
- Start world announcer: - /rt start <world>
- Reload RandomTips and it configs: - /rt reload
Permissions: randomtips.admin
Configuration
#********************************* #Worlds: specific worlds and 'Broadcast' to all worlds #Prefix: can have a random number, use %i to insert it. #Interval: time between each message in seconds. #Delay: delay before the announcer starts. #Random: Random message order. #Messages: enclose all messages with ' ' to be safe. #********************************* Version: 1.04 #CHANGE THE WORLDS YOUR WORLDS Worlds: - Survival_world - Creative_world - Broadcast #Messages of world 'Survival_world' Survival_world: Prefix: '&f[&6ProTip&f]#&c%i&f: ' Interval: 120 Delay: 20 Random: true Messages: - '&aBuild far away from spawn! Hint: 10mins walk is not far.' - '&aNew? Want a town? get 3 friends to pool their money!' - '&aWant to win some prizes? Type &e''/joinhunt''&a to join the nightly MobHunt.' - '&aWant to save spawners? Use a &esilktouch pickaxe&a to grab them.' - '&aCan''t find your way out of PvE? Type &e''/spawn''' - '&aUse &e''/town list''&a to find an open town and use &e''/town join <townname>''&a to join.' - '&aType &e/buy 7 &ato use &4Red-stone-dust&a to teleport.' #Messages for world 'Creative_world' Creative_world: Prefix: '&f[&cProTip&f]#&c%i&f: ' Interval: 120 Delay: 20 Random: true Messages: - '&aUse &e/plotme&a deny, to remove idiots from your plots.' - '&aUse &e/plotme&a comment, to add comment to people builds.' - '&aUse &e/plotme&a clear to clear your dreddful builds.' - '&aIf you''re not getting promoted, its not you, its your builds.' - '&aSpamming will get you banned, so do us a favour get it over with.' - '&aAsking for rank will get you ranked slower, FACT.' - '&aDidn''t make member rank? It''s probably not your awful build.' - '&aWant day? &e/ptime day &4Boom&a and the night is gone!' #Messages for all world; Global Announcements. Broadcast: Prefix: '&6[&4Notice&6] ' Interval: 200 Delay: 20 Random: false Messages: - '&4Visit &ehttp://www.domain.com&4 for more info' - '&4Join our mumble server at &edomain.com' - '&4Like us on Facebook! &ehttp://www.facebook.com/ServerName' - '&4Visit&e http://mc.domain.com:8123 &4for dynmap.' - '&4Use &e''/buy''&e or visit &ehttp://store.domain.com/ &4to buy perks.' - '&4Need a admin or mod? Create a request type /modreq' Locale: InsufPerms: '&cInsufficient Permissions!' MessagesHeader: '&f[&6id&f]----------------&f[&6Messages&f]----------------' NoAnnouncer: '&cWorld: &f[&6%s&f]&c doesn''t have an Announcer.' WorldNotDefined: '&cWorld: &f[&6%s&f]&c not defined.' NoMessage: '&cMessaged required.' MessageAdded: '&aMessage: %s &a added.' AddUsage: '&c/rt add <world> <message>' MessageRemoved: '&aMessage: %s &aremoved.' MessageInvalide: '&cMessage &f[&6%s&f]&c doesn''t exist.' RemoveUsage: '&c/rt remove <world> <message-id>' AnnouncerStopped: '&aAnnouncer for &f[&6%s&f]&a stopped.' AnnouncerNotRunning: '&cAnnouncer not running.' StopUsage: '&c/RT start <world> - World undefined.' AnnoucerStarted: '&aAnnouncer for &f[&6%s&f]&a started.' AnnouncerRunning: '&cAnnouncer already running.'
Please Paste your config and server log if you have any problems
Please Paste your config and server log if you have any problems
Don't Download for 1.8.x Servers! It will crash hard and not save worlds! Use an alternative. It works fine for a few minutes then it freaks out and crashes. Please update the plugin for 1.8, it's pretty god minus the crashing :/
it says RT: World does not have an announcer
Any chance you can make a plugin that will only broadcast to players with a certain rank ???
ie. dont need to broadcast messages about becoming a member to players that are already members... maybe make it a permission node they need to receive the messages ??
I believe this is freezing my server hard on the 1.7.2 CB dev builds. Just FYI :)
@Kixes
How about just giving it a try?
If tekkit is updated along side bukkit I can't see why not.
@Slysar
Looks to be a java version issue. Version 51.0 is Java 7
Its been running fine for our server for a while, check your java version.
If you need a java 6 compile I can oblige.
Does this work with tekkit?
Hi, Having trouble setting up any announcer plugins since 1.6, I know it's some java problem. I get the following:
2013-09-06 03:24:08 [SEVERE] Could not load 'plugins\RandomTips.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/drunkenmeows/randomtips/RandomTips : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:184) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.v1_6_R2.CraftServer.loadPlugins(CraftServer.java:239) at org.bukkit.craftbukkit.v1_6_R2.CraftServer.<init>(CraftServer.java:217) at net.minecraft.server.v1_6_R2.PlayerList.<init>(PlayerList.java:56) at net.minecraft.server.v1_6_R2.DedicatedPlayerList.<init>(SourceFile:11) at net.minecraft.server.v1_6_R2.DedicatedServer.init(DedicatedServer.java:106) at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:391) at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) Caused by: java.lang.UnsupportedClassVersionError: me/drunkenmeows/randomtips/RandomTips : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173) ... 9 more
Now I know someone is going to give me a great 1 liner like 'durhur update java' so let me assure you I have updated java, recompiled installed old jrm's removed old jrm's and more things I have forgotten over the months. Someone has to know whats going on here.
Please I need an ABC123 answer of what to do. If I could figure this out it would have been. I need help. Hate to admit it. There is a reward involved. Any successful help will install you as a benefactor in my will, you will receive my grandmothers silver spoon collection!
And you would ease the suffering of an old man at his wits end:( windows 7 if that helps.
@Caperr
are the worlds in your server the same in the config file, if not that would explain the problem
"02.08 08:57:43 [Server] INFO Announcer for Broadcast worlds running 6 messages 02.08 08:57:43 [Server] WARNING World: Creative_world does not exist 02.08 08:57:43 [Server] WARNING World: Survival_world does not exist 02.08 08:57:43 [Server] INFO ... 17 more"
you should check to make sure you have the correct worlds by there actual names
Looks like a great plugin, been looking for something like this that actually works for a while.
The plugin can't seem to load my config, it says it's incorrect. Could you help me, please?
Here's my server log of loading it up(It's upside down(read from the bottom up), unfortunately. sorry about any inconvenience):
02.08 08:57:43 [Server] INFO Announcer for Broadcast worlds running 6 messages 02.08 08:57:43 [Server] WARNING World: Creative_world does not exist 02.08 08:57:43 [Server] WARNING World: Survival_world does not exist 02.08 08:57:43 [Server] INFO ... 17 more 02.08 08:57:43 [Server] INFO at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:53) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.Yaml.load(Yaml.java:399) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) 02.08 08:57:43 [Server] INFO at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:575) 02.08 08:57:43 [Server] INFO ^ 02.08 08:57:43 [Server] INFO - 'Subscribe to the owners' youtube channels! &ahttp://is.gd ... 02.08 08:57:43 [Server] INFO in "<string>", line 41, column 31: 02.08 08:57:43 [Server] INFO expected <block end>, but found Scalar 02.08 08:57:43 [Server] INFO ^ 02.08 08:57:43 [Server] INFO Prefix: '&7[&4Devil&2Craft&7]&b ' 02.08 08:57:43 [Server] INFO in "<string>", line 35, column 3: 02.08 08:57:43 [Server] INFO Caused by: while parsing a block mapping 02.08 08:57:43 [Server] INFO at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) 02.08 08:57:43 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:391) 02.08 08:57:43 [Server] INFO at net.minecraft.server.v1_6_R2.DedicatedServer.init(DedicatedServer.java:151) 02.08 08:57:43 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.a(MinecraftServer.java:250) 02.08 08:57:43 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.f(MinecraftServer.java:290) 02.08 08:57:43 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.l(MinecraftServer.java:313) 02.08 08:57:43 [Server] INFO at org.bukkit.craftbukkit.v1_6_R2.CraftServer.enablePlugins(CraftServer.java:264) 02.08 08:57:43 [Server] INFO at org.bukkit.craftbukkit.v1_6_R2.CraftServer.loadPlugin(CraftServer.java:282) 02.08 08:57:43 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 02.08 08:57:43 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) 02.08 08:57:43 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 02.08 08:57:43 [Server] INFO at me.drunkenmeows.randomtips.RandomTips.onEnable(RandomTips.java:49) 02.08 08:57:43 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111) 02.08 08:57:43 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:117) 02.08 08:57:43 [Server] INFO at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:175) 02.08 08:57:43 [Server] INFO at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:105) 02.08 08:57:43 [Server] INFO at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:138) 02.08 08:57:43 [Server] INFO at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55) 02.08 08:57:43 [Server] INFO ^ 02.08 08:57:43 [Server] INFO - 'Subscribe to the owners' youtube channels! &ahttp://is.gd ... 02.08 08:57:43 [Server] INFO in "<string>", line 41, column 31: 02.08 08:57:43 [Server] INFO expected <block end>, but found Scalar 02.08 08:57:43 [Server] INFO ^ 02.08 08:57:43 [Server] INFO Prefix: '&7[&4Devil&2Craft&7]&b ' 02.08 08:57:43 [Server] INFO in "<string>", line 35, column 3: 02.08 08:57:43 [Server] INFO org.bukkit.configuration.InvalidConfigurationException: while parsing a block mapping 02.08 08:57:43 [Server] SEVERE Cannot load plugins/RandomTips/config.yml
And here's my config:
Worlds: - TARDIS_WORLD_Caberberry - TARDIS_WORLD_Gizmo788 - TARDIS_WORLD_thefirstson - TARDIS_WORLD_xanderTgreat - creative - paintball - world - world_nether - world_the_end
Locale: InsufPerms: '&cInsufficient Permissions!' MessagesHeader: '&f[&6id&f]
----&f[&6Messages&f]----' NoAnnouncer: '&cWorld: &f[&6%s&f]&c doesn''t have an Announcer.' WorldNotDefined: '&cWorld: &f[&6%s&f]&c not defined.' NoMessage: '&cMessaged required.' MessageAdded: '&aMessage: %s &a added.' AddUsage: '&c/rt add <world> <message>' MessageRemoved: '&aMessage: %s &aremoved.' MessageInvalide: '&cMessage &f[&6%s&f]&c doesn''t exist.' RemoveUsage: '&c/rt remove <world> <message-id>' AnnouncerStopped: '&aAnnouncer for &f[&6%s&f]&a stopped.' AnnouncerNotRunning: '&cAnnouncer not running.' StopUsage: '&c/RT start <world> - World undefined.' AnnoucerStarted: '&aAnnouncer for &f[&6%s&f]&a started.' AnnouncerRunning: '&cAnnouncer already running.'Thanks, and sorry for spamming your comments section :(
When I do /rt ignore it says world doesn't have announcer! I put it to broadcast. I only have a survival world so I put all tips in the broadcast... It displays the tips but it says world doesn't have announcer! Help?
@kin61
No need to be a homophobic asshole. No need whatsoever.
@kin61
Yeah, me too.
gay! it says world doesnt have announcer... this is stupid
@drunkenmeows
I was going to and just forgot. Thanks for the shitty attitude though.
I have 'random: true' set for a section, but it always sends the first entry in that list first following a reload. Since I'm still reloading a lot while setting this up, it's making the plugin seem more spammy than it really is.
Nice plugin ! :)
Oh, I tried using the strikethrough character (&m) and it didn't seem to work.
http://www.minecraftwiki.net/wiki/Formatting_codes
@Hangar
I'm happy you like it.
@noyougirls
Thank you for posting your config and server logs
You'll receive support in 9999999999 years.