Commit Graph

1608 Commits (1f84e37473e53140135523abd1d77b7a633935cb)

Author SHA1 Message Date
Stefan Dollase 1f84e37473 Merge pull request #50 from toolbox4minecraft/re-enabled-player-moving-for-UNKNOWN-versions
re-enabled the move and save player functionality for UNKNOWN versions
2016-02-01 00:27:51 +01:00
Stefan Dollase ebbbf3ca8b re-enabled the move and save player functionality for UNKNOWN versions
This is also the behavior of Amidst v3.7.
2016-02-01 00:21:52 +01:00
Stefan Dollase 6a3675adb8 Merge pull request #46 from toolbox4minecraft/network-path-improvement
Add support for snapshots when -mcpath is a network path
2016-02-01 00:17:15 +01:00
Stefan Dollase 88139b9899 Merge pull request #49 from toolbox4minecraft/enable-stayAlive-for-windows-wrapper
enabled stayAlive for windows wrapper
2016-02-01 00:14:09 +01:00
Stefan Dollase ab2c03fa71 enabled stayAlive for windows wrapper 2016-02-01 00:08:44 +01:00
Stefan Dollase 65adafa2f5 refactorings 2016-01-31 23:47:50 +01:00
Stefan Dollase d232e52d8f Merge pull request #47 from toolbox4minecraft/polish-ProfileSelectWindow
Polish profile select window
2016-01-31 23:09:08 +01:00
Stefan Dollase 1e82eee83c refactorings 2016-01-31 23:06:16 +01:00
Stefan Dollase 16226ec691 Merge branch 'parallax-void-texture' 2016-01-31 22:42:18 +01:00
Stefan Dollase 25e917472f removed unused code 2016-01-31 22:28:47 +01:00
Treer c9a118c720 Display Void texture in parallax.
The void is no longer scaled and translated with the End islands, instead they "float" in a layer above it.
2016-01-31 22:25:37 +01:00
Stefan Dollase 6915055293 Merge pull request #44 from toolbox4minecraft/acceleration-indicator
Add graphics acceleration indicator to Debug widget
2016-01-31 22:23:00 +01:00
Stefan Dollase e9266d913b removed dot from fps widget and refactorings
* used only one instance of the counter class
* passed counter to the relevant parts via dependency injection
* removed counter from widget and fragment drawer since it does not really belong there
* removed dot from fps widget to reduce users confusion
2016-01-31 22:10:08 +01:00
Treer 71d1714163 Add graphics acceleration indicators to FPS and Debug widgets 2016-01-31 21:08:27 +01:00
Stefan Dollase f52b6c3bed Merge pull request #42 from toolbox4minecraft/world-icon-test
Test to ensure that the behavior of the world object does not change
2016-01-31 20:44:48 +01:00
Stefan Dollase 7ff6b4c38a added two more test worlds suggested by @Treer 2016-01-31 20:39:43 +01:00
Stefan Dollase 61dfd1952d added the testworld seeds "1" and "-1364077613" 2016-01-31 20:19:53 +01:00
Stefan Dollase 9d746530ed removed duplicate code 2016-01-31 20:04:51 +01:00
Stefan Dollase 6472621507 added igloos to 1.8.9 test world 2016-01-31 19:59:54 +01:00
Stefan Dollase d70a86e70f added end cities to the tests 2016-01-31 19:38:44 +01:00
Stefan Dollase 28a07bc8f6 added end islands to the tests 2016-01-31 19:28:30 +01:00
Stefan Dollase a80a4df6ca slime chunk algorithm is now tested ...
... for an area 2*2 fragments around origin
2016-01-31 18:46:26 +01:00
Stefan Dollase ae1bcf8bd0 enabled the preliminary test world for 16w02a which includes igloos 2016-01-31 18:33:37 +01:00
Stefan Dollase 4ee0472975 only coordinate collections with at least 5 entries are valid
* if it contains less than 5 entries, the test data generation will throw an exception
* this is to prevent meaningless testdata
* this rule does not apply to strongholds and the spawn
* now all strongholds will be taken into account, not only the strongholds that are placed into to test area
2016-01-31 18:29:15 +01:00
Stefan Dollase 0ea8e14ef8 moved classes 2016-01-31 18:10:43 +01:00
Stefan Dollase d5eef727fb adjusted testdata location to package structure 2016-01-31 18:10:21 +01:00
Stefan Dollase 519d5272fd refactored the test code
* improved the code
* switched biome data storage format to protobuf (binary)
* switched back to json (see reasons below)
* switched biome data serialization strategy
* added mechanism to test specific entries for specific worlds
* squashed commits to prevent git from storing the outdated big testdata files forever

