157 Commits

Author SHA1 Message Date
Dylan K. Taylor
202aef9846 fix failing tests 2019-02-26 16:35:33 +00:00
Dylan K. Taylor
d7e73705c2 consistency check regen script now emits which states were added/removed 2019-02-26 16:35:14 +00:00
Dylan K. Taylor
6cb263fcca BlockFactory: enforce stricter checks
this can help catch out variant-related bugs.
2019-02-24 17:59:09 +00:00
Dylan K. Taylor
023fecabac Added an annoying consistency check for BlockFactory
This test is intended to enforce that the BlockFactory always has the same blocks in it from one commit to the next. Since there are a lot of changes going on right now around this, it's important that this is checked because bugs can go under the radar when large changes are happening.

The consistency check will need to be regenerated whenever a new block is registered, new states are found or when things are removed.
2019-02-24 13:56:55 +00:00
Dylan K. Taylor
f669677d17 BlockTest: fixed failing test
this is a bad fix, but it doesn't matter a whole lot. The problem stems from furnace not having a valid 0 variant, so things go haywire when the default mapped 0 variant is registered to LIT_FURNACE because the default state is of course unlit.
2019-02-22 18:56:14 +00:00
Dylan K. Taylor
707faef0f7 BlockTest: remove redundant name test
name is mandatory in the constructor now, so this isn't necessary anymore.
2019-02-22 18:54:21 +00:00
Dylan K. Taylor
6ab171d629 Fixed unit tests 2019-02-21 10:41:06 +00:00
Dylan K. Taylor
9354929cad added a whole bunch of tests for enchantment handling 2019-02-20 14:43:57 +00:00
Dylan K. Taylor
15d4201c3a Fixed tests broken by 88c4b836f09278a2d81a14356ff3c29ce465de1d 2019-02-20 11:16:08 +00:00
Dylan K. Taylor
1a8a04eab8 Merge branch '3.5' 2019-02-07 17:12:49 +00:00
Dylan K. Taylor
2822465f33 Updated submodules 2019-02-07 16:20:45 +00:00
Dylan K. Taylor
519f6e2668 Merge branch '3.5' 2019-01-26 12:08:21 +00:00
Dylan K. Taylor
c83b7d9b69 Utils: fixed getNiceClosureName() not processing namespaced closures properly 2019-01-26 12:08:07 +00:00
Dylan K. Taylor
d3f9d1f3e7 Merge branch '3.5' 2019-01-19 13:57:42 +00:00
Dylan K. Taylor
cd98e6a23e Updated PreProcessor submodule 2019-01-19 13:57:17 +00:00
Dylan K. Taylor
10ac322b8f Merge branch 'release/3.5' 2018-12-29 00:04:33 +00:00
Dylan K. Taylor
beb5d72299 RegionLoader: fix off-by-one bug with large chunks, closes #2615 2018-12-29 00:02:54 +00:00
Dylan K. Taylor
7f0667a1f0 Merge branch 'release/3.4' 2018-12-09 15:36:23 +00:00
Dylan K. Taylor
23dc6e09d8 Sync DevTools submodule 2018-12-09 15:34:06 +00:00
Dylan K. Taylor
20f0e344d6 Merge branch 'release/3.4' 2018-11-26 14:02:59 +00:00
Dylan K. Taylor
545ec9c881 Updated PreProcessor submodule 2018-11-26 14:02:23 +00:00
Dylan K. Taylor
67a5f3f557 Register MainLogger as SPL global, remove hard MainLogger dependency from many areas, break a bunch of cyclic dependencies 2018-11-05 19:01:59 +00:00
Dylan K. Taylor
ce7718f0d1 Move resources/ directory out of src/
this isn't source code and as such doesn't belong in here.
2018-11-05 09:46:43 +00:00
Dylan K. Taylor
3760307a88 Merge branch 'release/3.4' 2018-10-29 12:42:29 +00:00
Dylan K. Taylor
2da2fdd6d4 Added a test for Item->equals() when both items have no NBT 2018-10-29 12:42:03 +00:00
Dylan K. Taylor
9284e53f9e Added failing test case for #2483 2018-10-19 15:29:00 +01:00
Dylan K. Taylor
d583dc25c3 Merge branch 'release/3.3' 2018-10-10 13:45:31 +01:00
Dylan K. Taylor
2858db430e Fixed AsyncTask publishProgress() race condition on task exit
It's possible for a progress update to be lost due to the task finishing before the main thread found the progress update.
2018-10-10 13:41:15 +01:00
Dylan K. Taylor
6ac0c517f5 Improve and simplify AsyncTask thread-local storage
This is now self-maintaining and doesn't rely on the async pool to wipe its ass on task completion. Instead, the garbage collector will cause thread-local data to be automatically released when the async task is garbage-collected on the main thread.
2018-10-08 12:48:44 +01:00
Dylan K. Taylor
cdb17b1cee Fixed broken test 2018-10-06 17:39:11 +01:00
Dylan K. Taylor
495a0b1dc2 Merge branch 'release/3.3' 2018-10-05 18:11:33 +01:00
Dylan K. Taylor
cf20e626e2 Merge branch 'release/3.1' into release/3.2 2018-10-05 17:43:54 +01:00
Dylan K. Taylor
d75c830a7e Add -f parameter to lint.sh to allow it to not be useless in cygwin
find can conflict with windows' built in find command, which causes it to bug out when running tests.
2018-10-05 17:43:45 +01:00
Dylan K. Taylor
f787552e97 Remove LevelProvider::getProviderName()
This is problematic because child level providers can forget to override the provider name of their parents, and then override them by error. Instead, they should be used in a mapping fashion to make sure they are unique and not inherited.
Also, the old method did not permit registering multiple aliases for the same provider. This now makes that possible.
2018-10-04 14:56:42 +01:00
Dylan K. Taylor
56d9943b0d Nuke Block->meta, split into variant and state properties, lots of cleanup
This is a major change to the way block metadata is handled within the PM core. This separates variant metadata (which really ought to be part of the ID) from state metadata, and in a couple of cases flattens separate states of blocks together.

