1000 things to do in Modded mc.

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Coal is decent power...well, rather, charcoal is decent power. It just needs to be spammed a bit! Besides, what's the fun in building, for the millionth time, a generic solar flower or another one of those over-complicated IC2 monstrosities that go under the name "reactor?" I get a kick out of the former, especially when combined with the Condensed Blocks mod and not using AE for auto-crafting.

* - Use a combination of a touch screen monitor, turtles, and Factorization barrels to make a turtle-based auto-crafting system. Bonus points if the turtle is behind a glass wall, so you can see it as it works.
 
Last edited:

YX33A

New Member
Jul 29, 2019
3,764
1
0
Coal is decent power...well, rather, charcoal is decent power. It just needs to be spammed a bit! Besides, what's the fun in building, for the millionth time, a generic solar flower or another one of those over-complicated IC2 monstrosities that go under the name "reactor?" I get a kick out of the former, especially when combined with the Condensed Blocks mod and not using AE for auto-crafting.

* - Used a combination of touch screen monitor, turtles, and Factorization barrels to make a turtle-based auto-crafting system. Bonus points if the turtle is behind a glass wall, so you can see it as it works.
Now this I'd like to see. Also wouldn't mind using JABBA instead of Factorization if I could(due to perfering JABBA Barrels over Factorization ones).
 
  • Like
Reactions: Padfoote

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
I would, too! I could probably pull it off, but I'd have to spend a tonne of time with that code...my level of expertise with Lua is a tad lacklustre, unfortunately.
 

casilleroatr

New Member
Jul 29, 2019
1,360
0
0
I think the hardest part would be making a decent working monitor interface. Everything else I reckon I could do given enough time. I just have a bit of a mental block when it comes to buttons - I have my own little button api that sort of works (and works properly) except for feedback, making the buttons reliably feed information back to the user is something I have not yet had success with.
 
  • Like
Reactions: kaovalin

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Found something that might fix that particular problem. It requires that you pass a callback method to the button's constructor, so you can customize things. Only thing it wouldn't be useful for would be toggle buttons, unless you had a status monitor or something.
 

casilleroatr

New Member
Jul 29, 2019
1,360
0
0
Found something that might fix that particular problem. It requires that you pass a callback method to the button's constructor, so you can customize things. Only thing it wouldn't be useful for would be toggle buttons, unless you had a status monitor or something.
That is quite similar to what I have already. The api I wrote looks a lot clumsier than that but the functionality was broadly the same. You could make a button and give it a customized button draw and a customized function and all buttons would be stored in an array for easy click handling. The problem I had was that it I couldn't figure out a good way of doing toggles. Say I made a button turn green to show that it was on, I couldn't come up with a good way to turn it red after a given time delay while still being able to do other things at the same time, like interact with other buttons. I think it involves learning about coroutines but I still haven't wrapped my head around those yet. It has been a long time since I wrote that API and it was unfinished then. I guess if I started it up again now I wouldn't mind rewriting most of it and see if a new approach will give me that kind of flexibility.
 

kaovalin

New Member
Jul 29, 2019
782
0
0
You could make a derpy AE system using turtles. It would sortve be like DW20's portal code in that you place books for loading things, but instead of going into a book receptical in the portal, the book has instructions for assembling the items which another turtle reads and does. Books would then be patterns, and you would have multiple "pattern chests" that turtles read to find out what recipes it has. It would make it more modular than hard coding each recipes me thinks.
 

casilleroatr

New Member
Jul 29, 2019
1,360
0
0
You could make a derpy AE system using turtles. It would sortve be like DW20's portal code in that you place books for loading things, but instead of going into a book receptical in the portal, the book has instructions for assembling the items which another turtle reads and does. Books would then be patterns, and you would have multiple "pattern chests" that turtles read to find out what recipes it has. It would make it more modular than hard coding each recipes me thinks.
Thats an interesting thought. I have always envisaged a system where turtles would send appropriate amounts of material to autocrafting tables like cyclic assemblers. It agree that it would be better to have an easily extensible way of adding "patterns" that a crafting turtle could understand without having to rely on third party crafting tables. You would probably still need openperipherals at least to make sure that items were imported into the turtles inventory in the right slot to make sure you get the right crafting result. The problem is finding a good way to make these patterns that the turtle could reliably make sense of and would be human read/writable enough to make it easy to add new patterns.

One idea I have just had is to arrange your crafting pattern in the top right hand corner of a crafting table using real items and them run a script using open peripheral methods to capture that pattern, then it could share the pattern using a common data structure of your devising with other crafting turtles who would attempt to craft that arrangement of items in their own inventory.
 

eric167

New Member
Jul 29, 2019
450
0
0
for whatever number we are on
Store a friend in a spatial storage cel
ftfy.