And this are the old detailed commit messages:

changed strategy for biome data storage

* it now tracks and stores all biome data requests while the other test data are created
* the same request during the running test will offer the same response as during the test data generation
* this greatly simplifies the code, makes the size of the test data much smaller and the testdata creation and loading much faster

removed the binary test data storage

* switched back to json
* did not serve a significant better result (time and space)
* protobuf documentation discourages the use for large messages
* I want to not use code generation whenever possible because
  * it contains warnings
  * it is differently formatted than the hand written code
  * it makes the build process more complicated

Here are the stats:
                  json        binary    binary packed
test time:       13,193 s     9,838 s      9,333 s
complete:         6,4 mb      6,1 mb       6,1 mb
uncompressed:   260,8 mb    212,5 mb     212,5 mb

complete is the compressed size of all zip files. uncompressed is the uncompressed size of the full-resolution biome data. We see, that the compression removes a big portion of the space advantage that would be served by the binary format. The binary packed format seems to not be any better than the default binary format. Just the few seconds are not really worth the disadvantages listed above.

fixed bugs in test data generation

* test world generation now omits unsupported entries
* creation of an empty coordinates collection throws an exception to prevent the usage of empty testdata

switched BiomeData to binary storage format

rename refactorings and adjustments to the protobuf format

added equalityChecker to TestWorldEntryDeclaration

used the method TestWorldDeclaraion.isSupported() ...

... to allow that only specific features are tested for special test worlds

enhanced readability of test world entry declaration

more refactorings for the testworld code

extracted the class TestWorld from the class TestWorldDirectory

renamed and moved classes

moved write and read methods to entry declaration

added protobuf

* library
* license
* testdata declarations
* generated code from testdata declarations

improved testdata storage

* split up the single zip file into multiple small ones to only change as few data as possible, when they need to be changed
* removed timestamp from zip files to make them reproducible

removed many usages of TestWorldDeclaration by exposing the regocnised version from the world object
2016-01-31 16:41:04 +01:00
Treer ffcef6ab5c Remove obsolete comment :/ 2016-01-30 22:43:10 +11:00
Treer dc21e1ccb0 Fix tabs :/ 2016-01-30 22:34:01 +11:00
Treer d42383d5af Handle launcher_profiles.json with empty profiles array
or launcher_profiles.json with profile format changed to something we don't know.
2016-01-30 22:28:42 +11:00
Treer 7ca1e774b5 Prevent ProfileSelectWindow from growing beyond height of screen
This is based on 3a51759e8a
2016-01-30 22:17:32 +11:00
Treer 4f78fbc24c Add support for snapshots when -mcpath is a network path 2016-01-30 02:25:00 +11:00
Stefan Dollase f307702b09 duplicated the class DevToolSettings
... to make it available to the test classes. The tests actually do not need it. However, it is used in the test data generator.

In the future, we should move the devtools to the test source folder and removed the extra devtools source folder to prevent stuff like this.
2016-01-25 02:15:43 +01:00
Stefan Dollase da26a17f3b added world icon test
To prevent the need to make the minecraft jar file and libraries available on travis ci, this test uses previously generated testdata to ensure that the generated world icons are still the same as when the test data where generated. It is true, that this uses the production code to generate the test data, however, this is not an issue, because the test data are stored and not generated every time the test is executed. All in all, the test checks whether the generated world icons have changed since the test data where generated. It does not ensure, that the world icons are correct (meaning like minecraft generates them).

