[GEN/FUN] Tweakcraftutils 2.2.6 - Essentials and more [1317 ]

Discussion in 'Inactive/Unsupported Plugins' started by GuntherDW, Jun 4, 2011.

  1. Offline

    GuntherDW

    TweakcraftUtils - Our essentials plugin
    Version: v2.2.6

    This is a generals plugin that we use on our server.
    It all started when we wanted to replace Essentials because our build was outdated, and the newer version
    had loads of stuff in them that we didn't want, or did stuff differently than we wanted it to.
    Also, some said that it created more lag than it should. This also fueled my idea to write a replacement for it,
    whilst at the same time add some personal touches to it.

    Thus TweakcraftUtils was born.
    Now, this name is susceptible to change, if you guys feel (and probably will) that it's too chauvanistic.

    A lot of it might clash with (a lot of) other plugins, but they will be fully configurable.
    Some parts of it (most notably the /debug command) are borrowed from CommandBook.
    This was because an admin asked if we could also have this functionality.
    Features:
    • Almost everything that you would expect from a "generals" plugin
    • Some extra fun stuff
    • ChatModes, keep that spam down!
    • WorldManager, Easily create and manage worlds!
    • BanHandler, Ban those griefers!
    • WeatherControl, and a bindable lightning strike tool!
    • Tamertool, check out info on those wolves!
    • Mount, no longer limited to pigs!
    • Nicks, no nasty added numbers/... in your displayname!
    • On fire? No problem, /ext away that fire!
    • Playerinfo, When was the last time that player was on the server? /seen !
    • Teleported to somewhere but want to go back? use /back !
    • Persistence support
    • And lots more!
    Download TweakcraftUtils
    Source Code : https://github.com/GuntherDW/TweakcraftUtils
    ZIP : https://github.com/downloads/GuntherDW/TweakcraftUtils/TweakcraftUtils_2.2.6.zip

    TODO:
    • Tidy up ChatMode (this will take a while...)
    • Add GroupChat
    • Iron out the Multi-World manager to be more feature complete
    • Remove the built-in nether support, since Minecraft has that built-in since 1.6
    • As usual, still a lot to do in a plugin this size
    Most importantly in the long run : Modularise the whole thing, so that serveradmins who do not want to utilise the multi-world side of tcutils don't have to install it.

    Other plugin developers that want to utilise /help (open)

    If you want your plugin to utilise /help's permissions checker,
    modify your plugin.yml file, and add a "permissions" node to your command node.
    for an example, check this codeblock

    Code:
    commands:
                  SomeCommand:
                      description: I do something! :D
                      alises: [dosmth, alright]
                      permissions: someplugin.somecommand
              


    Full list of commands and permission nodes (open)

    Code:
    [B]* General admin commands (and Admin Chat)[/B]
    
    admin
    admin-add       tweakcraftutils.admon
    admin-remove    tweakcraftutils.admon
    admin-list      tweakcraftutils.adminlist
    admon           tweakcraftutils.admin (and/or be on the admin-add list)
    admoff          tweakcraftutils.admin
    tplist          tweakcraftutils.tplist
    tweakcraft      tweakcraftutils.reload
    clearinventory  tweakcraftutils.clearinventory
    
    [B]* Essential commands[/B]
    
    ban             tweakcraftutils.ban
    banlist         tweakcraftutils.ban
    compass
    getpos          tweakcraftutils.getpos (and tweakcraftutils.getpos.other)
    help
    item            tweakcraftutils.item
    kick            tweakcraftutils.kick
    listworlds      tweakcraftutils.worlds.{worldname}
    me
    msg
    mute            tweakcraftutils.mute
    motd            (if you want to reload the motd) tweakcraftutils.motdreload
    plugin          tweakcraftutils.plugin
    reply
    spawn           tweakcraftutils.spawn
    setspawn        tweakcraftutils.setspawn
    
    spawnmob        tweakcraftutils.spawnmob
    time            tweakcraftutils.time
    unban           tweakcraftutils.ban
    world           tweakcraftutils.worlds.{worldname} and tweakcraftutils.worlds.{world}.world
    
    [B]* General commands[/B]
    
    ext             tweakcraftutils.extother
    ignite          tweakcraftutils.extother
    seen
    who
    nick            tweakcraftutils.nick (and tweakcraftutils.nick.other)
    whois           tweakcraftutils.whois (and tweakcraftutils.whois.ip)
    broadcast       tweakcraftutils.broadcast
    getspawn        tweakcraftutils.getspawn
    lc              tweakcraftutils.chat.mode.local and tweakcraftutils.chat.list.local
    rc              tweakcraftutils.chat.mode.region and tweakcraftutils.chat.list.region
    zc              tweakcraftutils.chat.mode.zones and tweakcraftutils.chat.list.zones
    wc              tweakcraftutils.chat.mode.world and tweakcraftutils.chat.list.world
    chatmode        tweakcraftutils.chat.mode.{chatmode} (check /cm list for the modes)
    lwho            tweakcraftutils.chat.mode.local
    tamer           tweakcraftutils.tamer.info(.other), tweakcraftutils.tamer.tame,
                    tweakcraftutils.tamer.tame.untame(.own and .other)
                    tweakcraftutils.tamer.angry, tweakcraftutils.tamer.angry(.own and .other)
                    tweakcraftutils.tamer.heal, tweakcraftutils.tamer.heal(.own, .other or .wild)
                    tweakcraftutils.tamer.sit, tweakcraftutils.tamer.sit(.own, .other or .wild)
    
    [B]* Teleportation commands[/B]
    
    tele            tweakcraftutils.tele
    tp              tweakcraftutils.tp and tweakcraftutils.tpfromto
    (for a cross-world tp tweakcraftutils.worlds.{world}.tp )
    tpback          tweakcraftutils.tpback
    tphere          tweakcraftutils.tphere
    tpoff           tweakcraftutils.tpoff and tweakcraftutils.tpoffother
    tpon            tweakcraftutils.tpoff and tweakcraftutils.tpoffother
    tpmob           tweakcraftutils.tpmob
    
    [B]* Weather control commands[/B]
    
    rain            tweakcraftutils.weather
    strike          tweakcraftutils.weather
    thunder         tweakcraftutils.weather
    strikebind      tweakcraftutils.weather
    
    [B]* Debug commands[/B]
    
    debug           tweakcraftutils.debug
    


    Timed bans and mutes explanation (open)

    Note on timed stuff
    I've added a timed mute/ban system in 2.2.3, by default it just permanently mutes of bans someone.
    The timed bans aren't written to the banned-players.txt yet because they conflict with a vanilla banned-players.txt file.

    To hand out a timed mute to for example Joey for 30 minutes, you would have to type
    Code:
    /mute joey t:30m
    The time algorithm understands s,m,h,d and w.
    In full that's "s"econds, "m"inutes, "h"ours, "d"ays and "w"eeks.

    If you want to to check if Joey's still muted, or his remaining time, use the command
    Code:
    /mute list
    It'll show you who's muted, and for how long they will still be.

    Now, for bans this is a little bit different. This is because bans take a reason argument after the /ban command. Do take note that a /ban still does not auto-complete a nick. This is intentional.
    Imagine that Joey has been griefing while he was muted. You'd want to warn him even more, so you can issue a tempban.
    To issue timed bans is more or less the same as handing out timed mutes.
    Code:
    /ban Joey t:5m Tempban for griefing.
    This'll ban Joey for 5 minutes, and show that message when he tries to connect.
    It'll also auto-kick him if he's still on the server.

    These timed mutes/bans are persistent, so if you've enabled persistence, you can restart the server or safely do /tc reload and they'll still be muted.
    Please do note that tempbans aren't listed in banned-players.txt. They're only listed in the database.
    Mostly because banned-players.txt is there just to provide some vanilla support.


    Small note:
    Now, i should note that this plugin is primarily aimed at our server. Seeing as it carries that name :D.
    But i'm more than willing to take on ideas of others users, or provide support.
    Do note that being a serveradmin can be quite demanding though.
    So you shouldn't expect me to check here every 5 minutes or so.
    Changelog:

    Version 2.2.6
    • Added CUI support for ImprovedChat and ChatModes (ImprovedChat personal fork)
    • Added an option to set the time with a number, and not only day or night
    • Added rudimentary ArgumentHandler
    • Added /wc command due to some users that have been bothering me for a LONG time
    • Added /tamer sit
    • Added control for ViewDistance per world and per player, but that's disabled for now (until bukkit's devs enable it again)
    • Added multiple-playere tphere's, just do /s p1 p2 p3 p4
    • Added Spam checker, has to be enabled in the config,
    • Added spawnflags for /spawnmob, p:true for powered creepers, sc:color for colored sheep, ...
    • Added "sit" control to the tamertool
    • Added group-based broadcast
    • Added /lwho, see who is in localchat range
    • Added mod_InfDura (with clientside communication) support
    • Added a "random" dye color for sheep (sc:random)
    • Added a per-world nether option.
    • Added position saving when using /world
    • Added config and fixes for the RespawnEvent
    • Added (better?) support for CraftIRC3
    • Added /getspawn to see where you (or a world)'s spawn positition is set.
    • Added the option to keep a world's spawn in memory
    • Added world option for /who, Modified /listworlds to show the player amount in front of the worldname,
    • Added TweakTravelAgent, isn't in use right now though.
    • Added a searchwidth option per-world for nether portals.
    • Added PlayerList colours
    • Added support for PermissionsEx and BukkitPerms
    • (finally) updated items.csv for 1.7 (i though i already did that) and 1.8 items,
    • Added the option to cancel nick chat or not (for CraftIRC)
    • Added %clearcolors% to the IRC messageformat
    • Various small code fixes
    • Modified ArgumentParser, added a function that outputs the "normal" args and the unused ones.
    • Fixed some issues with the Permissions Resolver,
    • Fixed nick finding algorithm
    • Fixed datavalues flags for /i, use /i itemid;itemdamage or /i itemid d:damage (needs a new ArgumentParser fix)
    • Fixed /motd for consoles,
    • Fixed /ban with auto-nick completion for kicks. (It doesn't do it for bans, so why should it do it for kicks)
    • Fixed faulty plugin loading when the config isn't set up correctly


    Version 2.2.4
    • Added craftIRC support for /broadcast (needs a small change to config.yml)
    • Changed the IRC config a bit,
    • Added /tpback instance for /spawn
    • Added option to recover saddle when used on a pig
    • Added support for other chunk generators in /listworlds (they show up gray by default)
    • Added feature: stop unloading chunks with burning furnaces inside them.
    • Added /banlist <player> to check for ban and remaining time
    • Added 'offline' /whois, it checks Permissions (no offline nicks support yet)
    • Added per-world allowMonsters and allowAnimals setting.
    • Added a check on tp for tpback lines,
    • Added a check for /tpback, to see if the tp went correctly
    • Added support for Permissions 3.X
    • Made bans lowercase
    • Updated ZoneChat for Zones 2.0b18
    • Reworked /tele so you can add a victim
    • Changed EntityDistance to use int in stead of double (speedup for localchat)
    • Fixed adminchat to irc using displayname instead of name,
    • Fixed persistent bans (banmsg)
    • Fixed permission bit for getpos and other players (tweakcraftutils.getpos.other)
    • Fixed /nick for other players and setting your own nick more than once.
    Version 2.2.3
    • Fixed the color for worldchat when using /me
    • Fixed the initial config load loading the persistence stuff twice.
    • Fixed the grammar error in /nomount
    • Fixed chatmodes showing up with /cm list when they weren't enabled!
    • Added a check in /tphere
    • Added options for auto-taming wolves and paying for your mount (Saddles)
    • Added the hook for kicks and nicks/invisble players,
    • Added the kicker's nick/name in front of te kick message. (This'll have to do until bukkit comes up with another method to kick players.)
    • Added timed mutes/bans
    • Added a crude ingame world enabler/create/disabler (Doesn't save to the global yml config (yet?))
    • Added craftIRC support for /broadcast
    Version 2.2.1a
    • Fixed the Authors values in plugin.yml
    • Added /eject, to eject either yourself or the rider
    • Added /donotmount (or /nomount,/dnm) to disallow anyone to ride you. Has nasty sideeffect
    • Tried to fix vanilla CraftIRC funtionality instead of our custom CraftIRC. CraftIRC has issues with %prefix% and %suffix% to IRC.
    • Added the ability to customise that Admin MSG to CraftIRC
    • Added permission nodes to Mounting. (tweakcraftutils.mount.player for players and mount.other for other LivingEntities)
    • Moved a couple commands around from Essentials to General and visa versa.
    • Added /tpback clear, if at any time you want to clear your /tpback history.
    Version 2.2.1
    • Released this plugin on the Bukkit forums
    For a more detailed changelog you could checkout the git commits.
    I'll try to add newer version's changelogs over here as well though.
     
  2. Offline

    Edoxile

    This is really useful! I'll definitely use this on my server!
    Thanks!
     
  3. Offline

    Plague

    changelog has to be at the end
     
  4. Offline

    GuntherDW

    Fixed that one :).
    I'm in the process of adding a /eject and /donotmount (or /dnm) command.
    Should be up in about an hour or 2 at max. I'll have to re-think my Persistence model, it's not quite versatile :x.

    EDIT: I do know that Authors in plugin.yml was wrong, i quickly whipped that up before uploading. Sorry.
    Fixing it before my next upload.

    EDIT2: I'm also fixing vanilla CraftIRC compatibility. Or at least trying to for as much as possible.

    There, updated and fixed some stuff.

    It seems i have left in a "small" error in the /nomount command.
    "They can mount no longer mount you". Whoops :$.
    That's what you get when you copy-paste bits of text :p.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  5. Offline

    GuntherDW

    Updated to 860 and added a couple features and bugfixes.
    Check the main post for more information.
     
  6. Offline

    GuntherDW

    Sorry at all the people that used the link in the forum, i though i'd changed the url, but it was still pointing at 2.2.1a,
    damn SMF :p.
     
  7. Offline

    GuntherDW

    Finally went ahead and made a zip for 2.2.4
     
  8. Offline

    blueblob 0

    i have an error with thisd on my server :

    [SEVERE] Could not load 'plugins\TweakcraftUtils.jar' in folder 'plugins':
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:207)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:130)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:128)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:97)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:51)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:132)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NoClassDefFoundError: com/sk89q/worldguard/LocalPlayer
    at com.guntherdw.bukkit.tweakcraft.Chat.ChatHandler.<init>(ChatHandler.java:45)
    at com.guntherdw.bukkit.tweakcraft.TweakcraftUtils.<init>(TweakcraftUtils.java:83)
    ... 13 more
    Caused by: java.lang.ClassNotFoundException: com.sk89q.worldguard.LocalPlayer
    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.findClass(PluginClassLoader.java:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 15 more
     
  9. Offline

    GuntherDW

    That error should only popup when you've enabled regionchat in the config, and WorldGuard isn't installed or loaded.

    disable it in config.yml, reboot the server and that error should be gone.
     
  10. Offline

    isaiah3818

    Perfect for a server, and no bugs!!!!!!! Better than the Essentials team!!!!
     
  11. Offline

    GuntherDW

    I know i haven't made a release lately, even though i've been updating the git repo.
    There'll be a release shortly though, for those of you that don't like to compile stuff themselves, or can't.

    Exams and school, meh :p.
     
  12. Offline

    koeny33

    Hi Gunther, another Dutchie here ;)

    I've got some trouble.

    151 recipes
    16 achievements
    20:47:15 [INFO] Starting minecraft server version Beta 1.7.3
    20:47:15 [INFO] Loading properties
    20:47:15 [INFO] Starting Minecraft server on *:25565
    20:47:15 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-
    g4ed23b1-b1060jnks (MC: 1.7.3)
    20:47:16 [SEVERE] Could not load 'plugins\TweakcraftUtils.jar' in folder 'pl
    s':
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Met

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Sou

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
    rce)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoad
    ava:173)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginMana
    java:213)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginMan
    .java:136)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:1
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:110)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConf
    ationManager.java:51)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:13
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:337
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NoClassDefFoundError: com/sk89q/worldguard/LocalPlayer
    at com.guntherdw.bukkit.tweakcraft.Chat.ChatHandler.<init>(ChatHandl
    ava:45)
    at com.guntherdw.bukkit.tweakcraft.TweakcraftUtils.<init>(Tweakcraft
    s.java:83)
    ... 13 more
    Caused by: java.lang.ClassNotFoundException: com.sk89q.worldguard.LocalPlaye
    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.findClass(PluginClassLoa
    java:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoa
    java:24)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 15 more
    20:47:16 [INFO] Preparing level "world"
    20:47:16 [INFO] Preparing start region for level 0 (Seed: 682777968550892048
    20:47:17 [INFO] Preparing spawn area: 44%
    20:47:18 [INFO] Preparing start region for level 1 (Seed: 682777968550892048
    20:47:18 [INFO] Preparing spawn area: 32%
    20:47:19 [INFO] SimpleGod version 1.3 is enabled!
    20:47:19 [INFO] Server permissions file permissions.yml is empty, ignoring i
    20:47:19 [INFO] Done (0.320s)! For help, type "help" or "?"

    How can I install it properly? Do you have a simple guide, or is it just ctrl-c ctrl-v to \plugins?

    Alvast bedankt voor je reactie!
    Koen
     
  13. Offline

    GuntherDW

    Dat krijg je als je RegionChat enabled hebt, terwijl je geen WG (WorldGuard) hebt.
    Nuja, geen nood, met de volgende "release" zal hij nakijken of hij plugins vindt, als hij die dan niet vindt disablet hij de bijhorende functionaliteit automatisch.

    Also, ik ben een vlaming, geen .nl'er :D.
     
  14. Offline

    GuntherDW

    Well, it seems like I haven't really "released" any new version for quite some time. I've been refactoring and improving big parts of this plugin, but not quite ready to release it to the public yet.

    If you want to check out the changes I've made since then, just check out the github page.

    It'll feature methods to inject commands or chatmodes from another plugin. I wanted it to be more flexible than it was back then, because it became quite the monster over time.
     

Share This Page