create account

Minecolonies & Field Refactoring by raycoms

View this thread on: hive.blogpeakd.comecency.com
· @raycoms ·
$87.13
Minecolonies & Field Refactoring
Hey everyone, after a lot of players started complaining about our minecolonies fields, I took a look at the code I wrote almost 3 years ago and I got terrified. So, I decided to refactor the whole code to make it look cleaner.


How it was:

There was 1 Field class which also was the Container.
We used it to store the inventory as well as the information of the owner of the field.
There was 1 tileEntity without any important information.
There was 1 Inventory which was basically a basic ItemHandler and there was 1 fieldView as the client side representation.



This was extremely confusing and due to bad message passing we had a lot of information which didn't reach our GUIs and several other problems.

What I did:

I rewrote the Field code to the following model:

1 simple container class, I moved all the container constants to our inventoryConstants class and cleaned up methods which were not needed.

![](https://i.imgur.com/vUBaPa2.png)

Then, where we had previously stored the field I changed the code to blockPositions.

This way we don't have to serialize and deserialize oder write to buffers the data in several different places.

![](https://i.imgur.com/CNKHk8t.png)

Which should increase the performance of this code.

After that I moved all the management code in the tileEntity.
For example the owner, name, state etc of the field:

![](https://i.imgur.com/XMrPVQx.png)

The field class, since it is a tileEntity automatically writes and reads itself from nbt and also is able with a few adaptations to synch easily from and to NBT.
This way we decentralized the toNbt writing code which makes the fields way less error prone.
Nevertheless, the ScarecrowTileEntity is the biggest field class with over 570 lines (but containing a lot of javadoc as well).

Then in the next step I was able to delete the fieldView and the inventory and field classes (since the tileEntity is taking care of them).

![](https://i.imgur.com/azq7WIB.png)

Now, each time I have to use the field and not only it's position I can get the best instance of it directly from the world and won't, as previously, carry different instances of it around. This might be slightly more performance heavy but we have the most recent version of the entity, guaranteed.


Then I verified if the refactoring did not only fix the issues we previously had but also was efficient:

![](https://i.imgur.com/uPvvSi8.png)

And found that here in my pull request.
Definitely worth it, I removed around 240 lines keeping the same features and increasing the stability of the program.


I hope you liked my short refactoring trip.

Until the next time.

<br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@raycoms/minecolonies-and-field-refactoring">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorraycoms
permlinkminecolonies-and-field-refactoring
categoryutopian-io
json_metadata"{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":65616760,"name":"minecolonies","full_name":"Minecolonies/minecolonies","owner":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Minecolonies/minecolonies","description":"Minecolonies minecraft mod","fork":false,"url":"https://api.github.com/repos/Minecolonies/minecolonies","forks_url":"https://api.github.com/repos/Minecolonies/minecolonies/forks","keys_url":"https://api.github.com/repos/Minecolonies/minecolonies/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Minecolonies/minecolonies/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Minecolonies/minecolonies/teams","hooks_url":"https://api.github.com/repos/Minecolonies/minecolonies/hooks","issue_events_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/events{/number}","events_url":"https://api.github.com/repos/Minecolonies/minecolonies/events","assignees_url":"https://api.github.com/repos/Minecolonies/minecolonies/assignees{/user}","branches_url":"https://api.github.com/repos/Minecolonies/minecolonies/branches{/branch}","tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/tags","blobs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/refs{/sha}","trees_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/{sha}","languages_url":"https://api.github.com/repos/Minecolonies/minecolonies/languages","stargazers_url":"https://api.github.com/repos/Minecolonies/minecolonies/stargazers","contributors_url":"https://api.github.com/repos/Minecolonies/minecolonies/contributors","subscribers_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscribers","subscription_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscription","commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/commits{/sha}","git_commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/commits{/sha}","comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/comments{/number}","issue_comment_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/comments{/number}","contents_url":"https://api.github.com/repos/Minecolonies/minecolonies/contents/{+path}","compare_url":"https://api.github.com/repos/Minecolonies/minecolonies/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Minecolonies/minecolonies/merges","archive_url":"https://api.github.com/repos/Minecolonies/minecolonies/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Minecolonies/minecolonies/downloads","issues_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues{/number}","pulls_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls{/number}","milestones_url":"https://api.github.com/repos/Minecolonies/minecolonies/milestones{/number}","notifications_url":"https://api.github.com/repos/Minecolonies/minecolonies/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Minecolonies/minecolonies/labels{/name}","releases_url":"https://api.github.com/repos/Minecolonies/minecolonies/releases{/id}","deployments_url":"https://api.github.com/repos/Minecolonies/minecolonies/deployments","created_at":"2016-08-13T12:45:38Z","updated_at":"2017-12-21T11:35:48Z","pushed_at":"2017-12-23T12:42:34Z","git_url":"git://github.com/Minecolonies/minecolonies.git","ssh_url":"git@github.com:Minecolonies/minecolonies.git","clone_url":"https://github.com/Minecolonies/minecolonies.git","svn_url":"https://github.com/Minecolonies/minecolonies","homepage":"http://minecolonies.com/","size":37108,"stargazers_count":66,"watchers_count":66,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":56,"mirror_url":null,"archived":false,"open_issues_count":130,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0"},"forks":56,"open_issues":130,"watchers":66,"default_branch":"version/1.12","score":80.51803},"pullRequests":[{"url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1897","id":159932432,"html_url":"https://github.com/Minecolonies/minecolonies/pull/1897","diff_url":"https://github.com/Minecolonies/minecolonies/pull/1897.diff","patch_url":"https://github.com/Minecolonies/minecolonies/pull/1897.patch","issue_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1897","number":1897,"state":"closed","locked":false,"title":"Rework farmer field","user":{"login":"Raycoms","id":6438347,"avatar_url":"https://avatars1.githubusercontent.com/u/6438347?v=4","gravatar_id":"","url":"https://api.github.com/users/Raycoms","html_url":"https://github.com/Raycoms","followers_url":"https://api.github.com/users/Raycoms/followers","following_url":"https://api.github.com/users/Raycoms/following{/other_user}","gists_url":"https://api.github.com/users/Raycoms/gists{/gist_id}","starred_url":"https://api.github.com/users/Raycoms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Raycoms/subscriptions","organizations_url":"https://api.github.com/users/Raycoms/orgs","repos_url":"https://api.github.com/users/Raycoms/repos","events_url":"https://api.github.com/users/Raycoms/events{/privacy}","received_events_url":"https://api.github.com/users/Raycoms/received_events","type":"User","site_admin":false},"body":"Closes #1868\r\nCloses #1857\r\nCloses #1093\r\n\r\n# Changes proposed in this pull request:\r\n- Rewrites the farmer field completely in a way cleaner fashion.\r\n\r\n\r\nReview please\r\n","created_at":"2017-12-22T20:55:19Z","updated_at":"2017-12-23T12:37:52Z","closed_at":"2017-12-23T12:32:18Z","merged_at":"2017-12-23T12:32:18Z","merge_commit_sha":"f394dfc8c80597e3bf4f4d8d4ccaa5ba123e304f","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1897/commits","review_comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1897/comments","review_comment_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1897/comments","statuses_url":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/57b954df6812a7ac2d1793f39415eee58f08f0a0","head":{"label":"Minecolonies:rework-farmer-field","ref":"rework-farmer-field","sha":"57b954df6812a7ac2d1793f39415eee58f08f0a0","user":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"repo":{"id":65616760,"name":"minecolonies","full_name":"Minecolonies/minecolonies","owner":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Minecolonies/minecolonies","description":"Minecolonies minecraft mod","fork":false,"url":"https://api.github.com/repos/Minecolonies/minecolonies","forks_url":"https://api.github.com/repos/Minecolonies/minecolonies/forks","keys_url":"https://api.github.com/repos/Minecolonies/minecolonies/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Minecolonies/minecolonies/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Minecolonies/minecolonies/teams","hooks_url":"https://api.github.com/repos/Minecolonies/minecolonies/hooks","issue_events_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/events{/number}","events_url":"https://api.github.com/repos/Minecolonies/minecolonies/events","assignees_url":"https://api.github.com/repos/Minecolonies/minecolonies/assignees{/user}","branches_url":"https://api.github.com/repos/Minecolonies/minecolonies/branches{/branch}","tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/tags","blobs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/refs{/sha}","trees_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/{sha}","languages_url":"https://api.github.com/repos/Minecolonies/minecolonies/languages","stargazers_url":"https://api.github.com/repos/Minecolonies/minecolonies/stargazers","contributors_url":"https://api.github.com/repos/Minecolonies/minecolonies/contributors","subscribers_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscribers","subscription_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscription","commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/commits{/sha}","git_commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/commits{/sha}","comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/comments{/number}","issue_comment_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/comments{/number}","contents_url":"https://api.github.com/repos/Minecolonies/minecolonies/contents/{+path}","compare_url":"https://api.github.com/repos/Minecolonies/minecolonies/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Minecolonies/minecolonies/merges","archive_url":"https://api.github.com/repos/Minecolonies/minecolonies/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Minecolonies/minecolonies/downloads","issues_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues{/number}","pulls_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls{/number}","milestones_url":"https://api.github.com/repos/Minecolonies/minecolonies/milestones{/number}","notifications_url":"https://api.github.com/repos/Minecolonies/minecolonies/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Minecolonies/minecolonies/labels{/name}","releases_url":"https://api.github.com/repos/Minecolonies/minecolonies/releases{/id}","deployments_url":"https://api.github.com/repos/Minecolonies/minecolonies/deployments","created_at":"2016-08-13T12:45:38Z","updated_at":"2017-12-21T11:35:48Z","pushed_at":"2017-12-23T12:42:34Z","git_url":"git://github.com/Minecolonies/minecolonies.git","ssh_url":"git@github.com:Minecolonies/minecolonies.git","clone_url":"https://github.com/Minecolonies/minecolonies.git","svn_url":"https://github.com/Minecolonies/minecolonies","homepage":"http://minecolonies.com/","size":37108,"stargazers_count":66,"watchers_count":66,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":56,"mirror_url":null,"archived":false,"open_issues_count":130,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0"},"forks":56,"open_issues":130,"watchers":66,"default_branch":"version/1.12"}},"base":{"label":"Minecolonies:version/1.12","ref":"version/1.12","sha":"94e49a9b092a1708953dd68e51ec605f4452629a","user":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"repo":{"id":65616760,"name":"minecolonies","full_name":"Minecolonies/minecolonies","owner":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Minecolonies/minecolonies","description":"Minecolonies minecraft mod","fork":false,"url":"https://api.github.com/repos/Minecolonies/minecolonies","forks_url":"https://api.github.com/repos/Minecolonies/minecolonies/forks","keys_url":"https://api.github.com/repos/Minecolonies/minecolonies/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Minecolonies/minecolonies/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Minecolonies/minecolonies/teams","hooks_url":"https://api.github.com/repos/Minecolonies/minecolonies/hooks","issue_events_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/events{/number}","events_url":"https://api.github.com/repos/Minecolonies/minecolonies/events","assignees_url":"https://api.github.com/repos/Minecolonies/minecolonies/assignees{/user}","branches_url":"https://api.github.com/repos/Minecolonies/minecolonies/branches{/branch}","tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/tags","blobs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/refs{/sha}","trees_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/{sha}","languages_url":"https://api.github.com/repos/Minecolonies/minecolonies/languages","stargazers_url":"https://api.github.com/repos/Minecolonies/minecolonies/stargazers","contributors_url":"https://api.github.com/repos/Minecolonies/minecolonies/contributors","subscribers_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscribers","subscription_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscription","commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/commits{/sha}","git_commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/commits{/sha}","comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/comments{/number}","issue_comment_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/comments{/number}","contents_url":"https://api.github.com/repos/Minecolonies/minecolonies/contents/{+path}","compare_url":"https://api.github.com/repos/Minecolonies/minecolonies/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Minecolonies/minecolonies/merges","archive_url":"https://api.github.com/repos/Minecolonies/minecolonies/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Minecolonies/minecolonies/downloads","issues_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues{/number}","pulls_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls{/number}","milestones_url":"https://api.github.com/repos/Minecolonies/minecolonies/milestones{/number}","notifications_url":"https://api.github.com/repos/Minecolonies/minecolonies/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Minecolonies/minecolonies/labels{/name}","releases_url":"https://api.github.com/repos/Minecolonies/minecolonies/releases{/id}","deployments_url":"https://api.github.com/repos/Minecolonies/minecolonies/deployments","created_at":"2016-08-13T12:45:38Z","updated_at":"2017-12-21T11:35:48Z","pushed_at":"2017-12-23T12:42:34Z","git_url":"git://github.com/Minecolonies/minecolonies.git","ssh_url":"git@github.com:Minecolonies/minecolonies.git","clone_url":"https://github.com/Minecolonies/minecolonies.git","svn_url":"https://github.com/Minecolonies/minecolonies","homepage":"http://minecolonies.com/","size":37108,"stargazers_count":66,"watchers_count":66,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":56,"mirror_url":null,"archived":false,"open_issues_count":130,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0"},"forks":56,"open_issues":130,"watchers":66,"default_branch":"version/1.12"}},"_links":{"self":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1897"},"html":{"href":"https://github.com/Minecolonies/minecolonies/pull/1897"},"issue":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1897"},"comments":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1897/comments"},"review_comments":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1897/comments"},"review_comment":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1897/commits"},"statuses":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/57b954df6812a7ac2d1793f39415eee58f08f0a0"}},"author_association":"CONTRIBUTOR"}],"platform":"github","type":"development","tags":["utopian-io","programming","minecraft","game","open-source"]}"
created2017-12-23 12:49:42
last_update2017-12-23 12:49:42
depth0
children9
last_payout2017-12-30 12:49:42
cashout_time1969-12-31 23:59:59
total_payout_value77.342 HBD
curator_payout_value9.788 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,808
author_reputation115,046,969,395,583
root_title"Minecolonies & Field Refactoring"
beneficiaries
0.
accountutopian.pay
weight2,500
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,855,185
net_rshares20,215,648,005,773
author_curate_reward""
vote details (42)
@albertoyago ·
$0.07
really ineresting @raycoms! I wish a knew more about coding! thanks for sharing
👍  ,
properties (23)
authoralbertoyago
permlinkre-raycoms-minecolonies-and-field-refactoring-20171223t125706894z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"users":["raycoms"],"app":"steemit/0.1"}
created2017-12-23 12:57:06
last_update2017-12-23 12:57:06
depth1
children2
last_payout2017-12-30 12:57:06
cashout_time1969-12-31 23:59:59
total_payout_value0.068 HBD
curator_payout_value0.002 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length79
author_reputation1,545,767,463,393
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,856,094
net_rshares12,986,409,291
author_curate_reward""
vote details (2)
@raycoms ·
It's not so hard, I think the most important thing is to get yourself a small project and start working on it.
I learned coding when I was 14 years old on my own, without stackoverflow, without tons of coding websites. The most important 2 factors are time and motivation. Besides that everyone can learn it.
👍  
properties (23)
authorraycoms
permlinkre-albertoyago-re-raycoms-minecolonies-and-field-refactoring-20171223t130529557z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2017-12-23 13:05:30
last_update2017-12-23 13:05:30
depth2
children1
last_payout2017-12-30 13:05:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length308
author_reputation115,046,969,395,583
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,857,183
net_rshares550,807,432
author_curate_reward""
vote details (1)
@albertoyago ·
thats great mate! very inspiring words! i did a few tuts in codeacademy...mainly css and html...nothing too advanced though... as you said, time and motivation are the key! thanks a lot and greetings form Spain :)
properties (22)
authoralbertoyago
permlinkre-raycoms-re-albertoyago-re-raycoms-minecolonies-and-field-refactoring-20171223t134410934z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2017-12-23 13:44:12
last_update2017-12-23 13:44:12
depth3
children0
last_payout2017-12-30 13:44:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length213
author_reputation1,545,767,463,393
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,862,017
net_rshares0
@cars.com ·
https://i.imgur.com/L1qCZiI.jpg 
**Get your post resteemed over 90000+ followers and get upto $19+ value Upvote. Your post will skyrocket and give you maximum exposer.** 

> **Send 1 SBD or STEEM to @funaddaa with your post url you will get your post share over 30000+ followers and 1 upvote $1.5+ value. Plus Get [ Christmas Bonus- $1 Value upvote ]**

> **Send 3 SBD or STEEM to @funaddaa  with your post url you will get your post share over 60000+ followers and 1 upvote $5+ value. Plus Get [ Christmas Bonus- $1 Value upvote ]**

> **Send 5 SBD or STEEM to @funaddaa with your post url you will get your post share over 60000+ followers and 1 upvote $9+ value. Plus Get [ Christmas Bonus- $2 Value upvote ]**

> **Send 6 SBD or STEEM to @funaddaa with your post url you will get your post share over 90000+ followers and 1 upvote $11+ value. Plus Get [ Christmas Bonus- $3 Value upvote ]**

> **Send 10 SBD or STEEM to @funaddaa with your post url you will get your post share over 90000+ followers and 1 upvote $19+ value. Plus Get [ Christmas Bonus- $4 Value upvote ]**

See our all pakages at: http://www.whaleboostup.ml
👎  
properties (23)
authorcars.com
permlinkre-raycoms-minecolonies-and-field-refactoring-20171223t125938611z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"busy","app":"busy/2.1.0"}
created2017-12-23 12:50:39
last_update2017-12-23 12:50:39
depth1
children0
last_payout2017-12-30 12:50:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,128
author_reputation-844,534,513,450
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,855,310
net_rshares-9,258,426,273,227
author_curate_reward""
vote details (1)
@hukyong74 ·
Thank you
properties (22)
authorhukyong74
permlinkre-raycoms-minecolonies-and-field-refactoring-20171223t131151298z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemkr/0.1"}
created2017-12-23 13:11:45
last_update2017-12-23 13:11:45
depth1
children0
last_payout2017-12-30 13:11:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length9
author_reputation8,258,143,669,241
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,857,939
net_rshares0
@reggaemuffin ·
$0.21
Thank you for the contribution. It has been approved.

You can contact us on [Discord](https://discord.gg/UCvqCsx).
**[[utopian-moderator]](https://utopian.io/moderators)**
👍  , , , , , ,
👎  
properties (23)
authorreggaemuffin
permlinkre-raycoms-minecolonies-and-field-refactoring-20171223t125231102z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
created2017-12-23 12:52:30
last_update2017-12-23 12:52:30
depth1
children1
last_payout2017-12-30 12:52:30
cashout_time1969-12-31 23:59:59
total_payout_value0.193 HBD
curator_payout_value0.020 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length172
author_reputation37,964,839,695,531
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,855,546
net_rshares38,439,674,664
author_curate_reward""
vote details (8)
@pocketechange ·
GREETINGS FROM COIN MAN...
![](https://steemitimages.com/DQmVcq1D93k5WhWV8nH3C4Bp9vNHZ8sGLsD9JFDcpCV231y/image.png)
@pocketechange
👎  
properties (23)
authorpocketechange
permlinkre-reggaemuffin-re-raycoms-minecolonies-and-field-refactoring-20171227t041742151z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"users":["pocketechange"],"image":["https://steemitimages.com/DQmVcq1D93k5WhWV8nH3C4Bp9vNHZ8sGLsD9JFDcpCV231y/image.png"],"app":"steemit/0.1"}
created2017-12-27 04:17:30
last_update2017-12-27 04:17:30
depth2
children0
last_payout2018-01-03 04:17:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length130
author_reputation234,753,213,681,865
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id25,448,382
net_rshares-620,863,712
author_curate_reward""
vote details (1)
@utopian-io ·
$0.13
### Hey @raycoms I am @utopian-io. I have just upvoted you!
#### Achievements
- You have less than 500 followers. Just gave you a gift to help you succeed!
- You are generating more rewards than average for this category. Super!;)
- Seems like you contribute quite often. AMAZING!
#### Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER!
- <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a>
- <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a>
- Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a>

[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)

**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
👍  
properties (23)
authorutopian-io
permlinkre-raycoms-minecolonies-and-field-refactoring-20171224t045909670z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
created2017-12-24 04:59:09
last_update2017-12-24 04:59:09
depth1
children0
last_payout2017-12-31 04:59:09
cashout_time1969-12-31 23:59:59
total_payout_value0.100 HBD
curator_payout_value0.033 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,158
author_reputation152,955,367,999,756
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,962,769
net_rshares25,113,676,164
author_curate_reward""
vote details (1)
@vindy ·
No idea about coding.
properties (22)
authorvindy
permlinkre-raycoms-minecolonies-and-field-refactoring-20171223t140713248z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2017-12-23 14:07:12
last_update2017-12-23 14:07:12
depth1
children0
last_payout2017-12-30 14:07:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length21
author_reputation3,809,126,520,611
root_title"Minecolonies & Field Refactoring"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,864,924
net_rshares0