store self in spatial storage cell, within a spatial storage cell, within ANOTHER spatial storage cell.
in single player. before you realize you have NO way of getting out. ever.
 

kaovalin

New Member
Jul 29, 2019
782
0
0
Thats an interesting thought. I have always envisaged a system where turtles would send appropriate amounts of material to autocrafting tables like cyclic assemblers. It agree that it would be better to have an easily extensible way of adding "patterns" that a crafting turtle could understand without having to rely on third party crafting tables. You would probably still need openperipherals at least to make sure that items were imported into the turtles inventory in the right slot to make sure you get the right crafting result. The problem is finding a good way to make these patterns that the turtle could reliably make sense of and would be human read/writable enough to make it easy to add new patterns.

One idea I have just had is to arrange your crafting pattern in the top right hand corner of a crafting table using real items and them run a script using open peripheral methods to capture that pattern, then it could share the pattern using a common data structure of your devising with other crafting turtles who would attempt to craft that arrangement of items in their own inventory.

The factorization 3x3 crafting thinggy might work for distributing the materials, especially with nonstackables since it uses barrels. Then have the turtle export the items in sequence to a chest where they are sucked out by a TE item duct set to round robin into previously mentioned barrels. Then use a dummy item as an empty space item. When the dummy item is detected from the pipes under the barrels it can automatically get pulled out. Just have to adjust the flow to ensure the items dont stack and mess up when put in the chest unless you pull strait from the turtle where they are purposefully placed in order in said turtle's inventory. Lots of potential ways, but I lack the programming talent to manage getting specific items into the turtle, just the practical knowledge of what to do when it gets there.
 

Talonar

New Member
Jul 29, 2019
76
0
0
Create a Octuple compressed cobble stone [43 million cobble compressed by extra utilities], that's one of my goals rofl.
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
The factorization 3x3 crafting thinggy might work for distributing the materials, especially with nonstackables since it uses barrels. Then have the turtle export the items in sequence to a chest where they are sucked out by a TE item duct set to round robin into previously mentioned barrels. Then use a dummy item as an empty space item. When the dummy item is detected from the pipes under the barrels it can automatically get pulled out. Just have to adjust the flow to ensure the items dont stack and mess up when put in the chest unless you pull strait from the turtle where they are purposefully placed in order in said turtle's inventory. Lots of potential ways, but I lack the programming talent to manage getting specific items into the turtle, just the practical knowledge of what to do when it gets there.
I figured you'd just have a map of various items to various barrel numbers in the turtle, and have the touch screen computer send the recipe to the turtle. It goes up to the necessary barrels, and performs the necessary crafting all by itself; its why Dan gave us wireless crafty turtles!
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
for whatever number we are on

ftfy.


store self in spatial storage cell, within a spatial storage cell, within ANOTHER spatial storage cell.
in single player. before you realize you have NO way of getting out. ever.
Except for MystCraft, which is really easy to get out of pretty much anything with(assuming you have a well made linkbook). And of course any mod that allows for teleporting across dimensions. So another easy way out would be Ars Magicka 2(or 1) and using Divine Intervention. Cast once and you're back in the overworld. Cast again and you're back at your bed/spawn.
So...
#Q: Store Self in a Spatial Storage Cell, find a way to store said cell in another spatial storage cell, and then go one layer deeper and store THAT cell in a spatial storage cell, THEN escape after writing on a sign "Kilroy was Here".
 

Staxed

New Member
Jul 29, 2019
1,019
-2
0
Build 1000 display cases and put 1000 items in them while labeling them with 1000 signs, without ever using the number 7 (because 7 is mine, back away slowly).
 

Mevansuto

New Member
Jul 29, 2019
1,739
1
0
Build 1000 display cases and put 1000 items in them while labeling them with 1000 signs, without ever using the number 7 (because 7 is mine, back away slowly).

Now is that just the number 7 or any number featuring the digit 7?
 

casilleroatr

New Member
Jul 29, 2019
1,360
0
0
For people interested in the turtle autocrafting/logistics setup, I have something inside this spoiler
I don't want to divert this thread too much and what I have done is a mere prototype, not worthy of its own thread, so I though spoilering this is a good compromise.

I have written a small program that forms the core of a turtle based AE MAC style autocrafter. It is based on a suggestion I made earlier in this thread. To make a pattern you need to map out a crafting pattern in a chest (vanilla single chest or any chest from iron chests will work). To do this you imagine the 9 slots in the top left of the chest is a crafting grid and arrange any crafting pattern in those slots. Then you place the crafting output in the top right slot (basically, slot 9). My program then analyses the contents of the chest to get the crafting output and the arrangement of input items and it stores that data in a table. To work properly, a program will have to save these tables to a new file so you can have many crafting patterns per turtle. Mine doesn't do that yet because it is only a prototype but it is easy to do. Currently my test program is limited to only work on vanilla chests but it is not difficult to add multiple recipe support. It then looks in a chest above it for crafting ingredients (a way of ensuring that crafting ingredients land). If it finds the items in the chest it puts them in the right slots of the turtle's own inventory and attempts to craft it all. Then it drops the result in a chest below.

