Endless Bedwars Plugin (1.18.2)

Discussion in 'Plugin Requests' started by HackerDragon9999, Jun 19, 2022.

?

Do you think this plugin should be made?

  1. Yes

    50.0%
  2. Yes, if it was modified

    0 vote(s)
    0.0%
  3. Maybe

    50.0%
  4. I don't know

    0 vote(s)
    0.0%
  5. No

    0 vote(s)
    0.0%
  1. I am looking for a plugin for Bedwars, but I want to make my version unique. I want to make Bedwars endless.

    By "endless", I mean that instead of in rounds, it's played continuously, and you stay in the same game until you are killed without a bed or disconnect.

    Terminology:
    Connect = enter the server
    Join = participate in the game
    Area = a part of the world where the game takes place
    Island = a piece of land housing a player bed, where that color respawns
    Generator = an ore block, which spawns its corresponding mineral above it

    Commands:
    /bw
    : Main command. Typing /bw on its own shows a list of subcommands.
    /bedwars: Alias of /bw.
    /bw start: Join a game.
    /play: Alias of /bw start.
    /bw area: Main area command. Typing /bw area on its own shows a list of area subcommands.
    /bw area wand: Get the item to select an area structure.
    /bw area island: Save the selected area structure as a player island. White wool is changed to the island color. Will fail if the area structure doesn't contain both an ore block (generator) and a white bed, which will be changed to the island color. Will also fail if the area structure is more than 20 blocks wide.
    /bw area resource <type>: Save the selected area structure as a resource of the selected type. Arguments for <type> can be coal, copper, iron, gold, redstone, lapis, diamond, emerald, quartz, or netherite. Fails if the area structure contains a generator other than the one specified in <type>, doesn't have exactly one generator, or is more than 20 blocks wide.
    /bw shop: Edit the shop via GUI.
    /bw shop npc: Spawns a shop NPC.

    Permissions:
    bedwars.start
    : Access to /bw start and /play. (Everyone)
    bedwars.area: Access to /bw area and all its subcommands. (OP has by default)
    bedwars.shop: Access to /bw shop and all its subcommands. (OP)
    bedwars.*: Access to all commands. (OP, obviously)

    All players connect as spectators, then use /play to join the game.

    Everyone who joins plays on the same server because I can't afford more servers, and spawns on an island created for them. The first island to be created spawns randomly at Y=20. Islands spawn 30-50 blocks away from either a resource or another island. If this spawn is within 30 blocks of a different area than the one used to spawn the island, the spawn is moved to be at least 30 blocks away from all areas, changing the area it uses to spawn if necessary.

    Each island has a random bed color. The bed colors cycle through all 16 types of wool. Afterward, no new islands are created and the players are added to the same team as the owner of their color.

    Next up are resources. Resources spawn randomly from 30-100 blocks away from other areas, and there can never be more resources than islands. Resources have a random type.

    If there are more resources than islands, a resource with no players on it will be deleted along with a 10-block radius around it. If an island has no bed and no players of its color, it is also deleted with a 10-block radius around it, with all other colored players nearby being sent to their island.

    The shop should be fully customizable and accessed by right-clicking an NPC with a configurable mob type. The NPCs are summoned with a command.

    Admins need to build all areas that spawn in the game, select them with an item, then run a command to save the structure as either an island or a resource.

    When a player is killed and their color doesn't have a bed, they are kicked and can rejoin as a spectator.

    Otherwise, the game is played exactly how you'd expect for Bedwars.

    Whew... That was a long article. If you are a plugin developer, please consider this.
     
    Last edited: Jun 20, 2022
  2. Offline

    mrsot

    I appreciate that you've described everything in great detail, but I've got a couple more questions
    • What version(s) would you want this plugin to be for?
    • Are you using any specific GUI/NPC plugin?
    • Could you elaborate on the /bw and /bw area commands?
    • Could you elaborate on the /bw shop and /bw gui commands? What would the GUIs look and function like?
    • If I understand correctly, the /bw shop npc command would spawn an NPC that, when right-clicked, would show the GUI configured in /bw shop? The NPC could be spawned when building an "player island" and later on saved along with the island, using the /bw area island command?
    What would set this plugin apart from other bedwars plugins? What does it mean for bedwars to be endless and why couldn't you use any other well established bedwars plugin out there?
     
    Last edited: Jun 20, 2022
  3. I understand the confusion - I put some of the answers in the long description I wrote.
    • The plugin should be for 1.18.2, as that's the version I plan to put the server on.
    • There can be external dependencies, simply to decrease the workload, but I don't have anything specific in mind.
    • /bw should send a chat explaining its subcommands, and /bw area should do the same.
    • /bw shop's GUI shows something like the GUI used by other bedwars servers' shops, with additional "Add Item" clickables. Clicking on any shop item pulls up a page to edit it, with options to set the item, the price, or remove the item. Clicking "Add Item" does the same, except replacing remove with add. /bw gui is unnecessary, so I removed it.
    • Yes, that is how /bw npc works.
    • Endless bedwars means you stay in the same game until you are killed without a bed or you disconnect, instead of going to a different game after you win.
    I hope that cleared things up a bit. A project like this would probably be... difficult, to say the least. It was difficult for me to write.
     
    Last edited: Jun 20, 2022
  4. Offline

    mrsot

    I think it would be a lot easier (for you and for me) if I had just modified an existing bedwars plugin (ScreamingBedWars).
    All the advanced features, configurations and permissions would all be there, with a few modifications to commands and the core gameplay (making it endless)
    Saving me thousands of lines of code and countless days
     
    Last edited: Jun 21, 2022
  5. Oki, sounds good! That would frankly make more sense than just programming the entire plugin from scratch.
     
    Last edited: Jun 21, 2022

Share This Page