The test:
* loads the biome data from the test data
* loads the world icons
* creates a fake minecraft interface that provides the stored biome data
* creates a world object using the fake minecraft interface
* generates all world icons using the world object
* compares the generated world icons to the loaded world icons

The test data contains all biome data in the test area as well as all world icons. The test area is 10 fragments in all directions from [0, 0] ([-5120, -5120] to [5120, 5120]). The world icons are generated for the inner 10 - 1 = 9 fragments ([-4608, -4608] to [4608, 4608]). This prevents the world icon producers to request biome data that have not been stored. The test data are stored in a zip-file to prevent them from taking up to much space. One world requires about 6.5 MB (compressed). Thus, we should not add to much test worlds and not change them very often to prevent the repository from getting too big. An alternative would be stored the testdata somewhere else than in the repository. However, they have to be available for travis ci, so this will be the solution for now.

* The End Cities are currently not included.
* The current seed is "amidst-test-seed" using the default world type and minecraft version 1.8.9.
* The test data are generated by running the test in the class DevToolRunner.
2016-01-25 02:05:37 +01:00
Stefan Dollase 471d1d7245 Merge pull request #41 from Treer/master
Make End cities more accurate
2016-01-24 18:35:23 +01:00
Treer eac81d5777 Make End cities more accurate
Fixes bug where the influence of all nearby islands wasn't taken into account.
2016-01-24 21:51:57 +11:00
Stefan Dollase a9b41aec3c updated to Amidst v4.0-beta6 2016-01-15 23:07:27 +01:00
Stefan Dollase 0202e4feed Merge pull request #38 from toolbox4minecraft/new-snapshot-recognition
added recognition for the snapshot 16w02a
2016-01-15 23:06:10 +01:00
Stefan Dollase 0ae1ee638e added recognition for the snapshot 16w02a 2016-01-15 23:03:06 +01:00
Stefan Dollase 233c12feec Merge pull request #37 from toolbox4minecraft/world-spawn-from-file
the world spawn is now read from the level.dat file
2016-01-15 22:44:49 +01:00
Stefan Dollase 885ecbe1ac the world spawn is now read from the level.dat file 2016-01-15 22:36:48 +01:00
Stefan Dollase c6a0c2661e Merge pull request #36 from toolbox4minecraft/high-resolution-icon
added high resolution icons
2016-01-15 21:44:53 +01:00
Stefan Dollase 2a81e44339 added high resolution icons
* directly added files for all operating systems
* removed scripts to generate icons
* used multiple resolution pngs in the code
2016-01-15 21:35:54 +01:00
Stefan Dollase aedac8621a Merge pull request #35 from toolbox4minecraft/improved-usability-of-crash-window
Improved usability of the crash window
2016-01-15 19:35:01 +01:00
Stefan Dollase ae526cb08a improved crash window
* added request to create a github issue for the crash
* added url to create a github issue
* url is copyable
* removed noisy text
2016-01-15 19:32:08 +01:00
Stefan Dollase fcca2fd589 Merge pull request #34 from toolbox4minecraft/worker-refactoring
refactored the worker framework
2016-01-15 19:27:54 +01:00
Stefan Dollase 9531c7dc1d refactored the worker framework
* replaced inner classes by functional interfaces
* added progress listener, that is also executed in the EDT
* cleaned up the code
2016-01-15 19:02:38 +01:00
Stefan Dollase 2e30e3a903 updated to Amidst v4.0-beta5 2016-01-14 18:56:09 +01:00
Stefan Dollase dc6f5b8d18 Merge pull request #29 from toolbox4minecraft/bug-fixing
Bug fixing
2016-01-14 18:54:28 +01:00
Stefan Dollase 6d30f03f74 possible fix for issue #26
* this does not change the behavior on linux
* hopefully, it does fix the issue on windows
2016-01-14 18:42:59 +01:00