Jump to content




[Cc: 1.48] [Mc: 1.4.7] Aperture Science Turtle Upgrades


227 replies to this topic

#1 Hackingroelz

    Peripheral Designer

  • Members
  • 213 posts
  • Locationthe Nether(lands)

Posted 27 July 2012 - 10:32 PM

Aperture Science Turtle Upgrades

This mod includes many turtle upgrades varying from IDetecting turtles to batch turtles, you can enable the parts that you like

Beta Testing
If you want to help test new versions of ASTU, please send me a message in the following format:
Lua knowledge: Show me how much you iknow about Lua. (please show an example)
Java knowledge: It's not required to know Java, but show me how much you know about Java.
Other things you've beta tested:
Reason you want to be a beta tester:


A mod spotlight made by Cruor:


Download

ASTU for Minecraft 1.4.6: Download
ASTU 1.6 for Minecraft 1.4.4 (Beta): Download
ASTU 1.5 for Minecraft 1.4.2 (Universal): Download
ASTU 1.42 for Mincraft 1.3.2 (Universal): Download
Other versions:
Spoiler

Installation
1. Install ComputerCraft
2. Put the ASTU_XXX_universal.zip in the mods folder

3. If you want to use speaking turtles, drop the contents of the speech.rar in the ASTU zip into the mods folder.

Changelog

1.5:
- Added Ender Turtles
- Ender turtle can store items in the End using and Ender Link Card
- Added Speaking Turtles
- Speaking Turtles can say something using name.say("test", pitch)

- Added secret that'll only work on halloween
- Fixed bugs
1.42
- Added silk touch pickaxe texture
- Fixed bugs
1.4
- Added silk touch turtles
- Fixed server version

1.36:
- Databases can now be labeled using name.setLabel(label, slot)
- Bug fixes
1.31:
- Ported to MC 1.3.2
- ASTU now uses Forge for the config file
- Fixed name.getBlockDown(slotOfDatabase)
- Fixed some minor bugs
1.3:
- Added database turtles
- Database turtles can "learn" blocks and items
- To store the information, database turtles use an item.
- If you hold the database item and right click, a gui with all the learned blocks will open.
- Fixed a few bugs
1.2:

- Added Sonar turtles
- Sonar turtles can detect block that are not in front of them and they can return how far away they are using
name.detect()
- Added Batch turtles
- Batch turtles can run .bat files using name.run(path)
- The method name.isDay() has been replaced with name.getLightLevel()
- Fixed some bugs.
1.1:
- IDetecting turtles can now detect metadata if enabled in the config file
- Added a config option that makes the IDetecting turtle return names instead of ID's.
- Added solar turtles
- Solar turtles have a random chance to generate power in sunlight
- Solar turtles can detect if it's day


Known bugs:
- Forge loads ASTU before ComputerCraft, change ASTU.zip to zASTU.zip


Official ASTU irc channel: http://webchat.esper...?channels=#ASTU

How to use

Almost everything in ASTU can be turned on and off, if one of the following features doesn't work make sure it's enabled in the config file.

IDetector
The crafting recipe for the IDetecting turtle is a turtle and a book.

The methods are:
IDetect() -- detects the ID of the block in front of the turtle
IDetectUp()

IDetectDown()

You can use them like so:
local whatever = peripheral.wrap("right")
print(whatever.IDetect())


Solar Turtles
Solar turtles are crafted with a solarr panel, these can be crafted like so:


Posted Image

Solar turtles have a random chance of gaining energy in sunlight

A solar turtle can check the current light level using this method:

name.getLightLevel()

Sonar turtles
Sonar turtles can be crafted using a jukebox.

name.detect() returns the distance between the turtle and the block in front of it.

Batch turtles
Batch turtles can be crafted using a batch pearl. These can be crafted with obsidian in the corners, diamonds on the side and an ender pearl in the middle

Batch turtles can run .bat files using name.run("Path")

Database Turtles
Database turtles are crafted with a database. A database can be crafted like so:


Posted Image

If RedPower recipes are disabled the RS latches are replaced with redstone.

