{"action":"created","issue":{"url":"https://api.github.com/repos/toolbox4minecraft/amidst/issues/169","repository_url":"https://api.github.com/repos/toolbox4minecraft/amidst","labels_url":"https://api.github.com/repos/toolbox4minecraft/amidst/issues/169/labels{/name}","comments_url":"https://api.github.com/repos/toolbox4minecraft/amidst/issues/169/comments","events_url":"https://api.github.com/repos/toolbox4minecraft/amidst/issues/169/events","html_url":"https://github.com/toolbox4minecraft/amidst/pull/169","id":154810650,"number":169,"title":"Seed Search Enhancements","user":{"login":"jmessenger235","id":5788607,"avatar_url":"https://avatars.githubusercontent.com/u/5788607?v=3","gravatar_id":"","url":"https://api.github.com/users/jmessenger235","html_url":"https://github.com/jmessenger235","followers_url":"https://api.github.com/users/jmessenger235/followers","following_url":"https://api.github.com/users/jmessenger235/following{/other_user}","gists_url":"https://api.github.com/users/jmessenger235/gists{/gist_id}","starred_url":"https://api.github.com/users/jmessenger235/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmessenger235/subscriptions","organizations_url":"https://api.github.com/users/jmessenger235/orgs","repos_url":"https://api.github.com/users/jmessenger235/repos","events_url":"https://api.github.com/users/jmessenger235/events{/privacy}","received_events_url":"https://api.github.com/users/jmessenger235/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/toolbox4minecraft/amidst/labels/feature","name":"feature","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-05-13T22:14:46Z","updated_at":"2016-05-31T20:54:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/toolbox4minecraft/amidst/pulls/169","html_url":"https://github.com/toolbox4minecraft/amidst/pull/169","diff_url":"https://github.com/toolbox4minecraft/amidst/pull/169.diff","patch_url":"https://github.com/toolbox4minecraft/amidst/pull/169.patch"},"body":"Implemented a number of features discussed in #120. This PR does the following:\r\n\r\nSets structure filters to have the setting minimum defaulted to 1 to make usage easier.\r\n\r\nSet continuousSearch to default to false so it is not a required setting.\r\n\r\nAdded a search setting to allow a user to set the starting seed for a search so that searches can be done without concerns of PRNG problems for longer searches.\r\n\r\nAdded the ability to search for witch hut clusters of 2-4.\r\n\r\nBuffered the biome data on a search basis for better performance and lower memory usage. In some test cases memory usage was reduced by 7/8ths.\r\n\r\nAdded search groups and scoring for different filters to enhance traceability of logged results and to allow multiple searches to be run on the seed without having to do multiple separate searches.\r\n\r\nAdded a higher detail log (SearchResults.txt) that is created or appended to when a search is running.\r\n\r\nAdded a search name to improve the traceability of search in the log.\r\n\r\nAll behavior has also been documented [here](https://github.com/jmessenger235/amidst/wiki/Demo) and can be moved to the wiki when the PR is merged.\r\n\r\nThe code changes were tested with the following filters and have comments on the reason:\r\n```javascript\r\n// basic test to check that scoring, naming, and grouping were working correctly\r\n{\r\n  \"continuousSearch\": true,\r\n  \"searchName\": \"Test Search\",\r\n  \"biomeFilters\": [\r\n    {\"distance\": 512, \"biomes\": [\"Mushroom Island\", \"Mushroom Island M\"]},\r\n    {\"distance\": 512, \"biomes\": [\"Ice Plains Spikes\"], \"group\": \"Ice\"},\r\n    {\"distance\": 512, \"biomes\": [\"Mega Spruce Taiga\", \"Mega Spruce Taiga (Hills)\"], \"group\": \"Ice\"}\r\n  ],\r\n  \"structureFilters\": [\r\n    {\"distance\": 1024, \"structure\": \"Village\", \"minimum\": 1},\r\n    {\"distance\": 512, \"structure\": \"Village\", \"minimum\": 1, \"scoreValue\": 10}\r\n  ]\r\n}\r\n\r\n//test to ensure that witch hut clusters were working.\r\n{\r\n  \"continuousSearch\": true,\r\n  \"searchName\": \"Test Quad Search\",\r\n  \"structureFilters\": [\r\n    {\"distance\": 4096, \"structure\": \"Dual Witch Hut\", \"minimum\": 1},\r\n    {\"distance\": 4096, \"structure\": \"Triple Witch Hut\", \"minimum\": 1, \"scoreValue\": 10},\r\n    {\"distance\": 4096, \"structure\": \"Quad Witch Hut\", \"minimum\": 1, \"scoreValue\": 100}\r\n  ]\r\n}\r\n\r\n//test to ensure that witch hut clusters were working without the double hut match noise\r\n{\r\n  \"continuousSearch\": true,\r\n  \"searchName\": \"Test Quad Search2\",\r\n  \"structureFilters\": [\r\n    {\"distance\": 4096, \"structure\": \"Triple Witch Hut\", \"minimum\": 1},\r\n    {\"distance\": 4096, \"structure\": \"Quad Witch Hut\", \"minimum\": 1, \"scoreValue\": 10}\r\n  ]\r\n}\r\n\r\n// tested in debug to make sure that all structures were still supported properly\r\n// this was done to make sure the structure provider was still working after the tweaks\r\n// that were made to get the Temple provider type filters working properly\r\n{\r\n  \"continuousSearch\": true,\r\n  \"searchName\": \"Test struc ct\",\r\n  \"structureFilters\": [\r\n    {\"distance\": 8192, \"structure\": \"Witch Hut\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Stronghold\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Jungle Temple\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Desert Temple\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Village\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Witch Hut\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Ocean Monument\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Igloo\", \"minimum\": 1},\r\n    {\"distance\": 8192, \"structure\": \"Mineshaft\", \"minimum\": 1},\r\n    {\"distance\": 4096, \"structure\": \"Dual Witch Hut\", \"minimum\": 1, \"scoreValue\": 1},\r\n    {\"distance\": 4096, \"structure\": \"Triple Witch Hut\", \"minimum\": 1, \"scoreValue\": 10},\r\n    {\"distance\": 4096, \"structure\": \"Quad Witch Hut\", \"minimum\": 1, \"scoreValue\": 100}\r\n  ]\r\n}\r\n\r\n// tested to ensure defaults were correct\r\n{\r\n  \"structureFilters\": [\r\n\t{\"distance\": 4096, \"structure\": \"Dual Witch Hut\"},\r\n  ]\r\n}\r\n```"},"comment":{"url":"https://api.github.com/repos/toolbox4minecraft/amidst/issues/comments/222817379","html_url":"https://github.com/toolbox4minecraft/amidst/pull/169#issuecomment-222817379","issue_url":"https://api.github.com/repos/toolbox4minecraft/amidst/issues/169","id":222817379,"user":{"login":"jmessenger235","id":5788607,"avatar_url":"https://avatars.githubusercontent.com/u/5788607?v=3","gravatar_id":"","url":"https://api.github.com/users/jmessenger235","html_url":"https://github.com/jmessenger235","followers_url":"https://api.github.com/users/jmessenger235/followers","following_url":"https://api.github.com/users/jmessenger235/following{/other_user}","gists_url":"https://api.github.com/users/jmessenger235/gists{/gist_id}","starred_url":"https://api.github.com/users/jmessenger235/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmessenger235/subscriptions","organizations_url":"https://api.github.com/users/jmessenger235/orgs","repos_url":"https://api.github.com/users/jmessenger235/repos","events_url":"https://api.github.com/users/jmessenger235/events{/privacy}","received_events_url":"https://api.github.com/users/jmessenger235/received_events","type":"User","site_admin":false},"created_at":"2016-05-31T20:54:52Z","updated_at":"2016-05-31T20:54:52Z","body":"Multi-threading should be discussed on #120. As to the error message, I can see a way to improve that. Thank you for the feedback. We are expecting some code conflicts so I will add that when I resolve the conflicts from some other work that @stefandollase is doing."}}
{"actor":{"display_login":"jmessenger235"}}