Commit Graph

3195 Commits

Author SHA1 Message Date
wizjany
1934006d14 Better enforce the Request lifetime.
Previously, the current request would just get a new EditSession when
one was created. Now, a Request is reset before and after:
 - a command is used and
 - an interact is fired with the platform
This means each action taken will get a single, non-reusable Request.

Note that this only applies to actions taken through the platform.
API users will not be using requests anyway, since things like Masks,
etc. will be constructed directly instead of being passed through the
platform's parsers and so on. (e.g. if a plugin loads a schematic into
the world with a mask, they should create the EditSession and mask it
directly, and not use that Mask again for another EditSession in another
World).

Also, get rid of a bunch of (some now-)unnecessary EditSession creation
during command dispatching.

Note that this also fixed the dynamic selection mask, which apparently
has been broken for some unknown amount of time.
2019-03-20 19:13:54 -04:00
wizjany
25631af31c Add RequestExtent to be used when a delayed EditSession is needed.
For example, if you set a mask that takes an extent (many of them),
and then move to another world, the mask will test blocks in the old
world and return bad results.
2019-03-20 19:13:54 -04:00
Matthew Miller
d186cce393 Merge remote-tracking branch 'origin/feature/slf4j-logging' 2019-03-19 20:32:21 +10:00
wizjany
d1c2a029bf Move some platform stuff to load, put enable back to postworld. 2019-03-15 23:43:57 -04:00
wizjany
678a78a982 Update adapters.
Don't update unchanged blocks, do change NBT, no need to light.

Also clean up the forge side a bit.
2019-03-15 20:56:49 -04:00
wizjany
c885f70c7b Load Bukkit plugin at startup.
This should allow plugins that use WorldEdit to do things on world load.
2019-03-15 18:38:06 -04:00
wizjany
9d2d43f0db Add -f to //schem save to confirm overwriting.
Overwriting existing schematics now checks delete perm.
Also allow delete to be run from console.

Fixes WORLDEDIT-3868.
2019-03-15 17:08:11 -04:00
wizjany
18414fe3b5 Fix symlink detection. 2019-03-15 09:10:51 -04:00
Kenzie Togami
fba12b1282
More shading fixes 2019-03-13 20:15:01 -07:00
Kenzie Togami
4be72fb983
Shade logger bridges as well 2019-03-13 19:56:58 -07:00
Kenzie Togami
d6804737cf
Switch to SLF4J logging. 2019-03-13 19:51:48 -07:00
Kenzie Togami
4191f017f1
[Forge] Fix sub-commands by registering even less 2019-03-13 18:54:23 -07:00
wizjany
4f0506ec8b Fix versions in toml. Use internalversion (with git hash). 2019-03-12 17:30:45 -04:00
wizjany
1c5d3368a0 Defer permissions check when making LocalSession.
Also use Java7 Paths to get rid of some funky logic.
2019-03-11 21:31:43 -04:00
Matthew Miller
a5cec7728d
Merge pull request #452 from EngineHub/forge-1.13
Added support for Forge 1.13
2019-03-11 22:52:30 +10:00
Matthew Miller
6e24472af5 Bump to latest forge and cleanup some old files. 2019-03-11 22:45:41 +10:00
wizjany
a59d994d84 Hook up the biome registry. 2019-03-11 00:15:21 -04:00
wizjany
6192ba8dc1 Checkstyle fixes and warnings.
Should get 'working' builds now.
2019-03-11 00:02:51 -04:00
wizjany
6937cfc9a9 Need internal ID for EntityType here too. 2019-03-09 10:46:40 -05:00
wizjany
a22b5535fe Shh checkstyle, I'm a C# dev now. 2019-03-08 16:14:16 -05:00
wizjany
7c89ece96e Few tweaks to schematic loading and error fixes.
* Not all EntityTypes in Bukkit have the correct enum name.
* Don't read entire schematic files to list. Go off file extension only.
   (Reading in files is more accurate, but slow.)
* Enforce extensions. (Due to the above, while you can technically make a
   schematic called 'test.txt', it's better that we save it as
   'test.txt.schem'.)
