This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Lupus590's profile picture

[WIP] [MIT] Hive - a turtle control system

Started by Lupus590, 17 March 2015 - 04:09 PM
Lupus590 #1
Posted 17 March 2015 - 05:09 PM
A Major reorganisation of everything is underway, I'm hoping to better define boundaries to the different parts (Server/Turtle/etc) of Hive. If the GitHub looks messy, this is the reason why.

WIP
Until further notice, this project should be considered work in progress and (for now) a pre-release.
That means that it may contain bugs, incomplete features, dummy commands/buttons, test code, pre-optimised development code, and other quirks.

Logo

Do you like it? Tell me with the poll above.

Description
Hive will be a turtle based automation system. The user can assign jobs to different turtle types, each job can consist of multiple tasks. When a turtle finishes one job, it will request another.

The typical task will contain two instructions: go to a location, run a program.
However a task can be any sequence of instructions/programs: go to a location, run program A, run program B, go to another location, run program B (again), etc.

If you still don't know what Hive is supported to do, read the use case document.

What's in a name
I decided to pick Hive as the name of this project due to the expected end result. With (say) a dozen turtles running under a Hive, your MC base would be as buzzy as a beehive. The idea is that your turtles will always be doing something (mining, tree farming, building) increasing your base's productivity.

You can help too
I invite you to help make the project, feel free to submit a script you have made or even edit one on GitHub.
If someone else has made a script that you think will be useful, feel free to submit that too (forum post links are preferable).
(I reserve the right to reject your submission, but likely won't) Also, please read the readme.

Just make an issue on the repo, if you are not sure which repo your submission should go in then make the issue on the main one.

Release information
The project as a whole is still in progress and does not have a usable version yet. When we do there will be a paste bin link which will either be the standalone program or a download and build assistant.

More information on GitHub.

Issue tracker

Collaborator Sign-up

Tutorial On Collaborating With Github

The Old Build TeamThe HiveBuildTeam:With contributions from:Looking forward to working with:
  • <your username here>

Thank you, for your patience, enthusiasm, and contributions in this large project.
Edited on 14 June 2017 - 12:35 PM
meelock #2
Posted 04 April 2015 - 08:11 PM
can you help me install it, i'm bad at installing from github :(/>
Lupus590 #3
Posted 05 April 2015 - 12:17 AM
Unfortunately a release version is not ready, as for installing from github, there are some installers on the forums.

When a release is ready, there will be a pastebin installer link.
Edited on 05 April 2015 - 12:12 AM
meelock #4
Posted 05 April 2015 - 02:53 AM
ok thanks :P/>
DannySMc #5
Posted 09 April 2015 - 12:56 PM
Hive is/will be a turtle based automation system. The user can assign jobs to different turtle types, each job can consist of multiple tasks. When a turtle finishes one job, it will request another, if none are available then it will go home.

The typical task will contain two instructions: go to a location, run a program.
However a task can be any sequence of instructions/programs: go to a locations, run program A, run program B, go to another location, run program B, etc.
In the future I hope to be able to have some parts of task paralleled, this will allow multiple turtles/computers to work together on one task.

Until further notice, this project should be considered work in progress and (for now) a pre-release.

I invite you to help make the project, feel free to submit a script you have made or even edit one on github.
If someone else has made a script that you think will be useful, feel free to submit that too (forum post links are preferable).
(I reserve the right to reject your submission) Also, please read the readme.

At the moment, very few of my scripts are 'in working condition'. (Maybe you can fix that?)

Code is on github.

I plan on making a downloader which will be on pastebin, but this will be when the directory system is more 'stable' (I have changed it 3 4 times now).

Real life has been keeping me busy lately, so development may be slow. If I decide to stop, then I will update this thread and/or github.

Current Collaborators: (GitHub names)
  • TheOnlyCreator (on watch for good code)

So in on helping you with this, would be awesome! Have multiple ideas as well to add and how to implement it :D/>
Selim #6
Posted 12 April 2015 - 07:32 PM
I might use this in my ComputerCraft storage system that will be comparable with an ME system in terms of automation, crafting, and remote requesting of items.
Lupus590 #7
Posted 12 April 2015 - 10:20 PM
I might use this in my ComputerCraft storage system that will be comparable with an ME system in terms of automation, crafting, and remote requesting of items.

I did have an idea of making a system like that, not sure if Hive will be adaptable into this. If you have success with it please share your modifications, it may end up as an "official" feature (your name can be added to the build team credits too).
DannySMc #8
Posted 12 April 2015 - 10:23 PM
I might use this in my ComputerCraft storage system that will be comparable with an ME system in terms of automation, crafting, and remote requesting of items.

I did have an idea of making a system like that, not sure if Hive will be adaptable into this. If you have success with it please share your modifications, it may end up as an "official" feature (your name can be added to the build team credits too).

Hey if you want it I will code it :D/>
Lupus590 #9
Posted 12 April 2015 - 10:29 PM
I might use this in my ComputerCraft storage system that will be comparable with an ME system in terms of automation, crafting, and remote requesting of items.

I did have an idea of making a system like that, not sure if Hive will be adaptable into this. If you have success with it please share your modifications, it may end up as an "official" feature (your name can be added to the build team credits too).

Hey if you want it I will code it :D/>

Hive is designed as a turtle automation system. While it may integrate with a CC based item storage system in future, I don't see any point implementing that until the goals of Hive are met. Let's not try to run before we have finished learning to walk stand.

By all means work on it, but I would suggest having this a secondary objective to the core functions of Hive.
Cing #10
Posted 12 April 2015 - 11:11 PM
Could you explain "Hive" a bit more
Because the only translation i know of is in like a beehive.
And how can you Add to your code from bithub?
DannySMc #11
Posted 12 April 2015 - 11:12 PM
I might use this in my ComputerCraft storage system that will be comparable with an ME system in terms of automation, crafting, and remote requesting of items.

I did have an idea of making a system like that, not sure if Hive will be adaptable into this. If you have success with it please share your modifications, it may end up as an "official" feature (your name can be added to the build team credits too).

Hey if you want it I will code it :D/>

Hive is designed as a turtle automation system. While it may integrate with a CC based item storage system in future, I don't see any point implementing that until the goals of Hive are met. Let's not try to run before we have finished learning to walk stand.

By all means work on it, but I would suggest having this a secondary objective to the core functions of Hive.

Yes I shall add the core functions in for the server first:D I am also currently adding a full detailed documentation about the Hive on the github readme.md file so please do not push any new content up yet!!:D/> I will post a little and add to it fully tomorrow :DDD
Lupus590 #12
Posted 12 April 2015 - 11:29 PM
Could you explain "Hive" a bit more
Because the only translation i know of is in like a beehive.
And how can you Add to your code from bithub?

Added this for you

What's in a name
I decided to pick Hive as the name of this project due to the expected end result. With (say) a dozen turtles running under a Hive, your MC base would be as buzzy as a beehive. The idea is that your turtles will always be doing something (mining, tree farming, building) increasing your base's productivity.

As for github, https://help.github....es/fork-a-repo/ and https://help.github....a-pull-request/
Edited on 12 April 2015 - 09:30 PM
Selim #13
Posted 13 April 2015 - 12:32 AM
Could you explain "Hive" a bit more
Because the only translation i know of is in like a beehive.
And how can you Add to your code from bithub?
I was thinking of it as if the Turtles have a singular "Hive" mind.
Lupus590 #14
Posted 13 April 2015 - 12:33 AM
Could you explain "Hive" a bit more
Because the only translation i know of is in like a beehive.
And how can you Add to your code from bithub?
I was thinking of it as if the Turtles have a singular "Hive" mind.

kind of that too
ry00000 #15
Posted 17 April 2015 - 04:06 PM
Heh, you pay for bug? Like: No code's free, bugs are paid! :)/> :)/> :)/>
DannySMc #16
Posted 17 April 2015 - 04:16 PM
Heh, you pay for bug? Like: No code's free, bugs are paid! :)/> :)/> :)/>

Pay for a bug? What?!?!
ry00000 #17
Posted 17 April 2015 - 04:21 PM
It's on top…

"May contain free bugs." it says.
Edited on 17 April 2015 - 02:20 PM
Lupus590 #18
Posted 17 April 2015 - 05:01 PM
Heh, you pay for bug? Like: No code's free, bugs are paid! :)/> :)/> :)/>

Pay for a bug? What?!?!

Until further notice, this project should be considered work in progress and (for now) a pre-release.
That means that it may contain free bugs, incomplete features, dummy commands/buttons, test code, pre-optimised development code, and other quirks. "Bug, free code? Shouldn't that be: bug-free code?" "No, no, sign is correct. You pay for bug, code is free."

It's a joke with seriousness in it too. At the moment, hive is in a pre-release state, which means it may be buggy, Hive is also free. You pay for bugs with your time, as they may cause crashes and other things. The "Bug, free code…" thing is a reference to the simpsons

the "may contain free bugs" is on my profile page too
Edited on 17 April 2015 - 03:02 PM
DannySMc #19
Posted 17 April 2015 - 05:06 PM
Heh, you pay for bug? Like: No code's free, bugs are paid! :)/> :)/> :)/>

Pay for a bug? What?!?!

Until further notice, this project should be considered work in progress and (for now) a pre-release.
That means that it may contain free bugs, incomplete features, dummy commands/buttons, test code, pre-optimised development code, and other quirks. "Bug, free code? Shouldn't that be: bug-free code?" "No, no, sign is correct. You pay for bug, code is free."

It's a joke with seriousness in it too. At the moment, hive is in a pre-release state, which means it may be buggy, Hive is also free. You pay for bugs with your time, as they may cause crashes and other things. The "Bug, free code…" thing is a reference to the simpsons

the "may contain free bugs" is on my profile page too

Oh haha, also Lupus, I have literally got a full working server system, but it is intense… So yeah it is on a constant while true do loop until told to exit, waiting for up to 49 different event codes… It literally is intense as hell…. So yeah haha :P/>
Lupus590 #20
Posted 17 April 2015 - 05:09 PM
-snip-

Oh haha, also Lupus, I have literally got a full working server system, but it is intense… So yeah it is on a constant while true do loop until told to exit, waiting for up to 49 different event codes… It literally is intense as hell…. So yeah haha :P/>

I though that the event loop on that thing would be crazy, good going on the coding tough.

Also feel free to push incomplete code to github (mark it as so in the file name or something) so I can take a look/help.
Edited on 17 April 2015 - 03:09 PM
Cing #21
Posted 17 April 2015 - 08:24 PM
Sorry that i responded so late.
but i have looked in your programs a bit and found the "lama" program.
I have read that is uses his fuellevel to check if it had moved.
But now i have one question how do you check if a turtle had turned because that doesn't uses fuel?

And i don't know i you need it but i have already made a moving program for a turtle so you could have it if you want?
http://pastebin.com/mWMv7rtr

Edit: I you want me to change my program so that is works in yours then just tell me how. :)/>
Edited on 17 April 2015 - 06:26 PM
Lupus590 #22
Posted 17 April 2015 - 08:56 PM
-snip-

