Commit Graph

216 Commits

Author SHA1 Message Date
Matthew Miller
ded86d4872 Fixed issues brought up in review 2019-11-18 19:50:52 +10:00
Matthew Miller
96e56bdd0c Rebase translation work for easier rebasing 2019-11-16 22:42:14 +10:00
Kenzie Togami
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
Matthew Miller
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
Kenzie Togami
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
wizjany
2cc6a367c6 Move floatAt logic to AbstractPlayer, add isAllowedToFly and setFlying. 2019-07-23 22:16:26 -04:00
wizjany
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
MattBDev
8108d0a936 Major command changes that don't work yet. 2019-07-16 23:44:34 -04:00
Kenzie Togami
5a14693aa9
Migrate Sponge, Libs to Kotlin DSL 2019-07-12 13:49:45 -07:00
Kenzie Togami
19802e478c
Re-write root and libs to Kotlin DSL 2019-07-12 13:49:45 -07:00
Kenzie Togami
eccbad92e8
Move away from deprecation, move dependencies towards buildSrc 2019-07-12 13:49:45 -07:00
wizjany
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
wizjany
213cadf093 Import cleanup, ensure gradle uses https for deps, bump deps. 2019-06-13 09:17:00 -04:00
wizjany
fd1178a3d0 Fix item interact event. 2019-06-11 18:02:24 -04:00
wizjany
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
wizjany
a3ca670a32 Fix sponge perms too.
Untested tho cuz 1.13 lol
2019-06-01 09:48:45 -04:00
wizjany
6ad274677f Don't require command for CUI init. 2019-05-29 23:15:06 -04:00
Kenzie Togami
8a3e6a12b9 Implement suggestions for Bukkit + Sponge 2019-05-05 23:06:20 -07:00
Kenzie Togami
743d7f08ab
Purge intake-like command system 2019-04-30 14:59:45 -07:00
Matthew Miller
62353a46db Added a pagination box and use it in Biome List and Chunk List 2019-04-27 21:57:45 +10:00
Kenzie Togami
7ff537138a
Merge master again 2019-04-26 01:25:42 -07:00
wizjany
17fba54305 Update SpongeSchematic format to version 2.
Allows saving and loading entities and biomes.
2019-04-26 16:41:39 +10:00
Kenzie Togami
853bfab022
Merge master, update to texts 2019-04-25 22:11:46 -07:00
Kenzie Togami
5c19866809
Some fixes for new libs shading 2019-04-20 23:33:54 -07:00
Kenzie Togami
1e7b4fc835
Move shaded libraries to their own artifacts 2019-04-20 23:11:39 -07:00
Matthew Miller
5b1573a24e Replace the message system 2019-04-19 23:06:00 +10:00
Matthew Miller
55348346e9 Shade in Kashike's lib 2019-04-19 14:49:29 +10:00
Kenzie Togami
267ccf2298
First attempt at integrating Piston as the only command system 2019-04-15 01:21:15 -07:00
Jesse Boyd
f361619037
Merge remote-tracking branch 'upstream/master' into breaking 2019-04-03 16:53:34 +11:00
Kenzie Togami
d6804737cf
Switch to SLF4J logging. 2019-03-13 19:51:48 -07:00
Matthew Miller
db1315e043 Refactor registries to entirely use the platform 2019-02-16 19:35:13 +10:00
Matthew Miller
1b101740fe Use a proper registry for biomes 2019-02-16 17:27:00 +10:00
Kenzie Togami
94ebb81e92 Add generics to other rawtypes 2019-02-03 05:54:05 -05:00
Kenzie Togami
590b7e23a9 Remove all raw usages of BSH, improve API generics 2019-02-03 05:01:39 -05:00
gamerforEA
22f8372b89 Fix BlockType and ItemType registration for Sponge distributive 2019-02-03 03:51:36 -05:00
gamerforEA
ea0ca470f1 Fix Metrics injection 2019-02-03 03:51:15 -05:00
Matthew Miller
9c3964d330 Added a way to get the spawn position of a world 2019-02-02 11:29:51 -05:00
Matthew Miller
c935e381b7 Added a method to teleport entities across worlds. 2019-02-02 11:23:02 -05:00
Matthew Miller
45f1de6009 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. 2019-02-02 11:20:36 -05:00
Matthew Miller
54142c8669 Added a display name to Actors 2019-02-02 09:37:14 -05:00
Matthew Miller
e88b8c961d Added "fast mode corrections" 2019-02-02 09:21:16 -05:00
Matthew Miller
f3c633582e Finish removal of PlayerDirection, and partially added diagonal support back to commands. (Other minor changes to WorldEdit-Sponge and FAVS) 2019-02-02 08:43:57 -05:00
Matthew Miller
628c9cc0b7 Make BaseBlock more memory efficient, and make it clear in the API that it's not intended to be used for every single block. 2019-01-10 09:54:21 -05:00
Kenzie Togami
4d6045813c Move vectors to static creators, for caching 2019-01-10 07:17:04 -05:00
Kenzie Togami
de7d9421b1
Add generics to other rawtypes 2018-12-26 16:45:46 -08:00
Kenzie Togami
3fefcbf971
Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
gamerforEA
66415dfa34 Fix BlockType and ItemType registration for Sponge distributive 2018-12-24 22:19:05 +04:00
gamerforEA
2e62389bdc Update SpongeAPI 2018-12-24 16:07:09 +04:00
gamerforEA
53ddc3fac0 Fix Metrics injection 2018-12-24 16:02:13 +04:00
IronApollo
d4157b7e0e Current progress with update 2018-12-23 11:19:33 -05:00
Matthew Miller
ea30578781 Added a way to get the spawn position of a world 2018-12-21 17:05:30 +10:00
Matthew Miller
c949b07df1 Added a method to teleport entities across worlds. 2018-12-21 16:56:10 +10:00
Matthew Miller
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
Matthew Miller
8f236afae9 Added a display name to Actors 2018-12-18 17:36:53 +10:00
Matthew Miller
7d468357e3 Added "fast mode corrections" 2018-12-09 16:27:02 +10:00
Matthew Miller
e0dcd2e9c2 Disable signing task when not signing. 2018-11-18 14:28:37 +10:00
Matthew Miller
bf98dcff09 Updated bStats 2018-11-10 19:26:46 +10:00
Matthew Miller
53bc730909
Merge pull request #435 from sk89q/feature/trace-unflushed-sessions
Add tracing for unflushed EditSessions
2018-11-04 17:21:25 +10:00
Kenzie Togami
2c8b2fe089
Move vectors to static creators, for caching 2018-11-03 23:00:24 -07:00
Kenzie Togami
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
Kenzie Togami
351a8bbc6c
Align configurate with yaml config 2018-10-30 18:45:53 -07:00
Kenzie Togami
e1fbaaff59
Add tracing for unflushed EditSessions 2018-10-30 18:39:51 -07:00
Matthew Miller
d1cb6e2156 compileOnly breaks shadowJar. bStats needs to fix their repos. 2018-10-10 23:22:38 +10:00
Matthew Miller
e3001586e5 Make bStats compileOnly so transitive projects won't load it, Jitpack has issues. 2018-10-10 19:39:09 +10:00
Matthew Miller
cf7ce70802 Skip signing in artefactory publish 2018-10-10 17:09:20 +10:00
Matthew Miller
bf38b371d8 Update bStats because they deleted their old repo. 2018-10-10 16:59:18 +10:00
Matthew Miller
6ecbf19406 Properly rotate fences etc 2018-10-08 22:32:26 +10:00
Jesse Boyd
cfbf7dbec0
Update from sk89q/master 2018-09-25 15:35:21 +10:00
Matthew Miller
02c6f11bb9 Added bStats 2018-09-20 22:59:42 +10:00
Matthew Miller
4969dac39c Potential minor performance improvements when checking fuzzy equality. 2018-09-20 16:56:46 +10:00
Matthew Miller
4d0df10f88 Fixed sessions not saving on shutdown 2018-08-19 13:01:08 +10:00
Matthew Miller
eba91cac5f Added a config option to entirely disable server side cui. 2018-08-18 19:42:45 +10:00
Matthew Miller
0cbfc9308e Add base of sendFakeBlock to Sponge and Forge impls 2018-08-18 19:35:53 +10:00
Jesse Boyd
1740c845d2
What are the dud BlockCategories? 2018-08-14 11:00:44 +10:00
Matthew Miller
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
Matthew Miller
1480606b52 Fixed a few more issues found looking over the changeset. 2018-08-04 11:43:42 +10:00
Matthew Miller
663dd1f4d8 Added an entity, weathertype, and gamemode registry. 2018-08-04 11:43:41 +10:00
Matthew Miller
39c6a5e958 Fixed items not being registered 2018-08-04 11:43:40 +10:00
Matthew Miller
ca06a05117 Update the Bukkit adapter to the Spigot API Preview 2018-08-04 11:43:40 +10:00
kashike
ee6af8ee76 state stuff 2018-08-04 11:43:40 +10:00
kashike
40a665a509 package move 2018-08-04 11:43:40 +10:00
Matthew Miller
e1c2ea3a3b Update configs, and remove unused BlockData methods. 2018-08-04 11:43:40 +10:00
kashike
d33e2e98aa registry changes 2018-08-04 11:43:40 +10:00
kashike
a48c319e7e package move 2018-08-04 11:43:40 +10:00
Matthew Miller
7db443a69a Migrate the logic for which pass a block goes into. Also updated it and made it use tags where possible. 2018-08-04 11:43:40 +10:00
Matthew Miller
e291cccb94 Move simulateBlockMine up to the platforms. 2018-08-04 11:43:40 +10:00
Matthew Miller
b06937d1c8 Setup a legacy mapper system. The file does not exist yet. 2018-08-04 11:43:39 +10:00
Matthew Miller
282eca7663 Added a category system and refactored registries 2018-08-04 11:43:39 +10:00
Matthew Miller
484687a49d Further work on BlockState transition 2018-08-04 11:43:39 +10:00
Matthew Miller
e99190225e Further BaseBlock modernisation 2018-08-04 11:43:39 +10:00
Matthew Miller
5f5a1797ad Remove legacy ServerInterface 2018-08-04 11:43:39 +10:00
Matthew Miller
e2608bc0c9 Further modernise and remove legacy item classes 2018-08-04 11:43:39 +10:00
Matthew Miller
aaaf2d5678 More deprecation removal 2018-08-04 11:43:38 +10:00
Matthew Miller
20bf6e079b Continue the great purge 2018-08-04 11:43:38 +10:00
Matthew Miller
d5012bb072 Rename legacy things to bundled things. 2018-08-04 11:43:14 +10:00
Matthew Miller
f5f1d357d9 Get rid of the string equality and convert a few more ID uses over. 2018-08-04 11:43:14 +10:00
Matthew Miller
41a80064f5 I guarantee this is broken. Start some form of string ID for blocks 2018-08-04 11:43:14 +10:00
Qveshn
f680635ded Added customizable command log format (Date+Time are now available)
Added the option format to config files (config.yml + worldedit.properties). By default, current date and time are displayed.
The formatting function is implemented by analogy with the class java.util.logging.SimpleFormatter
2018-05-19 18:47:45 +03:00
Matthew Miller
2a3318b848 Added signing plugin 2018-01-14 12:41:14 +10:00
Matthew Miller
50f60da69f Prevent players and complex parts being pasted in schematics. 2018-01-02 20:49:36 +10:00