* Fix a few minor warnings.
2019-03-08 16:00:49 -05:00
wizjany
eebba8e324 Move vault to permscompat. 2019-03-07 23:55:58 -05:00
wizjany
de08c8b8c7
Add better control over expression timeouts. (#451)
Add better control over expression timeouts.
* //timeout command can be used to change player's current timeout.
* Config now also has a max timeout, can be bypassed with permission
* Timeout of < 0 will let expressions run indefinitely.
* Said expressions won't run on a separate thread, slightly reducing the
  overhead from context switching. For large //gen commands, for example,
  this can actually increase speed.
2019-03-06 19:58:32 -05:00
Kenzie Togami
bb33897221
Handle all commands like pre-1.13 for now 2019-03-04 19:57:22 -08:00
Kenzie Togami
4878f38250
Fix platform registration, config setup 2019-03-04 19:36:06 -08:00
Kenzie Togami
f719063aca
Merge branch 'master' into forge-1.13 2019-03-04 18:31:52 -08:00
Kenzie Togami
9ee0f00030
Initial command registration setup. Pretty hacky, subcommands do not work, some arguments missing. 2019-03-04 18:31:20 -08:00
wizjany
f84f3c6f85 Fix error when parsing hand/offhand/pos1 as blocks. 2019-03-03 19:51:49 -05:00
wizjany
aafb854e4f More useful names for block ItemTypes. 2019-03-02 12:26:26 -05:00
wizjany
c3ee926a2e Correctness improvement for legacy data in expression generation. 2019-03-02 11:55:03 -05:00
wizjany
e53962dadd Apply source function after source mask in ForwardExtentCopy.
The source function should only get applied to actually copied blocks.
2019-03-01 21:15:21 -05:00
wizjany
f46c70093c Fix the long-range build tool's ability to build mid-air. 2019-03-01 20:10:46 -05:00
wizjany
0656ef1920 Fix LayerVisitor stopping early instead of skipping covered columns. 2019-03-01 19:25:10 -05:00
wizjany
4bd6d73085 Fix some bad copy-pasta in expression environment queries. 2019-02-28 01:03:02 -05:00
wizjany
243d6476ac Re-add smooth filtering via a mask.
Instead of trying to maintain a list of "natural terrain blocks", just
let the user specify a mask of blocks to use for the height map filter.

https://gfycat.com/severaljauntycondor
2019-02-26 23:54:53 -05:00
wizjany
9eeb0acffe Add radius checks to a few more utility commands. 2019-02-25 18:41:20 -05:00
wizjany
90797d12f4 Skip legacy materials when setting up registries.
Doesn't make a difference normally, but avoids errors in special envs.
2019-02-25 18:41:20 -05:00
wizjany
2f734d4570 Check radius instead of diameter for clipboard brush.
This brings it more in line with other brushes in terms of allowable size.
2019-02-25 18:41:19 -05:00
Kenzie Togami
a0f127813d
Pull config dir from FMLPaths 2019-02-21 00:40:00 -08:00
Matthew Miller
aa295d91e8 All but commands and config directory are ported. 2019-02-19 21:49:06 +10:00
Matthew Miller
29b6c84230 Rebase and properly setup the registries 2019-02-19 20:30:52 +10:00
Kenzie Togami
7faafa1635 Update mappings and forge, correct toml keys 2019-02-19 18:16:28 +10:00
Matthew Miller
de9798bf7e Further work on 1.13.2 WorldEdit for Forge. Forge still is missing too many features to finish this, and I need to work out how to port the command wrapper system over. 2019-02-19 18:16:28 +10:00
Matthew Miller
cf435fd63d Bump to 1.13.2 2019-02-19 18:16:28 +10:00
Matthew Miller
d079f06c31 Make it actually load into an IDE on latest FG 2019-02-19 18:16:28 +10:00
Matthew Miller
e4ce51003e Bump to latest Forge 2019-02-19 18:16:28 +10:00
Matthew Miller
c849f69ef4 Convert across the network handlers 2019-02-19 18:16:28 +10:00
Matthew Miller
9fccfdfaeb Further work on 1.13 2019-02-19 18:16:28 +10:00
Matthew Miller
a64d8dc6fa Fixed a lot of the errors, still more to go. Gotta switch to Forge registries once they exist. 2019-02-19 18:14:58 +10:00
Matthew Miller
7a08098b03 Further work on Forge 1.13 compat. 2019-02-19 18:11:37 +10:00