[Minigame] Witch Hunt (murder mystery variant)

This project is abandoned and its default file will likely not work with the most recent version of Minecraft. Whether this project is out of date or its author has marked it as abandoned, this project is no longer maintained.

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 - WitchDetective 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:
 
games: 2
playerstostart: 5
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! %required% 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 
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!

 For Bungee users

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.
 
 

Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    274344
  • Created
    Aug 12, 2017
  • Last Released File
    Aug 12, 2017
  • Total Downloads
    3,969
  • License

Categories

Members

Recent Files