Thank you for the program (I may or may not use it)

as for turning, Lyqyd said (I think it was lyqyd) that he had seen turtles complete turns after a chunk reload


related quote about turns and chunk loads
Thanks :)/>
And thanks for actually giving this some thought. Turns are, however, not an issue as far as I'm aware, because they are guaranteed to finish once you start them successfully. That is to say, they cannot fail by being "blocked" like a normal move can be (by blocks or entities being in the way) once they're queued. Unless they cannot be performed because the OS' event queue is full - in which case turle.native.turnLeft/turnRight functions return -1 right away (non-yielding) - they will always return true. And since the event queue is saved across chunk/world loads, we can be sure a turn will be properly performed once queued. So either way we can be sure to get the result we need to make the decision as to whether the command was successful or not without yielding, and therefore without the potential loss of information; unlike the move commands. Edit: to clarify, the fuel check is only used to see whether a move completed, it is not needed/used (or even applicable, as you pointed out) for turns.
Now, let us continue to welcome our new (old?) turtle overlords ;)/>
Edited on 17 April 2015 - 07:04 PM
Cing #23
Posted 17 April 2015 - 09:41 PM
Thanks for the information
This will totaly help my "quarry restart" program :D/>
Cing #24
Posted 26 April 2015 - 11:00 AM
Hi lupus
I had seen a post from you lately that was about a crop farming program.
Now if had the question was that program for hive and if it is so,
then if you want any of such program's leave the idea's in the main post so that i can try to make some.

