Spigot TrollCommands++ : Troll Your Frenemies! 7.29.56

For the people that really hate their friends


  1. Latest version of spigot, 1.12. It's supposed to make it so a person cannot see any other players. Nothing happens.
     
  2. I just tested /troll alone <player> (and also /troll control <player> for good measure) on Spigot 1.12 built on 7/5/17 and TrollCommands++ version 4.17.36 and it seems to work without issue.

    The other plugins I have installed on the test server are as follows:
    • EssentialsX 2.0.1
    • HatMeEnhanced 3.1.16
    • iDisguise 5.6.3
    • Item-NBT-API 1.5
    • LibsDisguises 9.4.0
    • LightAPI 3.2.4
    • PermissionsEx 1.23.4
    • PowerNBT 0.8.8
    • ProtocolLib 4.3.0
    • WorldEdit 6.1.7.2
    And my permissions.yml for PEX is as follows:
    Code (Text):
    groups:
      default:
        options:
          default: true
        permissions:
        - -bukkit.command.stop
        - bukkit.command.*
        - -minecraft.command.stop
        - minecraft.command.*
        - modifyworld.*
        - tcpp.command.*
        - tcpp.control.chat
        - tcpp.vegetable.chat
        - -tcpp.control.freecam
        - -tcpp.vegetable.freecam
        - -tcpp.immune
        - hme.hat
        - hme.hat.*
        - hme.others
        - hme.stack
        - hme.give
        - hme.mob
        - hme.mob.*
        - hme.player
        - worldedit.*
        - permissions.manage.reload
        - essentials.*
    schema-version: 1
     
  3. egg82 updated TrollCommands++ : Troll Your Frenemies! with a new update entry:

    Whoa! Dassalottaupdates!!

    Read the rest of this update entry...
     
  4. I was so hopeful about this plugin and just tried it and it doesn't work :-(

    To top it off, your website is down (https://dev.egg82.ninja)

    Spigot 1.11.2

    I'm not sure how to get all the possibly needed information, here is what I know how to get:
    [01:43:57] [Server thread/ERROR]: Error occurred while enabling TrollCommandsPlusPlus v4.18.37 (Is it up to date?)
    java.lang.NoClassDefFoundError: org/bukkit/event/player/PlayerAdvancementDoneEvent
    at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:1.8.0_112]
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[?:1.8.0_112]
    at java.lang.Class.getConstructor0(Class.java:3075) ~[?:1.8.0_112]
    at java.lang.Class.newInstance(Class.java:412) ~[?:1.8.0_112]
    at me.egg82.tcpp.lib.ninja.egg82.patterns.ServiceLocator.initializeService(ServiceLocator.java:125) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.patterns.ServiceLocator.provideService(ServiceLocator.java:77) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.plugin.BasePlugin.reflect(BasePlugin.java:151) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.plugin.BasePlugin.onEnable(BasePlugin.java:92) ~[?:?]
    at me.egg82.tcpp.TrollCommandsPlusPlus.onEnable(TrollCommandsPlusPlus.java:116) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:376) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:326) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.MinecraftServer.t(MinecraftServer.java:421) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.MinecraftServer.l(MinecraftServer.java:382) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.MinecraftServer.a(MinecraftServer.java:337) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:544) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
    Caused by: java.lang.ClassNotFoundException: org.bukkit.event.player.PlayerAdvancementDoneEvent
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_112]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_112]
    ... 20 more
     
  5. That's odd. It's saying player advancement events don't exist in 1.11.2 for some reason when I was sure they did. I've been working on a new update overhaul anyway, but it won't be ready for a while so I'll need to fork in a fix.

    I find it funny that 1.11.2 gives console warnings about achievements being deprecated but doesn't actually have advancements implemented. It's like entity damage; everything you do spits out deprecation warnings and there's no replacement system in place. Good job, guys :/

    The website is down because I'm running out of money and can't afford the servers right now. They're on Google Cloud, so the second I have money to pay for it the whole thing will be right back up again. Just not right now is all.
     
  6. I'm not sure how much the Google Cloud hosting is, but if you know how to do server administration and have the time, you can get pretty cheap hosting with "DreamCompute". I used them for awhile.
     
  7. If it were just my web server it would be about $15/mo USD. As it stands it's closer to $60/mo. Working on getting that cost down.
    Either way spending any money at all just isn't an option at the moment. I'm working on these projects completely on charity and in whatever free time I have.

    Next update will be in the next day or two depending on how tests go.
     
  8. egg82 updated TrollCommands++ : Troll Your Frenemies! with a new update entry:

    OVERHAULS AND STUFFS!

    Read the rest of this update entry...
     
  9. This version works with my setup, but testing it now and it seems the GUI doesn't work:
    [12:51:48] [Server thread/ERROR]: Could not pass event InventoryClickEvent to TrollCommandsPlusPlus v4.19.38
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1849) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.PacketPlayInWindowClick.a(SourceFile:33) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.PacketPlayInWindowClick.a(SourceFile:10) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_112]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_112]
    at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
    Caused by: java.lang.RuntimeException: data type cannot be converted to the type specified.
    at me.egg82.tcpp.lib.ninja.egg82.patterns.Registry.getRegister(Registry.java:118) ~[?:?]
    at me.egg82.tcpp.events.inventory.inventoryClick.TrollEventCommand.onExecute(TrollEventCommand.java:72) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.patterns.SynchronousCommand.start(SynchronousCommand.java:40) ~[?:?]
    at me.egg82.tcpp.events.InventoryClickEventCommand.lambda$0(InventoryClickEventCommand.java:38) ~[?:?]
    at java.util.ArrayList.forEach(ArrayList.java:1249) ~[?:1.8.0_112]
    at me.egg82.tcpp.events.InventoryClickEventCommand.onExecute(InventoryClickEventCommand.java:36) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.patterns.SynchronousCommand.start(SynchronousCommand.java:40) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.plugin.reflection.event.EventListener_1_11_2.onAnyEvent(EventListener_1_11_2.java:791) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.plugin.reflection.event.EventListener_1_11_2.onInventoryClick(EventListener_1_11_2.java:377) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_112]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_112]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    ... 15 more
    Caused by: java.lang.ClassCastException: Cannot cast java.util.UUID to org.bukkit.entity.Player
    at java.lang.Class.cast(Class.java:3369) ~[?:1.8.0_112]
    at me.egg82.tcpp.lib.ninja.egg82.patterns.Registry.getRegister(Registry.java:116) ~[?:?]
    at me.egg82.tcpp.events.inventory.inventoryClick.TrollEventCommand.onExecute(TrollEventCommand.java:72) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.patterns.SynchronousCommand.start(SynchronousCommand.java:40) ~[?:?]
    at me.egg82.tcpp.events.InventoryClickEventCommand.lambda$0(InventoryClickEventCommand.java:38) ~[?:?]
    at java.util.ArrayList.forEach(ArrayList.java:1249) ~[?:1.8.0_112]
    at me.egg82.tcpp.events.InventoryClickEventCommand.onExecute(InventoryClickEventCommand.java:36) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.patterns.SynchronousCommand.start(SynchronousCommand.java:40) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.plugin.reflection.event.EventListener_1_11_2.onAnyEvent(EventListener_1_11_2.java:791) ~[?:?]
    at me.egg82.tcpp.lib.ninja.egg82.plugin.reflection.event.EventListener_1_11_2.onInventoryClick(EventListener_1_11_2.java:377) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_112]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_112]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-6e3cec8]
    ... 15 more

    Note that these tests were performed as an owner with all perms, except with this one added "- -tcpp.immune" to my player specifically. Also with only myself online. So I trolled myself. I also didn't test everything. The chat manager is Towny Chat.

    The /troll annoy player command doesn't seem to do anything. Neither does /troll haunt player. Neither does the /troll whoami. Neither does the /troll amnesia.

    Might want to update the main overview page to reflect the change from "potato" to "vegetable" as /troll potato player doesn't work but /troll vegetable player does.

    I love how the /troll void replaces the blocks it removes.

    A slight improvement could be how the commands are shown in chat. I can see there are 20 pages when I do /troll but I can't figure out how to open the second page. /troll help seems aimed at specific command help, not a list.

    On a side note, the Dream Compute I was using was like $7 a month (just the hosting, not including domains, on a plus side free SSL certs are available and easy to obtain). I wouldn't pay more than $20 a month for hosting unless I had a rediculously popular website lol. Sadly, I've never had that problem unless you consider 1000 visitors a day rediculously popular (my personal best for website traffic).

    This plugin seems like it will be a lot of fun, thank you for doing it.
     
  10. The new update sends me a stacktrace from any exception that is encountered. I saw the one you just posted a few minutes after you encountered it and I've already fixed it along with several others in the upcoming bugfix update :)

    As far the void command, I've tried to make TC++ as non-destructive as possible. Anvils get removed, arrows can't be picked up, holes get replaced, squids get removed and drop nothing, etc etc. Obviously sending TNT or fireballs in a direction will create some destruction, but that's expected anyway.

    annoy, amnesia, and haunt take a little time to get rolling. They're slow-burners. That's really just the nature of randomness. Obviously annoy and haunt won't work if you have sounds turned off, but it's unlikely any player will.
    whoami used to completely randomly-generate a player's name, but now it pulls names from the pool of players the server has ever seen (online and offline). I was thinking about adding a static pool of names to that list just in case it isn't big enough.

    The problem with /troll potato and /troll vegetable is that they were far too easy to confuse. Potato turns everything in the player's inventory into potatoes (which is why it was renamed to "convert" and now takes an item name as an argument. This is also why it can now be undone, in case you made a mistake.)
    /troll vegetable turns the player into a vegetable of your choice (potato by default) - so, yeah, that's the reason for the rename.

    Generally help pages are done using /help <topic> but I added /troll help <topic> to solve that. You're right, though. Maybe if you provide no arguments with /troll or only provide one argument that is an integer it'll show a list with pages. I thought I had that sort of functionality in, but maybe I'm mis-remembering.
     
  11. egg82 updated TrollCommands++ : Troll Your Frenemies! with a new update entry:

    Bugs! BUGS! MORE BUGS!

    Read the rest of this update entry...
     
  12. Can you remove the alias "/t" please because this is how I message my players
     
  13. I'm curious, does your /troll vegetable command also turn everything the player says into the name of the vegetable? I can't seem to replicate it on my side but everyone I've turned into a potato when they try to talk only can say "potato" when talking. Similar with carrot lol. It's hilarious, but not sure if they're trolling me or not.

    One other thing, when you use the /troll control, how do you stop controlling them? I couldn't figure it out when I tested that command and gave up and logged out and back in.
     
  14. Aliases should be overwritten by commands that use the alias's name as a primary command. Is this not happening for you?

    tcpp/events/player/asyncPlayerChat/VegetableEventCommand.java ;)

    If you want to stop controlling someone you can either re-type the same command (if you try to control the same person you've been controlling, it'll stop controlling them. If you try to control another player, it'll stop controlling the first player and start controlling the second)
    Alternatively, just type /troll control and it'll stop as well.
     
  15. Hmm, I thought I tried /troll control and it didn't work but I'm not sure. Next time I get the chance I will test it again.
     
  16. This may have been my fault, and also the reason /troll empower currently doesn't work in 4.19.39
    I fixed the issue in 4.19.40 which will be coming after I verify and fix some more errors.
     
  17. egg82 updated TrollCommands++ : Troll Your Frenemies! with a new update entry:

    MOAR Bugs to FEEEX!

    Read the rest of this update entry...
     
    • Like Like x 1
  18. this is not happening for me. /t is however an alias of Essentials. maybe add a config to disable /t alias in general? thank you
     
  19. Mm, maybe it's best not to have the alias at all then. I probably should have foreseen that a one-letter alias would be taken already.