Commit Graph

35 Commits

Author SHA1 Message Date
Kenzie Togami
257988b149
Add tests for expressions listed on the docs 2019-10-27 15:15:59 -07:00
Kenzie Togami
777b132a04
Catch small edge-case in parser 2019-10-27 12:58:32 -07:00
Kenzie Togami
b0528f157a
Improve timeout tracking for expressions 2019-10-26 16:18:59 -07:00
Kenzie Togami
1ba02c54b7
Completely rewrite the expression parser in ANTLR. 2019-10-18 22:27:31 -07: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
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
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
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