martinsvk12 / retrostorage Goto Github PK
View Code? Open in Web Editor NEWDigital storage system mod for Minecraft b1.7.3, 1.2.5 and BTA 7.1!
License: MIT License
Digital storage system mod for Minecraft b1.7.3, 1.2.5 and BTA 7.1!
License: MIT License
Having one stack of 64 of a crafting ingredient, and then multiple others will use the required ingredients for a craft from all stacks except the first one, unless the craft would use all remaining ingredients, then it will use some from the 64-stack aswell.
Requesting an autocraft while the output slot of the request terminal is full will use up the items required for the craft, but not output anything to either the slot or the system, voiding the ingredients.
Inserting an item into an autocrafted storage disc will add it to every other existing and future autocrafted discs. It appears that taking out items from any disc doesn't change this behaviour, all disc retain what has been put into them.
These items sync up across worlds, but get reset after closing and re-opening the game. A similar effect can be achieved by giving yourself the discs through HMI.
Repro steps:
-give yourself 2 or more discs through hmi, or have a retrostorage system craft them for you
-insert one disc into a digital chest, then put an item in the disc
-all discs should now have this item inside them
Duplication:
Voiding:
Reproduction steps:
Voiding:
-set up a system with a digital terminal and an exporter pointing to a chest
-put two stacks of 64 items into the system
-put in another, non-64 stack
-set the exporter to export the items you just put in
-the chest should only have one 64 stack and the non-64 stack, deleting the second 64 stack
Duplicating:
-put a 64 stack of an item into the system
-put multiple non-64 stacks into the system
-set the exporter to export the item you just put in
-every non-64 stack should have turned into a 64-stack in the chest, except the last one
https://github.com/unimined/unimined
pretty sure this makes the project setup overall better and easier
if you pop disk in disc drive, then unpower it and break it game will crash (only in survival)
[22:19:52] [Minecraft main thread] java.lang.NullPointerException: Cannot invoke "net.minecraft.src.ItemStack.copy()" because the return value of "sunsetsatellite.retrostorage.tiles.TileEntityDiscDrive.getStackInSlot(int)" is null
[22:19:52] [Minecraft main thread] at sunsetsatellite.retrostorage.blocks.BlockDiscDrive.onBlockRemoval(BlockDiscDrive.java:46)
[22:19:52] [Minecraft main thread] at net.minecraft.src.Chunk.setBlockID(Chunk.java:317)
[22:19:52] [Minecraft main thread] at net.minecraft.src.World.setBlock(World.java:598)
[22:19:52] [Minecraft main thread] at net.minecraft.src.World.setBlockWithNotify(World.java:727)
[22:19:52] [Minecraft main thread] at net.minecraft.src.PlayerController.destroyBlock(PlayerController.java:128)
[22:19:52] [Minecraft main thread] at net.minecraft.src.PlayerControllerSP.destroyBlock(PlayerControllerSP.java:14)
[22:19:52] [Minecraft main thread] at net.minecraft.src.PlayerController.mine(PlayerController.java:99)
[22:19:52] [Minecraft main thread] at net.minecraft.client.Minecraft.mineBlocks(Minecraft.java:909)
[22:19:52] [Minecraft main thread] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1455)
[22:19:52] [Minecraft main thread] at net.minecraft.client.Minecraft.run(Minecraft.java:3369)
[22:19:52] [Minecraft main thread] at java.base/java.lang.Thread.run(Thread.java:833)
Containers dropping items in a random direction is rather unintuitive and can lead to losing items in certain situations. They should always drop items in the direction they're facing, possibly even just spawning the items in the block in front of them with no velocity.
Clicking an item on the terminal display with another item of the same type on the cursor will fill the stack on the cursor without taking out items from the system, provided that the amount in the system + the stack on the cursor <= 64.
Having an exporter with a whitelist in the network crashes the game.
Tested on a fresh install of beta with modloader, forge 1.0.7 and HMI 4.2
Crafting recipes that leave an item behind, such as cake leaving empty buckets or any EE transmutation recipes consume the items instead of leaving them in the system.
Repro steps:
-set up a system with an assembler
-teach the system to craft cake
-request cake
-the cake will be crafted, but the buckets will be gone
Reproduction steps:
-have a system with a terminal and a disc drive
-put in one stack of 64 items into the terminal
-put in 10 more of the same item, one by one
-you should now see 2 stacks of 64 among the single-stacks
-taking one 64-stack out will create another one, this will repeat for every single 1-stack except the last one
Title. The empty slot appears between requestable items.
If a recipe is smaller than the full 3x3 grid, for example sticks, the recipe needs to be put in the top left of the grid for the encoding to work, otherwise the recipe disc will encode "null".
When multiple stacks of the same item and the same amount are present in the system, attempting to take one out will remove all of those stacks, but only put one in the output slot, voiding the rest.
Attempting to request an autocraft while not having enough ingredients makes the next successful autocraft happen 3 times. Attempting to craft the item you're lacking ingredients for again after that crafts a fourth of the previous item. Doesn't happen if the UI is left between the unsuccessful craft and the successful one.
Repro steps:
-set up 2 recipe discs with recipes requiring different materials, a chest and a furnace for example
-insert wood into the system
-request a furnace to be crafted, then, without leaving the UI, request a chest
-there should be 3 chests waiting for you in the output slot
-attempting to request a furnace again will make another chest, but only the first time, further clicks do nothing
Items consumed by the crafting appear to be the correct amounts, except for #14
Assuming x + y < 64, inserting x of an item into the system and then later y of that same item will cause it to stack, making a single x+y stack. This only happens if there's <64 of said item already in the system. If a stack of 64 is already present, it will instead create two separate stacks of x and y respectively.
I disabled most other mods to hopefully make sure nothing interferes hopefully, here's the crash log:
https://paste.ee/p/q5jig
Pretty much as described in the title
Title.
If a recipe is encoded with a stack of items >1 then the amount encoded will be used in crafting.
Example/repro steps:
-encode the recipe for sticks, using 2 wooden planks, but make one of the planks have 2 of the item, effectively using 3
-put 3 planks in the system
-request a stick craft
-3 planks will be used instead of 2
Buildcraft pipes can connect to digital and request terminals. Piping items into them will put the items in the output slot, if the item being pumped in isn't already stored in the system. If it is stored in the system, the items will be voided instead. (the item in the system will go up by 1 briefly, but go back to the previous amount right after)
Here's the crash log after pressing the X button:
https://paste.ee/p/zZ4lb
Pulling out a disc from a drive doesn't always clear the inventory of the terminal, so items can be duped by repeatedly pulling out and re-inserting the same disc.
Repro steps:
Tested on a fresh install of beta with modloader, forge 1.0.7 and HMI 4.2
Also got a crash doing it one time but couldn't repro:
https://mclo.gs/OsdYMyt
Attempting to insert a disc with items on it into a digital chest will instead turn the disc into a random(?) item stack from the disc, voiding the rest.
Tested on a fresh install of beta with modloader, forge 1.0.7 and HMI 4.2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.