Commit Graph

123 Commits

Author SHA1 Message Date
03c0cce53e Update to Piston 0.5.2 + Doctools/Deprecation improvements (#523)
* Update to Piston 0.5.2

* [Doctools] Fix output, be verbose about deprecations

* Improve deprecation system, doctools output
2019-10-05 19:06:18 +10:00
0620478763 feature(cli): Added a CLI version of WorldEdit, and allowed most commands to be run from console (#508)
* Re-do commits to avoid awful rebase

* You can load and save a schematic file now. Still gotta setup ability to use commands as a console actor.

* Add a world override concept to LocalSession, and allow a lot more commands to be performed by actors.

* Fixed commands, and set the loaded schematic as the world override in CLI

* Properly load tags

* Added 1.14.4 data values

* Allow a majority of commands to be performed by the console.

* Fixed a lot of PR requested changes

* Added a Locatable interface and use that for getting the location of the player in commands.

* Added script support. Currently requires a newline at the end of the script.

* Shade everything to allow this to run locally - should probably minimize this to an extent later.

* Actually hook up the version

* Added a //world command to set the override

* Fixed a missed checkstyle issue

* Added CommandBlock support to Bukkit

* Make command block support configurable

* Minor cleanup and implementing a few of the final functions

* Fixed most issues from PR

* Improve UX, saving is now automatic and unknown command messages show

* Better save docs and support any clipboard format

* Include the entire formats list

* Arrays.copyOf

* Clear the world override if the selector is called on another world.

* Update logging extent to allow basic logging with non-player actors
2019-08-25 19:58:28 +10:00
f472c20bfb Memory optimizations (#505)
* Remove LocatedBlock overhead in LBL map

* Add new space-efficient block map, with thourough testing

* Drop ordering property, add full insertion test

* Add licenses

* Fix mocked platform conflicts

* Disable full block map testing for faster builds

* Re-implement BlockMap with fastutil maps

* Re-write chunk batching to be memory efficient

* Make MultiStageReorder use BlockMap

* Increase LBL load factor, fix long-pack limit detection

* Fix infinite loop in chunk batching

* Save memory in history by cleaning up MSR

* Re-implement LocatedBlockList in BlockMap

* Fix data race with BlockType lazy fields

* Make IDs ALWAYS present, only runtime-consistent. Use for memory efficiency in BlockMap

* Remap inner structure of BlockMap for smaller maps

* Remove containedBlocks fields, not very efficient

* Fix minor de-optimizing bug in stage reorder

* Make long packed y signed

* Add extended Y limit configuration option

* Add licenses

* Store 3 ints for unoptimized BV list

* Add final to BitMath

* Correct int-cast for long-packing
2019-08-12 22:06:40 +10:00
2cc6a367c6 Move floatAt logic to AbstractPlayer, add isAllowedToFly and setFlying. 2019-07-23 22:16:26 -04:00
8545417b3a Fix error in /up when used out of bounds.
Also reduce calls to Entity#getLocation() all over since it's
more expensive than it needs to be (adapts world/vector every time).
2019-07-23 22:16:26 -04:00
d763ab374c Re-add delchunks command (#481)
The new command now writes a json file to WorldEdit's working directory with instructions on which chunks to delete, which is read by the plugin/mod at startup and calls the ChunkDeleter.
The chunk deleter parses the json and iterates the instructions, backing up .mca files as it goes and overwriting the offset headers with 0 wherever a chunk needs to be deleted.
This allows Minecraft to reclaim the space used for that chunk, as well as forcing it to be generated from scratch next time the area is loaded.
2019-06-22 14:20:14 -04:00
213cadf093 Import cleanup, ensure gradle uses https for deps, bump deps. 2019-06-13 09:17:00 -04:00
fd1178a3d0 Fix item interact event. 2019-06-11 18:02:24 -04:00
8022d8e911 Use ItemInteract for item right clicks in Sponge.
They don't fire for InteractBlock.

# Conflicts:
#	worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeWorldEdit.java
2019-06-06 13:22:18 -04:00
a3ca670a32 Fix sponge perms too.
Untested tho cuz 1.13 lol
2019-06-01 09:48:45 -04:00
6ad274677f Don't require command for CUI init. 2019-05-29 23:15:06 -04:00
8a3e6a12b9 Implement suggestions for Bukkit + Sponge 2019-05-05 23:06:20 -07:00
743d7f08ab Purge intake-like command system 2019-04-30 14:59:45 -07:00
62353a46db Added a pagination box and use it in Biome List and Chunk List 2019-04-27 21:57:45 +10:00
7ff537138a Merge master again 2019-04-26 01:25:42 -07:00
17fba54305 Update SpongeSchematic format to version 2.
Allows saving and loading entities and biomes.
2019-04-26 16:41:39 +10:00
853bfab022 Merge master, update to texts 2019-04-25 22:11:46 -07:00
1e7b4fc835 Move shaded libraries to their own artifacts 2019-04-20 23:11:39 -07:00
55348346e9 Shade in Kashike's lib 2019-04-19 14:49:29 +10:00
267ccf2298 First attempt at integrating Piston as the only command system 2019-04-15 01:21:15 -07:00
d6804737cf Switch to SLF4J logging. 2019-03-13 19:51:48 -07:00
db1315e043 Refactor registries to entirely use the platform 2019-02-16 19:35:13 +10:00
1b101740fe Use a proper registry for biomes 2019-02-16 17:27:00 +10:00
de7d9421b1 Add generics to other rawtypes 2018-12-26 16:45:46 -08:00
3fefcbf971 Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
66415dfa34 Fix BlockType and ItemType registration for Sponge distributive 2018-12-24 22:19:05 +04:00
53ddc3fac0 Fix Metrics injection 2018-12-24 16:02:13 +04:00
ea30578781 Added a way to get the spawn position of a world 2018-12-21 17:05:30 +10:00
c949b07df1 Added a method to teleport entities across worlds. 2018-12-21 16:56:10 +10:00
5eb9b779d7 Move the pasting system over to WorldEdit, and add a /we report command. Currently only reports system status and the config. Need to add a platform reporter system. 2018-12-18 19:28:55 +10:00
8f236afae9 Added a display name to Actors 2018-12-18 17:36:53 +10:00
7d468357e3 Added "fast mode corrections" 2018-12-09 16:27:02 +10:00
53bc730909 Merge pull request #435 from sk89q/feature/trace-unflushed-sessions
Add tracing for unflushed EditSessions
2018-11-04 17:21:25 +10:00
2c8b2fe089 Move vectors to static creators, for caching 2018-11-03 23:00:24 -07:00
399e0ad5fa Refactor vector system to be cleaner
- Move Vector, etc. into `.math` package
- Drop many methods that will be auto-promoted anyways, eg. with
`divide(int)` and `divide(double)` the first is now gone.
- Take Block vectors into their own class hierarchy
- Make it clear throughout the API what takes blockvectors
- many more improvements
2018-11-03 23:00:23 -07:00
351a8bbc6c Align configurate with yaml config 2018-10-30 18:45:53 -07:00
e1fbaaff59 Add tracing for unflushed EditSessions 2018-10-30 18:39:51 -07:00
02c6f11bb9 Added bStats 2018-09-20 22:59:42 +10:00
4969dac39c Potential minor performance improvements when checking fuzzy equality. 2018-09-20 16:56:46 +10:00
4d0df10f88 Fixed sessions not saving on shutdown 2018-08-19 13:01:08 +10:00
eba91cac5f Added a config option to entirely disable server side cui. 2018-08-18 19:42:45 +10:00
0cbfc9308e Add base of sendFakeBlock to Sponge and Forge impls 2018-08-18 19:35:53 +10:00
f54d6afb65 Make BaseBlock more memory efficient, and make it clear in the API that it's not intended to be used for every single block. 2018-08-10 20:29:06 +10:00
1480606b52 Fixed a few more issues found looking over the changeset. 2018-08-04 11:43:42 +10:00
663dd1f4d8 Added an entity, weathertype, and gamemode registry. 2018-08-04 11:43:41 +10:00
39c6a5e958 Fixed items not being registered 2018-08-04 11:43:40 +10:00
ca06a05117 Update the Bukkit adapter to the Spigot API Preview 2018-08-04 11:43:40 +10:00
ee6af8ee76 state stuff 2018-08-04 11:43:40 +10:00
40a665a509 package move 2018-08-04 11:43:40 +10:00
e1c2ea3a3b Update configs, and remove unused BlockData methods. 2018-08-04 11:43:40 +10:00