Besides i have also made a program that you can place a block without knowing in what slot it is in,
and you can also choose in what direction it should place it in.
http://pastebin.com/6ZGTVZzC
Edited on 26 April 2015 - 09:01 AM
Lupus590 #25
Posted 26 April 2015 - 02:59 PM
Hi lupus
I had seen a post from you lately that was about a crop farming program.
Now if had the question was that program for hive and if it is so,
then if you want any of such program's leave the idea's in the main post so that i can try to make some.

Besides i have also made a program that you can place a block without knowing in what slot it is in,
and you can also choose in what direction it should place it in.
http://pastebin.com/6ZGTVZzC

My farm program was not for Hive (although I could adapt it for Hive).

Regarding program submissions:
err… I am really not ready for this kind of thing. I will update the OP and quote it here (assuming I remember)
You can help too
I invite you to help make the project, feel free to submit a script you have made or even edit one on github.
If someone else has made a script that you think will be useful, feel free to submit that too (forum post links are preferable).
(I reserve the right to reject your submission, but likely won't) Also, please read the readmes (yes there are several, you only need to read the ones related to your submission).

About your program:
small spelling corrections:
change "succes" to "success"
boolean and strings:

var = "true"
print(type(var))	--> string
var = true
print(type(var))   --> boolean

--#this will allow for
var = true
if var then --#var == true is implied
--#code
end
Suggestion, default variable:

function place(item, dir)
  oldSlot = turtle.getSelectedSlot()
   --#this sets a default dir
   dir = dir or "up"

  --#the rest of your code goes here
  --#it is generally a good idea to put the turtle back to how you found it
  turtle.select(oldSlot)
end
My opinion: I like it, may end up as part of the turtle API overwrite
Edited on 26 April 2015 - 01:43 PM
Cing #26
Posted 26 April 2015 - 03:01 PM
yes my english is not that good
but thanks :)/>
Lupus590 #27
Posted 26 April 2015 - 03:09 PM
my english is not that good

On the most part, your English is fine. It's a difficult language when it comes to spelling and grammar, so well done!
Edited on 26 April 2015 - 01:10 PM
Cing #28
Posted 26 April 2015 - 04:03 PM
thanks

