- Native Minecraft Version:
- Tested Minecraft Versions:
- Languages Supported:
- English, GermanVOTE HERE on what the new name of this plugin should be!
(It's not just doors anymore, after all, with even more types coming soon (TM)!)
(Windmills and flags (and more!) coming soon (tm))
A teaser of upcoming features:
THESE ARE WORK IN PROGRESS! I DO NOT HAVE AN ETA, BUT I WILL NEED (MUCH) MORE TIME! DON'T GET TOO EXCITED JUST YET! WHEN A RELEASE DATE IS IN SIGHT, I'LL ANNOUNCE IT ON DISCORD!
If you have a problem with this plugin, please contact me either via PM, Discord, or the discussion section before / instead of leaving a review first! Not (only) because I don't like bad reviews for things I can and will fix/add quickly, but primarily because it is simply much easier to communicate via any one of those ways than via the review section!
Get the latest dev-build:
Download the latest dev-build HERE. If you decide to use it, there are a few things you'll have to keep in mind:
An updated list of the changelog can be found HERE.
- Dev builds will automatically update to the latest stable release as soon as it's available regardless of your settings.
- The dev-builds get updated rather frequently, so check back often (URL stays the same, though).
- These builds might not be tested as thoroughly as the release builds.
- Dev builds may not always be backward compatible with the latest release build. This can occur if the database schema is changed in a dev-build for example (then the old version can no longer read the data). So be sure to make backups!
Lastly, dev-builds are differentiated by their build number, which can be viewed when typing /bigdoors version. You can check what the build number of the latest is right HERE; The first line is the build number.
List of features:
- Big, animated doors of these types:
- Big Door
- Sliding Door
- More in development!
- GUI for door management.
- Redstone support.
- Door creator to guide you through the door creation process.
- Translation support.
- Active developer support.
I am always looking to improve upon this plugin, so if you have any tips, ideas or requests, let me know! I'll be happy to help!
If you encounter a bug or a problem, please contact me first before leaving a review, then I'll try my hardest to fix it as soon as possible.
If you like this plugin, please don't forget to let me know in the review section, it really does help me stay motivated to provide support for this plugin!
- Because every block in a door is transformed into an entity, larger doors can be quite taxing on the client.
- When standing far away from a door when it's being opened, it'll behave very strangely. The blocks will no longer more uniformly and (parts of) the door will continue spinning until the player gets close enough again for it to behave normally.
- Due to their nature, anti-lag plugins tend to remove the entities used by this plugin. This will result in blocks temporarily disappearing and appearing at their opened position after a slight delay. To prevent this, add entities of type "FallingBlock" named "BigDoorsEntity" to their whitelist.
Commands and Permissions:
When opening doors from console/command block, NAMES DO NOT WORK! You need to use DoorUIDs there. Why? Because names are not unique, while DoorUIDs are. This constraint means that your command blocks won't break when someone creates a new door with the same name as the one you used.
Sets the maximum number of doors this group can own. Replace <numberOfDoors> by the actual number of doors. e.g. "bigdoors.own.4".
Allows you to access the BigDoors GUI.
Supported types: "door", "drawbridge", "portcullis", "slidingdoor", "flag".
/NewDoor [-BD || - PC || -DB] <DoorName>
Initiate door / drawbridge creation process. Use "-BD" to initiate the big door creation process, "-PC" for portcullis, and "-DB" for drawbridge. Defaults to big door.
Initiate portcullis creation process.
Initiate drawbridge creation process.
Cancel object creation process.
/SetBlocksToMove <doorUID> <blocksToMove>
Sets the number of blocks this door will try to move. Only applies to doors such as portcullises and sliding doors.
/SetDoorRotation <doorUID> <direction>
Changes the direction a door will try to move.
Allows you to delete a Big Door.
/OpenDoor <DoorName> [DoorName2] ... [DoorNameX]
Allows you to open a Big Door (of any type). Also allows opening more than 1 door at a time.
/CloseDoor <DoorName> [DoorName2] ... [DoorNameX]
Allows you to close a Big Door (of any type).
/ToggleDoor <DoorName> [DoorName2] ... [DoorNameX]
Allows you to open a Big Door (of any type) when it is closed or close it when it's open.
List all doors owned by you, with a specific name if provided.
Console: /ListDoors <DoorName || PlayerName || PlayerUUID>
List all doors with a given name (and who owns them) or all doors owned by a player (PlayerName can only be used for online players!).
Allows you to get information about a given door.
Allows you to change the location of the powerblock of a given door.
Gives you a tool that gives you the door info of any powerblock you hit with it.
/BigDoors AddOwner <doorUID> <playerName>
Adds another user as owner of the given door.
/BigDoors RemoveOwner <doorUID> <playerName>
Removes another user as owner of the given door.
/SetAutoCloseTime <doorUID> <autoCloseTime>
Sets the amount of time after which a door will try to close itself after it was opened. Negative values mean the door will not try to automatically close (you can still use redstone, of course).
Allows an admin to pause all doors. (toggle)
Forcefully finishes all doors currently in the process of being opened.
Forcefully unlocks a door not owned by you.
Kills all entities that may have been left behind by BigDoors for one reason or another. Should not be necessary to use, but useful just in case.
/FillDoor <doorName || doorUID>
Fills in a door with stone blocks, regardless of whether the user who issues the command is allowed to build there or not or if there are already blocks there.
Gets the version of the plugin. If it's a dev-build, it'll also show you the build number.
Restarts the plugin. Almost everything will be reinitialized (config, translation, etc).
DoorName can also be substituted by the ID of the door, which can be useful when you have multiple doors of the same name. You can get the ID of a door using the "/DoorInfo" command or the "/DoorInfo" button in the BigDoor Menu. When listing all doors (with a given name, if provided), you also get the IDs of those doors. Note that as a consequence, you cannot give doors numerical names.
Making a big door:
When you want to create an animated object of any type, don't worry. There's an in-game guide to help you with it!
When you have built a door that you would like to open, you start the door creation process using "/NewDoor <DoorName>", where you substitute <DoorName> for any (non-numerical) name you'd like to give it. Alternatively, you can open the BigDoor Menu using "/BigDoorMenu" (or "/BDM" for short) and use the "New Door" button in the GUI and choose a name using "/NameDoor <DoorName|| DoorUID>", as the instructions will tell you.
Next, you will need to define the region of the door*. Just select two points on the door as far away from each other as possible, e.g. top-left and bottom right. You then need to define where the rotation point (or: hinge) is, so the plugin not only knows where the door is but also how to open it. This is done by selecting a column of blocks on the side you want the door to rotate around.
And that's it! You can now start using the door using "/OpenDoor <DoorName || DoorUID>" or find the door in the list shown in this plugin's GUI (sorted by door ID, i.e. creation date, for now) and use the switch there.
If you want to use redstone to open a door, you can do that too! Simply place the "power block" (as set in the config file)** under the rotation point/hinge as shown here:
*: Note that in the current version of this plugin, doors can only be 1 block deep!
**: I would recommend choosing a rare block (such as a gold block) to avoid lots of checks to the DB, which could cause slowdowns depending on how much redstone is used on your server (you don't have to worry about that when you use a rare block). This is only temporary.
Making a big drawbridge:
Making a big drawbridge is very similar to making a big door. For drawbridges, however, you can select a flat area as well. After selecting the area of the drawbridge, select one of the 4 sides of the rectangle to define the rotation point/hinge. If you select a corner, you'll have to select another point on the desired axis to avoid ambiguity.
The location of the power block is in the middle, under the rotation point. If it's still unclear, you can use the "/DoorInfo <DoorName || DoorUID>" command or the GUI to see its exact coordinates. Of course, you can also just move the power block to a location of your choice using "/ChangePowerBlockLoc <DoorName || DoorUID>" or the GUI.
Making a portcullis:
Again, a very similar process as before. The only difference from making a big door is that you use a different command (or GUI option) to initiate the creation process and that you don't have to select a rotation point (it only goes up and down, after all). The power block works the same as it does for drawbridges: By default, it's 1 block under the portcullis, in the middle and it can be moved just like it can for any of the other door-types.
The portcullis door-type will look at how many blocks it can move up and how many blocks it can move down. If it can move further down than up or if the number of blocks is equal in both directions (it never goes further than its total height), it will move down for as many blocks as it can. Otherwise, it will go up.
Updating to a new Version:
I am constantly adding new features and stuff. These new features often require more data to be stored in the database. This means that upon loading a new version, the plugin will try to automatically upgrade the database so it can store all the new data that's required. This hasn't gone wrong so far, but that doesn't guarantee it'll never go wrong in the future! So, please, MAKE A BACKUP of your database before updating this plugin! And while you're at it, make backups of your config file as well! It gets changed even more often!
Some more examples:
(Red = Not yet started, Orange = In progress, Green = Done, but either not released yet or only in a dev-build).
- Fix blocks being outside entity activation range not behaving properly. This means that doors etc won't go wonky when you move away from them. This will alleviate server load for animated blocks close to players a little.
- More code cleanup.
- Perpetually moving objects.
- Variable door depth.
- Make animated blocks solid.
- New types: flags, windmills, garage doors, revolving doors, clocks, and more.
- An entirely new type of animated object: User controlled animated objects. Think of cannons, trebuchets, siege towers, and whatnot.
- New door type that can ride on rails.
- Doorception; Doors inside doors.
- Add admin menu, to manage doors owned by other players.
- Use packets to avoid other plugins such as LagAssist from rudely interfering with my animated blocks.
- Look for other fun packet stuff? Any suggestions?
- Add keys to doors (actual item, via resource pack).
- Move all database interaction off of the main thread.
- Quality of Life (i.e. making the plugin generally easier and more pleasant to use, suggestions are welcome!).
- Add an option to show power block locations using particle effects or something.
- Create a client companion mod for Forge to let the blocks rotate.
Will you add support for version x of Minecraft?
- Highly unlikely. 1.8 won't work properly. I don't know if 1.9 and 1.10 would work, but I'm already considering to only support the latest version of MC going forward to make my life somewhat easier.
Does this plugin support Bukkit/Paper?
- That's going to have to be a solid "maybe". I don't test on these versions and would recommend just using Spigot. I don't test on Paper and have no plans to actively support it, but in general, it should work fine.
How can I control doors from the console/command blocks?
- When issuing commands from the console/command blocks, you cannot use the door name. Instead, you'll have to use doorUIDs.
Alpha? What does that even mean anymore?
Because everyone seems to have their own idea of what alpha and beta means these days (especially AAA game publishers), I'll quickly explain my release cycle:
- Alpha: In the alpha stage the focus lies on adding new features. You can expect a pretty fast update cycle and some bugs, glitches, and imperfections every now and then that hopefully get fixed in the next update.
- Beta: In the beta stage the focus lies on perfecting what is there. The update cycle will probably slow down considerably and not bring (as many) new features as compared to the alpha stage. I will mainly work on making the code prettier and more optimized and iron out any glitches that are encountered.
- Release: At this point, the plugin should basically be done. You can expect the occasional update to fix any bugs that slipped through the beta stage, but I'll have moved on to other projects. At this stage (after code beautification) the code will be open sourced.
As a final note, I'd like to thank Captain_Chaos for making his PorteCoulissante plugin. I've used it a lot and it inspired me to make this plugin!
Remember: NO SUPPORT IN THE REVIEWS SECTION! For support, please contact me somewhere else! For the fastest support, join our discord!
Big Doors Alpha 0.1.8.12
Big, ANIMATED doors, drawbridges, portcullises, and more!