Database turtles can learn blocks and items and store them in a database. This can be done using following methods:

name.setBlock(name, slotOfDatabase)
name.setBlockUp(name. slotOfDatabase)
name.setBlockDown(name, slotOfDatabase)

name.setItem(name, slotOfItem, slotOfDatabase)

To get the information of the database you can use these methods:

name.getBlock(slotOfDatabase)
name.getItem(slotOfItem, slotOfDatabase)


New in 1.35: labels. You can label a database like so:

name.setLabel(label, slotOfDatabase)

To view the blocks that are in a database, simply right click it and a gui will open.


Silk Touch Turtles
Silk touch turtles can be crafted using a silk touch diamond pickaxe. Silk touch turtles work the same as a normal silk touch pickaxe, so they can break all blocks a player can using it.

Ender Turtles
Put and ender link card in the turtle and use the following methods to store/get items from the End:

name.store(slotOfEnderlinkcard) -- Will store the currently selected item in the End
name.getItem(slotOfEnderlinkcard) -- Will get the first item that's stored in the End
name.setLabel(slotOfEnderlinkcard, label) -- Labels the ender link card

Speaking Turtles
Craft the turtle using a noteblock. To make the turtle speak use:

wrappedPeripheral.say(text, pitch)


Note: Speaking Turtles only work if you've done step 3 of the installation instuctions

#2 Cloudy

    Ex-Developer

  • Members
  • 2,543 posts

Posted 28 July 2012 - 09:32 AM

Cool! Does it also detect the metadata of blocks if they have sub types?

#3 Noodle

  • Members
  • 989 posts
  • LocationSometime.

Posted 28 July 2012 - 09:37 AM

Pictures?
I think IDs should be added to 1.41 :)/>

#4 Cloudy

    Ex-Developer

  • Members
  • 2,543 posts

Posted 28 July 2012 - 09:40 AM

Why are pictures needed? This is an addon for turtles. You simply craft a turtle with a book.

#5 xuma202

  • Members
  • 288 posts
  • LocationBonn Germany

Posted 28 July 2012 - 09:46 AM

@roel15

How do you know how to use the Turtle Upgrade API dan has not released javadocs yet. And I can't find a decompiled version of the API anywhere.

#6 Hackingroelz

    Peripheral Designer

  • Members
  • 213 posts
  • Locationthe Nether(lands)

Posted 28 July 2012 - 09:48 AM

View PostCloudy, on 28 July 2012 - 09:32 AM, said:

Cool! Does it also detect the metadata of blocks if they have sub types?

Not yet maybe I'll add that in the next version.

#7 Hackingroelz

    Peripheral Designer

  • Members
  • 213 posts
  • Locationthe Nether(lands)

Posted 28 July 2012 - 09:50 AM

View Postxuma202, on 28 July 2012 - 09:46 AM, said:

@roel15

How do you know how to use the Turtle Upgrade API dan has not released javadocs yet. And I can't find a decompiled version of the API anywhere.

I've decompiled CC to learn how to use it. And I don't think the API is avariable yet, I used the beta version of the API.

#8 xuma202

  • Members
  • 288 posts
  • LocationBonn Germany

Posted 28 July 2012 - 09:57 AM

Ok is the "beta version of the API" something I can download anywhere? If so where?

#9 Cloudy

    Ex-Developer

  • Members
  • 2,543 posts

Posted 28 July 2012 - 10:03 AM

If you decompile the version of the API which comes with 1.4 you'll have the same amount of documentation roel had :)/> it isn't documented yet. Will be fully released when documented.

#10 Mendax

  • Members
  • 366 posts

Posted 28 July 2012 - 11:39 AM

Knew it was only a matter of time until someone made this... Now time to collect my bet >:)/>

#11 Pinkishu

  • Members
  • 484 posts

Posted 28 July 2012 - 11:56 AM

View PostNoodle, on 28 July 2012 - 09:37 AM, said:

Pictures?
I think IDs should be added to 1.41 :)/>