EDIT: google translate is a good friend of my but i only use it for word no sentences
Edited on 26 April 2015 - 02:04 PM
Lupus590 #29
Posted 04 May 2015 - 12:09 AM
We have a release candidate for you! If you run
pastebin run vyBeH8ZV lama
then you can try out the new API that KingofGamesYami has finished. Yami even wrote a wiki page for you!
Edited on 03 May 2015 - 10:09 PM
Lupus590 #30
Posted 15 May 2015 - 08:49 AM
I'm a bit surprised that no-one has downloaded the Lama release candidate yet.
That or people have downloaded it and somehow KingofGamesYami managed to dodge all the bugs that usually sneak in.
Noiro #31
Posted 04 June 2015 - 04:10 PM
What are you guys using for navigation? If you'd like, you have permission to use my moveAPI for keeping track of coordinates and movements from one place to another.
If you intend to utilize GPS functionality as well, my turtle.setCoords() function will soon be receiving an update so that it can take the GPS.locate's output as a valid parameter. So you'd get something to the effect of turtle.setCoords(gps.locate(), "west") or whatever. Tbh, he shouldn't need to have his loc set all that often unless he gets picked up, move does a pretty handy job of keeping track of it through reboots/crashes/whatever. I was actually considering starting a project like this myself and i kind wouldn't mind getting involved in helping develop. My only hangup is that I've never used Git seriously in my life. xD

I noticed on the github that you were also looking for an updater. I do have one I've been working on but it's probably not as fancy as you're looking for. Basically it runs off of a masterfile stored…somewhere, that you can edit and assigns every program a version number. If the version number is newer than the version on the machine, it will automatically download and update it when update gets run. Feel free to poke me if you'd be interested, I built it for a custom launcher I'm building that just keeps all my utilities in order and set up.
Edited on 04 June 2015 - 02:19 PM
KingofGamesYami #32
Posted 04 June 2015 - 05:39 PM
For navigation we're using something I wrote based on lama. It's named lama.lua and is located somewhere in the github repo.

I had an installer that worked (well, sort of. There were a couple bugs), until we started using submoduals (I'm not sure how to handle them).
Lupus590 #33
Posted 04 June 2015 - 05:43 PM
Edit: :ph34r:/>

-snip-

regarding your moveAPI, Thanks for the offer but KingofGamesYami has already created an updated version of lama. Yami is also the person who is the lead on the installer/updater front, thanks for offering again though.

As for you offer to assist in the project as a whole, have a play around with github (they have a gui, or if you want to dive in). Once you are confident with using git, fork the repo (you will learn terminology from messing around), make some changes and then make a pull request.
Tripy998 #34
Posted 03 January 2016 - 05:01 AM
What's in a name

PLEASE TELL ME THAT IS A QUOTE!
Also, this is so freaking similar to a project I've been working on in private… are you me?
XD I was even going to call it Hive. XD

Oh well, gonna think of a new name now.
Lupus590 #35
Posted 03 January 2016 - 02:14 PM
What's in a name

PLEASE TELL ME THAT IS A QUOTE!
Also, this is so freaking similar to a project I've been working on in private… are you me?
XD I was even going to call it Hive. XD

Oh well, gonna think of a new name now.

Why don't you help out in this project? We could do with another bump start.

As for "what's in a name", I think it's Shakespeare.
Edited on 03 January 2016 - 01:15 PM
KingofGamesYami #36
Posted 03 January 2016 - 02:24 PM
yep.
Cing #37
Posted 02 February 2016 - 04:13 PM
How is the project going?
Cing #38
Posted 02 February 2016 - 04:30 PM
When i download the pastebin and run i get the error:
lama 4 string 105 "then" expected?

But there is a then there so i don't get the problem
Lupus590 #39
Posted 02 February 2016 - 04:56 PM
We need another bump start, preferably when I have less uni work. I am thinking of reorganising the entire code base (migrating to a github organisation and having multiple repositories for the different parts, maybe even using howl: http://www.computercraft.info/forums2/index.php?/topic/21254-howl-lua-build-system/ ).

As for getting LAMA to work, the official repository has moved and the installer that Hive has is not up to date on that.
Point this program: http://www.computerc...ory-downloader/
to this repository to get Lama: https://github.com/K...fGamesYami/LAMA

If you are still getting problems then contact KingofGamesYami: http://www.computerc...ingofgamesyami/
Edited on 02 February 2016 - 03:59 PM
Cing #40
Posted 02 February 2016 - 05:32 PM
First up what is uni work?
And i could help coding some.

And howl looks pretty cool.
But do you need it?

Btw. tested the client and that also didn't worked
Edited on 02 February 2016 - 04:37 PM
Lupus590 #41
Posted 02 February 2016 - 09:58 PM
uni work = university course work

if you want to help with coding then dive in, breaking apart the old repository and moving the stuff over to the new ones will help.

howl will help make the separated files work together without me making my own file combiner, it will also shrink Hive making the resulting file smaller (at the cost of readability, thus the git repo having less efficient but readable code)
so while the project could work without howl, it will be a lot easier to manage with it

A lot of the code is in a non-working state, with the move to a new repository even more will now work (think scrap and start again with old code as reference)
Cing #42
Posted 02 February 2016 - 10:51 PM
Oke i see that howl make the job easier.
And how can i move code over?
And do you need any ios expertise? ;)/>

I maby is an idee to make a pre alpha for people.
So that you get more attention for the project or maybe some coders?
Edited on 02 February 2016 - 09:51 PM
Lupus590 #43
Posted 03 February 2016 - 01:37 PM
Oke i see that howl make the job easier.
And how can i move code over?
And do you need any ios expertise? ;)/>

