Date: 2024/08/11 22:38:13 UTC-07:00
Type: Denizen Script
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
backpack_script:
type: inventory
inventory: chest
size: 9
slots:
- [liquid_tank] [] [] [] [] [] [] [] [liquid_tank]
liquid_tank:
type: item
material: bucket
display name: <&6>Réservoir
lore:
- <&f>Clique droit sur:<&nl>
- <&f>- <&9>Seau d'eau
- <&f>- <&c>Seau de lave
- <&f>- <&3>Seau de neige poudreuse<&nl>
- <&f>pour remplir le réservoir
flags:
liquid_level:
current: 0
max: 5
tank_handler:
type: world
events:
on player drags liquid_tank in backpack_script:
- determine cancelled
#fill tank
on player right clicks *_bucket in inventory:
- determine passively cancelled
- define slots <context.inventory.find_all_items[liquid_tank]>
- define current -1
- define max 1
- define valid_slot -1
#find a valid slot if there is one
- foreach <[slots]> as:slot:
- if <context.inventory.slot[<[slot]>].has_flag[liquid_level]>:
- define current <context.inventory.slot[<[slot]>].flag[liquid_level.current]>
- define max <context.inventory.slot[<[slot]>].flag[liquid_level.max]>
- if ( <[current].is_less_than[<[max]>]> && <context.inventory.slot[<[slot]>].material.name> == <context.item.material.name> ) || <[current]> == 0:
- define valid_slot <[slot]>
- foreach stop
#valid slot found
- if <[valid_slot]> > 0:
- inventory flag liquid_level.current:++ slot:<[valid_slot]> destination:<context.inventory>
- if !<context.inventory.slot[<[valid_slot]>].has_flag[title_changed]>:
- inventory flag title_changed slot:<[valid_slot]> destination:<context.inventory>
- define type <context.inventory.slot[<[valid_slot]>].material>
- inventory adjust slot:<[valid_slot]> display:<script[config].parsed_key[messages.backpack.tank_title.<[type]>]> destination:<context.inventory>
- define current <context.inventory.slot[<[valid_slot]>].flag[liquid_level.current]>
- inventory adjust slot:<[valid_slot]> "lore:<&nl><&f>Niveau: <&7><[current]><&f>/<&6><[max]>" destination:<context.inventory>
- inventory adjust slot:<context.slot> material:bucket destination:<context.clicked_inventory>
- if <context.inventory.slot[<[valid_slot]>].material> != <context.item.material>:
- inventory adjust slot:<[valid_slot]> destination:<context.inventory> material:<context.item.material>
#no valid slot found, send info message
- else:
- define tank_type <script[config].parsed_key[messages.backpack.tank_title.<context.item.material.name>]>
- define tanks <context.inventory.slot[<[slots]>].parse_tag[<[parse_value].material>]>
- if <[tanks].contains[<context.item.material>]>:
- narrate "<proc[get_key].context[config|prefix]> <script[config].parsed_key[messages.backpack.info_full_tank]>"
- narrate <proc[get_message].context[backpack|info_full_tank]>
- else:
- narrate <proc[get_message].context[backpack|info_no_tank]>
config:
type: data
debug: true
prefix: <&8>[<&c>!<&8>]
messages:
graves:
error_not_owner: <&7>Ne vole pas ton semblable! Cette tombe ne t'appartient pas!
info_destroy_not_owner: <&7>Tu as détruit la tombe de <&f>!playername!<&7>!
info_no_grave: <&7>Ton inventaire était vide. Tu n'as pas eu de tombe!
info_grave_removed: <&7>La tombe a été vidée et retirée!
autotool:
info_enabled: <&7>Mode changement d'outil automatique: <&6>Activé
info_disabled: <&7>Mode changement d'outil automatique: <&c>Désactivé
xpbottle:
error_missing_xp_amount: <&7>Tu dois spécifier un montant d'xp!
error_too_many_arguments: <&7>Tu as entré trop d'arguments!
error_invalid_input: <&7>Argument invalide!
error_not_enough_xp_points: <&7>Tu n'as pas assez de points d'expérience!
error_not_enough_xp_levels: <&7>Tu n'as pas assez de niveaux d'expérience!
info_xp_to_bottle: <&7>Tu as mis <&f>!xp!<&7> <&6>XP<&7> en bouteille!
info_current_xp: <&7>XP restante: <&f>!xp! <&6>XP
backpack:
error_too_many_arguments: <&7>Cette commande s'utilise sans arguments!
error_no_permission: <&7>Désolé, tu n'as pas la permission requise!
info_empty_tank: <&7>Ton réservoir est vide!
info_full_tank: <&7>Ton <[tank_type]><&7> est plein!
info_no_tank: <&7>Pas de réservoir disponible!
info_no_container: <&7>Tu n'as pas de contenant disponible!
info_wrong_type: <&7>Mauvais type de liquide!
tank_title:
water_bucket: <&9>Réservoir d'eau
lava_bucket: <&c>Réservoir de lave
powder_snow_bucket: <&3>Réservoir de neige poudreuse
get_message:
type: procedure
debug: false
definitions: script|key
script:
- determine "<proc[get_key].context[config|prefix]> <script[config].parsed_key[messages.<[script]>.<[key]>]>"
get_key:
type: procedure
debug: false
definitions: script|key
script:
- determine <script[<[script]>].parsed_key[<[key]>]>