Here is the code. It is obviously very incomplete, but it works as a proof of concept.

Code:
--//CC Autocrafter

--//Pre-Init

local patternSide = "back"
local inputSide = "top"
local outputSide = "bottom"


--//Peripherals

local patternProvider = peripheral.wrap(patternSide)
local inputChest = peripheral.wrap(inputSide)
local outputChest = peripheral.wrap(outputSide)
local modem = peripheral.wrap("right")


--//Variables

local craftPatterns = {}
local dropMethods = {
    ["input"] = nil,
    ["output"] = nil,
    }

--//Post-Init

--//Functions

function addComponentToSlot()

end

function getCraftingPattern()
    local craftedItem = nil
    local stackData = patternProvider.getAllStacks()
    while true do
        if stackData[9] == nil then
            print("Please place the crafting product in the top right corner of the pattern making chest and press any key to confirm")
            os.pullEvent("key")
            stackData = patternProvider.getAllStacks()
        else
            craftedItem = stackData[9]["name"]
            break
        end
    end
    local components = {
        [1] = {["craftSlot"] = 1, ["getSlot"] = 1, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [2] = {["craftSlot"] = 2, ["getSlot"] = 2, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [3] = {["craftSlot"] = 3, ["getSlot"] = 3, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [4] = {["craftSlot"] = 5, ["getSlot"] = 10, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [5] = {["craftSlot"] = 6, ["getSlot"] = 11, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [6] = {["craftSlot"] = 7, ["getSlot"] = 12, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [7] = {["craftSlot"] = 9, ["getSlot"] = 19, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [8] = {["craftSlot"] = 10, ["getSlot"] = 20, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        [9] = {["craftSlot"] = 11, ["getSlot"] = 21, ["name"] = nil, ["id"] = nil, ["meta"] = nil, ["qty"] = nil,},
        }

    local stackData = patternProvider.getAllStacks()
    for i,v in pairs(components) do
        local data = stackData[v["getSlot"]]
        if data ~= nil then
            v["name"] = data["name"]
            v["id"] = data["id"]
            v["meta"] = data["dmg"]
            v["qty"] = data["qty"]
        end
    end
    print(craftedItem)
    craftPatterns[craftedItem] = components
end

function craftFromPattern(item, amount)
    print("Attempting to craft "..amount.." "..item)
    local craftInstruction = craftPatterns[item]
    local requiredMats = {}
    for i,v in pairs(craftInstruction) do
        if v["name"] ~= nil then
            if requiredMats[v["name"]] == nil then
                requiredMats[v["name"]] = v["qty"]
            else
                requiredMats[v["name"]] = requiredMats[v["name"]] + v["qty"]
            end
        end
    end
    inputChest.condenseItems()
    for i,v in pairs(requiredMats) do
        print("I need "..(v*amount).." units of "..i)
    end
    local input = inputChest.getAllStacks()
    for i,v in pairs(craftInstruction) do
        if v["name"] ~= nil then
            print("Retrieving "..v["qty"].." of "..v["name"].." to put in slot "..v["craftSlot"])
            for k,w in pairs(input) do
                if w["name"] == v["name"] then
                    print("Found matching item in slot "..k)
                    inputChest.pushItemIntoSlot("down", k, (v["qty"]*amount), v["craftSlot"])
                end
            end
        else 
            print("No items to be put in slot "..v["craftSlot"])
        end
    end
    turtle.select(16)
    turtle.craft()
    turtle.dropDown()
end

--//Mainprog

term.clear()
term.setCursorPos(1,1)


getCraftingPattern()
print("List of craftable items: \n")
local c = 0
for i,v in pairs(craftPatterns) do
    c = c+1
    print(c..": "..i)
end
craftFromPattern("Chest", 2)

Several things need to be added to make this a decent program.

  • Some stuff with the fs api to make it possible to save patterns and load them on startup
  • A modem system so it can communicate with other computers to provide a user friendly way of doing
  • A good way of dealing with crafting recipes that have unstackables either as an input, product or both.
  • Probably other bugfixes that I can't anticipate right now
 
  • Like
Reactions: Senseidragon

YX33A

New Member
Jul 29, 2019
3,764
1
0
Has obtaining a Pseudo-Inversion sigil beeen mentioned yet?
If not, that's #Nth now.