I maby is an idee to make a pre alpha for people.
So that you get more attention for the project or maybe some coders?
https://github.com/CC-Hive/Main/issues/1
1wsx10 #44
Posted 04 February 2016 - 01:27 PM
Ok, I think this would work great with egps… that is if you need it. I see you are using starNav so you probably don't.

Anyway, if starNav isn't good enough for you then ill continue with egps and work with you. otherwise I may as-well just use starNav.
Lupus590 #45
Posted 04 February 2016 - 06:56 PM
-snip-

Star nav was with the old repo, for now Hive has no pathfinding component. I will be happy to use egps if the license is compatible with MIT. As your EGPS is a fork you will need to make sure that you are allowed to re-license (or sub-license) the original.
Edited on 04 February 2016 - 05:57 PM
Cing #46
Posted 04 February 2016 - 10:34 PM
I am currently rewriting my quarry program so it works with lama and arguments.
But do i also need to add sterna or egos?

Here is more information: http://www.computercraft.info/forums2/index.php?/topic/23992-restart-quarry-with-enderchest/page__p__225890#entry225890
Lupus590 #47
Posted 04 February 2016 - 10:56 PM
I am currently rewriting my quarry program so it works with lama and arguments.
But do i also need to add sterna or egos?

Here is more information: http://www.computerc...890#entry225890

Hive will inject LAMA and it's pathfinding algorithm (when we settle on one) into the turtle API. Any program will be automatically compatible with it.

Although not necessary, programs (or tasks as Hive will call them) should release the turtle back to the hive (thus allowing the turtle to restock and have another turtle pick-up on the task). In fact this is the point of hive, turtles get a chance to take a brake from work and prepare for more work. During breaks they offload junk in their inventory and restock on fuel. Meanwhile another turtle takes over the shift.

My example use case is a set of farms (several of different types). Each farm is a task (which tells the turtle how to manage the farm) and the system has only one turtle (partly for manageability). Lots of farms spend lots of time waiting for the crop to grow, thus Hive has the farming turtle tend to other farms while waiting for one to grow.

Each task has the turtle check the farm over and then returns control of the turtle back to the server, which then gives it another task for a different farm. the goal is that one turtle can manage many farms with different turtles tending the farm as needed.

This is why Hive is better suited to farm maintenance over mining operations, although there is no reason your turtles can't do a layer at a time.
Edited on 04 February 2016 - 10:09 PM
Cing #48
Posted 04 February 2016 - 11:03 PM
quarry is a mining operation and is very efficient.
Do you already have a mining operation?
Else how would you like it to work i could make it suitable with my quarry program?
Lupus590 #49
Posted 04 February 2016 - 11:05 PM
Editing above post, almost done.
Lupus590 #50
Posted 04 February 2016 - 11:11 PM
Posted edited, also I will put a fuller use case on the main github repo.

Additional thing to note, I wouldn't start making task files yet, as Hive is no where near to having a stable API interface.

edit: added link: https://github.com/CC-Hive/Main/blob/master/Use%20cases.md
Edited on 04 February 2016 - 10:41 PM
Cing #51
Posted 05 February 2016 - 12:25 AM
I get the idee that it is better for farming purposes but i think that most people also want mining to be done.
And because the mining is done deep beneeth the ground it wouldn't be as efficient to do it one layer at the time.

My mining program i desinged to have a enderchest from EnderStorage on board so i doesn't need to go back to the server every time.
But i also could give you the loss code for one layer?

I also update the place program with your suggestion and even added some new need feature.
Link: http://pastebin.com/6ZGTVZzC
Edited on 04 February 2016 - 11:43 PM
1wsx10 #52
Posted 05 February 2016 - 06:09 AM
-snip-

Star nav was with the old repo, for now Hive has no pathfinding component. I will be happy to use egps if the license is compatible with MIT. As your EGPS is a fork you will need to make sure that you are allowed to re-license (or sub-license) the original.

So, seeing as the code says nothing about licensing in the comments I need to somehow contact this person who was last online in 2012. I guess the only place i have to look is his github.
Lupus590 #53
Posted 05 February 2016 - 10:34 AM
-snip-

Star nav was with the old repo, for now Hive has no pathfinding component. I will be happy to use egps if the license is compatible with MIT. As your EGPS is a fork you will need to make sure that you are allowed to re-license (or sub-license) the original.

So, seeing as the code says nothing about licensing in the comments I need to somehow contact this person who was last online in 2012. I guess the only place i have to look is his github.

