Quidditch plugin
Quidditch
This plugin was made after a request, found here. It basically adds Quidditch to minecraft.
Rewrite
Starting with the holidays I though of some things to do. Quidditch came to my mind. I hadn't updated it in a while and it wasn't quite working. So I looked at the code and after a brief moment of disgust decided to rewrite it. And after reading the "Quidditch Through the Ages" Book from J.K. Rowling I decide to change some things. Some for the better and maybe some for the worse. The code quality of the plugin is still not that high and I will probably look at it with the same feeling of shame next year :). But I think it is certainly more playable now. One problem is however, that testing such a game is quite hard with just one person and one alt. So there may be many bugs I have missed and maybe even more that occur solely with more players. So please report every bug you find and I will hope I will be able to fix it soon!
As of the rewrite it is NO LONGER COMPATIBLE WITH 1.7. This is mainly because I used armorstands.
Function
Brooms
As of now you have no means to fly, so you would need to allow your users to fly or install some kind of broom plugin. I wasn't quite sure if I should try to implement some. I tried to create one about half a year ago, using 4 armorstand, 2 holding sticks and the other holding saplings. It woked quite fine in the end, though it kept bugging behind the player if the speed was too high... . I wasn't able to find a fix to this and there may be none. It would be quite easy to implement even different kinds of brooms using resource packs, which would even be able to fly smoothly at any speed. Problem with that is, that I am absolutly trash when it comes to art tasks like modeling... . So, you could express your ideas in the comment section if you want to.
There are 4 teams, 4 positions and 3 ball types. The teams are - of course - Gryffindor, Slytherin, Hufflepuff and Ravenclaw.
The positions are:
- Seeker
- This person tries to catch the Snitch. If he/she gets it, the game is over.
- Beater
- These 2 persons can hit the bludger, causing them to search another target.
- Chaser
- These 3 people try to get the Quaffle in/to the enemies goal.
- Keeper
- Can pick the quaffle up after a goal was scored, without having to wait.
The balls are:
- Snitch
- This little Flying gold - goldnugget armorstand thing, which sadly bugs a bit due to it being in minecraft, must be caught. If it's caught, the game is over and the team gets 150 points.
- Bludger
- These two? slimes search for targets, fly to them and stack on top. You will get Nausea and will be unable to see in first person or carry the Quaffle.
- Quaffle
- This red wool block can be picked up by Chasers. If you picked it up you an throw it by leftclicking. Having a Bludger on top will remove the Quaffle. The goal with fire particles is the one you need to score in.
Commands
The main command is: /quidditch The other ones are:
Command | Explanation |
---|---|
/quidditch help | This command displays the help. |
/quidditch create | This creates a new arena. It is designed to guide you through the creation process. I have developed the plug-in, I understand the guide. If you don't please let me know. The messages sent are also configurable in the language.yml |
/quidditch list | This lists all loaded arenas. |
/quidditch sign <create / delete / lookup / list> [arena] [x] [y] [z] [world] | This lets you A: create a sign for a specific arena, or B: delete the sign you are looking at, or C: lookup if the sign you are looking at is a ArenaSign, or D: Display the number of signs in an arena. The last 4 arguments are only needed if you execute the command from the console. |
/quidditch delete <arena> | This deletes the arena permanently. |
/quidditch join <arena> [PlayingClass] [School] | This lets you join an arena. The last 2 arguments are only needed if you have "JOIN_ARENA_USE_GUI" set to false in the config.yml |
/quidditch leave | This lets you leave the arena you are currently in. |
/quidditch info <arena> | This displays information about the arena. Looks nice on console, terrible ingame. Can't easily be formatted nice, since the resource packs handle the character width differently and TAB is not valid |
/quidditch stop <arena> | This stops the queue/game currently running in the arena. |
/quidditch reload | This reloads the language and config files. |
Permissions
Command | Permission |
---|---|
help | quidditch.CommandHelp |
create | quidditch.CommandCreate |
delete | quidditch.CommandDelete |
info | quidditch.CommandInfo |
join | quidditch.CommandJoin |
leave | quidditch.CommandLeave |
List | quidditch.CommandListArena |
Reload | quidditch.CommandReload |
Sign | quidditch.CommandSign |
Sign List | quidditch.CommandSign.list |
Sign Create | quidditch.CommandSign.create |
Sign Delete | quidditch.CommandSign.delete |
Sign Lookup | quidditch.CommandSign.lookup |
Stop | quidditch.CommandStop |
Config
The config has various settings, all should be clear with the help of the comments.
Language
All messages that get send within this plugin are saved in one File. You can adjust everything there. The team names, the end message,... . Placholders, named and explained above the message, get automagically replaced with the right values. Please note: If a message couldn't be found, it will be replaced with "&c&lKey&6 <key name> &c&lNot found!"
Updater
This plugin doesn't use an updater anymore. I will maybe implement one in the future.
Dependencies
None.
Please comment ideas and bugs
i need help :C
Does this work in 11.2? As a OP it works for me but my players under there permissions get this when clicking the sign to join "im sorry but you do not have permissions to perform this command. please contact the server administrator" any help would be great they are excited for this plugin.
Thanks
@SergeantBud
are you sure?
Works great 1.10.2
Hi, I have a question. How to start a game? Thanks
@Elsopeen @Iron_Druid_Gaia
Hey, yes, the plugin wasn't working that well :). I have rewritten it now. There are probably some new bugs, but I would appreciate the finding of these ;)
Greetings
Hello,
I have a bug with the plugin : the arena is defined correctly, with all goals and spawnpoints, but when I try to start a game, every players in the selected teams are stuck on the ground, at their spawnpoint, using your plugin's broom or other ones. I don't really know where that can come from, because the plugin do not send any error. So if you could help me on this, it would be great.
Best regards,
Elsopéen
I think that this is a great plug in but it is not working so well. I have tried to setup a game but I cannot get the goals to register for the team. I would like to offer my help to get this working and if you can share the source code I can help. I am on Github.
K I'm having a slight problem with it.
While the matches themselves work fine (I'm running a harry potter server) I cant load the arenas. I do /quidditch save and the save files are saved, i checked the FTP. However when i reload the server they are not in. I do /quidditch load <MyArena> or /quidditch loadSaves <MyArena> they have the same reaction. I get a internal error, "A Internal error occurred while attempting to perform this command"
Anyways i tried changing the config to auto load but it does not load the arenas. Here is the console error.
24.10 13:42:37 [Server] INFO ... 15 more 24.10 13:42:37 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at com.gmail.ialistannen.quidditch.MainCommand.onCommand(MainCommand.java:81) [?:?] 24.10 13:42:37 [Server] INFO at com.gmail.ialistannen.quidditch.Arena.ArenaManager.readSave(ArenaManager.java:87) [?:?] 24.10 13:42:37 [Server] INFO at com.gmail.ialistannen.quidditch.Arena.SaveRead.read(SaveRead.java:67) [?:?] 24.10 13:42:37 [Server] INFO at com.gmail.ialistannen.quidditch.Arena.SaveRead.addGoals(SaveRead.java:99) [?:?] 24.10 13:42:37 [Server] INFO Caused by: java.lang.NullPointerException 24.10 13:42:37 [Server] INFO at java.lang.Thread.run(Unknown Source) [?:1.8.0_60] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:556) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:653) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:714) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_60] 24.10 13:42:37 [Server] INFO at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_60] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [spigot.jar:git-Spigot-d97e08b-880a532] 24.10 13:42:37 [Server] INFO org.bukkit.command.CommandException: Unhandled exception executing command 'quidditch' in plugin Quidditch v1.0 24.10 13:42:37 [Server] ERROR null 24.10 13:42:37 [Server] INFO IzzyK issued server command: /quidditch load quidditch
When I try to play a game with my friends, we can't move. Is there something I am doing wrong? I think I am not doing the world edit part right. Could you give a run down of setting up the arena? Thanks :D
hello i was wondering is there anyway that you can set up signs for players to join and then make it so the game starts automatically because i am not able to host it for everyone all the time and i want everyone to be able to play it 25/7, if this feature is not available you should add it.
Our players all get glitched at the center of the map and no-one can move. Some players die and some don't.
@MARTROXA
Hey,
you can set the center with "/quidditch <arena> setPosition center". You can see valid choices by just typing "/quidditch <arena> setPosition" and using TAB to autofill. You should be able to do this with all commands.
"/quidditch <arena> setGoal <team> <number> <radius>" Is the command found in the list above. Team is 1 or 2 because there can be only 2 teams playing. The "number" is the goal number. The maximum amount can be set in the config. The radius is the radius around that position the player can click and it will still count as a goal. Lets say you want a goal to big as big as 5. Then you could add every block as a goal, or look at the center and define a goal with the radius 5.
You have to look at the goal block when executing the command (set in config. Default: WEB).
Active teams. I have renamed them to "Playing teams", however your language file might be older ;) The explanation: There are 4 teams, the 4 houses of hogwarts. But you only need two teams in a game. So you set every goal, etc. up with a team number, e.g. 1 or 2. When you start a game, you start it with two teams as parameters. Let's say that are Gryffindor and Slytherin. Then team 1 will become Gryffindor and team 2 will become Slytherin, so the active teams will be Gryffindor and Slytherin. In conclusion this will just be displayed when a game is started, to see which teams are playing.
maked the arena that is done but how i set the ArenaLocationCenter and Goal? and Active Teams?
please help me
@quietlikeafox
Hey, I had another look and it seems, the method checking the goals in the "/quidditch info" isn't accurate... I will fix it. So it seems you didn't set all goals. If you did, could you tell me how to reproduce the error? I can't seem to be able to reproduce it.
@quietlikeafox
I didn't even know there was a curse page until now ;) I'm sorry. It would be better to post here I think. It would make it easier for me. For the first question, active teams. There are 4 teams, the 4 houses of hogwarts. In an arena only two can play. But you only need two teams in a game. So you set every goal, etc. up with a team number, e.g. 1 or 2. When you start a game, you start it with two teams as parameters. Let's say that are Gryffindor and Slytherin. Then team 1 will become Gryffindor and team 2 will become Slytherin, so the active teams will be Gryffindor and Slytherin. In conclusion this will just be displayed when a game is started, to see which teams are playing. I will probably change it to "Playing teams" as this is way more clear, thanks for that. I don't know, why the second error happens, i will look into it. It can take some time though, I will be busy tomorrow, but I will try it as soon as possible :)
I made a comment/question on your curse page. Should I post here if I have problems?
@IAlIstannen
I run a Harry Potter server, and my staff are VERY optimistic about testing out quidditch. If you need help testing message me on bukkit. (I prefer a message on the bukkit forum, for I am active there, and rarely on here)
Hi there! I'm super excited to use this plugin on my server but I'm running into a few issues with it. My friend and I set up the arena... but we aren't sure what Active Teams are...
I get that the teams are the Hogwarts Houses and I'm going to assume that they are the 0-3 positions that you have to set for the goal posts. But I don't get what Active Teams are...
And when we join the teams and try to start the game it tells me that I didn't set up any of the goal posts. Which as you can see in the picture above I did :S How can I fix this? Is there any more information you need to help me fix this?
The goal posts were set to radius 1 if that helps
@Sean_Amor
As far as i can tell, the error was fixed. I test it with 2 players all the time, me and my alt xD But i removed that functionality in the release, you will get a message that some positions are not set. It can come to some bugs with leaving when you are just 2 players, however it should stop the game if there is only one player left. Switching positions works though. I can add a config entry or a command to add a mode with fewer players, but it can just be used for testing. You can't really play when not every position is used.