BlockHorizons / BlockSniper

An advanced (brush) world editing plugin for PocketMine-MP
https://poggit.pmmp.io/p/BlockSniper/
Apache License 2.0
76 stars 41 forks source link

[Feature Request] Schematic Paste per % #118

Closed ghost closed 5 years ago

ghost commented 5 years ago

https://github.com/boy0001/FastAsyncWorldedit/issues/1244

To be easy, not copy paste, i just put here more information

EDIT:

Description: By using a command, you can paste % of schematic.

For exemple: //paste schem.schematic 30 - what means 30% of schematic.

Why: Because will be better for Roleplay Servers: Actually you can make a "system" when players can help build a city donating cobblestone or something.

I mean: 1) A player use a command or something: /donate cobblestone 60. This is a core part, not to be implemented in FAWE

2) Save blocks to a cache and make a task who check materials saved. This is a core part, not to be implemented in FAWE

3) When an "condition is succesfully checked, broadcast a command. This is a core part, not to be implemented in FAWE

4) Now is part of FAWE: Command is //paste schem.schem 15 - 15% of building.

To Sum It Up: Idk what to describe here

P.S.: Nothing.

SOF3 commented 5 years ago

In case the other repo is deleted or edits the issue, it will become very hard to track the conversation. Please copy the issue text instead of just linking in the future.

SOF3 commented 5 years ago

Description: By using a command, you can paste % of schematic.

For exemple: //paste schem.schematic 30 - what means 30% of schematic.

Why: Because will be better for Roleplay Servers: Actually you can make a "system" when players can help build a city donating cobblestone or something.

I mean:

  1. A player use a command or something: /donate cobblestone 60. This is a core part, not to be implemented in FAWE
  2. Save blocks to a cache and make a task who check materials saved. This is a core part, not to be implemented in FAWE
  3. When an "condition is succesfully checked, broadcast a command. This is a core part, not to be implemented in FAWE
  4. Now is part of FAWE: Command is //paste schem.schem 15 - 15% of building.

To Sum It Up: Idk what to describe here

P.S.: Nothing.

SOF3 commented 5 years ago

How do you define "30%" or "15%"? From what direction is it counted? By repeatedly running the command, is the plugin expected to memorize which prats are pasted and not yet pasted? If yes, how is the plugin supposed to identify multiple commands as the same paste, in case there are multiple different pastes of the same schematic in the world?

In addition, are all block types counted? Or just a particular type, e,g. cobblestone?

ghost commented 5 years ago

"How do you define "30%" or "15%"? " Actually 15% and 30% means procentual of counting blocks from contruction, preferaly with logyc.

Exactly what i mean:

https://imgur.com/a/dAVagBI

To get blocks from a side north south, etc, but partitioned in procents, using a command.

"By repeatedly running the command, is the plugin expected to memorize which prats are pasted and not yet pasted?"

By logyc, if you already paste 25% for first time, you need paste 50% next, right? That's not really a problem, because 50% have 25% on them 👍

"In addition, are all block types counted? Or just a particular type, e,g. cobblestone?"

My oppinion is to count all.

If still you can't understand something, you can ask :) Any time i can clarify you :)

@SOF3 And thank you for the answer!

SOF3 commented 5 years ago

By logyc, if you already paste 25% for first time, you need paste 50% next, right? That's not really a problem, because 50% have 25% on them 👍

What if there are multiple concurrent pastes for the same schematic on the server?

ghost commented 5 years ago

@SOF3 That's the player problem, not plugin 👍 It's just blocks, will not affect with nothing

SOF3 commented 5 years ago

@NycuRO A plugin is designed to solve player problems. If we excuse every problem as "that's the player problem", the whole plugin doesn't need to exist because "that's just the player's problem of building slowly block by block".

ghost commented 5 years ago

Yeah, but these problems are clasificated. One problems are by plugin and others are by players. All have bugs, but depends how can be fixed: by player or by authors. Actually these is not a plugin/code problem, so is not needed to worry about, actually is by how a player want them server to be designed.

SOF3 commented 5 years ago

BlockSniper is a public plugin. It is not your personal plugin where "as long as I know don't do this and don't do that it will work". A public plugin has to be aware of players' incorrect usage and counter them.

Moreover, it is a major drawback to functionality if one progressive paste prohibits non-progressive pastes in other locations.

ghost commented 5 years ago

Or, you can make this feature like one "experimental". If anyone want that, just use "true" to one option from config and that is

SOF3 commented 5 years ago

"Experimental" is not equal to "I want to mix some shit into my plugin but nobody except the requester knows how to use it". "Experimental" means "This feature will eventually become non-experimental".

ghost commented 5 years ago

"I want to mix some shit into my plugin but nobody except the requester knows how to use it".

You don't understand what i mean with that feature?

SOF3 commented 5 years ago

I do, but users won't. Features added to the plugin are not for your personal use, and we don't ship undocumented or confusing features just because one of the thousands of users understands how to use it.

ghost commented 5 years ago

I tried to anyone understand. Thank you for your effort 👍 and i hope to be implemented. Maybe we can discuss more on discord group :)

Sandertv commented 5 years ago

Closing this feature request as it simply does not fit into BlockSniper. The libschematic library may be used in a separate plugin to produce this behaviour, but including it in BlockSniper means introducing yet another feature that nobody understands.