yes. alternatively you can entirely rewrite the code from the ground up (without the original as a full reference), it is then your code and can be licensed as you wish
if you are going to rewrite it then only copy the functionality of the entire code, not the individual lines. You may want to ask KingofGameYami about his LAMA rewrite.
Edited on 05 February 2016 - 09:36 AM
Cing #54
Posted 05 February 2016 - 03:41 PM
I am sorry but i can't figure out how to move code from the old to the new repository.
But I really want to help.
So could just tell me what is should code could be anything? :)/>
Lupus590 #55
Posted 05 February 2016 - 05:24 PM
I am sorry but i can't figure out how to move code from the old to the new repository.
But I really want to help.
So could just tell me what is should code could be anything? :)/>

Do you know how to use git? If not then you will need to learn how to use git in order to contribute to the project.

If you have some basic understanding of git then you need to fork the new repository and make changes in your copy, then you can make a pull request on my copy of the repository.

I'm not to good at explaining things like this over text, so look for some tutorials online.
here are some github related posts from the forums:
http://www.computerc...-to-use-a-repo/
http://www.computerc...c/22326-github/
http://www.computerc...ed-with-github/
Edited on 05 February 2016 - 04:25 PM
Cing #56
Posted 05 February 2016 - 06:39 PM
I actually don't know how to use github so thanks for the links.

But do i need my own repository?
And do i need sourceTree?
Edited on 05 February 2016 - 05:39 PM
Lupus590 #57
Posted 05 February 2016 - 07:36 PM
But do i need my own repository?
cloning the repo's will make a repository

And do i need sourceTree?
no but you may find you life a lot easier with it, I personally started with the github GUI, but I'm now using the command line.
you will need something which can do what these programs do though
Edited on 05 February 2016 - 06:40 PM
Cing #58
Posted 05 February 2016 - 09:39 PM
And do i need sourceTree?
no but you may find you life a lot easier with it, I personally started with the github GUI, but I'm now using the command line.
you will need something which can do what these programs do though

What do you recommend?
Lupus590 #59
Posted 05 February 2016 - 09:52 PM
If you have experience with using the command line before then use the command line, it is quicker and easier than the GUI once you are used to it.
If you have not used a command line based program before then try it, if you really dislike it then use the GUI.

https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf
Cing #60
Posted 05 February 2016 - 10:00 PM
Oké i am first gone use gitUi then.
Thanks for the advice
Cing #61
Posted 05 February 2016 - 10:45 PM
But how can i edit the test in the github desktop app?
Or do i need a special text editor for that? And which one should i use?

Update: I have downloaded atom gone try that out.
And downloading c++ now gone look to wich one is pleasant.
Edited on 05 February 2016 - 10:35 PM
Lupus590 #62
Posted 05 February 2016 - 11:18 PM
the github desktop app just manages syncing the files on the server and on your computer, open the repo location by right clicking on it and selecting "open in explorer"

as for text editors, most files you will encounter on github will be plain text, but your operating system may not recognise them as such. I personally use notepad++ but the default editor that is included with your OS will be fine for most cases.
Cing #63
Posted 05 February 2016 - 11:59 PM
Do you also recommand any lua tester or simulator app ?


Sorry for the Many questions.
Lupus590 #64
Posted 06 February 2016 - 12:18 AM
The best simulator is the actual thing, but I quite like CC Emu Redux when I don't want a full MineCraft world running.

Don't worry about the amount of questions you are asking, we were all noobs at some point.
Edited on 05 February 2016 - 11:21 PM
1wsx10 #65
Posted 06 February 2016 - 03:43 AM
yes. alternatively you can entirely rewrite the code from the ground up (without the original as a full reference), it is then your code and can be licensed as you wish
if you are going to rewrite it then only copy the functionality of the entire code, not the individual lines. You may want to ask KingofGameYami about his LAMA rewrite.

actually rewriting doesn't sound that bad, especially since the current code only has support for learning if there is a block or not.. it stores no information about what kind of block is there and changing that would be a lot of work in itself.

that, and this code does things in some roundabout ways which make it quite strange.

then again, is there a reason you aren't currently using starNav?
Edited on 06 February 2016 - 02:44 AM
Lupus590 #66
Posted 06 February 2016 - 02:08 PM
actually rewriting doesn't sound that bad, especially since the current code only has support for learning if there is a block or not.. it stores no information about what kind of block is there and changing that would be a lot of work in itself.
block info on the map could be interesting, if it's a block marked as terrain then it could be dug to create turtle highways to popular areas.
as blocks which are player made will be in a black list for mining, preventing accidental turtle grief

could you add support for exclusion areas? I.E. the turtle gets a rednet message from a computer in a base which is broadcasting a no fly zone signal: original idea on idea exchange: http://www.computercraft.info/forums2/index.php?/topic/11067-idea-exchange/page__st__480__p__233557#entry233557

then again, is there a reason you aren't currently using starNav?
I'm not entirely sure, I guess I can look at both of your mapping/path-finding programs and pick which works best. Alternatively it may be an idea for you guys to collaborate.
Edited on 06 February 2016 - 01:16 PM
1wsx10 #67
Posted 07 February 2016 - 05:18 AM
actually rewriting doesn't sound that bad, especially since the current code only has support for learning if there is a block or not.. it stores no information about what kind of block is there and changing that would be a lot of work in itself.
block info on the map could be interesting, if it's a block marked as terrain then it could be dug to create turtle highways to popular areas.
as blocks which are player made will be in a black list for mining, preventing accidental turtle grief

