dfpyre 0.4.2__py3-none-any.whl → 0.10.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dfpyre might be problematic. Click here for more details.
- dfpyre/__init__.py +3 -1
- dfpyre/core/actiondump.py +277 -0
- dfpyre/core/codeblock.py +207 -0
- dfpyre/core/items.py +580 -0
- dfpyre/core/template.py +220 -0
- dfpyre/data/actiondump_min.json +1 -0
- dfpyre/data/deprecated_actions.json +172 -0
- dfpyre/data/method_templates/action.txt +5 -0
- dfpyre/data/method_templates/conditional.txt +7 -0
- dfpyre/data/method_templates/event.txt +6 -0
- dfpyre/data/method_templates/notarget_action.txt +5 -0
- dfpyre/data/method_templates/notarget_conditional.txt +6 -0
- dfpyre/data/method_templates/repeat.txt +5 -0
- dfpyre/data/method_templates/repeat_while.txt +9 -0
- dfpyre/data/method_templates/select_obj_subaction.txt +8 -0
- dfpyre/export/action_classes.py +10891 -0
- dfpyre/export/block_functions.py +90 -0
- dfpyre/gen/action_class_data.py +203 -0
- dfpyre/gen/action_literals.py +20 -0
- dfpyre/scripts/action_gen.py +222 -0
- dfpyre/scripts/action_literal_gen.py +43 -0
- dfpyre/tool/scriptgen.py +274 -0
- dfpyre/tool/slice.py +199 -0
- dfpyre/util/style.py +23 -0
- dfpyre/util/util.py +65 -0
- dfpyre-0.10.5.dist-info/METADATA +64 -0
- dfpyre-0.10.5.dist-info/RECORD +29 -0
- {dfpyre-0.4.2.dist-info → dfpyre-0.10.5.dist-info}/WHEEL +1 -2
- {dfpyre-0.4.2.dist-info → dfpyre-0.10.5.dist-info/licenses}/LICENSE +21 -21
- dfpyre/data/data.json +0 -1
- dfpyre/items.py +0 -244
- dfpyre/pyre.py +0 -407
- dfpyre/style.py +0 -21
- dfpyre-0.4.2.dist-info/METADATA +0 -11
- dfpyre-0.4.2.dist-info/RECORD +0 -10
- dfpyre-0.4.2.dist-info/top_level.txt +0 -1
dfpyre/tool/slice.py
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from collections import deque
|
|
3
|
+
from dfpyre.core.codeblock import CodeBlock, CONDITIONAL_CODEBLOCKS, TEMPLATE_STARTERS
|
|
4
|
+
from dfpyre.core.items import Variable, Parameter, ParameterType
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
BRACKET_CODEBLOCKS = CONDITIONAL_CODEBLOCKS
|
|
8
|
+
BRACKET_CODEBLOCKS.add('repeat')
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclass
|
|
12
|
+
class TemplateChunk:
|
|
13
|
+
length: int
|
|
14
|
+
start_index: int
|
|
15
|
+
end_index: int
|
|
16
|
+
contents1: list['TemplateChunk'] | None # Inside brackets
|
|
17
|
+
contents2: list['TemplateChunk'] | None # Inside `else` brackets
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def get_referenced_line_vars(codeblocks: list[CodeBlock]) -> set[str]:
|
|
21
|
+
referenced_vars = set()
|
|
22
|
+
for codeblock in codeblocks:
|
|
23
|
+
for argument in codeblock.args:
|
|
24
|
+
if isinstance(argument, Variable) and argument.scope == 'line':
|
|
25
|
+
referenced_vars.add(argument.name)
|
|
26
|
+
return referenced_vars
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def find_closing_bracket(codeblocks: list[CodeBlock], start_index: int) -> int:
|
|
30
|
+
"""
|
|
31
|
+
Returns the index of the cooresponding closing bracket assuming
|
|
32
|
+
that `start_index` is the index of the first codeblock inside the brackets.
|
|
33
|
+
"""
|
|
34
|
+
nested_level = 1
|
|
35
|
+
for i in range(start_index, len(codeblocks)):
|
|
36
|
+
codeblock = codeblocks[i]
|
|
37
|
+
if codeblock.type != 'bracket':
|
|
38
|
+
continue
|
|
39
|
+
|
|
40
|
+
direction = codeblock.data['direct']
|
|
41
|
+
if direction == 'open':
|
|
42
|
+
nested_level += 1
|
|
43
|
+
else: # Closed
|
|
44
|
+
nested_level -= 1
|
|
45
|
+
|
|
46
|
+
if nested_level == 0:
|
|
47
|
+
return i
|
|
48
|
+
|
|
49
|
+
return -1
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def get_bracket_ranges(codeblocks: list[CodeBlock], start_index: int):
|
|
53
|
+
bracket_range_end = find_closing_bracket(codeblocks, start_index)
|
|
54
|
+
|
|
55
|
+
if len(codeblocks) > bracket_range_end+1 and codeblocks[bracket_range_end+1].type == 'else':
|
|
56
|
+
else_range_start = bracket_range_end+3 # Add 3 to move inside `else` brackets
|
|
57
|
+
else_range_end = find_closing_bracket(codeblocks, else_range_start)
|
|
58
|
+
else_range = (else_range_start, else_range_end)
|
|
59
|
+
else:
|
|
60
|
+
else_range = None
|
|
61
|
+
|
|
62
|
+
bracket_range = (start_index, bracket_range_end)
|
|
63
|
+
return (bracket_range, else_range)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def get_template_length(codeblocks: list[CodeBlock]) -> int:
|
|
67
|
+
return sum(b.get_length() for b in codeblocks)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def get_template_chunks(codeblocks: list[CodeBlock], start_index: int, end_index: int) -> list[TemplateChunk]:
|
|
71
|
+
chunks: list[TemplateChunk] = []
|
|
72
|
+
|
|
73
|
+
index = start_index
|
|
74
|
+
while index < end_index:
|
|
75
|
+
codeblock = codeblocks[index]
|
|
76
|
+
if codeblock.type == 'bracket' or codeblock.type in TEMPLATE_STARTERS:
|
|
77
|
+
index += 1
|
|
78
|
+
continue
|
|
79
|
+
|
|
80
|
+
if codeblock.type in BRACKET_CODEBLOCKS:
|
|
81
|
+
bracket_range, else_range = get_bracket_ranges(codeblocks, index+2)
|
|
82
|
+
inside_bracket = codeblocks[bracket_range[0]:bracket_range[1]]
|
|
83
|
+
inside_bracket_length = get_template_length(inside_bracket)
|
|
84
|
+
chunk_contents1 = get_template_chunks(codeblocks, bracket_range[0], bracket_range[1])
|
|
85
|
+
if else_range is None:
|
|
86
|
+
chunk_length = inside_bracket_length + 4
|
|
87
|
+
chunk_end_index = bracket_range[1] + 1
|
|
88
|
+
chunk_contents2 = None
|
|
89
|
+
else:
|
|
90
|
+
inside_else = codeblocks[else_range[0]:else_range[1]]
|
|
91
|
+
inside_else_length = get_template_length(inside_else)
|
|
92
|
+
chunk_length = inside_bracket_length + inside_else_length + 8
|
|
93
|
+
chunk_end_index = else_range[1] + 1
|
|
94
|
+
chunk_contents2 = get_template_chunks(codeblocks, else_range[0], else_range[1])
|
|
95
|
+
|
|
96
|
+
chunk = TemplateChunk(length=chunk_length, start_index=index, end_index=chunk_end_index, contents1=chunk_contents1, contents2=chunk_contents2)
|
|
97
|
+
chunks.append(chunk)
|
|
98
|
+
index = chunk_end_index-1
|
|
99
|
+
|
|
100
|
+
else:
|
|
101
|
+
chunk = TemplateChunk(length=2, start_index=index, end_index=index+1, contents1=None, contents2=None)
|
|
102
|
+
chunks.append(chunk)
|
|
103
|
+
|
|
104
|
+
index += 1
|
|
105
|
+
|
|
106
|
+
return chunks
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def extract_one_template(codeblocks: list[CodeBlock], target_length: int, extracted_template_name: str) -> tuple[list[CodeBlock], list[CodeBlock]]:
|
|
110
|
+
chunks = get_template_chunks(codeblocks, 0, len(codeblocks))
|
|
111
|
+
current_slice_length = 2
|
|
112
|
+
current_slice_start = -1
|
|
113
|
+
current_slice_end = -1
|
|
114
|
+
|
|
115
|
+
slices: dict[tuple[int, int], int] = {}
|
|
116
|
+
|
|
117
|
+
chunks_to_iterate: deque[list[TemplateChunk]] = deque()
|
|
118
|
+
chunks_to_iterate.append(chunks)
|
|
119
|
+
|
|
120
|
+
def save_current_slice():
|
|
121
|
+
nonlocal current_slice_start, current_slice_end, current_slice_length, slices
|
|
122
|
+
current_slice_range = (current_slice_start, current_slice_end)
|
|
123
|
+
slices[current_slice_range] = current_slice_length
|
|
124
|
+
current_slice_length = 2
|
|
125
|
+
current_slice_start = -1
|
|
126
|
+
current_slice_end = -1
|
|
127
|
+
|
|
128
|
+
while chunks_to_iterate:
|
|
129
|
+
current_chunks = chunks_to_iterate.pop()
|
|
130
|
+
for chunk in reversed(current_chunks):
|
|
131
|
+
if chunk.contents1:
|
|
132
|
+
chunks_to_iterate.append(chunk.contents1)
|
|
133
|
+
if chunk.contents2:
|
|
134
|
+
chunks_to_iterate.append(chunk.contents2)
|
|
135
|
+
|
|
136
|
+
if current_slice_start == -1:
|
|
137
|
+
current_slice_start = chunk.start_index
|
|
138
|
+
if current_slice_end == -1:
|
|
139
|
+
current_slice_end = chunk.end_index
|
|
140
|
+
|
|
141
|
+
# Check if chunk is too long
|
|
142
|
+
if chunk.length > target_length - 2:
|
|
143
|
+
save_current_slice()
|
|
144
|
+
continue
|
|
145
|
+
|
|
146
|
+
new_slice_length = current_slice_length + chunk.length
|
|
147
|
+
if new_slice_length <= target_length:
|
|
148
|
+
current_slice_length = new_slice_length
|
|
149
|
+
current_slice_start = chunk.start_index
|
|
150
|
+
else:
|
|
151
|
+
current_slice_range = (current_slice_start, current_slice_end)
|
|
152
|
+
slices[current_slice_range] = current_slice_length
|
|
153
|
+
current_slice_length = chunk.length + 2
|
|
154
|
+
current_slice_start = chunk.start_index
|
|
155
|
+
current_slice_end = chunk.end_index
|
|
156
|
+
|
|
157
|
+
save_current_slice()
|
|
158
|
+
|
|
159
|
+
sliced_range = max(slices.items(), key=lambda kv: kv[1])[0] # Extract the longest slice
|
|
160
|
+
extracted_codeblocks = codeblocks[sliced_range[0]:sliced_range[1]]
|
|
161
|
+
del codeblocks[sliced_range[0]:sliced_range[1]]
|
|
162
|
+
|
|
163
|
+
original_line_vars = get_referenced_line_vars(codeblocks)
|
|
164
|
+
extracted_line_vars = get_referenced_line_vars(extracted_codeblocks)
|
|
165
|
+
param_line_vars = set.intersection(original_line_vars, extracted_line_vars)
|
|
166
|
+
function_parameters = []
|
|
167
|
+
function_call_args = []
|
|
168
|
+
for line_var in param_line_vars:
|
|
169
|
+
function_parameters.append(Parameter(line_var, ParameterType.VAR))
|
|
170
|
+
function_call_args.append(Variable(line_var, 'line'))
|
|
171
|
+
|
|
172
|
+
function_codeblock = CodeBlock.new_data('func', extracted_template_name, tuple(function_parameters), tags={'Is Hidden': 'True'})
|
|
173
|
+
extracted_codeblocks.insert(0, function_codeblock)
|
|
174
|
+
|
|
175
|
+
call_function_codeblock = CodeBlock.new_data('call_func', extracted_template_name, tuple(function_call_args), {})
|
|
176
|
+
codeblocks.insert(sliced_range[0], call_function_codeblock)
|
|
177
|
+
|
|
178
|
+
return codeblocks, extracted_codeblocks
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
def slice_template(codeblocks: list[CodeBlock], target_length: int, template_name: str) -> list[list[CodeBlock]]:
|
|
182
|
+
template_length = get_template_length(codeblocks)
|
|
183
|
+
if template_length < target_length:
|
|
184
|
+
return [codeblocks]
|
|
185
|
+
|
|
186
|
+
codeblocks = codeblocks.copy()
|
|
187
|
+
|
|
188
|
+
sliced_templates: list[list[CodeBlock]] = []
|
|
189
|
+
|
|
190
|
+
# Extract single templates until the original template meets the target length
|
|
191
|
+
template_number = 1
|
|
192
|
+
while get_template_length(codeblocks) > target_length:
|
|
193
|
+
extracted_template_name = template_name + '_' + str(template_number)
|
|
194
|
+
codeblocks, extracted_codeblocks = extract_one_template(codeblocks, target_length, extracted_template_name)
|
|
195
|
+
sliced_templates.append(extracted_codeblocks)
|
|
196
|
+
template_number += 1
|
|
197
|
+
|
|
198
|
+
sliced_templates.insert(0, codeblocks)
|
|
199
|
+
return sliced_templates
|
dfpyre/util/style.py
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from mcitemlib.style import STYLE_CODE_REGEX, FORMAT_CODES, StyledString
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def is_ampersand_coded(s: str) -> bool:
|
|
6
|
+
return bool(re.match(STYLE_CODE_REGEX, s))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def ampersand_to_minimessage(ampersand_code: str) -> str:
|
|
10
|
+
ampersand_code = ampersand_code.replace('&r', '<reset>') # bad but should work most of the time
|
|
11
|
+
styled_string = StyledString.from_codes(ampersand_code)
|
|
12
|
+
formatted_string_list = []
|
|
13
|
+
for substring in styled_string.substrings:
|
|
14
|
+
formatted_substring_list = []
|
|
15
|
+
for style_type, value in substring.data.items():
|
|
16
|
+
if style_type in FORMAT_CODES.values() and value:
|
|
17
|
+
formatted_substring_list.append(f'<{style_type}>')
|
|
18
|
+
if style_type == 'color':
|
|
19
|
+
formatted_substring_list.append(f'<{value}>')
|
|
20
|
+
|
|
21
|
+
formatted_substring_list.append(substring.data['text'])
|
|
22
|
+
formatted_string_list.append(''.join(formatted_substring_list))
|
|
23
|
+
return ''.join(formatted_string_list)
|
dfpyre/util/util.py
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import base64
|
|
2
|
+
import gzip
|
|
3
|
+
import re
|
|
4
|
+
import warnings
|
|
5
|
+
from functools import wraps
|
|
6
|
+
from collections.abc import Iterable
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
COL_WARN = '\x1b[33m'
|
|
10
|
+
COL_RESET = '\x1b[0m'
|
|
11
|
+
COL_SUCCESS = '\x1b[32m'
|
|
12
|
+
COL_ERROR = '\x1b[31m'
|
|
13
|
+
|
|
14
|
+
NUMBER_REGEX = re.compile(r'^-?\d*\.?\d+$')
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PyreException(Exception):
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def warn(message: str):
|
|
22
|
+
print(f'{COL_WARN}! WARNING ! {message}{COL_RESET}')
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def deprecated(message="This function is deprecated"):
|
|
26
|
+
def decorator(func):
|
|
27
|
+
@wraps(func)
|
|
28
|
+
def wrapper(*args, **kwargs):
|
|
29
|
+
warnings.warn(
|
|
30
|
+
f"{func.__name__} is deprecated. {message}",
|
|
31
|
+
category=DeprecationWarning,
|
|
32
|
+
stacklevel=2
|
|
33
|
+
)
|
|
34
|
+
return func(*args, **kwargs)
|
|
35
|
+
return wrapper
|
|
36
|
+
return decorator
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def is_number(s: str) -> bool:
|
|
40
|
+
return bool(NUMBER_REGEX.match(s))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def df_encode(json_string: str) -> str:
|
|
44
|
+
"""
|
|
45
|
+
Encodes a stringified json.
|
|
46
|
+
"""
|
|
47
|
+
encoded_string = gzip.compress(json_string.encode('utf-8'))
|
|
48
|
+
return base64.b64encode(encoded_string).decode('utf-8')
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def df_decode(encoded_string: str) -> str:
|
|
52
|
+
return gzip.decompress(base64.b64decode(encoded_string.encode('utf-8'))).decode('utf-8')
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
from collections.abc import Iterable
|
|
56
|
+
|
|
57
|
+
def flatten(nested_iterable):
|
|
58
|
+
"""
|
|
59
|
+
Flattens a nested iterable.
|
|
60
|
+
"""
|
|
61
|
+
for item in nested_iterable:
|
|
62
|
+
if isinstance(item, Iterable) and not isinstance(item, (str, bytes)):
|
|
63
|
+
yield from flatten(item)
|
|
64
|
+
else:
|
|
65
|
+
yield item
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dfpyre
|
|
3
|
+
Version: 0.10.5
|
|
4
|
+
Summary: A package for creating and modifying code templates for the DiamondFire Minecraft server.
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Keywords: diamondfire,minecraft,template,item
|
|
8
|
+
Author: Amp
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
+
Provides-Extra: dev
|
|
17
|
+
Requires-Dist: mcitemlib (>=0.5.2)
|
|
18
|
+
Requires-Dist: pytest (>=9.0.2) ; extra == "dev"
|
|
19
|
+
Requires-Dist: rapidnbt (>=1.3.5)
|
|
20
|
+
Requires-Dist: twine (>=6.2.0) ; extra == "dev"
|
|
21
|
+
Requires-Dist: websocket-client (>=1.9.0)
|
|
22
|
+
Project-URL: Repository, https://github.com/Amp63/pyre
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
|
|
25
|
+
# pyre
|
|
26
|
+
|
|
27
|
+
A tool for creating and modifying code templates for the DiamondFire Minecraft server.
|
|
28
|
+
|
|
29
|
+
PyPi Link: https://pypi.org/project/dfpyre/
|
|
30
|
+
|
|
31
|
+
## Features
|
|
32
|
+
- All codeblock types and actions
|
|
33
|
+
- All code items
|
|
34
|
+
- Direct sending to DF via CodeClient
|
|
35
|
+
- Fully documented and typed actions
|
|
36
|
+
- Automatic type conversion (`int` to `Number`, `str` to `String`)
|
|
37
|
+
- Shorthand format for variables
|
|
38
|
+
- Convert existing templates into equivalent Python code
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Quick Start
|
|
42
|
+
|
|
43
|
+
To get started with pyre, install the module with pip:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
pip install dfpyre
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
I also highly recommend you install CodeClient and enable `CodeClient API` in its General config tab. This will allow you to quickly send your templates to DiamondFire. [You can download it here on Modrinth.](https://modrinth.com/mod/codeclient)
|
|
50
|
+
|
|
51
|
+
Basic Template Example:
|
|
52
|
+
|
|
53
|
+
```py
|
|
54
|
+
from dfpyre import *
|
|
55
|
+
|
|
56
|
+
PlayerEvent.Join(codeblocks=[
|
|
57
|
+
PlayerAction.SendMessage(Text('%default has joined!'), target=Target.ALL_PLAYERS),
|
|
58
|
+
PlayerAction.GiveItems([Item('diamond_sword'), Item('steak', 10)])
|
|
59
|
+
]).build_and_send()
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
**For more information and examples, check out the [Wiki](https://github.com/Amp63/pyre/wiki) on Github.**
|
|
64
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
dfpyre/__init__.py,sha256=RnqRhczdc5wAvfiF-hch6mELA5GW_v1-ytSZW4QxHpg,121
|
|
2
|
+
dfpyre/core/actiondump.py,sha256=vhwwhoMzHmZ9-NYlZbjDxwTAOwBqJ_E1SUV3jyfPNBk,8491
|
|
3
|
+
dfpyre/core/codeblock.py,sha256=VF15nNDVLj6W8UOEDXNY8e81_99t-yaQBh-HrqbvBCg,8821
|
|
4
|
+
dfpyre/core/items.py,sha256=wXBnmx41Oa0wQdo5nESlzbVnkByN2iY33oWkhoTCWS8,18529
|
|
5
|
+
dfpyre/core/template.py,sha256=ZFjYcW5e8bwW8AcPeuumSuqC1mK89RE4U3FGGzqgQEk,9380
|
|
6
|
+
dfpyre/data/actiondump_min.json,sha256=qegRqi2bUXi729lEfym5JmuqQi_Oe1I6W7rso3r40MQ,2649461
|
|
7
|
+
dfpyre/data/deprecated_actions.json,sha256=1b6G31mAzykWWbQXOJkn3mjJOTsa2gvW-LATI4TF6rM,5619
|
|
8
|
+
dfpyre/data/method_templates/action.txt,sha256=Nu8gQjClQHa8l5tNv8NLXoLq0e1iHIceob1VGms0CC4,315
|
|
9
|
+
dfpyre/data/method_templates/conditional.txt,sha256=l4AZ7uhBENsiLsGXyJyAuXAZWBWBaPrnGpZy6WE9rKU,557
|
|
10
|
+
dfpyre/data/method_templates/event.txt,sha256=UR48UG8q9edIkmlUqB665NhfE2H0BoST-ssPUaaGWgg,383
|
|
11
|
+
dfpyre/data/method_templates/notarget_action.txt,sha256=Aw30ZM7mWYfcjPFEplhbXmj9Rh16aRXGNz2WE8VtnQU,223
|
|
12
|
+
dfpyre/data/method_templates/notarget_conditional.txt,sha256=1XC3Dtu3EbuaA2wVCiyO0sf0xd9FrKhqjNTVknoo5KU,462
|
|
13
|
+
dfpyre/data/method_templates/repeat.txt,sha256=d4dsICMpz66MXtSCp17f4AtiwrMrNX6MfqOHCSXeU7I,379
|
|
14
|
+
dfpyre/data/method_templates/repeat_while.txt,sha256=qBhB0wC6dpgoUzuFhwbkEy6oy-v2bAmZpNz6Ezelo4k,668
|
|
15
|
+
dfpyre/data/method_templates/select_obj_subaction.txt,sha256=gilAfZQtbQImFGtDEclv7J3qeVcyMYUhobNaAQBS7Ys,547
|
|
16
|
+
dfpyre/export/action_classes.py,sha256=eUzY09UZjBvAflhifLIV95LdnnmIDW_fZiAAAnjGPyU,517365
|
|
17
|
+
dfpyre/export/block_functions.py,sha256=WXUhXHMYFRKVA9Rw1x9mF3bmnQ_AnypvDnbi70IUALw,3422
|
|
18
|
+
dfpyre/gen/action_class_data.py,sha256=3kKur9iZdLcat94eKN_r4voilBNWbDxRa2cTeQcYQSk,5649
|
|
19
|
+
dfpyre/gen/action_literals.py,sha256=yJLNU7p2IK1HreGAV-NKMcCKahbOWS_cHia7xTB-1qY,52554
|
|
20
|
+
dfpyre/scripts/action_gen.py,sha256=K8tBVXUrj9jD6Tg-L2HEoa05jAmslgIfxcgAYlHjb44,8219
|
|
21
|
+
dfpyre/scripts/action_literal_gen.py,sha256=Fbdda3TkkcwN6zu9uR1ZPZQS-aHHelXwz6q7uLaT_hA,1531
|
|
22
|
+
dfpyre/tool/scriptgen.py,sha256=J1K6ciH7vTL6HcPeQ0C1cKHLKQSRTJF14AxsmqUHo98,11005
|
|
23
|
+
dfpyre/tool/slice.py,sha256=2X-oM62Yc7w3wQu2RYEh5xjr0AcWMAZUZFqiqfQ2OPs,7963
|
|
24
|
+
dfpyre/util/style.py,sha256=ZDwVospsYdeq4LJJjkf4qyV4hMIXMMrZow_c_LXtwT4,982
|
|
25
|
+
dfpyre/util/util.py,sha256=h-MsPFei6_J2DiS9pdf4eG82CDcMH5YYrAwE_ZtrQOs,1510
|
|
26
|
+
dfpyre-0.10.5.dist-info/METADATA,sha256=kYzV7cc__mJ-2enw1S0U79Rilq_SqL-LVxrXTN9yUg4,2067
|
|
27
|
+
dfpyre-0.10.5.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
28
|
+
dfpyre-0.10.5.dist-info/licenses/LICENSE,sha256=_vuDskB0ja2c-Fgm7Gt8Q8cO9NsLNpZAVyvmZwX7E6o,1060
|
|
29
|
+
dfpyre-0.10.5.dist-info/RECORD,,
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c)
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Amp
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
dfpyre/data/data.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"meta":{"version":"4.0.0","df_patch":"6.1","updated":"2023/12/29"},"player_action":{"GiveItems":[],"SetHotbar":[],"SetInventory":[],"SetSlotItem":[],"SetEquipment":[{"option":"Main hand","tag":"Equipment Slot","slot":26}],"SetArmor":[],"ReplaceItems":[],"RemoveItems":[],"ClearItems":[],"ClearInv":[{"option":"True","tag":"Clear Crafting and Cursor","slot":25},{"option":"Entire inventory","tag":"Clear Mode","slot":26}],"SetCursorItem":[],"SaveInv":[],"LoadInv":[],"SetItemCooldown":[],"SendMessage":[{"option":"True","tag":"Inherit Styles","slot":24},{"option":"Add spaces","tag":"Text Value Merging","slot":25},{"option":"Regular","tag":"Alignment Mode","slot":26}],"SendMessageSeq":[{"option":"Regular","tag":"Alignment Mode","slot":26}],"SendTitle":[],"ActionBar":[{"option":"True","tag":"Inherit Styles","slot":25},{"option":"No spaces","tag":"Text Value Merging","slot":26}],"OpenBook":[]," SetBossBar ":[{"option":"None","tag":"Sky Effect","slot":24},{"option":"Solid","tag":"Bar Style","slot":25},{"option":"Purple","tag":"Bar Color","slot":26}]," RemoveBossBar ":[],"SendAdvancement":[{"option":"Advancement","tag":"Toast Type","slot":26}],"SetTabListInfo":[{"option":"True","tag":"Inherit Styles","slot":24},{"option":"No spaces","tag":"Text Value Merging","slot":25},{"option":"Header","tag":"Player List Field","slot":26}],"PlaySound":[{"option":"Master","tag":"Sound Source","slot":26}],"StopSound":[{"option":"Master","tag":"Sound Source","slot":26}],"PlaySoundSeq":[{"option":"Master","tag":"Sound Source","slot":26}],"PlayEntitySound":[{"option":"True","tag":"Ignore Formatting","slot":25},{"option":"Master","tag":"Sound Source","slot":26}],"ShowInv":[],"ExpandInv":[],"SetMenuItem":[]," SetInvName ":[],"AddInvRow":[{"option":"Bottom row","tag":"New Row Position","slot":26}],"RemoveInvRow":[{"option":"Bottom row","tag":"Row to Remove","slot":26}],"CloseInv":[],"OpenBlockInv":[],"SetScoreObj":[],"SetSidebar":[{"option":"Enable","tag":"Sidebar","slot":26}],"SetScore":[],"RemoveScore":[],"ClearScoreboard":[],"Damage":[{"option":"True","tag":"Ignore Formatting","slot":26}],"Heal":[],"SetHealth":[],"SetMaxHealth":[{"option":"False","tag":"Heal Player to Max Health","slot":26}],"SetAbsorption":[],"SetFoodLevel":[],"GiveFood":[],"SetSaturation":[],"GiveSaturation":[],"GiveExp":[{"option":"Points","tag":"Give Experience","slot":26}],"SetExp":[{"option":"Level","tag":"Set Experience","slot":26}],"GivePotion":[{"option":"True","tag":"Show Icon","slot":24},{"option":"True","tag":"Overwrite Effect","slot":25},{"option":"Regular","tag":"Effect Particles","slot":26}],"RemovePotion":[],"ClearPotions":[],"SetSlot":[],"SetAtkSpeed":[],"SetFireTicks":[],"SetFreezeTicks":[{"option":"Disable","tag":"Ticking Locked","slot":26}],"SetAirTicks":[],"SetInvulTicks":[],"SetFallDistance":[],"SetSpeed":[{"option":"Ground speed","tag":"Speed Type","slot":26}],"SurvivalMode":[],"AdventureMode":[],"CreativeMode":[],"SpectatorMode":[],"SetAllowFlight":[{"option":"Enable","tag":"Allow Flight","slot":26}],"SetAllowPVP":[{"option":"Disable","tag":"PVP","slot":26}],"SetDropsEnabled":[{"option":"Enable","tag":"Spawn Death Drops","slot":26}],"SetInventoryKept":[{"option":"Enable","tag":"Inventory Kept","slot":26}],"SetCollidable":[{"option":"Disable","tag":"Collision","slot":26}],"EnableBlocks":[],"DisableBlocks":[],"InstantRespawn":[{"option":"Enable","tag":"Instant Respawn","slot":26}],"SetReducedDebug":[{"option":"True","tag":"Reduced Debug Info Enabled","slot":26}],"SetHandCrafting":[{"option":"Disable","tag":"Allow Hand Crafting","slot":26}],"Teleport":[{"option":"False","tag":"Keep Velocity","slot":25},{"option":"False","tag":"Keep Current Rotation","slot":26}],"LaunchUp":[{"option":"True","tag":"Add to Current Velocity","slot":26}],"LaunchFwd":[{"option":"True","tag":"Add to Current Velocity","slot":25},{"option":"Pitch and Yaw","tag":"Launch Axis","slot":26}],"LaunchToward":[{"option":"True","tag":"Add to Current Velocity","slot":25},{"option":"False","tag":"Ignore Distance","slot":26}],"RideEntity":[{"option":"True","tag":"Ignore Formatting","slot":26}],"SetFlying":[{"option":"Enable","tag":"Flying","slot":26}],"SetGliding":[{"option":"Enable","tag":"Gliding","slot":26}],"BoostElytra":[],"SetRotation":[],"FaceLocation":[],"SetVelocity":[{"option":"False","tag":"Add to Current Velocity","slot":26}],"SpectateTarget":[{"option":"True","tag":"Ignore Formatting","slot":26}],"SetSpawnPoint":[],"SpectatorCollision":[{"option":"Enable","tag":"Spectator Collision","slot":26}],"LaunchProj":[],"ResourcePack":[],"SetPlayerTime":[],"SetPlayerWeather":[{"option":"Downfall","tag":"Weather","slot":26}],"SetRainLevel":[],"SetCompass":[],"DisplayBlock":[],"DisplayFracture":[{"option":"True","tag":"Overwrite Previous Fracture","slot":26}],"DisplayBlockOpen":[{"option":"Open","tag":"Container State","slot":26}],"DisplayGateway":[{"option":"Initial beam","tag":"Animation Type","slot":26}],"DisplaySignText":[{"option":"Front","tag":"Sign Side","slot":24},{"option":"Black","tag":"Text Color","slot":25},{"option":"Disable","tag":"Glowing","slot":26}],"DisplayHologram":[],"SetFogDistance":[],"SetWorldBorder":[],"ShiftWorldBorder":[],"RmWorldBorder":[],"DisplayPickup":[{"option":"True","tag":"Ignore Formatting","slot":26}],"SetEntityHidden":[{"option":"True","tag":"Ignore Formatting","slot":25},{"option":"Enable","tag":"Hidden","slot":26}],"Particle":[],"ParticleLine":[],"ParticleLineA":[],"ParticleCircle":[],"ParticleCircleA":[],"ParticleCuboid":[{"option":"Wireframe","tag":"Fill Type","slot":26}],"ParticleCuboidA":[{"option":"Wireframe","tag":"Fill Type","slot":26}],"ParticleSpiral":[],"ParticleSpiralA":[],"ParticleSphere":[],"ParticleRay":[],"DisplayLightning":[],"Vibration":[],"MobDisguise":[],"PlayerDisguise":[],"BlockDisguise":[],"SetDisguiseVisible":[{"option":"Disable","tag":"Disguise Visible","slot":26}],"Undisguise":[],"SetChatTag":[],"ChatStyle":[],"SetNameColor":[{"option":"Black","tag":"Name Color","slot":26}],"SetNameVisible":[{"option":"Disable","tag":"Name Tag Visible","slot":26}],"SetNamePrefix":[{"option":"Prefix","tag":"Text Type","slot":26}],"SetArrowsStuck":[],"SetStingsStuck":[],"SetVisualFire":[{"option":"True","tag":"On Fire","slot":26}],"AttackAnimation":[{"option":"Swing main arm","tag":"Animation Arm","slot":26}],"HurtAnimation":[],"WakeUpAnimation":[],"SetStatus":[],"SetSkin":[],"SetShoulder":[{"option":"Remove","tag":"Type","slot":25},{"option":"Left","tag":"Shoulder","slot":26}],"RollbackBlocks":[],"Kick":[]},"entity_action":{"Heal":[],"SetHealth":[],"SetAbsorption":[],"SetMaxHealth":[{"option":"False","tag":"Heal Mob to Max Health","slot":26}],"Damage":[{"option":"True","tag":"Ignore Formatting","slot":26}],"SetFireTicks":[],"SetFreezeTicks":[{"option":"Disable","tag":"Ticking Locked","slot":26}],"SetInvulTicks":[],"GivePotion":[{"option":"True","tag":"Overwrite Effect","slot":25},{"option":"Regular","tag":"Effect Particles","slot":26}],"RemovePotion":[],"ClearPotions":[],"SetAge":[{"option":"Don't change","tag":"Age Lock","slot":26}],"SetFallDistance":[],"SetCreeperFuse":[],"SetCreeperPower":[],"SetCloudRadius":[],"SetVillagerExp":[],"SetWitherInvul":[],"SetHorseJump":[],"SetPickupDelay":[],"SetFishingTime":[],"SetWardenAnger":[{"option":"True","tag":"Ignore Formatting","slot":26}],"MobDisguise":[],"PlayerDisguise":[],"BlockDisguise":[],"Undisguise":[],"SetGlowing":[{"option":"Enable","tag":"Glowing","slot":26}],"SetDyeColor":[{"option":"White","tag":"Dye","slot":26}],"SetFishPattern":[{"option":"White","tag":"Pattern Color","slot":24},{"option":"White","tag":"Body Color","slot":25},{"option":"Kob","tag":"Pattern","slot":26}],"SetRabbitType":[{"option":"Brown","tag":"Skin Type","slot":26}],"SetCatType":[{"option":"Tabby","tag":"Skin Type","slot":26}],"MooshroomType":[{"option":"Red","tag":"Mooshroom Variant","slot":26}],"SetFoxType":[{"option":"Red","tag":"Fox Type","slot":26}],"SetParrotColor":[{"option":"Red","tag":"Parrot Color","slot":26}],"SetHorsePattern":[{"option":"Flaxen chestnut","tag":"Horse Color","slot":25},{"option":"Stockings and blaze","tag":"Horse Markings","slot":26}],"SetAxolotlColor":[{"option":"Pink","tag":"Axolotl Color","slot":26}],"SetLlamaColor":[{"option":"Brown","tag":"Llama Color","slot":26}],"SetFrogType":[{"option":"Temperate","tag":"Frog Type","slot":26}],"SetVillagerBiome":[{"option":"Desert","tag":"Biome","slot":26}],"SnowmanPumpkin":[{"option":"Disable","tag":"Pumpkin","slot":26}],"SetEndermanBlock":[],"SetMinecartBlock":[],"ArmorStandParts":[{"option":"Enable","tag":"Arms","slot":25},{"option":"Enable","tag":"Base Plate","slot":26}],"SetBeeNectar":[{"option":"Enable","tag":"Has Nectar","slot":26}],"ProjectileItem":[],"SetVisualFire":[{"option":"True","tag":"On Fire","slot":26}],"SendAnimation":[{"option":"Hurt animation","tag":"Animation Type","slot":26}],"AttackAnimation":[{"option":"Swing main arm","tag":"Animation Arm","slot":26}],"ArmorStandPose":[{"option":"Head","tag":"Armor Stand Part","slot":26}]," SetPose ":[{"option":"Standing","tag":"Pose","slot":26}],"SetFoxLeaping":[{"option":"Enable","tag":"Leaping","slot":26}],"SetArmsRaised":[{"option":"Enable","tag":"Arms Raised","slot":26}],"SetCatResting":[{"option":"Enable","tag":"Resting","slot":26}],"SetGlowSquidDark":[],"Teleport":[{"option":"False","tag":"Keep Current Rotation","slot":26}],"LaunchUp":[{"option":"True","tag":"Add to Current Velocity","slot":26}],"LaunchFwd":[{"option":"True","tag":"Add to Current Velocity","slot":25},{"option":"Pitch and Yaw","tag":"Launch Axis","slot":26}],"LaunchToward":[{"option":"True","tag":"Add to Current Velocity","slot":25},{"option":"False","tag":"Ignore Distance","slot":26}],"SetGliding":[{"option":"Enable","tag":"Gliding","slot":26}],"SetGravity":[{"option":"Disable","tag":"Gravity","slot":26}],"RideEntity":[{"option":"True","tag":"Ignore Formatting","slot":26}],"AttachLead":[{"option":"True","tag":"Ignore Formatting","slot":26}],"SetRotation":[],"SetVelocity":[{"option":"False","tag":"Add to Current Velocity","slot":26}],"SetName":[{"option":"False","tag":"Hide Name Tag","slot":26}],"SetNameVisible":[{"option":"Enable","tag":"Name Tag Visible","slot":26}],"SetNameColor":[{"option":"Black","tag":"Name Color","slot":26}],"SetAI":[{"option":"None","tag":"AI","slot":26}],"SetSilenced":[{"option":"Enable","tag":"Silenced","slot":26}],"SetDeathDrops":[{"option":"Enable","tag":"Has Death Drops","slot":26}],"SetCollidable":[{"option":"Disable","tag":"Collision","slot":26}],"SetInvulnerable":[{"option":"Enable","tag":"Invulnerable","slot":26}],"SetMobSitting":[{"option":"Enable","tag":"Is Sitting","slot":26}],"SetBaby":[{"option":"Enable","tag":"Baby","slot":26}],"SetSize":[],"SetSheepSheared":[{"option":"Enable","tag":"Sheared","slot":26}],"SetSaddle":[{"option":"Enable","tag":"Saddle","slot":26}],"SetCarryingChest":[{"option":"Enable","tag":"Carrying Chest","slot":26}],"ArmorStandSlots":[{"option":"Take, swap or place item","tag":"Interactions","slot":25},{"option":"All","tag":"Equipment Slot","slot":26}],"SetMarker":[{"option":"Enable","tag":"Marker","slot":26}],"SetAngry":[{"option":"Enable","tag":"Angry","slot":26}],"SetRearing":[{"option":"Enable","tag":"Rearing","slot":26}],"SetRiptiding":[{"option":"Enable","tag":"Riptiding","slot":26}],"CreeperCharged":[{"option":"Enable","tag":"Charged","slot":26}],"SetInvisible":[{"option":"Enable","tag":"Invisible","slot":26}],"SetGoatScreaming":[{"option":"Enable","tag":"Screams","slot":26}],"SetGoatHorns":[{"option":"No Change","tag":"Left Horn","slot":25},{"option":"No Change","tag":"Right Horn","slot":26}],"Tame":[],"EndCrystalBeam":[],"SetPandaGene":[{"option":"Both","tag":"Set Gene","slot":25},{"option":"Aggressive","tag":"Gene Type","slot":26}],"SetProfession":[{"option":"Armorer","tag":"Profession","slot":26}],"SetProjSource":[{"option":"True","tag":"Ignore Formatting","slot":26}],"SetPersistent":[{"option":"Enable","tag":"Persistent","slot":26}],"InteractionSize":[],"InteractResponse":[{"option":"Enable","tag":"Responsive","slot":26}],"SetCelebrating":[{"option":"Enable","tag":"Celebrate","slot":26}],"SetTarget":[{"option":"True","tag":"Ignore Formatting","slot":26}],"MoveToLoc":[],"Jump":[],"Ram":[{"option":"True","tag":"Ignore Formatting","slot":26}],"FrogEat":[{"option":"True","tag":"Ignore Formatting","slot":26}],"SheepEat":[],"IgniteCreeper":[],"Explode":[],"FoxSleeping":[{"option":"Enable","tag":"Sleeping","slot":26}],"SetDragonPhase":[{"option":"Flying","tag":"Phase","slot":26}],"SetBulletTarget":[{"option":"True","tag":"Ignore Formatting","slot":26}],"UseItem":[{"option":"Main Hand","tag":"Hand","slot":25},{"option":"Enable","tag":"Use Item","slot":26}],"SetAllayDancing":[{"option":"Enable","tag":"Dancing","slot":26}],"SnifferState":[{"option":"Idle","tag":"Behavior","slot":26}],"DisplayViewRange":[],"DisplayBillboard":[{"option":"Fixed","tag":"Billboard Type","slot":26}],"DisplayShadow":[],"DisplayBrightness":[],"DispInterpolation":[],"DisplayCullingSize":[],"TDisplayText":[{"option":"True","tag":"Inherit Styles","slot":25},{"option":"No spaces","tag":"Text Value Merging","slot":26}],"TDisplayLineWidth":[],"TDisplayOpacity":[],"TDisplayAlign":[{"option":"Center","tag":"Text Alignment","slot":26}],"TDisplayShadow":[{"option":"Enable","tag":"Text Shadow","slot":26}],"TDisplaySeeThru":[{"option":"Enable","tag":"See-through","slot":26}],"TDispBackground":[],"DisplayGlowColor":[],"IDisplayItem":[],"IDisplayModelType":[{"option":"None","tag":"Model Type","slot":26}],"BDisplayBlock":[],"DisplayMatrix":[],"DispRotationEuler":[{"option":"Left Rotation","tag":"Rotation Type","slot":26}],"DispRotAxisAngle":[{"option":"Left Rotation","tag":"Rotation Type","slot":26}],"DispTranslation":[],"DisplayScale":[],"Remove":[],"SetEquipment":[{"option":"Main hand","tag":"Equipment Slot","slot":26}],"SetArmor":[],"LaunchProj":[],"ShearSheep":[],"SetCustomTag":[],"GetCustomTag":[],"RemoveCustomTag":[],"SetItem":[],"SetDigging":[{"option":"Emerge","tag":"Digging Type","slot":26}]},"game_action":{"SpawnMob":[],"SpawnItem":[{"option":"True","tag":"Apply Item Motion","slot":26}],"SpawnVehicle":[],"SpawnExpOrb":[],"Explosion":[],"SpawnTNT":[],"SpawnFangs":[],"Firework":[{"option":"False","tag":"Instant","slot":25},{"option":"Upwards","tag":"Movement","slot":26}],"LaunchProj":[],"Lightning":[],"SpawnPotionCloud":[],"FallingBlock":[{"option":"True","tag":"Reform on Impact","slot":25},{"option":"False","tag":"Hurt Hit Entities","slot":26}],"SpawnArmorStand":[{"option":"Visible","tag":"Visibility","slot":26}],"SpawnCrystal":[{"option":"True","tag":"Show Bottom","slot":26}],"SpawnEnderEye":[{"option":"Random","tag":"End of Lifespan","slot":26}],"ShulkerBullet":[],"SpawnTextDisplay":[{"option":"True","tag":"Inherit Styles","slot":25},{"option":"No spaces","tag":"Text Value Merging","slot":26}],"SpawnItemDisp":[],"SpawnBlockDisp":[],"SpawnInteraction":[{"option":"Disable","tag":"Responsive","slot":26}]," SetBlock ":[],"SetRegion":[],"CloneRegion":[{"option":"False","tag":"Ignore Air","slot":25},{"option":"True","tag":"Clone Block Entities","slot":26}],"BreakBlock":[],"SetBlockData":[{"option":"False","tag":"Overwrite Existing Data","slot":26}],"TickBlock":[],"BoneMeal":[{"option":"True","tag":"Show Particles","slot":26}],"GenerateTree":[{"option":"Oak Tree","tag":"Tree Type","slot":26}],"SetBlockGrowth":[{"option":"Growth Stage Number","tag":"Growth Unit","slot":26}],"FillContainer":[],"SetContainer":[],"SetItemInSlot":[],"ReplaceItems":[],"RemoveItems":[],"ClearItems":[],"ClearContainer":[],"SetContainerName":[],"LockContainer":[],"ChangeSign":[{"option":"Front","tag":"Sign Side","slot":26}],"SignColor":[{"option":"Front","tag":"Sign Side","slot":24},{"option":"Black","tag":"Text Color","slot":25},{"option":"Disable","tag":"Glowing","slot":26}],"SetHead":[],"SetFurnaceSpeed":[],"SetCampfireItem":[{"option":"1","tag":"Campfire Slot","slot":26}],"SetLecternBook":[],"SetBrushableItem":[],"CancelEvent":[],"UncancelEvent":[],"SetEventDamage":[],"SetEventHeal":[],"SetEventXP":[],"SetEventProj":[],"SetEventSound":[],"BlockDropsOn":[],"BlockDropsOff":[],"WebRequest":[{"option":"Post","tag":"Request Method","slot":25},{"option":"text/plain","tag":"Content Type","slot":26}],"DiscordWebhook":[]},"set_var":{"=":[],"RandomValue":[],"PurgeVars":[{"option":"Full word(s) in name","tag":"Match Requirement","slot":25},{"option":"False","tag":"Ignore Case","slot":26}],"+":[],"-":[],"x":[],"/":[{"option":"Default","tag":"Division Mode","slot":26}],"%":[{"option":"Remainder","tag":"Remainder Mode","slot":26}],"+=":[],"-=":[],"Exponent":[],"Root":[],"Logarithm":[],"ParseNumber":[],"AbsoluteValue":[],"ClampNumber":[],"WrapNum":[],"Average":[],"RandomNumber":[{"option":"Whole number","tag":"Rounding Mode","slot":26}]," RoundNumber ":[{"option":"Nearest","tag":"Round Mode","slot":26}],"MinNumber":[],"MaxNumber":[],"NormalRandom":[{"option":"Normal","tag":"Distribution","slot":26}],"Sine":[{"option":"Sine","tag":"Sine Variant","slot":25},{"option":"Degrees","tag":"Input","slot":26}],"Cosine":[{"option":"Cosine","tag":"Cosine Variant","slot":25},{"option":"Degrees","tag":"Input","slot":26}],"Tangent":[{"option":"Tangent","tag":"Tangent Variant","slot":25},{"option":"Degrees","tag":"Input","slot":26}],"PerlinNoise":[{"option":"Brownian","tag":"Fractal Type","slot":26}],"VoronoiNoise":[{"option":"Euclidean","tag":"Cell Edge Type","slot":26}],"WorleyNoise":[{"option":"Euclidean","tag":"Cell Edge Type","slot":25},{"option":"Primary","tag":"Distance Calculation","slot":26}],"Bitwise":[{"option":"|","tag":"Operator","slot":26}],"String":[{"option":"No spaces","tag":"Text Value Merging","slot":26}],"ReplaceString":[{"option":"All occurrences","tag":"Replacement Type","slot":25},{"option":"Disable","tag":"Regular Expressions","slot":26}],"RemoveString":[{"option":"Disable","tag":"Regular Expressions","slot":26}],"TrimString":[],"SplitString":[],"JoinString":[],"SetCase":[{"option":"UPPERCASE","tag":"Capitalization Type","slot":26}],"StringLength":[],"RepeatString":[],"FormatTime":[{"option":"2020/08/17 17:20:54","tag":"Format","slot":26}],"TranslateColors":[{"option":"From & to color","tag":"Translation Type","slot":26}],"StyledText":[{"option":"True","tag":"Inherit Styles","slot":25},{"option":"No spaces","tag":"Text Value Merging","slot":26}],"ClearFormatting":[],"GetMiniMessageExpr":[],"ParseMiniMessageExpr":[{"option":"False","tag":"Parse Legacy Color Codes","slot":25},{"option":"Style Only","tag":"Allowed Tags","slot":26}],"TrimStyledText":[],"ContentLength":[],"GetCoord":[{"option":"Plot coordinate","tag":"Coordinate Type","slot":25},{"option":"X","tag":"Coordinate","slot":26}],"SetCoord":[{"option":"Plot coordinate","tag":"Coordinate Type","slot":25},{"option":"X","tag":"Coordinate","slot":26}],"SetAllCoords":[{"option":"Plot coordinate","tag":"Coordinate Type","slot":26}],"ShiftOnAxis":[{"option":"X","tag":"Coordinate","slot":26}],"ShiftAllAxes":[],"ShiftInDirection":[{"option":"Forward","tag":"Direction","slot":26}],"ShiftAllDirections":[],"ShiftToward":[],"ShiftOnVector":[{"option":"False","tag":"Add Location Rotation","slot":26}],"GetDirection":[]," SetDirection ":[],"ShiftRotation":[{"option":"Pitch","tag":"Rotation Axis","slot":26}],"FaceLocation":[{"option":"Toward location","tag":"Face Direction","slot":26}],"AlignLoc":[{"option":"Keep rotation","tag":"Rotation","slot":24},{"option":"All coordinates","tag":"Coordinates","slot":25},{"option":"Block center","tag":"Alignment Mode","slot":26}],"Distance":[{"option":"Distance 3D (X/Y/Z)","tag":"Distance Type","slot":26}],"GetCenterLoc":[],"RandomLoc":[],"GetItemType":[{"option":"Item ID (golden_apple)","tag":"Return Value Type","slot":26}],"SetItemType":[]," GetItemName ":[]," SetItemName ":[]," GetItemLore ":[],"GetLoreLine":[]," SetItemLore ":[],"GetItemAmount":[],"SetItemAmount":[],"GetMaxItemAmount":[],"GetItemDura":[{"option":"Get Damage","tag":"Durability Type","slot":26}],"SetItemDura":[{"option":"Set Damage","tag":"Durability Type","slot":26}],"SetBreakability":[{"option":"Unbreakable","tag":"Breakability","slot":26}]," GetItemEnchants ":[]," SetItemEnchants ":[],"AddItemEnchant":[],"RemItemEnchant":[],"GetHeadOwner":[{"option":"Owner Name","tag":"Text Value","slot":26}],"SetHeadTexture":[]," GetBookText ":[],"SetBookText":[],"GetItemTag":[],"GetAllItemTags":[],"SetItemTag":[],"RemoveItemTag":[],"ClearItemTag":[],"SetModelData":[],"GetItemEffects":[],"SetItemEffects":[],"SetItemFlags":[{"option":"No Change","tag":"Hide Armor Trim","slot":19},{"option":"No Change","tag":"Hide Color","slot":20},{"option":"No Change","tag":"Hide Enchantments","slot":21},{"option":"No Change","tag":"Hide Attributes","slot":22},{"option":"No Change","tag":"Hide Unbreakable","slot":23},{"option":"No Change","tag":"Hide Can Destroy","slot":24},{"option":"No Change","tag":"Hide Can Place On","slot":25},{"option":"No Change","tag":"Hide Potion Effects","slot":26}],"GetCanPlaceOn":[],"SetCanPlaceOn":[],"GetCanDestroy":[],"SetCanDestroy":[],"GetItemRarity":[],"GetLodestoneLoc":[],"SetLodestoneLoc":[{"option":"False","tag":"Require Lodestone at Location","slot":26}],"SetArmorTrim":[{"option":"None","tag":"Trim Pattern","slot":25},{"option":"Amethyst","tag":"Trim Material","slot":26}],"GetItemColor":[],"SetItemColor":[],"GetItemAttribute":[{"option":"Armor","tag":"Attribute","slot":25},{"option":"Any","tag":"Active Equipment Slot","slot":26}],"AddItemAttribute":[{"option":"Armor","tag":"Attribute","slot":24},{"option":"Add number","tag":"Operation","slot":25},{"option":"Main hand","tag":"Active Equipment Slot","slot":26}],"SetMapTexture":[],"CreateList":[],"AppendValue":[],"AppendList":[],"GetListValue":[],"PopListValue":[],"SetListValue":[],"GetValueIndex":[{"option":"Ascending (first index)","tag":"Search Order","slot":26}],"ListLength":[],"InsertListValue":[],"RemoveListValue":[],"RemoveListIndex":[],"DedupList":[],"TrimList":[],"SortList":[{"option":"Ascending","tag":"Sort Order","slot":26}],"ReverseList":[],"RandomizeList":[],"FlattenList":[],"CreateDict":[],"SetDictValue":[],"GetDictValue":[],"GetDictSize":[],"RemoveDictEntry":[],"ClearDict":[],"GetDictKeys":[],"GetDictValues":[],"AppendDict":[],"SortDict":[{"option":"Sort by Key","tag":"Sorting Type","slot":25},{"option":"Ascending","tag":"Sorting Order","slot":26}],"GetBlockType":[{"option":"Block ID (oak_log)","tag":"Return Value Type","slot":26}],"GetBlockData":[],"GetAllBlockData":[{"option":"True","tag":"Hide Default","slot":26}],"GetBlockGrowth":[{"option":"Growth stage number","tag":"Growth Unit","slot":26}],"GetBlockPower":[],"GetLight":[{"option":"Combined light","tag":"Light Type","slot":26}]," GetSignText ":[{"option":"Front","tag":"Sign Side","slot":25},{"option":"1","tag":"Sign Line","slot":26}],"ContainerName":[],"ContainerLock":[],"GetContainerItems":[{"option":"False","tag":"Ignore Empty Slots","slot":26}],"GetLecternBook":[],"GetLecternPage":[],"Raycast":[{"option":"False","tag":"Entity Collision","slot":25},{"option":"All blocks","tag":"Block Collision","slot":26}],"GetParticleType":[],"SetParticleType":[],"GetParticleAmount":[],"SetParticleAmount":[],"GetParticleSprd":[{"option":"Horizontal","tag":"Spread","slot":26}],"SetParticleSprd":[],"GetParticleSize":[],"SetParticleSize":[],"GetParticleMat":[],"SetParticleMat":[],"GetParticleColor":[],"SetParticleColor":[],"GetParticleMotion":[],"SetParticleMotion":[],"GetParticleRoll":[],"SetParticleRoll":[],"Vector":[],"VectorBetween":[],"GetVectorComp":[{"option":"X","tag":"Component","slot":26}],"SetVectorComp":[{"option":"X","tag":"Component","slot":26}],"GetVectorLength":[{"option":"Length","tag":"Length Type","slot":26}],"SetVectorLength":[],"MultiplyVector":[],"AddVectors":[],"SubtractVectors":[],"AlignVector":[],"RotateAroundAxis":[{"option":"X","tag":"Axis","slot":25},{"option":"Degrees","tag":"Angle Units","slot":26}],"RotateAroundVec":[{"option":"Degrees","tag":"Angle Units","slot":26}],"ReflectVector":[],"CrossProduct":[],"DotProduct":[],"DirectionName":[],"GetPotionType":[],"SetPotionType":[],"GetPotionAmp":[],"SetPotionAmp":[],"GetPotionDur":[],"SetPotionDur":[],"GetSoundType":[],"SetSoundType":[],"GetSoundVariant":[],"SetSoundVariant":[],"GetCustomSound":[],"SetCustomSound":[],"GetSoundPitch":[{"option":"Pitch (number)","tag":"Return Value Type","slot":26}],"SetSoundPitch":[],"GetSoundVolume":[],"SetSoundVolume":[],"BlockHardness":[],"BlockResistance":[],"RGBColor":[],"HSBColor":[],"HSLColor":[],"GetColorChannels":[{"option":"RGB","tag":"Color Channels","slot":26}]},"if_player":{"IsSneaking":[],"IsSprinting":[],"IsGliding":[],"IsFlying":[],"IsGrounded":[],"IsSwimming":[],"IsBlocking":[],"UsingPack":[],"IsLookingAt":[{"option":"Ignore fluids","tag":"Fluid Mode","slot":26}]," StandingOn ":[],"IsNear":[{"option":"Sphere","tag":"Shape","slot":26}],"InWorldBorder":[],"IsHolding":[{"option":"Either hand","tag":"Hand Slot","slot":26}],"HasItem":[{"option":"Has Any Item","tag":"Check Mode","slot":26}],"IsWearing":[{"option":"Is Wearing Some","tag":"Check Mode","slot":26}],"IsUsingItem":[],"NoItemCooldown":[],"HasSlotItem":[],"MenuSlotEquals":[],"CursorItem":[],"HasRoomForItem":[{"option":"Main inventory","tag":"Checked Slots","slot":25},{"option":"Has Room for Any Item","tag":"Check Mode","slot":26}],"NameEquals":[],"SlotEquals":[],"HasPotion":[{"option":"None","tag":"Check Properties","slot":25},{"option":"Has any effect","tag":"Check Mode","slot":26}]," IsRiding ":[{"option":"True","tag":"Ignore Formatting","slot":26}],"InvOpen":[{"option":"Any Inventory","tag":"Inventory Type","slot":26}],"HasPermission":[{"option":"Developer or builder","tag":"Permission","slot":26}]},"if_entity":{"IsType":[],"NameEquals":[{"option":"True","tag":"Ignore Formatting","slot":26}]," StandingOn ":[],"IsGrounded":[],"IsNear":[{"option":"Sphere","tag":"Shape","slot":26}]," IsRiding ":[{"option":"True","tag":"Ignore Formatting","slot":26}],"HasPotion":[{"option":"None","tag":"Check Properties","slot":25},{"option":"Has any effect","tag":"Check Mode","slot":26}],"IsMob":[],"IsProj":[],"IsVehicle":[],"IsItem":[],"Exists":[],"HasCustomTag":[],"IsSheared":[]},"if_game":{"BlockEquals":[],"BlockPowered":[{"option":"Direct power","tag":"Redstone Power Mode","slot":26}],"ContainerHas":[],"ContainerHasAll":[],"HasRoomForItem":[{"option":"Has Room for Any Item","tag":"Check Mode","slot":26}]," SignHasTxt ":[{"option":"Contains","tag":"Check Mode","slot":24},{"option":"Front","tag":"Sign Side","slot":25},{"option":"All lines","tag":"Sign Line","slot":26}],"HasPlayer":[],"EventBlockEquals":[],"EventItemEquals":[{"option":"Ignore stack size/durability","tag":"Comparison Mode","slot":26}],"CommandEquals":[{"option":"True","tag":"Ignore Case","slot":25},{"option":"Check entire command","tag":"Check Mode","slot":26}],"CmdArgEquals":[{"option":"True","tag":"Ignore Case","slot":26}],"AttackIsCrit":[],"EventCancelled":[]},"if_var":{"=":[],"!=":[],">":[],">=":[],"<":[],"<=":[]," InRange ":[{"option":"Exact","tag":"Location Handling","slot":26}],"LocIsNear":[{"option":"Sphere","tag":"Shape","slot":26}],"StringMatches":[{"option":"False","tag":"Ignore Case","slot":25},{"option":"Disable","tag":"Regular Expressions","slot":26}],"Contains":[{"option":"False","tag":"Ignore Case","slot":26}],"StartsWith":[{"option":"False","tag":"Ignore Case","slot":26}],"EndsWith":[{"option":"False","tag":"Ignore Case","slot":26}],"VarExists":[],"VarIsType":[{"option":"Number","tag":"Variable Type","slot":26}],"ItemEquals":[{"option":"Exactly equals","tag":"Comparison Mode","slot":26}],"ItemHasTag":[],"ListContains":[{"option":"Has Any Value","tag":"Check Mode","slot":26}],"ListValueEq":[],"DictHasKey":[],"DictValueEquals":[]},"repeat":{"Forever":[],"While":[],"Multiple":[]," Range ":[],"ForEach":[{"option":"True","tag":"Allow List Changes","slot":26}],"ForEachEntry":[],"Grid":[],"Adjacent":[{"option":"False","tag":"Change Location Rotation","slot":24},{"option":"False","tag":"Include Origin Block","slot":25},{"option":"Adjacent (6 blocks)","tag":"Pattern","slot":26}],"Path":[{"option":"False","tag":"Rotate Location","slot":26}],"Sphere":[{"option":"False","tag":"Point Locations Inwards","slot":26}]},"select_obj":{"EventTarget":[{"option":"Default","tag":"Event Target","slot":26}],"RandomPlayer":[],"LastEntity":[],"PlayerName":[],"EntityName":[{"option":"True","tag":"Ignore Formatting","slot":26}],"AllPlayers":[],"AllEntities":[],"PlayersCond":[],"EntitiesCond":[],"Invert":[],"FilterCondition":[],"FilterRandom":[],"FilterDistance":[{"option":"False","tag":"Ignore Y-Axis","slot":25},{"option":"Nearest","tag":"Compare Mode","slot":26}],"FilterSort":[{"option":"Ascending","tag":"Sort Order","slot":26}],"FilterRay":[{"option":"Solid blocks","tag":"Block Collision","slot":26}],"Reset":[]},"control":{"Wait":[{"option":"Ticks","tag":"Time Unit","slot":26}],"Return":[],"End":[],"Skip":[],"StopRepeat":[]},"event":{"Join":[],"Leave":[],"Command":[],"RightClick":[],"LeftClick":[],"ClickEntity":[],"ClickPlayer":[],"PlaceBlock":[],"BreakBlock":[],"SwapHands":[],"ChangeSlot":[],"TameEntity":[],"Walk":[],"Jump":[],"Sneak":[],"Unsneak":[],"StartSprint":[],"StopSprint":[],"StartFly":[],"StopFly":[],"Riptide":[],"Dismount":[],"HorseJump":[],"VehicleJump":[],"ClickMenuSlot":[],"ClickInvSlot":[],"PickUpItem":[],"DropItem":[],"Consume":[],"BreakItem":[],"CloseInv":[],"Fish":[],"PlayerTakeDmg":[],"PlayerDmgPlayer":[],"DamageEntity":[],"EntityDamagePlayer":[],"PlayerHeal":[],"ShootBow":[],"ShootProjectile":[],"ProjHit":[],"ProjDmgPlayer":[],"CloudImbuePlayer":[],"Death":[],"KillPlayer":[],"PlayerResurrect":[],"KillMob":[],"MobKillPlayer":[],"Respawn":[],"PackLoad":[],"PackDecline":[],"LoadCrossbow":[]},"entity_event":{"EntityDmgEntity":[],"EntityKillEntity":[],"EntityDmg":[],"ProjDmgEntity":[],"ProjKillEntity":[],"EntityDeath":[],"EntityExplode":[],"VehicleDamage":[],"BlockFall":[],"FallingBlockLand":[],"EntityResurrect":[],"RegrowWool":[]},"extras":{"func":[{"item":{"id":"bl_tag","data":{"option":"False","tag":"Is Hidden","action":"dynamic","block":"func"}},"slot":26}],"process":[{"item":{"id":"bl_tag","data":{"option":"False","tag":"Is Hidden","action":"dynamic","block":"process"}},"slot":26}],"start_process":[{"item":{"id":"bl_tag","data":{"option":"Don't copy","tag":"Local Variables","action":"dynamic","block":"start_process"}},"slot":25},{"item":{"id":"bl_tag","data":{"option":"With current targets","tag":"Target Mode","action":"dynamic","block":"start_process"}},"slot":26}],"call_function":[],"bracket":[]}}
|