atlasmediagroup / icarusmod Goto Github PK
View Code? Open in Web Editor NEWThe Superior Freedom Network custom plugin.
License: Other
The Superior Freedom Network custom plugin.
License: Other
Having the ability to turn the WorldEdit plugin on and off would be useful for admins in game so that they can easier manage the workload of a lot of players if there is an admin shortage.
This would simply prevent the ability for players to creative / God mode PVP other players. This also should issue a warning to the player so that admins are notified when they join again.
As requested, we shall switch to JDBLib at some point.
As of de8e0ba I have been playing with the idea of using TFM command handling to manage the permissions side of our command setup. This could link in with #30 dependent on how we decide to take it forward, however utilizing TFM's command setup may prove handy in the future.
This has not been tested, it may not actually work, but either way the idea is there to help deal with some of the current limitations that we have within the plugin setup.
To avoid using TFM where possible, Im thinking we migrate the TFM admin setup directly to here, and just modify TFM to use this plugins system, that way we can use MySQL and do this properly.
As with DCMod I'd like admins to be able to see a players previous name(s) based on either their username at the time, or their UUID. This should also happen UUID based on login and display in gray to the admins.
I would like to handle the global banning of players, potentially through Icarus, but possibly through a separate bungee plugin, im not too sure yet.
Not sure if its possible without direct modification of TFM, but the ability to have some sort of "Management" Rank would be handy... More of a display rank, but still handy.
I would like extensive documentation regarding all the functionality of this plugin, including both Javadocs and full written documents to explain features and functionality, to make it easier for others to work with in the future, if they should so decide.
This could be useful for admins, or enhance other players' experiences.
If they wanted to disable pvp, they could use /prefs pvp. This would prevent others from pvping them, and prevent them from pvping as well. We could do a /prefs nobreak, to prevent them from breaking blocks. (useful if trying to hit a player with bare hand/etc)
Do you like his idea? Changes to this?
There's quite a few things that could be done to cleanup the main plugin file.
For example, https://github.com/Superior-Development/IcarusMod/blob/master/src/com/superiornetworks/icarus/IcarusMod.java#L47 doesn't need to be there at all since line 46 does the same thing.
And https://github.com/Superior-Development/IcarusMod/blob/master/src/com/superiornetworks/icarus/IcarusMod.java#L53 could be simplified with the register system in BukkitLib. You just need to do register(listener) and it'll do it for you. In the way you've done it currently, you could just do register(new PlayerListener(plugin)) and that'll be it.
Also, while nitpicky, everything in the config file should be lowercase (for variable names), so instead of Hostname it should be hostname.
Not that important, but it's good to have clean code.
Admin system needs imposters adding, shouldn't be too hard to make, a quick check in the login listener should suffice.
To give us more control over how we work nicknames into the server, I would like to migrate this from Essentials and have it handled internally, stored within the player data.
Another slightly fun command. Based from CJFreedom, simply gives one a potato.
Unlike CJFreedomMod perhaps have this so you can execute it as a player and just get it yourself, or if an admin runs it then everyone gets one.
We need an evil cage command to have fun with players
Something myself and @WickedGamingUK were discussing earlier was having some sort of evil tormenting system for those players that deserve to be banned, but deserve to suffer extensively before doing so.
Currently I am looking at some ideas that we can implement it with, and how to make it as evil as possible. We can then work on the logistics later :)
I would like to possibly even replace the entire of the way TFM currently manages its role back system for both block breaking and possible even WorldEdit and replace it with a core protect system. This would make it a lot easier to trace damage and such.
This may sound like a bad idea, but we have been having issues preventing us from moving forward. It would not be hard to make a isManager boolean in the TFM. That way, we can do permissions. Then, it we only use BukkitLib for it's Utils, not the commands.
Did you test to make sure that the listeners register? @Wild1145
(I am asking because they did not work when I tried to implement the devmode. Other things were not registering either, and so that is why I posted)
When a player logs in, it should check if their username has been banned through the Fishbans API.
This should also be a toggle for admins in game so they can opt to see it or not, though should log no matter what.
Like with DCMod and DCAuto Location it would be good to add IP tracing built into the plugin. This would remove the need for Essentials GeoIP and could possibly be handy for admins online.
Something a bit like the DarthCraftMod System, this would log to MySQL and allow callback for admins in game to review both the current amount of warnings and any logged reasons why the player has been warned.
When a famous player (as defined by the TFM main config) joins the game, a warning should be displayed to all online players to notify them that this is a fake player joining.
Something I saw on the TF forums, and I think would work quite well, especially when the server is really busy, is a "cooldown" system, where you can only talk / execute commands every X seconds (Between 1 and 4 maybe?) defined by the admin. You can also decide to toggle just chat cooldown, just commands cooldown or both, and then for the amount of time.
Its something that would make the server a lot less spammy, and potentially also reduce lag when you have 35 players trying to spam commands.
Basically, I get this error every time I try to load the plugin. I have compiled the plugin with craftbukkit1.8 and BukkitLib1.3.
[17:32:01] [Server thread/INFO]: [IcarusMod] Enabling IcarusMod v0.0.0
[17:32:01] [Server thread/ERROR]: Error occurred while enabling IcarusMod v0.0.0 (Is it up to date?)
java.lang.NullPointerException
at com.superiornetworks.icarus.IcarusMod.onEnable(IcarusMod.java:40) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[craftbukkit.jar:git-Bukkit-"24557bc"]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:325) [craftbukkit.jar:git-Bukkit-"24557bc"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit.jar:git-Bukkit-"24557bc"]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:338) [craftbukkit.jar:git-Bukkit-"24557bc"]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:311) [craftbukkit.jar:git-Bukkit-"24557bc"]
at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:392) [craftbukkit.jar:git-Bukkit-"24557bc"]
at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:360) [craftbukkit.jar:git-Bukkit-"24557bc"]
at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:315) [craftbukkit.jar:git-Bukkit-"24557bc"]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:190) [craftbukkit.jar:git-Bukkit-"24557bc"]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:475) [craftbukkit.jar:git-Bukkit-"24557bc"]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
To give admins that bit more freedom, setting custom login messages would be a huge perk for our admins. Shouldn't be too hard to implement but would definitely be cool for admins.
Just like the system that DarthCraftMod supports, a busy system that will stop you being disturbed when trying to work would be handy.
Something we had in CJFreedomMod was the ability for senior staff to enable and disable access to the admin world. Having this implemented here for developers, managers and the other higher custom ranks would be quite useful I think.
Upon any admins joining the game, the command spy feature should be enabled by default. Shouldn't be too hard for anyone to implement, just something that should be added.
It would be great to have some sort of incentives to vote, I am not sure exactly what, but maybe have players able to earn credits or something like that to "spend" in an online store or similar to get free perks like access to their own world, a color tab name and similar.
This is something more long term as it will probably depend on some sort of panel, and may not even be viable for what we are trying to do here.
For some reason I have yet to write a readme, this needs to be done...
I would like to migrate as many TFM Commands as possible into this plugin. This is to eventually remove our dependency on the TFM plugin for good.
Should we decide to have some sort of Nyan plugin like CJFreedom this will come in handy quite a lot! This is a low priority until we finalize the plugins we will be running on the network.
Something that is a cross between the old CJFreedomMod System and the newer DarthCraftMod system where when a player is reported for any reason, it logs to MySQL the reason, reported players IGN, Reportee's IGN and the position of the player at this time. Then create a "Ticket" number so that admins can close the issue later in game or easily find it on the panel.
This would also then give the players in question the ability to review the report against them from an online panel in the future.
More of a discussion one here, but perhaps find a way to have some sort of friend / buddy system. This way you can add a players name and IP to your "Friends" list, and when they login you are notified that they have logged in and are on the same IP as when you friended them.
I would like to migrate the adminmode, but have it probably something more controlled by a panel, so we can bring servers online and offline from a central panel far easier than going into each server and running a command.
One of the big things that I feel command spy could use is command "highlighting" where certain key words on command spy are bold / another colour so that admins can easily see who is potentially using harmful commands.
This will require migrating the command spy system in from TFM and being handled within this plugin. Any feedback would be appreciated.
Like in Camzies new madness plugin, the &- creates a random chat color. I love it and want it supported here! Maybe just in nicks to start with though if possible ;)
Like normal admin chat, but for seniors. Its as simple as that really.
The action announcer system that we use in DC is a far less interrupting way of sending announcements and actually looks a lot nicer than chat messages. Possibly even able to link it all in to one announcement system that also utilizes BarAPI.
The full screen alert setup that we use on DarthCraft to welcome players back. This will probably end up having to be done by a separate plugin due to the lack of an API so far, however there may be some way through an API to do it in the future either through TFM or BukkitLib.
To keep the plugin dependency low, I want to switch our MySQL and Reflections (See Cleanup Branch) over to the ServerUtils plugin that is maintained within this organization. It just means we can start cutting down the amount of stuff we have to build directly in to the plugin.
Due to the main TFM's reluctance to make the messages less gender specific, I want it re-created in here because I dont agree with being gender specific.
Just like we have a custom MOTD, it would be great to make something cool happen when you hover over the ping, Spigot already shows players, and vanilla shows the ping time, but this would be quite cool and useful!
Thinking it would be cool to have the server send tweets when players are promoted and possibly for some other things. Again this isnt a major rush thing, but something for the long term to think about.
Just like the CJFreedomMod one, a Camzie Creation of utter madness and destruction! Probably one for Camzie to create again, but a fun one.
To allow us to expand with our own custom ranks, migrating all of the current login messages to a module here would make life a lot easier in the longer term.
More of a fun command, but having the /pie command re-added, possibly with a /pi command as a more mathematical joke of a command?
This isn't something that is particularly urgent but would be nice to have added.
Unlike CJFreedomMod perhaps have this so you can execute it as a player and just get it yourself, or if an admin runs it then everyone gets one.
A bit like admin mode but with three options
If its in the second or third mode, when there are no developers online it would automatically switch to the first mode after 5 (maybe 10) mins.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.