could you add support for exclusion areas? I.E. the turtle gets a rednet message from a computer in a base which is broadcasting a no fly zone signal: original idea on idea exchange: http://www.computerc...557#entry233557

then again, is there a reason you aren't currently using starNav?
I'm not entirely sure, I guess I can look at both of your mapping/path-finding programs and pick which works best. Alternatively it may be an idea for you guys to collaborate.

no-fly zone. interesting, that would be pretty simple i think. also, it could use a separate file which can be sent to selected turtles

good news! original egps is now under MIT license: https://gist.github.com/SquidLord/4741746
blunty666 #68
Posted 07 February 2016 - 07:42 PM
starNav has undergone a lot of changes recently, and has been split off from the main A* path-finding algorithm which can now be used independently in other navigation algorithms. netNav is the new latest and greatest navigation API. It uses a central map server, the remoteMap API, that all turtles can share and update concurrently.

I have uploaded all this to github, so feel free to have a look and let me know what you think.

FYI I tried to adapt starNav to use LAMA, but ran into problems just trying to get LAMA to work so gave up. IMO I'm not sure personally if the LAMA approach is the best anyway, with the introduction of ender modems in the latest CC version having a worldwide GPS network is a simple matter, even in older versions 1 GPS tower is usually enough to cover the area you want your turtles to work in.
Lupus590 #69
Posted 07 February 2016 - 10:33 PM
As your projects do the same thing, have you ever thought of combining the best parts of them and working together?
KingofGamesYami #70
Posted 07 February 2016 - 10:37 PM
If you have questions about LAMA (at least, the re-write I did of it), please don't hesitate to send me a PM. Also, LAMA will attempt to use gps if it can. Although, once you've run it once it won't update it's position based on a network unless you do it manually (using lama.setPosition), because you may have used the coordinates it has already provided.
blunty666 #71
Posted 08 February 2016 - 09:27 AM
If you have questions about LAMA (at least, the re-write I did of it), please don't hesitate to send me a PM.

I've made a pull request now, let me know what you think!
Cing #72
Posted 08 February 2016 - 07:20 PM
I don't if the cc maping and pathfinding is ready yet.
But if so how would i use it in my programs(is the mining program for the turtle).
I mean what function do i need to use for moving?
Lupus590 #73
Posted 08 February 2016 - 08:52 PM
I don't if the cc maping and pathfinding is ready yet.
But if so how would i use it in my programs(is the mining program for the turtle).
I mean what function do i need to use for moving?

https://github.com/K...sYami/LAMA/wiki

Hive doesn't officially support any kind of use for the time being, the project is still in it's infancy. LAMA however is a working component of the project (LAMA is stand alone, but was updated for use with Hive).

LAMA doesn't do mapping though, you will have to ask one other developers.
Edited on 08 February 2016 - 07:53 PM
Cing #74
Posted 09 February 2016 - 04:10 PM
No it was more a question if the program is done.
Just so i can update my program.

But do you know what hive will use for moving?
Lupus590 #75
Posted 09 February 2016 - 04:30 PM
No it was more a question if the program is done.
Just so i can update my program.

But do you know what hive will use for moving?

The hope is that Hive will override the default turtle API, this will mean that the turtle can never get itself lost (although things which move blocks, players/funky locomotion/another turtle will still be a problem for the turtle). It also means that programmers will not need to change their navigation code to support Hive.

If you want to integrate with the actual mapping/pathing API then you will have to wait until we settle on one. LAMA is the only certainty at the moment, but if the mapper/pathing API we are using also provides LAMAs features (which it looks like they will) then we may swap them out.

A more important thing to note is that Hive is too early in it's development to be making programs which will use it.
Edited on 09 February 2016 - 03:31 PM
Cing #76
Posted 09 February 2016 - 04:38 PM
The hope is that Hive will override the default turtle API, this will mean that the turtle can never get itself lost (although things which move blocks, players/funky locomotion/another turtle will still be a problem for the turtle). It also means that programmers will not need to change their navigation code to support Hive.
Oké i will then leave my old code.

A more important thing to note is that Hive is too early in it's development to be making programs which will use it.
What else could i help/code with?
Just say something i could do.
Lupus590 #77
Posted 09 February 2016 - 05:13 PM
What else could i help/code with?
Just say something i could do.

Just dive into the git repositories: https://github.com/CC-Hive
If you don't know what to do then look at the files named README.md (they should be automatically open in github once you open a repository)

if you don't know how to use git then look at these:
https://desktop.github.com/ - a graphics user interface for git which integrates with github
https://git-scm.com/...-Installing-Git - instructions for installing the git command line, this is the thing that is actually doing all the work (you do not need this if you are using the github desktop
https://try.github.i.&#46;&#46;/1/challenges/1 - an interactive tutorial for the command line version of git

you may be also interested in these tutorials and ask a pro's on the forums:
http://www.computerc...p?/topic/10455- - ask a pro
http://www.computerc...p?/topic/22326- - ask a pro
http://www.computerc...p?/topic/16360- - tutorial