Dan does not like IDs because they'd break the 4th wall
If at all he'd probably be okay with some kind of token that unique per block per server or so i guess (notice: i dunno about that part and it's not quoted from dan, i just remember him talking something like that)

#12 Xfel

    Peripheral Designer

  • Members
  • 515 posts

Posted 28 July 2012 - 01:20 PM

Well that looks nice. Seems that I have to hurry with arp turtle support to keep up...

#13 Noodle

  • Members
  • 989 posts
  • LocationSometime.

Posted 28 July 2012 - 01:41 PM

View PostPinkishu, on 28 July 2012 - 11:56 AM, said:

View PostNoodle, on 28 July 2012 - 09:37 AM, said:

Pictures?
I think IDs should be added to 1.41 :)/>

Dan does not like IDs because they'd break the 4th wall
If at all he'd probably be okay with some kind of token that unique per block per server or so i guess (notice: i dunno about that part and it's not quoted from dan, i just remember him talking something like that)
Idk, something like
if turtle.dectect("dirt") then
  turtle.dig()
end


#14 Corbald

  • Members
  • 19 posts

Posted 29 July 2012 - 01:25 AM

Doesn't seem to work. Got the iDetecting turtles, but no api? attempt to call nil in lua using a direct copy of the given code example.

#15 xuma202

  • Members
  • 288 posts
  • LocationBonn Germany

Posted 29 July 2012 - 09:11 AM

View PostCorbald, on 29 July 2012 - 01:25 AM, said:

Doesn't seem to work. Got the iDetecting turtles, but no api? attempt to call nil in lua using a direct copy of the given code example.

You will have to wrap the Peripheral first it's the same with any other Peripheral.

det = peripheral.wrap("left")
det.IDetect()

untested but should be right.

#16 Corbald

  • Members
  • 19 posts

Posted 29 July 2012 - 04:55 PM

I did exactly that. wait... is it .iDetect() or .IDetect()?

EDIT: Yeah, doh! I fail at case!

#17 xuma202

  • Members
  • 288 posts
  • LocationBonn Germany

Posted 29 July 2012 - 05:04 PM

it's IDetect() with a capital i at the beginning.

#18 BlueMond

  • Members
  • 21 posts

Posted 03 August 2012 - 11:01 AM

Until computercraft turtles actually get something like this I just put the items I want to know what the turtle would be mining in its inventory and use the compareTo() function.

#19 Corbald

  • Members
  • 19 posts

Posted 05 August 2012 - 08:26 PM

View PostBlueMond, on 03 August 2012 - 11:01 AM, said:

Until computercraft turtles actually get something like this I just put the items I want to know what the turtle would be mining in its inventory and use the compareTo() function.

The issue, of course, lies in the fact that many of the mine-able blocks don't drop blocks! For example, mining coal (and detecting it) previously required both inventory space in the Turtle for the actual coal and the coal block. Unfortunately, this requires that you have Silk Touch on a pick for four vanilla resources (that I can think of), and untold mod resources. Let's not forget that stone doesn't drop stone, it drops cobblestone.

I have Coal, Redstone, Lapis, Diamond, Glowstone, Appetite, Nicolite, the three RP gems and probably a few more that I have forgotten. Even with the increased inventory space in Turtles in 1.4, I'm running into issues with inventory management for basic prospecting Turtles. It's SO much easier and cleaner to just query the blockID and match it up with the ID of the items in my Turtle's inventory.

Just as importantly, I can now have my Turtles watch out for IDs that indicate they might be in someone's base. Cobble, bricks, etc.. are all indicators of man-made structures.

This peripheral, in combination with Xfel's, compensates for what (IMHO) are a few bad design decisions. Now all I need is some sort of advanced sensors package which can extend the range of Turtle perception, and I'll be in 7th Heaven! (hint)

#20 NuBSMcGee

  • Members
  • 12 posts

Posted 05 August 2012 - 09:05 PM

Great mod! Thanks for the shiny toy :P/>

P.S. There's a typo in your topic. You used the word "your" instead of "You're" as in, "Know what YOU ARE mining. Knowing what "My mining" doesn't make any sense ^.^





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users