Skip to content

PP: Better world modification support #25

@iamgreaser

Description

@iamgreaser

I'm thinking that there should be an extension which allows you to, at the very least, place a coloured block without having to force a different player's block colour. This would form a nice base for Issue #24 (Build Mode Extension).

  • It should, at the bare minimum, allow one to place a single block of a single colour at a single location WITHOUT having to set a player's block colour first, and also allow one to clear a block.
  • Being able to set a cuboidal region to a given block colour, or clearing said cuboidal region, would also come in handy.
  • For something like a rollback, being able to set a rectangular region and/or an arbitrary cluster of raw VXL pillars at once would speed things up tremendously.
  • None of the above proposed packets will make any sounds, except maybe as an option for a single block packet.
  • None of the above proposed packets will make any blocks fall, except maybe as an option for a single block packet.

I believe all of the above combined together would form a good baseline, giving a good feature set without making a mess of the implementation.

Backwards compatibility has its difficulties here. Here are the options.

  1. Fall back to the usual vanilla methods whenever someone is using a client which doesn't support this extension. This will result in a generally awful experience and a lot of finger pointing.
  2. Kick clients which don't support the extension, but tell them to rejoin before kicking them. This is the cleanest solution.
  3. Make clients which don't support the extension reload the map. If you can implement this as some sort of "virtual kick and rejoin" then this miiight work.
  4. If running a build server, autokick clients which do not support the extension, and tell them to use a recent enough OpenSpades / BetterSpades / whatever. Or alternatively, keep telling them to do that, and opt for Option 1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions