BuildCraft|Core

BuildCraft|Core

7M Downloads

Builder duplicates some items

MSourceCoded opened this issue ยท 11 comments

commented

As described best by Minecrafted, some items which are capable of moving TileEntities can be duped with the BC builder.
Link: https://www.youtube.com/watch?v=t_Qo0GHYb6I

I haven't tested this myself, so I can't say for sure which items follow this rule, but it would appear that this issue is more so an issue with BC rather than Mekanism.
IMHO the best solution would be for the builder to not copy the contents of a chest, but it is not my place to decide.

Regards, -Source

commented

@SpaceToad i do not know if its the reader or writer (blueprint) who do not care about NBTData but you should fix that.

commented

@Speiger if you have a look at the code or the documentation, you will see that there is a great deal of care given to NBTData in blueprints, and in particular inventories are filled as requirements automatically.

There is a broader question around flexibility and safety here. The trade-off that was initially chosen was to whitelist everything and allow to blacklist. Other options involve whitelisting simple blocks and blacklisting tiles, or using an on-line database as identified in #1830. This is to evolve in 6.1.x.

I'm closing this one, and will extend the scope of #1830 with the more general concern.

commented

@SpaceToad Many thanks

commented

@SpaceToad this is only because i want to know.
Even if the Builder/ArchitectTable makes an NBT Check why does the InventoryItems like these can be copied? I mean i have also a system that use no NBT to store data in items. But he loads his data from damage. So why can this happen?
And yeah i checked the code but i can not see the problem in there. (i have not your coding type in my brain yet to understand why you do something like that an co. Just main understanding)

commented

These are not inventory items. This is pure NBT data that are copied.
The mod making these items stores inventory inside NBT without the IInventory interface. You need special tools or machines to extract the items from the container.

commented

BuildCraft can't know for sure what the NBT data actually mean. It could be item configuration. It could be a Forestry Bee. Prestine Forest Queen with Flying. Or it could be a data blob that when looked at by an ME drive is turned into a diamond.

commented

@SandGrainOne but when you copy chest you still need to deliver the inside items and there is the trouble. You simply can do if its items with NBTData throw just the same item in but without NBTData. So you can copy everything that uses custom NBT. Even if its a MEDrive or something like that You just need the empty version and the Items get not compared.
Edit: Not MEDrive. I mean MEDisk

commented

True but the architect table can simply ask, do you want to copy NBTData. If you say yes then you simply can force the player to give him the Exact Items. And if they match no longer he says invalid item.
But if you say do not care about nbt (for items in Inventories) then he just place the Items you give him. He do not make a copy he just place down the items in his inventory. That would solve the trouble.

commented

That is why API was created but until proper implementation for specific block is created we can only black list it.

commented

@Speiger it's not fair to rely on people setting the right thing on the architect. There's already setting allowing to exclude unsafe tiles there, wasn't used in this case.. BuildCraft should just not have dupe bugs.

commented

@SpaceToad i am already finish. and ok