Inactive [FUN/RPG/MISC] Minecraft Mafia v1.2 - A plugin of lies and deception. [1.2.5-R4.0]

Discussion in 'Inactive/Unsupported Plugins' started by theninthworldix, Jun 28, 2012.

  1. Offline

    theninthworldix

    [​IMG]
    Minecraft Mafia is a party game of lies and deception. This plugin is heavily inspired by the SC2 custom game 'Mafia', so if you've ever had the chance to play that, this plugin will come naturally to you. If not, basically the goal of the game is to either lynch all the mafia if you're town, or to kill all the town if you're mafia. Each class has unique abilities and your job is to use those to help your group (Town/Mafia). There are also neutrals included which have their own unique goals and aren't affiliated with anyone.​
    How to play
    Show Spoiler

    To start a game of mafia, an op must do /mafia start. All players who wish to join the game have 15 seconds to type /join. All players are told their individual role and the players are given time to discuss. Then, it's voting time. Depending on whether or not NoVoteOnFirstDay is enabled, players can type /vote [player] to put a player on trial. If the player is put on trial, he is given time to defend himself, then players can type /innocent or /guilty. If he is found guilty, he will be lynched and his role will be revealed. If innocent, the night will start just like if no trial was initiated that day. At night, each player can use their respective abilities by typing their role as a command. Once night is over, everyone is teleported to a normal house. If someone was role blocked, they are sent to a special place. If mafia killed someone, that person is killed (unless the doctor was able to heal them) and their role is revealed. Whoever the sheriff checked's role is also revealed to the sheriff. Then, the cycle repeats until there is either no town left or no mafia left.

    Commands
    Show Spoiler

    /commands : Gives a list of common commands.
    /join : Joins the game of Mafia during the 15 second waiting period.
    /clock : Tells the current day, the section of day you're on, and how many seconds until the next section.
    /role : Tells you your role.
    /players : Shows a list of players currently alive in the game of Mafia.
    /graveyard : Shows a list of dead players and their role.
    /lastwill [message] : Shows the written message when you die.
    /vote [player] : Votes to put this player on trial.
    /cancelvote : Cancels your vote for putting the player on trial.
    /innocent : Votes the player on trial innocent.
    /guilty : Votes the player on trial guilty.
    /[sheriff|doctor|escort|citizen|gf|mafioso|jester] : Shows the list of subcommand actions you can perform at night if you are this role.
    /mafia (open)

    /mafia start: Starts a game of mafia.
    /mafia stop: Stops the game of mafia.
    /mafia setminplayers [min]: Sets the minimum amount of players.
    /mafia setmaxplayers [max]: Sets the maximum amount of players.
    /mafia settrial [id]: Sets the trial location of the id to the player's position.
    /mafia sethouse [id]: Sets the house location of the id to the player's position.
    /mafia setpodium: Sets the location of the podium to the player's position.
    /mafia setsheriff: Sets the location of the sheriff's office to the player's position.
    /mafia setdoctor: Sets the location of the doctor's office to the player's position.
    /mafia setmafia: Sets the location of the mafia bunker to the player's position.
    /mafia setrb: Sets the location of the place player's are sent when roleblocked to the player's position.
    /mafia trialradius [radius]: Sets the radius of the trial to the given amount.
    /mafia lynchradius [radius]: Sets the radius of the podium's lynching area to the given amount.
    /mafia reward (open)

    /mafia reward itemflag [true/false]: Sets whether or not items are given as a reward.
    /mafia reward additem: Add's the item in the player's hand to the item rewards list.
    /mafia reward clearitems: Clears the list of items given as rewards.
    /mafia reward xpflag [true/false]: Sets whether or not xp is given as a reward.
    /mafia reward xpamount [amount]: Sets how much xp is given.



    Permissions
    Show Spoiler

    Mafia.*
    Mafia.sheriff
    Mafia.doctor
    Mafia.escort
    Mafia.citizen
    Mafia.vigilante
    Mafia.mafioso
    Mafia.gf
    Mafia.jester
    Mafia.arsonist
    Mafia.clock
    Mafia.vote
    Mafia.cancelvote
    Mafia.role
    Mafia.commands
    Mafia.join
    Mafia.innocent
    Mafia.guilty
    Mafia.players
    Mafia.graveyard
    Mafia.mafia
    Mafia.mafia.start
    Mafia.mafia.stop
    Mafia.mafia.setminplayers
    Mafia.mafia.setmaxplayers
    Mafia.mafia.settrial
    Mafia.mafia.sethouse
    Mafia.mafia.setpodium
    Mafia.mafia.setsheriff
    Mafia.mafia.setdoctor
    Mafia.mafia.setmafia
    Mafia.mafia.setrb
    Mafia.mafia.trialradius
    Mafia.mafia.lynchradius

    Roles
    • Town
      • Sheriff: The sheriff has the ability to check a person's role at night.
        • /sheriff check [player] : Checks this player's role at night.
      • Doctor: The doctor has the ability to heal someone at night.
        • /doctor heal [player] : Heals this player at night, preventing them from being killed.
      • Escort: The escort has the ability to roleblock someone at night.
        • /escort rb [player] : Roleblocks this player at night, disallowing them to use their ability, and sending them to a special building.
      • Citizen: The citizen is a generic town role who wins if town wins.
        • /citizen vest : COMING SOON!
      • Vigilante: The vigilante can shoot people at night.
        • /vigilante kill [player] : Shoots the selected player at night.
    • Mafia
      • Godfather: The godfather is the lead mafia who can override who to kill at night.
        • /gf kill [player] : Selects this player to be hit by the mafia.
        • /gf team : Displays a list of all the mafia.
      • Mafioso: The mafioso has the ability to kill someone at night for mafia.
        • /mafioso kill [player] : Suggests the mafia kill this player at night.
        • /mafioso team : Displays a list of all the mafia.
    • Neutral
      • Jester: The jester wins the game if he is lynched at trial.
        • No commands for jester!
      • Arsonist: The arsonist can douse people in gasoline at night or chose to light all doused players on fire!
        • /arsonist douse [player] : Douses the player with gasoline.
        • /arsonist ignite : Ignites all doused players.
    Downloads
    Installation Instructions
    1. Download the plugin and put it in your plugins folder like usual.
    2. Then, download the map below and start a game on it.
    3. If you don't like the map, you can make your own by following the instructions given below.
    (Optional) Map download
    This map is optional, but suggested for those who haven't made their own.
    How to make your own map
    Show Spoiler

    With the version 1.1 update, creating your own map became much easier!​
    1. Make your town where all the trials and lynchings will happen.
    2. Set the locations where the player's will spawn into the trial by using /mafia settrial [id].
    3. Set the location of where the podium is using /mafia setpodium.
    4. Create enough buildings to individually house the maximum number of players (adjustable using /mafia setmaxplayers [max]). Space the houses at least 64 blocks apart so that player's cant see eachothers name tags.
    5. Set the location of each house using /mafia sethouse [id].
    6. Now you need to create the buildings for the sheriff, doctor, and mafia. Again, space each at least 64 blocks apart.
    7. Set the location of each building using /mafia setsheriff, /mafia setdoctor, /mafia setmafia respectively.
    8. Now create the place where roleblocked people will be sent at night.
    9. Set the location of the building using /mafia setrb.
    10. And your map is done!
    11. (Optional) Set the rewards the winners get using /mafia reward.

    Changelog
    Version 1.2 - 7/8/12
    • Citizen can use vests at night.
    • Custom names during play!
    • When a player is killed, a unique message is shown as to how he was murdered.
    • Added 2 new roles: Vigilante and Arsonist
    • Fixed: Night kill/healing/roleblocking order has been corrected.
    • Overhaul of the player-role system.
    Version 1.1 - 7/1/12
    • Added the command /mafia.
    • Easier way for owners to make their own maps.
    • Added permission nodes.
    • Added a customizable rewards system. See: /mafia reward
    Version 1.01 - 6/29/12​
    • Added 2 new commands /players and /graveyard
    • Fixed: Players able to /innocent or /guilty while dead.
    • Fixed: Escort roleblock not stopping the mafia killer from killing.
    Version 1.0 - 6/28/12​
    • First release
     
  2. Offline

    md_5

    Approved.
     
    theninthworldix likes this.
  3. Offline

    xXChaosWorldXx

    Nice Work, Amazing Idea! :D
     
  4. Offline

    xDarkZeratulX

    Nice Work! Add Witch :3 And Ermmmm Unlimited Alert Vet :3
    And You Totally Copied The SC2 Mafia Load Screen
    Find Me On Mafia NA Server :3 5k Points
    Add Point System Too
     
  5. Offline

    theninthworldix

    Witch is definitely coming, and possibly Vet too (although I'm not very fond of the class).
    And are you talking about the "A game of lies and deception" being copied from the SC2 Mafia loading screen? Because it totally was. :p
     
  6. Offline

    Caillean

    Good Job! Finally the Plugin for Minecraft :D It is possible to generate a town changeable for the amount of players? Oh, before i forget, pls add the Arsonist :)
    Keep up Good Work! :D
     
  7. Offline

    theninthworldix

    Yes, arsonist is coming. And the town can handle from 1-12 players, what max amount were you thinking should be added?
     
  8. Offline

    Caillean

    Idk, but i think 18-21 should be the max. amount of players I think :) I will got many suggestions ATM, but take it slow :D So, how about commands to set a point for the buildings? So it's easier to create an own town. But what if someone can see who is in which building? Or is it impossible to see the names?
     
  9. Offline

    theninthworldix

    I'll start adding commands to make creating your own town easier, the config file method was only a placeholder until I got more time to add official commands. Also, I wasn't able to make a way to hide player's name tags during the night, so I just spaced the house's more than 64blocks apart (distance for player's to see each others name tags).
     
  10. Offline

    xDarkZeratulX

    Are There Any Permission Nodes? Or Are Already Given Default
    Can You Add Prize System Please?
     
  11. Offline

    theninthworldix

    Just updated it to version 1.1.
    This version adds permission nodes, a customizable prize system, and commands to easily make your own map based on Caillean's suggestion.
     
  12. Offline

    Caillean

    *Is it like in SC II Mafia, that all players are in a circle to talk? Or are all just in their houses? Oh, and before i forget it, if you build the houses for everyone 64 blocks distance, doesnt it make the map very big?
     
  13. Offline

    kahlilnc

    Oh yes I loved SC2 Mafia :3

    EDIT: is there a test server? I would love to play on it?
     
  14. Offline

    theninthworldix

    Caillean Yes, it's very much like SC2 mafia where everyone is in a circle during the day, and then they get teleported to houses at night. The map does get a little bigger because of the distance, but it's tolerable.

    kahlilnc I do have a server that I test it on with friends, but its very difficult to set up a game needing a large amount of people.
     
  15. Offline

    Caillean

    theninthworldix I think it would be easier if all would got the same looking home, but get automatically into their fitting teamchat if they got the role for it.
     
  16. Offline

    CARML55

    Great Plugin man! You should do a good vs. evil type plugin that like people can join good or evil and like set spawn for good and evil and stuff.
     
  17. Offline

    theninthworldix

    Hey guys! Right now, the role selection system is a bit lacking. As many of you know, SC2 Mafia has the convenient ability for the host of the game to manually choose the properties of each role and the list of roles players will be assigned when the game starts. Well, I need your suggestions as to the most user-friendly way to implement this feature without it feeling to overwhelming or bulky. Thanks!
     
  18. Offline

    Caillean

    I think it would be better if you would add only user friendly or middle hard roles, so they are easy to learn. I play SC2 Mafia, but in SC2 Mafia are so many roles, so I can't test all roles which are added in the game.
     
  19. Offline

    rolka122

    Could you add translates option to your plugin? I would be able to translate it to Polish. Add also command translating because for non-english people they would be useless.
     
  20. Offline

    theninthworldix

    I'm not too familiar with how to make bukkit do translation.
     
  21. Offline

    yuutt66

    Maybe an option to change how quickly the day goes such as 45 second days, etc. by and a /skipday command like in the original! And also maybe BukkitDev? I haven't had the time to thoroughly test this plugin, but maybe upon the game starting, everyone could be teleported to the "Meeting Area"! It looks good and I am a huge fan of SC2 Mafia! Keep up the good work!
     
  22. Offline

    theninthworldix

    In the config file there is a list to set how long each section is (discussion,voting,night,etc..) The /skipday command is a good idea. Also, what are the benefits of adding this to bukkitdev? I've never understood the difference between the forums and bukkitdev.
     
  23. Offline

    yuutt66

    I just find BukkitDev easier to read! Its my personal opinion though!
     
  24. Offline

    1panda80

    hi 1m 1panda80 and i have a couple of questions about this plugin:(i have played the SC2 version, and i think you did a great job on this)
    1: are players suposed to be able to move during the day and stuff?
    2: with the default map already given will the game work with it automaticly?
    3: im having some difficulties with making my own map(i have already made it but im confused on how to set the points and stuff!

    if you could get back to me on this it would be much apreciated!
    my skype is: 1panda80 (if it would be easier to communicate)

    also- i want to start an official mafia server with your consent and i could also use staff

    basic server idea- regular server with mafia and rewards!

    once again great job on this plugin! i really loved seeing this!!!!!

    ps: i would love to make a plugin showcase of this for my group channel that im in!
     
  25. Offline

    theninthworldix

    1. During the day, players are allowed to move around the trial area freely, as long as they don't go outside the set radius (see config file).
    2. The game's config has all the points for the default map set, so yes, it will work automatically with the default map.
    3. To set points, just use the /mafia command tree.
    For example:
    If you want to set a point for house #1, just do /mafia sethouse 1
    Then, for the next house, just do /mafia sethouse 2
    And so on and so forth for as many house as there are max players (for max players, see config file).

    Not sure if that was a detailed enough explanation because I'm not really good at teaching.

    "also-" Since this is a bukkit plugin, you're most definitely allowed to use it on your server, however, I'm not sure how you would go about making it "official."

    I think it would be awesome if you made a showcase for this plugin!
     
  26. Offline

    Caillean

    I would, but there are some reasons why I can't:
    1. I'm from Germany and 14, my english isn't bad, but the pronunciation of many sentences is bad.
    2. I would need some people to play, because my "friends" don't know how Mafia works and I can't explain it.
    3. I don't know if my PC would keep up a server with maybe 8 people.

    I think that were all reasons why I can't do it :D
     
  27. Offline

    Sylez

    Im gettin this problem when i try type /mafia star or /start

    [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'mafia' in plugin Mafia v1.2
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764)
    at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 12
    at me.ninthworld.mafia.Main.onCommand(Main.java:402)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 12 more

    Can anyone help me with this please??
     
  28. Offline

    theninthworldix

    Fixed. :p
    That was a programming error that id never gotten before for some reason so I never knew about it.
     
  29. Offline

    Archespore

    Are you eventually going to add all the roles from SC2 to here? I.e. Serial Killers, Framers, etc.

    I would suggest that when Players join, the first one that joins is made the host, the host gets teleported to the host room while the regular players sit in a lobby. (Then make it so the host has 2 minutes to pick how he wants the game set up.) From there, you should make it so when in the host lobby there are signs displaying all of the roles, the host then punches the sign of the role he wishes to add to the game I.e. if he wanted to add a sheriff he would hit the sheriff sign. He would continue doing this until he has picked an equal number of roles as there is an equal number of players in the game (The host and the other players in the lobby making a max of 12 classes picked) also, the host could then hit the sign again which adds another of the same role to the game (Say the host wants two citiens, hit the citizen sign twice) Also, the host could pick random town or random mafia as a choice where random town gives a random town role and random mafia gives a random mafia role. Once the host is done with picking classes, (6-12 depending on players) He can then move on to time, there you would have five signs, day, night, voting, trial, and last words, theses signs would each have a number under the time of day with the regular times set in the config, so if the regular day time is 30 seconds, then the sign would say DAY on the first line and 30 on the second. The host can then left click the sign to increase the time by 5 seconds, to a max of 60 seconds for the day and night, and a maximum of 30 seconds for the testimony/trial andelat voting and a max of 15 seconds for the last words. If the host wishes to decrease the time, he can right click the sign decreasing the time by 5 to a minimum of 30 seconds per day and night and a minimum of 15 seconds for the trial/testimony and voting and lastly a minimum of 5 seconds for last words. As the player punches the sign the number changes on the sign so the host can see the times he picked. Then, lastly there should be both 3 blank boards and a board that says done, the three blank boards will be set by a command, like /mafia board host 1
    /mafia board host 2, etc. these blank board will show the classes selected i.e if the host select jester on of the lines on the blank board will say, jester. That way the host can know what classes he picked, he can see the times he chose, and of he likes it, he can hit the ready board and there are 10 seconds before start and it notifies the players the host is done picking. Then, in the lobby area the players also have three blank boards set with a similar command: /mafia board lobby 1, and do forth, that way the players can see but not edit what the host has chosen. Also, the host can right click a board to remove a role. (Probably should've mentioned this earlier but I just remembered it) The players also have a time board where it says DAY just like the host board and a number under it displaying the chosen time, but punching it does nothing for the players, it doesn't change. If the host needs to be repicked, or the players don't like the hosts selection they can do /repick for a new host. If the host has signaled ready and ppl want a repick (majority) then the countdown stops and a new random host is chosen. if ppl don't want a random pick but instead want a fixed person, they can do: /repick (playername) that host then has 2 minutes to decide. in the case that a host does meet the requirements I.e. didn't pick enough classes, and has not been replaced, the game starts on default settings. and that's basically it. As for the role's abilities idk how that would work, probably best by commands not signs, so you can decide that.

    OTHER SUGGESTIONS:
    There also needs to be a penalty where if you leave the game when you are still alive, or if the game is going, or if you kill yourself in the game, you win nothing if Your team wins and you are penalized from joining a game for X minutes that way ppl cannot leave if they get a role they do not like, (the X minutes will make sense later) People can however leave the game if they die without being penalized and they can leave once the game ends. Maybe make is so losing team get a customizable prize too. I.e. constellation prize type

    You need to make is so there can be multiple arenas, so people can play even if the other is full, this is also where the penalty comes in, this prevents ppl from leaving and joining another arena until they get a role they like.

    OH and one last thing, to prevent thrown games i.e. all but one mafia, you should be able in the config file to set a max # of mafia, a max # of town, and max # of neutral also there should be an opposite, a minimum # of each.

    So something like:
    MaxMafia: 8
    MaxTown: 8
    MaxNeutral: 2
    MinMafia: 3
    MinTown: 3
    MinNeutral: 0

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

    theninthworldix

    Archespore I love your idea! Just a few things i'd like to comment on:
    1. Making multiple mafia games run at the same time would be tricky and require a huge overhaul of the plugin, but it could be a possibility.
    2. I never thought about the penalizing system as the only time I actually play this plugin is with friends who don't purposefully gamethrow. I'll being implementing something. :p
    3. I believe the host of the game should be the person who originally did /mafia start.
    4. Your game setup idea is genius, and I think the best way to implement it is to have a single room, split in two by a fence, with the players on one side, and the host on the other side with the signs. The players can then see the way the game is setup and see if they want to repick the host.

    The main difficulty I can foresee that will arise from the sign-based setup method is allowing server owners to customize the entire Mafia map to their liking. This means each sign placed on the selection wall needs to have a /mafia command in place to declare it as that specific sign. This just means more time owners have to spend setting up their map, no matter if they only have to do it once.
     

Share This Page