Date: 2025/04/27 23:34:09 UTC-07:00
Type: Diff Report
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
-rtd_gui_task:
- type: task
- debug: false
- speed: 0
- prefix: '&ss1&ss2&ss1&ss5&ss2&ss0&ss2&ss0&ss0&ss5&ss1&ss8&ss2&ss5&ss0&ss7&ss2&ss1&ss0&ss9&ssr'
- script:
- - define base_inv ''
- #- define base_inv 'in@generic[title=<&6><&l>Lottery GUI;size=27;contents=li@i@air]'
- - inventory open 'd:in@generic[title=<script.yaml_key[prefix].unescaped><&6><&l>Lottery GUI;size=27]'
- - wait 1t
- - repeat 50 {
- - define rng '<util.random.int[1].to[200]>'
+ - determine cancelled passively
+ - stop if:<player.has_flag[vin_cd2]>
+ - flag <player> vin_cd2 expire:1s
+ - define radius 0
+ - define add 1
+ - define points 20
+ - repeat 20:
+ - playeffect effect:redstone at:<player.location.above[1].points_around_y[radius=<[radius]>;points=<[points]>]> special_data:2|<list[<&7>|<&b>].random> quantity:1 offset:0 visibility:100
+ - define victim <player.location.points_around_y[radius=<[radius]>;points=<[points].find_entities.within[1]>]>
+ - define add:+:0.1
+ - define radius:+:<[add]>
+ - define points:+:20
- - if <def[rng]> < 30 {
- - define item 'i@iron_sword[display_name=&sseLottery Sword;lore=&ss6Whippity whoopity, you now have a sword!;enchantments=DURABILITY,2|DAMAGE_ALL,3]'
- }
- else if <def[rng]> < 40 {
- - define item 'i@largetoken'
- }
- else if <def[rng]> < 60 {
- - define item 'i@diamond_chestplate[display_name=&ssaLottery Chestplate;nbt_attributes=generic.armor/chest/0/1]'
- }
- else if <def[rng]> < 85 {
- - define item 'i@lootpot'
- }
- else if <def[rng]> < 110 {
- - define item 'i@FartPotion'
- }
- else if <def[rng]> < 140 {
- - define item 'i@lifegem'
- }
- else if <def[rng]> < 145 {
- - define item 'i@relic'
- }
- else if <def[rng]> < 165 {
- - define item 'i@smalltoken'
- }
- else if <def[rng]> < 175 {
- - define item 'i@mediumtoken'
- }
- else if <def[rng]> < 190 {
- - define item 'i@dirt[display_name=<&6>Dertt :c]'
- }
- # 15% chance
- else {
- - define item 'i@LuckyTag'
- }
- - if <def[item]> != <def[prev_item]||i@air> {
- - inventory open
- 'd:in@generic[title=<script.yaml_key[prefix].unescaped><&6><&l>Lottery GUI;size=27;contents=li@i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|<def[item]>]'
- }
- - define prev_item '<def[item]>'
- - wait <[email protected][<def[value].mul[0.125].sub[3]>].round_up>t
- }
- - wait 1s
- - narrate "<&6>[<&b>Lottery<&6>] <&e>Congratulations! You got <def[item].display_name>!"
- - give <def[item]>
- - flag player can_close_inv
- - inventory close
-rtd_gui_evts:
- type: world
+ - hurt <[victim]>
+ - wait 0.1t
- debug: false
- events:
- on player closes inventory:
- - if <context.inventory.title.escaped.starts_with[&ss1&ss2&ss1&ss5&ss2&ss0&ss2&ss0&ss0&ss5&ss1&ss8&ss2&ss5&ss0&ss7&ss2&ss1&ss0&ss9&ssr]> {
- - if !<player.has_flag[can_close_inv]> {
- - determine cancelled
- }
- - flag player can_close_inv:!
- }