mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 13:42:59 +00:00 
			
		
		
		
	Add a couple of tests for inventory transfer
For now this is just a couple of regression tests for a couple of CC:R bugs.
This commit is contained in:
		| @@ -109,6 +109,27 @@ public interface ContainerTransferContract { | ||||
|         assertNoOverlap(source, destination); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     default void testNoMoveReject() { | ||||
|         var destination = new SimpleContainer(4) { | ||||
|             @Override | ||||
|             public boolean canPlaceItem(int slot, ItemStack item) { | ||||
|                 return false; | ||||
|             } | ||||
|         }; | ||||
| 
 | ||||
|         var source = new SimpleContainer(4); | ||||
|         source.setItem(0, new ItemStack(Items.DIRT, 64)); | ||||
| 
 | ||||
|         var move = wrap(source).moveTo(wrap(destination), 64); | ||||
|         assertEquals(ContainerTransfer.NO_SPACE, move); | ||||
| 
 | ||||
|         assertThat(source.getItem(0), isStack(new ItemStack(Items.DIRT, 64))); | ||||
|         assertThat(destination.getItem(0), isStack(ItemStack.EMPTY)); | ||||
| 
 | ||||
|         assertNoOverlap(source, destination); | ||||
|     } | ||||
| 
 | ||||
|     static void assertNoOverlap(Container... containers) { | ||||
|         Set<ItemStack> stacks = Collections.newSetFromMap(new IdentityHashMap<>()); | ||||
|         for (var container : containers) { | ||||
|   | ||||
| @@ -0,0 +1,69 @@ | ||||
| package dan200.computercraft.gametest | ||||
| 
 | ||||
| import dan200.computercraft.api.lua.ObjectArguments | ||||
| import dan200.computercraft.core.apis.PeripheralAPI | ||||
| import dan200.computercraft.gametest.api.assertContainerExactly | ||||
| import dan200.computercraft.gametest.api.sequence | ||||
| import dan200.computercraft.gametest.api.thenOnComputer | ||||
| import dan200.computercraft.test.core.assertArrayEquals | ||||
| import dan200.computercraft.test.core.computer.getApi | ||||
| import net.minecraft.core.BlockPos | ||||
| import net.minecraft.core.NonNullList | ||||
| import net.minecraft.gametest.framework.GameTest | ||||
| import net.minecraft.gametest.framework.GameTestHelper | ||||
| import net.minecraft.world.item.ItemStack | ||||
| import net.minecraft.world.item.Items | ||||
| 
 | ||||
| class Inventory_Test { | ||||
|     /** | ||||
|      * Ensures inventory methods check an item is valid before moving it. | ||||
|      * | ||||
|      * @see <https://github.com/cc-tweaked/cc-restitched/issues/121> | ||||
|      */ | ||||
|     @GameTest(required = false) | ||||
|     fun Checks_valid_item(helper: GameTestHelper) = helper.sequence { | ||||
|         thenOnComputer { | ||||
|             getApi<PeripheralAPI>().call( | ||||
|                 context, | ||||
|                 ObjectArguments( | ||||
|                     "back", | ||||
|                     "callRemote", | ||||
|                     "minecraft:barrel_0", | ||||
|                     "pushItems", | ||||
|                     "minecraft:shulker_box_0", | ||||
|                     1, | ||||
|                 ), | ||||
|             ).await().assertArrayEquals(0, message = "Does not move items") | ||||
|         } | ||||
|         thenExecute { | ||||
|             helper.assertContainerExactly(BlockPos(1, 2, 2), listOf()) | ||||
|             helper.assertContainerExactly(BlockPos(3, 2, 2), listOf(ItemStack(Items.SHULKER_BOX))) | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Ensures inventory methods check an item is valid before moving it. | ||||
|      * | ||||
|      * @see <https://github.com/cc-tweaked/cc-restitched/issues/121> | ||||
|      */ | ||||
|     @GameTest | ||||
|     fun Fails_on_full(helper: GameTestHelper) = helper.sequence { | ||||
|         thenOnComputer { | ||||
|             getApi<PeripheralAPI>().call( | ||||
|                 context, | ||||
|                 ObjectArguments( | ||||
|                     "back", | ||||
|                     "callRemote", | ||||
|                     "minecraft:furnace_0", | ||||
|                     "pushItems", | ||||
|                     "minecraft:barrel_0", | ||||
|                     1, | ||||
|                 ), | ||||
|             ).await().assertArrayEquals(0, message = "Does not move items") | ||||
|         } | ||||
|         thenExecute { | ||||
|             helper.assertContainerExactly(BlockPos(1, 2, 2), listOf(ItemStack.EMPTY, ItemStack.EMPTY, ItemStack(Items.IRON_INGOT))) | ||||
|             helper.assertContainerExactly(BlockPos(3, 2, 2), NonNullList.withSize(27, ItemStack(Items.POLISHED_ANDESITE))) | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -74,6 +74,7 @@ object TestHooks { | ||||
|         Computer_Test::class.java, | ||||
|         CraftOs_Test::class.java, | ||||
|         Disk_Drive_Test::class.java, | ||||
|         Inventory_Test::class.java, | ||||
|         Loot_Test::class.java, | ||||
|         Modem_Test::class.java, | ||||
|         Monitor_Test::class.java, | ||||
|   | ||||
							
								
								
									
										142
									
								
								projects/common/src/testMod/resources/data/cctest/structures/inventory_test.checks_valid_item.snbt
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								projects/common/src/testMod/resources/data/cctest/structures/inventory_test.checks_valid_item.snbt
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,142 @@ | ||||
| { | ||||
|     DataVersion: 3120, | ||||
|     size: [5, 5, 5], | ||||
|     data: [ | ||||
|         {pos: [0, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 1, 2], state: "minecraft:shulker_box{facing:up}", nbt: {id: "minecraft:shulker_box"}}, | ||||
|         {pos: [1, 1, 3], state: "computercraft:wired_modem_full{modem:false,peripheral:true}", nbt: {PeripheralAccess: 1b, PeripheralId2: 0, PeripheralType2: "minecraft:shulker_box", id: "computercraft:wired_modem_full"}}, | ||||
|         {pos: [1, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 1, 1], state: "computercraft:computer_advanced{facing:north,state:on}", nbt: {ComputerId: 1, Label: "inventory_test.checks_valid_item", On: 1b, id: "computercraft:computer_advanced"}}, | ||||
|         {pos: [2, 1, 2], state: "computercraft:cable{cable:true,down:false,east:false,modem:north_off,north:true,south:true,up:false,waterlogged:false,west:false}", nbt: {PeirpheralAccess: 0b, id: "computercraft:cable"}}, | ||||
|         {pos: [2, 1, 3], state: "computercraft:cable{cable:true,down:false,east:true,modem:none,north:true,south:false,up:false,waterlogged:false,west:true}", nbt: {PeirpheralAccess: 0b, id: "computercraft:cable"}}, | ||||
|         {pos: [2, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 1, 2], state: "minecraft:barrel{facing:up,open:false}", nbt: {Items: [{Count: 1b, Slot: 0b, id: "minecraft:shulker_box"}], id: "minecraft:barrel"}}, | ||||
|         {pos: [3, 1, 3], state: "computercraft:wired_modem_full{modem:false,peripheral:true}", nbt: {PeripheralAccess: 1b, PeripheralId2: 0, PeripheralType2: "minecraft:barrel", id: "computercraft:wired_modem_full"}}, | ||||
|         {pos: [3, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 4], state: "minecraft:air"} | ||||
|     ], | ||||
|     entities: [], | ||||
|     palette: [ | ||||
|         "minecraft:polished_andesite", | ||||
|         "minecraft:air", | ||||
|         "minecraft:shulker_box{facing:up}", | ||||
|         "computercraft:wired_modem_full{modem:false,peripheral:true}", | ||||
|         "computercraft:computer_advanced{facing:north,state:on}", | ||||
|         "computercraft:cable{cable:true,down:false,east:false,modem:north_off,north:true,south:true,up:false,waterlogged:false,west:false}", | ||||
|         "computercraft:cable{cable:true,down:false,east:true,modem:none,north:true,south:false,up:false,waterlogged:false,west:true}", | ||||
|         "minecraft:barrel{facing:up,open:false}" | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										142
									
								
								projects/common/src/testMod/resources/data/cctest/structures/inventory_test.fails_on_full.snbt
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								projects/common/src/testMod/resources/data/cctest/structures/inventory_test.fails_on_full.snbt
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,142 @@ | ||||
| { | ||||
|     DataVersion: 3120, | ||||
|     size: [5, 5, 5], | ||||
|     data: [ | ||||
|         {pos: [0, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [1, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [2, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [3, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 0], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 1], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 2], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 3], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [4, 0, 4], state: "minecraft:polished_andesite"}, | ||||
|         {pos: [0, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 1, 2], state: "minecraft:furnace{facing:north,lit:false}", nbt: {BurnTime: 0s, CookTime: 0s, CookTimeTotal: 200s, Items: [{Count: 1b, Slot: 2b, id: "minecraft:iron_ingot"}], RecipesUsed: {"minecraft:iron_ingot_from_smelting_iron_ore": 1}, id: "minecraft:furnace"}}, | ||||
|         {pos: [1, 1, 3], state: "computercraft:wired_modem_full{modem:false,peripheral:true}", nbt: {PeripheralAccess: 1b, PeripheralId2: 0, PeripheralType2: "minecraft:furnace", id: "computercraft:wired_modem_full"}}, | ||||
|         {pos: [1, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 1, 1], state: "computercraft:computer_advanced{facing:north,state:on}", nbt: {ComputerId: 1, Label: "inventory_test.fails_on_full", On: 1b, id: "computercraft:computer_advanced"}}, | ||||
|         {pos: [2, 1, 2], state: "computercraft:cable{cable:true,down:false,east:false,modem:north_off,north:true,south:true,up:false,waterlogged:false,west:false}", nbt: {PeirpheralAccess: 0b, id: "computercraft:cable"}}, | ||||
|         {pos: [2, 1, 3], state: "computercraft:cable{cable:true,down:false,east:true,modem:none,north:true,south:false,up:false,waterlogged:false,west:true}", nbt: {PeirpheralAccess: 0b, id: "computercraft:cable"}}, | ||||
|         {pos: [2, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 1, 2], state: "minecraft:barrel{facing:up,open:false}", nbt: {Items: [{Count: 1b, Slot: 0b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 1b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 2b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 3b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 4b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 5b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 6b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 7b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 8b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 9b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 10b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 11b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 12b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 13b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 14b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 15b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 16b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 17b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 18b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 19b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 20b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 21b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 22b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 23b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 24b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 25b, id: "minecraft:polished_andesite"}, {Count: 1b, Slot: 26b, id: "minecraft:polished_andesite"}], id: "minecraft:barrel"}}, | ||||
|         {pos: [3, 1, 3], state: "computercraft:wired_modem_full{modem:false,peripheral:true}", nbt: {PeripheralAccess: 1b, PeripheralId2: 0, PeripheralType2: "minecraft:barrel", id: "computercraft:wired_modem_full"}}, | ||||
|         {pos: [3, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 1, 4], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [1, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [2, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [3, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 2, 4], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [1, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [2, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [3, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 3, 4], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [0, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [1, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [2, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [3, 4, 4], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 0], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 1], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 2], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 3], state: "minecraft:air"}, | ||||
|         {pos: [4, 4, 4], state: "minecraft:air"} | ||||
|     ], | ||||
|     entities: [], | ||||
|     palette: [ | ||||
|         "minecraft:polished_andesite", | ||||
|         "minecraft:air", | ||||
|         "minecraft:furnace{facing:north,lit:false}", | ||||
|         "computercraft:wired_modem_full{modem:false,peripheral:true}", | ||||
|         "computercraft:computer_advanced{facing:north,state:on}", | ||||
|         "computercraft:cable{cable:true,down:false,east:false,modem:north_off,north:true,south:true,up:false,waterlogged:false,west:false}", | ||||
|         "computercraft:cable{cable:true,down:false,east:true,modem:none,north:true,south:false,up:false,waterlogged:false,west:true}", | ||||
|         "minecraft:barrel{facing:up,open:false}" | ||||
|     ] | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Jonathan Coates
					Jonathan Coates