[Minigame] Witch Hunt (murder mystery variant) 1.0.0

One Witch. One Detective. Many Civilians... You can see where this is going...

  1. 12boulla
    Tested Minecraft Versions:
    • 1.11
    • 1.12
    Contributors:
    KarmaPolice
    Note: This plugin is only compatible with 1.11 +

    Witch Hunt
    one witch, one detective, many civilians... you can tell where this is going...

    What is it?
    Witch hunt is a spin on the popular minigame Murder Mystery, which is found on many servers such as hypixel.
    In the game, there are 3 roles -
    Witch, Detective and Civilian

    Witch

    One player is assigned as the witch. Their role is to possess (basically kill) all civilians and the detective. To do this, they have a magic potion (splash potion), which, when thrown at a player, kills them and puts a still zombie in their place. However, if they get splashed by their own potion, they get the glow effect along with a particle trail for a short amount of time, letting other players know they are the witch!

    Detective
    Again, one player is assigned as the detective. Their goal, along with civilians, is to burn the witch. The detective plays the most important role in killing the witch. They are given a detective stick at the start, which shoots a snowball on right click. If this snowball hits a player, they are burnt and a skeleton is spawned in their place. The detective stick will reload after 3 seconds from being shot. But if they shoot a civilian, both them and the civilian will die! (this is subject to change). Upon dying, the detective stick is dropped, and any civilian can collect the stick, and use it instead!

    Civilian
    Everyone else is a civilian. At the start, they are given nothing. Around the map however, fire dust is dropped randomly. Upon collecting 10 fire dust, a civilian is given a fire stick. This stick works in the same way as a detective stick, except it is 1 use only! Civilians will also be killed if they shoot another civilian!


    How to use the plugin? What features?
    The plugin has many features, here they are:

    - Single server and bungee support
    - Message customisatoin
    - Multiple arena setup
    - Automatically saving statistics
    - Simple and easy game setup

    Getting started
    1. The first step is to download the plugin and move it into your plugins folder.

    2. When you start your server, a config file will be automatically generated. This contains settings that you can change, such as join messages, and fire dust spawn rate:
    Code (Text):
    games: 2
    bungee: false
    enclosedchat: true
    Points:
      All:
        pickupdust: 1
        getfirestick: 5
      Civil:
        killwitch: 20
        killcivil: -20
      Witch:
        killcivil: 10
        killdetective: 15
    Messages:
      All:
        Deaths:
          playerpossessed: '&cDeath &7❙ &dA player was &5POSSESSED!'
          playerburned: '&cDeath &7❙ &aA player was &6BURNED!'
          playerexecuted: '&cDeath &7❙ &aA player was &7EXECUTED!'
        Starting:
          countdown: '&5Witch &7❙ &3Game starting in &6%seconds% &3seconds!'
          started: '&5Witch &7❙ &3The game has started!'
          failed: '&5Witch &7❙ &cNot enough players to start! 3 players required!'
        Game:
          pickupdust: '&6+%points% Points (picking up fire dust)'
          joinmsg: '&f%player% &6joined the town! &8(&7%players%&8/&7%max%&8)'
          leavemsg: '&f%player% &6left the town.'
          earnfirestick: '&6+%points% Points (earning fire stick)'
        End:
          civilwin: '&5Witch &7❙ &aThe Civilians &2have WON!'
          witchwin: '&5Witch &7❙ &5The Witch &dhas WON!'
      Civil:
        killwitch: '&6&l+%points% &6Points for killing the Witch!'
        killcivil: '&c&l%points% &cPoints for killing a civilian!'
      Witch:
        killcivil: '&6&l+%points% &6Points (killing civilian)'
        killdetective: '&6&l+%points% &6Points (killing detective)'
    countdowntime: 5
    blazespawnrate: 2
    JoinSigns:
      game0:
        x: 970
        y: 105
        z: 912
      game1:
        x: 970
        y: 105
        z: 913
     
    The default settings are advised, but it is here you can change the game to your liking! However, you do not need to manually type in the JoinSigns, as these can be set in-game!
    The first setting, games, it how many games you want to have. For example, if this is set to 2, you can create 2 separate games that can run simultaneously.
    If you want to run the game on its own server (i.e when you connect to the server you join the game automatically), set bungee to true.
    enclosedchat is whether or not you want the chat spoken in the game to be seen by players not in the game, and vice versa. It is advisable to keep this as true, so the chat does not get confusing.
    The Points relate to how many points you receive for certain things, such as killing the witch, or collecting firedust.
    The countdowntime is how many seconds the starting countdown should be.
    The blazespawnrate is how many fire dust should spawn in the map per second. This should be adjusted depending on how many players you have!

    3. Once you have the config to your liking (which can be changed later), you'll need to set stuff up on the server itself.

    For non bungee users
    Currently, you can only make games on 1 world, the overworld.
    Once you have a map you would like to play on, you can set up the game. You will need to have 1 map for each game.

    The number of games you have is determined by the number set in the config file. Note: games start a 0

    To set up the first game, go to the spawn of the map, and set it as the game spawn using the command /setGamePos gameID posID. The gameID is the game number you are setting up, if it is the first game, it will be 0. The posID is the position id you are setting. For spawn, it is spawn. so the command is /setGamePos 0 spawn.

    Next, you need to define the bounds of the map for random spawning of Fire Dust. Go to the first corner and use /setGamePos, this time for corner1: /setGamePos 0 corner1
    Then, move to the opposite corner, at the maximum height of the map, and type /setGamePos 0 corner2

    Now all that is left to do is defining join signs. To do this, place a sign with the top line as [JOIN WITCH0]
    If you have more than one game, replace the 0 with the game number.
    Then, type /setGameSign 0, (0 being the gameID), and click the sign.

    Now, you can right click the sign and it will take you to the game spawn! Once the playerstostart number set in the config file is met, the game will automatically start. Alternatively, use the /start command with the permission node witch.modify to start the game manually!
    If you're using Bungee
    If the game has its own server, it is a lot easier. In the config file, make sure to set bungee to true.

    To set the map spawn, use /setGamePos 0 spawn.
    Now you have to set the lowest corner and highest corner of the map.Go the the first corner (lowest point) and type /setGamePos 0 corner1.
    Now go to the opposite corner, this time at the highest point, and use /setGamePos 0 corner2.

    Now the map is set up and ready for use. When a player connects to the server, they are added to the game, no need for join signs!

    Now the game should be set up correctly, and ready to play!
    Note: You need at least 2 players for the game to work without breaking.

    Integration
    The game saves your inventory, position and gamemode, and restores all of these upon leaving a game.
    The plugin was made to avoid interrupting with other plugins, however, there could still be issues.

    Currently, once a game has started, it cannot be joined. Spectating will be integrated in the future, but is not supported at present.

    Expect Bugs
    Being my first minigame plugin, bugs are expected to occur. Rather than rush to a bad review, please consider emailing [email protected] with the issue.



Recent Reviews

  1. Moon_Wolf63
    Moon_Wolf63
    1/5,
    Version: 1.0.0
    It says it has a splash potion but its just a potion how do I put a spell on people?
  2. Durson54
    Durson54
    4/5,
    Version: 1.0.0
    Pretty good for your first mini-game. Good job. It's good for halloween event! :D Also you should add in config all messages and scoreboard so I can edit them...And you should fix Witch potion. It's not throwing potion and when i drink it it disappears and doesn't regenerate. You should disable that Witch can take Fire Dust, only civilians should take it because as Witch if i'll take it and have 10 Fire Dust I can have Stick and kill civilians (Or you should leave it like that but Witch couldn't use Stick, only have it in Inventory ). Thanks ;)