The result of this is that invalid variants can be much more easily detected, and additionally state handling is much cleaner since meta is only needed at the serialize layer instead of throughout the code.
2018-09-21 19:28:10 +01:00
Dylan K. Taylor
37190c9a65 Apply typehints to all AsyncTask methods
Since we're breaking API here anyway, no point in holding back on this.
2018-09-10 15:54:01 +01:00
Dylan K. Taylor
d62e00cc74 AsyncPool: Remove Server dependency (API breaks included)
This brings two plugin-breaking changes: AsyncTask->onCompletion() and AsyncTask->onProgressUpdate() no longer accept Server parameters.

This now allows for the functionality of AsyncPool and AsyncTask to be tested outside of a Server.
2018-09-10 15:48:59 +01:00
Dylan K. Taylor
b629738312 Merge branch 'release/3.2' 2018-08-19 14:06:34 +01:00
Dylan K. Taylor
21e7b5ea43 TesterPlugin: removed usage of deprecated ServerCommandEvent 2018-08-19 14:05:26 +01:00
Dylan K. Taylor
8304675af7 Merge branch 'release/3.1' into release/3.2 2018-08-19 13:59:58 +01:00
Dylan K. Taylor
0cdf4d0c55 Spoon the TesterPlugin into the main repository
I am eating my own words this once, because having the tester plugin as a separate repository makes no sense - it is just added barriers to writing proper tests with no actual benefit. Since the tester plugin is specifically intended for CI, it doesn't make sense for it to be in its own module.
2018-08-19 13:58:13 +01:00
Dylan K. Taylor
e6e28b74b5 Nuke the TesterPlugin submodule 2018-08-19 13:47:43 +01:00
Dylan K. Taylor
3a1f0eca7c Merge branch 'release/3.2' 2018-08-19 11:23:04 +01:00
Dylan K. Taylor
9d17c9a09d Merge branch 'release/3.1' into release/3.2 2018-08-19 11:22:58 +01:00
Dylan K. Taylor
3892f2f404 Config: Properly prevent keys getting transformed into bools
The original regex almost completely failed at its objective, because it a) only worked if there was no value for the key, and b) did not prevent all such occurrences getting transformed, while quoting patterns that would not get transformed anyway.
2018-08-19 11:22:36 +01:00
Dylan K. Taylor
9ad30e239a Merge branch 'release/3.2' 2018-08-19 10:37:20 +01:00
Dylan K. Taylor
bfa415e108 Add unit tests for json decoding hack 2018-08-19 10:30:52 +01:00
Dylan K. Taylor
9c94ebcf82 Updated DevTools submodule to get bloat fixes 2018-08-08 16:58:13 +01:00
Dylan K. Taylor
e016693779 Test one extra case for LevelProviderManager 2018-07-26 15:17:16 +01:00
Dylan K. Taylor
73afa22f50 Merge branch 'release/3.1' 2018-07-17 14:53:03 +01:00