Commit Graph

100 Commits

Author SHA1 Message Date
Kenzie Togami
1ba02c54b7
Completely rewrite the expression parser in ANTLR. 2019-10-18 22:27:31 -07:00
MattBDev
16e24a2400 Created an Item Registry Test (non-functional) 2019-09-19 11:30:22 -04:00
MattBDev
3bcfcd3008 Fixed bug with wands and updated tests 2019-09-18 15:09:04 -04:00
Jesse Boyd
4e49d16505
fix dependencies 2019-08-26 05:45:03 +01:00
MattBDev
f8758994c3 gradle updates 2019-08-15 15:39:20 -04: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
Kenzie Togami
3a5170a0e8
Potenially fix quoted string completion 2019-07-27 18:12:18 -07:00
Kenzie Togami
c1f4eecd77
Narrow timeout test exception type 2019-07-15 17:18:10 -07:00
Kenzie Togami
5c5c822f4b
Replace try-fail-catch-assert with assertThrows 2019-07-15 16:38:34 -07:00
Kenzie Togami
429d022752
Move Core to JUnit 5 2019-07-15 16:38:33 -07:00
wizjany
213cadf093 Import cleanup, ensure gradle uses https for deps, bump deps. 2019-06-13 09:17:00 -04:00
wizjany
aed25fce7c Add license. 2019-05-11 21:36:13 -04:00
Kenzie Togami
a2b67f8ddb
Re-write EventBus to be faster 2019-05-10 05:01:01 -07:00
Kenzie Togami
8a3e6a12b9 Implement suggestions for Bukkit + Sponge 2019-05-05 23:06:20 -07:00
Jesse Boyd
ed83ef1aa7
disable transform test for now 2019-04-05 18:20:27 +11:00
Jesse Boyd
94d5d8df8e
Merge branch 'master' into breaking 2019-04-05 15:47:04 +11:00
Jesse Boyd
f361619037
Merge remote-tracking branch 'upstream/master' into breaking 2019-04-03 16:53:34 +11:00
matt
29692f3fbe Migrate to SLF4J 2019-04-02 18:21:02 -04:00
Jesse Boyd
92a7bd5e44
minor tweak for mutable vectors 2019-04-01 03:09:20 +11:00
matt
85bfd16d7c Code cleaning
Most notable change: Remove redundant type parameters and replaced with <>. This is a small step to bring us closer to upstream parity.
2019-03-25 19:55:32 -04:00
Kenzie Togami
d6804737cf
Switch to SLF4J logging. 2019-03-13 19:51:48 -07: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
Matthew Miller
db1315e043 Refactor registries to entirely use the platform 2019-02-16 19:35:13 +10: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
IronApollo
f74381b93f Merge remote-tracking branch 'refs/remotes/isfawe/new-vector-system' into new-vector-system 2019-01-13 02:00:14 -05:00
Kenzie Togami
4d6045813c Move vectors to static creators, for caching 2019-01-10 07:17:04 -05:00
Byron Marohn
ab6aed703d Merge current FAWE master (227d6d91) into new-vector-system
Signed-off-by: Byron Marohn <combustible@live.com>
2019-01-09 22:35:26 -08:00
IronApollo
842b1307c7 Current Progress #3 2019-01-09 02:13:44 -05:00
IronApollo
d4157b7e0e Current progress with update 2018-12-23 11:19:33 -05:00
Byron Marohn
c0fa1602ad Restore the formatting of many things to upstream WorldEdit - no code changes
This patch touches many files but changes absolutely no functionality.
The goal here is to make future merges with worldedit produce fewer
conflicts that have to be resolved.

This patch was made by painstakingly diff'ing files and copying changes
over from the last upstream merge commit (02c6f11b) into this codebase.

Signed-off-by: Byron Marohn <combustible@live.com>
2018-12-20 11:33:56 -08:00
Matthew Miller
700e41b706 Remove the final stage committer from the MultiStageReorder extent, as it caused issues and no longer appears to be entirely necessary. 2018-12-13 20:30:54 +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
e16dacc11e
Small patches for timed-calc post-1.12-merge 2018-10-11 17:25:06 -07:00
Kenzie Togami
21db86f26b
Register a platform for expression tests 2018-10-11 17:18:52 -07:00
Kenzie Togami
bb923aeb59
Attach a configurable timeout to expression evaluation 2018-10-11 17:18:52 -07:00
Jesse Boyd
a629d15c74
Copy paste/merge FAWE classes to this WorldEdit fork
- so certain people can look at the diff and complain about my sloppy code :(

Signed-off-by: Jesse Boyd <jessepaleg@gmail.com>
2018-08-13 00:03:07 +10:00
Matthew Miller
5f4cc3e694 Cleanup a little bit more code. 2018-08-06 19:08:15 +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
e1c2ea3a3b Update configs, and remove unused BlockData methods. 2018-08-04 11:43:40 +10:00
kashike
a48c319e7e package move 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
e99190225e Further BaseBlock modernisation 2018-08-04 11:43:39 +10:00
Matthew Miller
b292a39765 Fixed the fuzzy matcher 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
41a80064f5 I guarantee this is broken. Start some form of string ID for blocks 2018-08-04 11:43:14 +10:00
wizjany
b3fbe8b7a5 Update blocks.json.
This fixes a lot of issues with block rotations for various blocks.
Additionally, the //info tool will now report states (only works for
states that use data values) for easier lookups.

Note that some doors still have update issues, and //fast is needed
to paste them if they drop as items.
2016-05-15 04:02:35 -04:00
wizjany
ddc741147e Fix button rotation, add support for up/down flipping and restore unit test functionality. 2015-01-23 00:28:05 -05:00
sk89q
7192780251 Switch to Gradle. Use git log --follow for history.
This converts the project into a multi-module Gradle build.

By default, Git does not show history past a rename, so use git log
--follow to see further history.
2014-11-14 11:27:39 -08:00