if you find that you like the command line, then you may also like:
http://www.computerc...p?/topic/25661- - my instructions for installing various Unix utilities on windows

If you need more help then tell me which OS you are running (windows/mac/linux) and I'll help where I can
Edited on 09 February 2016 - 04:14 PM
Cing #78
Posted 10 February 2016 - 10:11 AM
I on vacation now so i use a mac. With git desktop and atom.
But atom does't seem to support lua.

But at home i use windows.
I have looked at the repository's and see some thing i could add.

i also made some inventory api that i will add to the repo.
Creator #79
Posted 10 February 2016 - 10:20 AM
I on vacation now so i use a mac. With git desktop and atom.
But atom does't seem to support lua.

But at home i use windows.
I have looked at the repository's and see some thing i could add.

i also made some inventory api that i will add to the repo.

There is a lua syntax package. Just search lua, and you will find it.
Cing #80
Posted 10 February 2016 - 10:34 AM
There is a lua syntax package. Just search lua, and you will find it.

Where should i type it in?

Update:
Never mind found it.
Edited on 10 February 2016 - 10:05 AM
Cing #81
Posted 12 February 2016 - 08:36 PM
Hi, Lupus
I know that you have it busy with uni work.
And that you haven't had time yet to make the todo list.
But could you just give me some sort of task.
Because i don't really what to make of the realm's.
Lupus590 #82
Posted 12 February 2016 - 09:37 PM
Hi, Lupus
I know that you have it busy with uni work.
And that you haven't had time yet to make the todo list.
But could you just give me some sort of task.
Because i don't really what to make of the realm's.

You could try to tidy up the various readme files. To do entries should go in a separate file named TODO.md so you could do that too.
QBFreak #83
Posted 20 February 2016 - 04:39 PM
I find this project very interesting. I had a similar idea a while back but didn't want to take on something that large at the time. It's almost like Dwarf Fortress for Minecraft :)/>

I think I've finally got the hang of git and how it interacts with GitHub. I've forked Main and I'm working on cleaning up the four files found there.
Lupus590 #84
Posted 20 February 2016 - 06:48 PM
I'm about to add this to the OP: http://www.computercraft.info/forums2/index.php?/topic/26002-
It's a tutorial for joining Github projects, such as hive.
QBFreak #85
Posted 20 February 2016 - 07:17 PM
Yeah. The bit on forking would have saved me a little time :)/> I've done quite a bit to the files in Main, which leads me to some questions for you:

In the future, do you prefer one pull request per file or per task (that might affect multiple files)?

Do you want descriptive or pretty messages for commits of the .md files in Main? They're the first thing users see when they drop by your repo.

To do: Link back to other project repos, or skip to sub-moduleing them
I wasn't clear on whether this meant links to the original repos, or your forks. At the moment I've got links to all your forks in TODO (per one of your TODO entries)

I have a handful of branches for the various tasks while I was cleaning things up. Do you want a pull request for the latest, or one for each working from oldest to newest?
Lupus590 #86
Posted 20 February 2016 - 10:16 PM
- snip -

I did have a nose around your repo, looks good so far.

Most of your current stuff is to do with repo maintenance, so that can go as one pull request. Edit: done this for you.

As for a format for pull requests, I guess that is another thing to add to the todo list.
Edited on 20 February 2016 - 09:26 PM
QBFreak #87
Posted 21 February 2016 - 02:04 AM
I see you got it all done, awesome. Tomorrow I'll proofread the new stuff and start looking through the components of Hive.
Lupus590 #88
Posted 05 March 2016 - 10:50 PM
OP edit: added poll for the new logo (and added the new logo)
Cing #89
Posted 08 March 2016 - 10:29 PM
For the logo. Is there a brighter yellow because i think row 1,3,5 are a bit dark
HDeffo #90
Posted 09 March 2016 - 12:58 AM
For the logo. Is there a brighter yellow because i think row 1,3,5 are a bit dark

he could dither it to make it look brighter MAYBE….but in general no there isn't any other shade of yellow really
Lupus590 #91
Posted 09 March 2016 - 11:11 AM
The image that I uploaded is from a screenshot of a computercraft emulator, so the colours may not be quite what they are in game. The main thing to note about the colours is that this will be used in game, so we are limited to the 16 based colour pallet of MC.
Konlab #92
Posted 25 March 2016 - 12:28 PM
Is it just me or everything except lama and inventory is empty?
I'm also not sure what to download and how to setup it in my survival world because I checked all the not fork repos but couldn't find the server nor the client.
Lupus590 #93
Posted 25 March 2016 - 01:57 PM
There is no release build at the moment, sorry for any confusion.

When a release is ready, I will edit the OP to include a pastebin link, this link will be a automated install process.
Edited on 25 March 2016 - 12:59 PM
houseofkraft #94
Posted 18 September 2016 - 06:07 PM
How do i install Hive? I wanted to use Hive but im unsure how to install it
Lupus590 #95
Posted 19 September 2016 - 01:44 PM
there is no working version yet, sorry for any inconvenience.