MazePlus

MazePlus

0 Downloads

MazePlus

This plugin allow you to generate new mazes every time. He generate the mazes for you, you only have to say the size of the maze, he makes it automatically in front of you. You can generate 3d mazes too!



Commands:

/mazegen [help/set/make/make3d/undo/flags/load/save/default] [values] ...
/yes|no
more info soon



config.yml:

will appear in the first run, on it you can set:
min-Size: 3 (default, the min number of corridors, if the number is too small the plugin will crash)
max-Size: 128 (default, prevent a wrong big entry crash the server)
corridor: 1 (default, the size of the corridor, can't be null or negative)
hole: 1 (default, the size of the hole between floors, can't be null or negative)
max-Floors: 10 (default, the max number of floors for the 3d maze)
fHeight: 6 (default, the height of each floor of the maze)
max-FHeight: 16 (default, the max height of each floor of the maze)
instances: 7 (default, the max number of players using the plugin at the same time)
double3d: true (default, the 3d mazes have floor and ceil between the floors, 2 blocks, not 1, so the ceil and floors will have different blocks)
ceiling: true (default, if true: the maze have ceil, if false: the maze have air where the last ceil is)
light: 0 (default, will illuminate inside the maze, 0 is for don't illuminate, 1 to place torch, 2 to place glowstone, 3 to place redstone torch and 4 to place redstone lamp)
block-Floor:
- 2
- 48
...
(default, list of the default block's for the floor, more than one so it will change the blocks according to the number of floors in the 3d maze) 1
block-Wall:
- 98
...
(default, list of the default block's for the wall, more than one so it will change the blocks according to the number of floors in the 3d maze) 1
block-Ceil:
- 4
...
(default, list of the default block's for the ceil, more than one so it will change the blocks according to the number of floors in the 3d maze) 1
valid-Blocks:
- 1
- 2
...
(list of blocks that can have be placed in the maze)

1 the first number is the block for the first floor, if there is no more blocks configured and there still floors in the maze he will repeating the list.




Recommendations for the config.yml:

  • never set null or negative values!
  • never use big values for max-FHeight or max-Floors! You have to think where put your maze, so there is size above to create it.
  • don't put values inside block-Ceil, block-Floor and block-Wall that aren't listed inside valid-Blocks.
  • don't change the valid-Blocks unless you know what you are doing!
  • if double3d is false you will not have block-Floor in the 3d maze, only in the first floor and block-Ceil in all others.
  • if ceiling is false only the last floor of the maze will be air.
  • don't use small numbers for the instances, use at last 3.
  • don't play dumb and set min-Size bigger than max-Size or put negative values.
  • the max-FHeight is the value from your floor (inclusive) to your ceil (inclusive), so you will never set a value bellow 4 (in 3d mazes and 3 in 2d mazes without ceiling) if ceiling is true, because the player needs at last 2 blocks to move inside.

Values for the variables:

Coming soon. Will say what values you can use without problems.



Permissions:

  • mazeplus.use: Allows (don't give access) user to use mazeplus commands. default: op
  • mazeplus.help: Gives access to see the help. default: op
  • mazeplus.set.floor: Gives access to change the block-Floor. default: op
  • mazeplus.set.wall: Gives access to change the block-Wall. default: op
  • mazeplus.set.ceil: Gives access to change the block-Ceil. default: op
  • mazeplus.set.maxfloors: Gives access to change the max-Floors. default: false
  • mazeplus.set.fheight: Gives access to change the fHeight. default: true
  • mazeplus.set.maxfheight: Gives access to change the max-FHeight. default: false
  • mazeplus.set.minsize: Gives access to change the min-Size. default: false
  • mazeplus.set.maxsize: Gives access to change the max-Size. default: false
  • mazeplus.set.corridor: Gives access to change the corridor. default: op
  • mazeplus.set.hole: Gives access to change the corridor. default: op
  • mazeplus.set.ceiling: Gives access to change the ceiling. default: op
  • mazeplus.set.double3d: Gives access to change the double3d. default: op
  • mazeplus.set.light: Gives access to change the light. op
  • mazeplus.set.valids: Gives access to change the valid-Blocks. default: false
  • mazeplus.make: Gives access to create 2d mazes. default: op
  • mazeplus.make3d: Gives access to create 3d mazes. default: op
  • mazeplus.undo: Gives access to undo the last maze. default: op
  • mazeplus.flags: Display the current value of all "set" flags. default: false
  • mazeplus.load: Load all current configs from config.yml file. default: op
  • mazeplus.save: Save all current flags to config.yml file. default: false
  • mazeplus.default: Will reset all flags to default and save it to config.yml file. default: false
  • mazeplus.set.*: Gives access to all flags in set command.
  • mazeplus.*: Gives access to all MazePlus commands.



Extras:

  • the maze will not be created if you are in bedrock level;
  • the maze will not be created if there is no more height in the map to place the maze;
  • the maze will be created to your front, to your right and 1 block bellow from where you are facing;
  • the entrance of the maze will be in the front wall from where you are facing and the exit will be on the oppose side of the entrance;
  • the plugin will prompt if there is blocks where you want to create the maze, so you will not destroy any constructions or anything else. This check will not verify blocks bellow you, where the first floor will be placed and will not verify above the height of the maze;
  • the lights will be placed only where is needed to not spawn mobs;
  • use WorldGuard and protect the region where the maze is.
  • when there is no instance left, the offline players will be cleaned from the list, if there is no offline players in the list the player in the list who first used commands will be kicked out (cleaned from memory) and the current player will get the last space.



What's done?

  • 2d and 3d maze generator with seed!
  • implemented a better hash code (64-bit hash code) for text seed's!
  • changed some variables from int to short and byte.
  • permissions.
  • multiple instances!
  • prompt /yes|no
  • +3800 lines of code!



TODO:

  • make the commands; (working now)
  • insert the generated maze in game;
  • allow text entrance for item id; (working now)
  • command to undo the last placed maze (no more than this!) if you don't like it or you messed up something; (working now)
  • fix the size of the hole between floors if the corridor is bigger than 1, so the hole will always be 1 (or more?).
  • figure out a way to put the stairs in the right place (the best place) in 3d mazes;
  • create a method to place light inside the maze;
  • create a method to put comment between lines in the config.yml after the file is saved;
  • release.

    TODO's like this maybe will not be on the next release.