{"action":"created","issue":{"url":"https://api.github.com/repos/Civcraft/RealisticBiomes/issues/31","labels_url":"https://api.github.com/repos/Civcraft/RealisticBiomes/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/Civcraft/RealisticBiomes/issues/31/comments","events_url":"https://api.github.com/repos/Civcraft/RealisticBiomes/issues/31/events","html_url":"https://github.com/Civcraft/RealisticBiomes/pull/31","id":92923269,"number":31,"title":"Persist all the things (except mushrooms)","user":{"login":"gipsy-king","id":310215,"avatar_url":"https://avatars.githubusercontent.com/u/310215?v=3","gravatar_id":"","url":"https://api.github.com/users/gipsy-king","html_url":"https://github.com/gipsy-king","followers_url":"https://api.github.com/users/gipsy-king/followers","following_url":"https://api.github.com/users/gipsy-king/following{/other_user}","gists_url":"https://api.github.com/users/gipsy-king/gists{/gist_id}","starred_url":"https://api.github.com/users/gipsy-king/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gipsy-king/subscriptions","organizations_url":"https://api.github.com/users/gipsy-king/orgs","repos_url":"https://api.github.com/users/gipsy-king/repos","events_url":"https://api.github.com/users/gipsy-king/events{/privacy}","received_events_url":"https://api.github.com/users/gipsy-king/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-07-03T19:06:36Z","updated_at":"2015-07-04T22:13:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Civcraft/RealisticBiomes/pulls/31","html_url":"https://github.com/Civcraft/RealisticBiomes/pull/31","diff_url":"https://github.com/Civcraft/RealisticBiomes/pull/31.diff","patch_url":"https://github.com/Civcraft/RealisticBiomes/pull/31.patch"},"body":"Wrote some nice docs here https://github.com/Civcraft/RealisticBiomes/wiki\r\n\r\nWriteup copied from https://forum.civcraft.co/t/realisticbiomes-persisting-thread/484/28?u=gipsyking\r\n\r\nHonest to god, I can't reproduce the issue of trees getting cut off at chunk border anymore. I had seen it twice I think. We should just sort it out later, because the fix (if we can call it that, without reproduceability) implies scheduling tasks and waiting for surrounding chunks to load, with potential race conditions or deadlocks.\r\n\r\nHere's a write up on what's been done so far:\r\n\r\n### Fixed cocoa persistence\r\nHas been tested already, also when clicking with cocoa on a block, it now correctly gives you the growth time in the spot where it would be planted, e.g. hitting a tree.\r\n\r\n### A lot of minor fixes and refactors along the way, to compensate a bit with the new crap I added\r\nGrowth and fish-drop maps have been joined, their keys are a bit more typesafe now (no more `Object` casting). Untangled some ifs. Fix rabbits in config. `soil_material` may have a data value (e.g. `DIRT:2` for podzol). When hitting block with fishable item and that item's rate is above zero at the location, send message to player about rate.\r\nAll of this may of course introduce regression bugs, but it's for the greater good of RB.\r\n\r\n### Persist pumpkins and melons\r\nHas been tested, reported OK. Existing melon/pumpkin stems will be made persistent either the next time their fruit is broken (includes piston breaks) or if player right clicks it with stick. If a stem is fully grown, right clicking it with stick will report their fruit growth time. I think I'm being too nice to users :smile:\r\n\r\n### Persistent trees\r\nShould work as expected, except:\r\n\r\n* Large trees produced from 2x2 array of saplings: the large tree originates from the **northwest** sapling. To get growth time, right click that sapling with a stick, the other sapling won't give any info. There may be bugs when saplings are in an array larger than 2x2 or something similar, althoug so far I have found none.\r\n* Trees that are not able to grow due to obstruction will have their growth time reset and start over, there is no way to get notified though.\r\n* Apparently, birch trees (and maybe others) can grow through some blocks (I've only seen dirt), this is also apparently vanilla behaviour.\r\n* BIG_TREE, TALL_BIRCH, TALL_REDWOOD and JUNGLE_BUSH may spawn, depending on their rate. They are in `config.yml`, and since they don't take their form until they are generated, they're persistence is meaningless and the rest of their config should be based on their normal form, it should not be set to avoid confusion. Think of them like a \"chance\" like fish drops. Swamp trees only generate in swamp (hi swampdwellers!).\r\n* In theory, we *could* grow [custom trees](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/World.html#generateTree(org.bukkit.Location,%20org.bukkit.TreeType,%20org.bukkit.BlockChangeDelegate)) now, for example glowstone strees in the nether or palm trees at beaches or whatever. Ender trees in the end, made out of obsidian with a chest in their crown that holds a few pearls.\r\n\r\n### Persisten cactus and sugarcane\r\nShould work as expected. Existing cactus farms will be tracked, they just have to emit a GrowthEvent once per cactus.\r\nCactus are checked for adjacent blocks on growth, and should drop correctly. I preemtively have added a feature to group item drops *before* they are spawned as item stacks, because I expect a lot of sudden drops from huge farms. This feature can also be used in the future when we want to add some kind of contraption that sucks in drops.\r\n\r\n### What now?\r\nI say put it on civtest for a few days, tell players to test EVERY crop/fruit/tree/thing-in-RB for potential regression bugs that may come with so many new features and (necessary) modifications. Then go live and find the real bugs :smile:\r\n"},"comment":{"url":"https://api.github.com/repos/Civcraft/RealisticBiomes/issues/comments/118557889","html_url":"https://github.com/Civcraft/RealisticBiomes/pull/31#issuecomment-118557889","issue_url":"https://api.github.com/repos/Civcraft/RealisticBiomes/issues/31","id":118557889,"user":{"login":"rourke750","id":1648936,"avatar_url":"https://avatars.githubusercontent.com/u/1648936?v=3","gravatar_id":"","url":"https://api.github.com/users/rourke750","html_url":"https://github.com/rourke750","followers_url":"https://api.github.com/users/rourke750/followers","following_url":"https://api.github.com/users/rourke750/following{/other_user}","gists_url":"https://api.github.com/users/rourke750/gists{/gist_id}","starred_url":"https://api.github.com/users/rourke750/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rourke750/subscriptions","organizations_url":"https://api.github.com/users/rourke750/orgs","repos_url":"https://api.github.com/users/rourke750/repos","events_url":"https://api.github.com/users/rourke750/events{/privacy}","received_events_url":"https://api.github.com/users/rourke750/received_events","type":"User","site_admin":false},"created_at":"2015-07-04T22:13:51Z","updated_at":"2015-07-04T22:13:51Z","body":"ok to test"}}