Skip to content

Commit a64bcaa

Browse files
committed
Merge branch 'main' of github.com:moxvallix/moxlib
2 parents 0cd079c + a040731 commit a64bcaa

File tree

10 files changed

+103
-0
lines changed

10 files changed

+103
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
execute unless data storage moxlib:helpers/private {lock:true} run function moxlib:helpers/inventory/insert/init
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
scoreboard objectives add moxlib.helpers.block.place dummy
22
scoreboard objectives add moxlib.helpers.data.calculate_pages dummy
33
scoreboard objectives add moxlib.helpers.inventory.compact dummy
4+
scoreboard objectives add moxlib.helpers.inventory.insert dummy
45
scoreboard objectives add moxlib.helpers.inventory.strip_slots dummy
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
data modify storage moxlib:api/helpers/inventory/insert output.inventory append from storage moxlib:api/helpers/inventory/insert item
2+
data modify storage moxlib:api/helpers/inventory/insert output.inventory[0].Slot set value 0b
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
function moxlib:helpers/common/setup
2+
3+
data modify storage moxlib:api/helpers/inventory/insert output set value {inventory:[]}
4+
5+
function moxlib:helpers/inventory/insert/main
6+
7+
data remove storage moxlib:api/helpers/inventory/insert item
8+
data remove storage moxlib:api/helpers/inventory/insert target
9+
10+
function moxlib:helpers/common/cleanup
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
execute unless data storage moxlib:helpers/inventory/insert empty_slots[] run return -1
2+
data modify storage moxlib:api/helpers/inventory/insert item.Slot set from storage moxlib:helpers/inventory/insert empty_slots[0]
3+
data remove storage moxlib:helpers/inventory/insert empty_slots[0]
4+
5+
execute if score $insert_size moxlib.helpers.inventory.insert <= $stack moxlib.helpers.inventory.insert store result storage moxlib:api/helpers/inventory/insert item.Count byte 1 run scoreboard players get $insert_size moxlib.helpers.inventory.insert
6+
execute if score $insert_size moxlib.helpers.inventory.insert <= $stack moxlib.helpers.inventory.insert run data modify storage moxlib:api/helpers/inventory/insert output.inventory append from storage moxlib:api/helpers/inventory/insert item
7+
execute if score $insert_size moxlib.helpers.inventory.insert <= $stack moxlib.helpers.inventory.insert run return -1
8+
9+
scoreboard players operation $insert_size moxlib.helpers.inventory.insert -= $stack moxlib.helpers.inventory.insert
10+
execute store result storage moxlib:api/helpers/inventory/insert item.Count byte 1 run scoreboard players get $stack moxlib.helpers.inventory.insert
11+
data modify storage moxlib:api/helpers/inventory/insert output.inventory append from storage moxlib:api/helpers/inventory/insert item
12+
13+
function moxlib:helpers/inventory/insert/insert_overflow
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function moxlib:helpers/inventory/insert/iterate/main
2+
3+
data remove storage moxlib:helpers/inventory/insert inventory[0]
4+
5+
execute if data storage moxlib:helpers/inventory/insert inventory[] run function moxlib:helpers/inventory/insert/iterate
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
scoreboard players add $next_slot moxlib.helpers.inventory.insert 1
2+
execute if score $current_slot moxlib.helpers.inventory.insert = $next_slot moxlib.helpers.inventory.insert run return -1
3+
4+
execute store result storage moxlib:helpers/inventory/insert temp byte 1 run scoreboard players get $next_slot moxlib.helpers.inventory.insert
5+
data modify storage moxlib:helpers/inventory/insert empty_slots append from storage moxlib:helpers/inventory/insert temp
6+
7+
function moxlib:helpers/inventory/insert/iterate/get_empty_slots
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
data modify storage moxlib:helpers/inventory/insert current set from storage moxlib:helpers/inventory/insert inventory[0]
2+
3+
execute store result score $current_slot moxlib.helpers.inventory.insert run data get storage moxlib:helpers/inventory/insert current.Slot
4+
function moxlib:helpers/inventory/insert/iterate/get_empty_slots
5+
6+
data modify storage moxlib:api/data/compare target set from storage moxlib:helpers/inventory/insert current
7+
data modify storage moxlib:api/data/compare key.id set from storage moxlib:api/helpers/inventory/insert item.id
8+
data modify storage moxlib:api/data/compare key.tag set from storage moxlib:api/helpers/inventory/insert item.tag
9+
function moxlib:api/data/compare
10+
11+
execute if data storage moxlib:api/data/compare {output:false} run data modify storage moxlib:api/helpers/inventory/insert output.inventory append from storage moxlib:helpers/inventory/insert current
12+
execute if data storage moxlib:api/data/compare {output:false} run return -1
13+
14+
execute store result score $target_size moxlib.helpers.inventory.insert run data get storage moxlib:helpers/inventory/insert current.Count
15+
scoreboard players operation $target_size moxlib.helpers.inventory.insert += $insert_size moxlib.helpers.inventory.insert
16+
17+
execute if score $target_size moxlib.helpers.inventory.insert <= $stack moxlib.helpers.inventory.insert run function moxlib:helpers/inventory/insert/iterate/stack_fit
18+
execute if score $target_size moxlib.helpers.inventory.insert <= $stack moxlib.helpers.inventory.insert run return -1
19+
20+
execute store result storage moxlib:helpers/inventory/insert current.Count byte 1 run scoreboard players get $stack moxlib.helpers.inventory.insert
21+
data modify storage moxlib:api/helpers/inventory/insert output.inventory append from storage moxlib:helpers/inventory/insert current
22+
scoreboard players operation $target_size moxlib.helpers.inventory.insert -= $stack moxlib.helpers.inventory.insert
23+
scoreboard players operation $insert_size moxlib.helpers.inventory.insert = $target_size moxlib.helpers.inventory.insert
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
execute store result storage moxlib:helpers/inventory/insert inventory[0].Count byte 1 run scoreboard players get $target_size moxlib.helpers.inventory.insert
2+
data modify storage moxlib:api/helpers/inventory/insert output.inventory append from storage moxlib:helpers/inventory/insert inventory[]
3+
data modify storage moxlib:helpers/inventory/insert inventory set value []
4+
scoreboard players set $insert_size moxlib.helpers.inventory.insert 0
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
execute unless data storage moxlib:api/helpers/inventory/insert target[] run function moxlib:helpers/inventory/insert/empty_inventory
2+
execute unless data storage moxlib:api/helpers/inventory/insert target[] run return -1
3+
4+
# 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3
5+
summon chest_minecart ~ 1000 ~ {UUID:[I; -2139623574, 2122271351, -1797719650, -1176050957]}
6+
data modify entity 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3 Items set from storage moxlib:api/helpers/inventory/insert target
7+
data modify storage moxlib:helpers/inventory/insert inventory set from entity 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3 Items
8+
data modify entity 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3 Items set value []
9+
kill 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3
10+
11+
execute store result score $insert_size moxlib.helpers.inventory.insert run data get storage moxlib:api/helpers/inventory/insert item.Count
12+
scoreboard players set $next_slot moxlib.helpers.inventory.insert -1
13+
data modify storage moxlib:helpers/inventory/insert empty_slots set value []
14+
15+
data modify storage moxlib:api/helpers/inventory/stack_max target set from storage moxlib:api/helpers/inventory/insert item.id
16+
function moxlib:api/helpers/inventory/stack_max
17+
execute store result score $stack moxlib.helpers.inventory.insert run data get storage moxlib:api/helpers/inventory/stack_max output
18+
19+
function moxlib:helpers/inventory/insert/iterate
20+
21+
execute if score $insert_size moxlib.helpers.inventory.insert matches 0 run return -1
22+
23+
scoreboard players set $current_slot moxlib.helpers.inventory.insert 27
24+
function moxlib:helpers/inventory/insert/iterate/get_empty_slots
25+
26+
function moxlib:helpers/inventory/insert/insert_overflow
27+
28+
# 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3
29+
summon chest_minecart ~ 1000 ~ {UUID:[I; -2139623574, 2122271351, -1797719650, -1176050957]}
30+
data modify entity 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3 Items set from storage moxlib:api/helpers/inventory/insert output.inventory
31+
data modify storage moxlib:api/helpers/inventory/insert output.inventory set from entity 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3 Items
32+
data modify entity 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3 Items set value []
33+
kill 8077ef6a-7e7f-4a77-94d8-f99eb9e6e2f3
34+
35+
execute if score $insert_size moxlib.helpers.inventory.insert matches 0 run return -1
36+
execute store result storage moxlib:api/helpers/inventory/insert item.Count int 1 run scoreboard players get $insert_size moxlib.helpers.inventory.insert
37+
data modify storage moxlib:api/helpers/inventory/insert output.overflow set from storage moxlib:api/helpers/inventory/insert item

0 commit comments

Comments
 (0)