mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-10-15 22:17:39 +00:00
Compare commits
463 Commits
v1.16.5-1.
...
v1.97.3
Author | SHA1 | Date | |
---|---|---|---|
![]() |
89cabd5b3e | ||
![]() |
19d12a4706 | ||
![]() |
58dfd56e4b | ||
![]() |
796ea63151 | ||
![]() |
6f30754edb | ||
![]() |
0eab552127 | ||
![]() |
1b643c5ccc | ||
![]() |
8983ecd03a | ||
![]() |
23ad24e4c1 | ||
![]() |
58e747506e | ||
![]() |
27b47c494b | ||
![]() |
70a24d371d | ||
![]() |
73e3e237ad | ||
![]() |
dbbbe96df2 | ||
![]() |
55347fb464 | ||
![]() |
bae502e8ea | ||
![]() |
ed9e823f3f | ||
![]() |
2b8fea5b35 | ||
![]() |
b3e6b4c29a | ||
![]() |
c94ff68e7f | ||
![]() |
3fb96a3438 | ||
![]() |
7a2b7c0701 | ||
![]() |
fa7a731ad1 | ||
![]() |
8be48ebcf0 | ||
![]() |
123f3abcaa | ||
![]() |
9f2e43f00a | ||
![]() |
9fb35b2799 | ||
![]() |
272572dbf2 | ||
![]() |
702e4fc787 | ||
![]() |
511327effe | ||
![]() |
940e35caea | ||
![]() |
fca01693dd | ||
![]() |
8846a3f36f | ||
![]() |
8002c9e932 | ||
![]() |
6fd8331e94 | ||
![]() |
7a667b9028 | ||
![]() |
67b7cd7a14 | ||
![]() |
960d79803d | ||
![]() |
43ef36fa15 | ||
![]() |
f037d9539e | ||
![]() |
a3b2f7b5bd | ||
![]() |
0859145d18 | ||
![]() |
f6e4122f7f | ||
![]() |
8e4023fdbc | ||
![]() |
f10818ec6b | ||
![]() |
bc2358489b | ||
![]() |
6e5e682e3a | ||
![]() |
02c63ce7e8 | ||
![]() |
fd24d89f89 | ||
![]() |
685d33a2dd | ||
![]() |
ca40c9cf19 | ||
![]() |
8985ea9560 | ||
![]() |
1832028dfd | ||
![]() |
316889dab7 | ||
![]() |
96c80a6549 | ||
![]() |
fb274e2ed6 | ||
![]() |
ebe847c04b | ||
![]() |
fdbf41b3c4 | ||
![]() |
9dcb9f9537 | ||
![]() |
1395c877af | ||
![]() |
969451f18c | ||
![]() |
259c8d57f5 | ||
![]() |
2ee07283fa | ||
![]() |
c85a80617a | ||
![]() |
5aa8611e43 | ||
![]() |
86aecd945e | ||
![]() |
a7a9f4fa13 | ||
![]() |
22e4c0603b | ||
![]() |
f3b731460e | ||
![]() |
d787c6e6c1 | ||
![]() |
11272b8d00 | ||
![]() |
1c254e3bb0 | ||
![]() |
7ade380fad | ||
![]() |
2a377a37ee | ||
![]() |
861a9e199d | ||
![]() |
d4f1e34023 | ||
![]() |
6d25278a5c | ||
![]() |
abfb05f04c | ||
![]() |
9d8e76c5b4 | ||
![]() |
89662bf54a | ||
![]() |
520635dfec | ||
![]() |
ee82a8d75f | ||
![]() |
967f00cd1b | ||
![]() |
dda5236d84 | ||
![]() |
427ca2f108 | ||
![]() |
e30f2a86f0 | ||
![]() |
121ef6e976 | ||
![]() |
e4271ff6f7 | ||
![]() |
8d3b94734d | ||
![]() |
9e57150384 | ||
![]() |
0dc34a7dbe | ||
![]() |
fbe28dc51a | ||
![]() |
14e013d075 | ||
![]() |
9bc4e9530c | ||
![]() |
cbff505297 | ||
![]() |
c4aef2d4c7 | ||
![]() |
2ed6692f76 | ||
![]() |
f075eabc32 | ||
![]() |
3d1c9d1667 | ||
![]() |
0028ad8f54 | ||
![]() |
4c805f1c27 | ||
![]() |
505543ad94 | ||
![]() |
644471c6bf | ||
![]() |
bf87d7faa1 | ||
![]() |
be95b65488 | ||
![]() |
7e9f3bd61a | ||
![]() |
4a74aa8166 | ||
![]() |
b4ce4361ce | ||
![]() |
42a3dd24ad | ||
![]() |
9129da2e3d | ||
![]() |
668cdcdd39 | ||
![]() |
2543ebee10 | ||
![]() |
104a317163 | ||
![]() |
921802e6c9 | ||
![]() |
56cfc1a452 | ||
![]() |
a14b98be22 | ||
![]() |
76b5c05acc | ||
![]() |
8b3f1a448f | ||
![]() |
3de515c617 | ||
![]() |
ab199cd9b0 | ||
![]() |
fc4bc9aa05 | ||
![]() |
9662a106f0 | ||
![]() |
06b0538b76 | ||
![]() |
fb128152a5 | ||
![]() |
f596af059d | ||
![]() |
52bb06d250 | ||
![]() |
f3d22444d3 | ||
![]() |
84a1f63445 | ||
![]() |
dbe98ac270 | ||
![]() |
a00775dcbb | ||
![]() |
2279f5044d | ||
![]() |
e8d90b94ec | ||
![]() |
0bf7f3de89 | ||
![]() |
59266fe6e9 | ||
![]() |
a198a5241d | ||
![]() |
b429095f88 | ||
![]() |
a6c7236fa0 | ||
![]() |
69deb0c947 | ||
![]() |
b0d7f690eb | ||
![]() |
62f93f1b4b | ||
![]() |
7fe322a93a | ||
![]() |
de97fa35a8 | ||
![]() |
25ce9b9bea | ||
![]() |
59048b3f30 | ||
![]() |
a960db7ced | ||
![]() |
6a4f09e7b1 | ||
![]() |
19d1cc0320 | ||
![]() |
1a52275dcb | ||
![]() |
2fc2cf2e29 | ||
![]() |
80c2fc68aa | ||
![]() |
7c0664b9f2 | ||
![]() |
4d1a950fbf | ||
![]() |
135a3f56a5 | ||
![]() |
1f117b7c47 | ||
![]() |
c820e051b3 | ||
![]() |
01d7aaf062 | ||
![]() |
1e75e4ff6e | ||
![]() |
f967a70121 | ||
![]() |
ac5150a664 | ||
![]() |
0318e62524 | ||
![]() |
ca69d755e6 | ||
![]() |
3ba7acc414 | ||
![]() |
4c27eea73b | ||
![]() |
225a64dd6b | ||
![]() |
1831e81dd4 | ||
![]() |
a4dd6c24e5 | ||
![]() |
936742895b | ||
![]() |
b5d1e618b9 | ||
![]() |
10aa6c5297 | ||
![]() |
010ebacd1a | ||
![]() |
9e002beed7 | ||
![]() |
6029defb20 | ||
![]() |
c16aa5f247 | ||
![]() |
8d27bdca7b | ||
![]() |
41aa8fa163 | ||
![]() |
e40fb67b50 | ||
![]() |
96d46ffd2c | ||
![]() |
652b7ebba6 | ||
![]() |
f0d7a1165d | ||
![]() |
4a20eea852 | ||
![]() |
ccdd2bf477 | ||
![]() |
8d8f41a50b | ||
![]() |
72c78db28b | ||
![]() |
bf8a992273 | ||
![]() |
9c214fcd8a | ||
![]() |
082cc9d2d8 | ||
![]() |
bff2e81713 | ||
![]() |
63aa3d8877 | ||
![]() |
74c5d7e719 | ||
![]() |
78a685c2cb | ||
![]() |
a475f55b9c | ||
![]() |
9353ded2d5 | ||
![]() |
d197268e53 | ||
![]() |
9648265056 | ||
![]() |
264dbc570f | ||
![]() |
e4ad8bc117 | ||
![]() |
1b31972092 | ||
![]() |
6cd9fa9fb2 | ||
![]() |
d10f297ca0 | ||
![]() |
9ae5636d41 | ||
![]() |
a60daf78cf | ||
![]() |
76e0507c3b | ||
![]() |
d8e2fab2b1 | ||
![]() |
5c5e510075 | ||
![]() |
5a309258af | ||
![]() |
b0782ec38b | ||
![]() |
46846a4fde | ||
![]() |
d955443b21 | ||
![]() |
57e6c49844 | ||
![]() |
66dbab7a6b | ||
![]() |
558976e4ca | ||
![]() |
3a7470a108 | ||
![]() |
cf2b332c3c | ||
![]() |
8984ebcf80 | ||
![]() |
a28e7e2db3 | ||
![]() |
3860e2466c | ||
![]() |
5b31c2536a | ||
![]() |
98dc7a6e58 | ||
![]() |
5e0ceda7ce | ||
![]() |
7fe3ac9222 | ||
![]() |
a65b8ed04c | ||
![]() |
3e14b84c23 | ||
![]() |
1710ad9861 | ||
![]() |
9c48c99be7 | ||
![]() |
d10d1b45fe | ||
![]() |
70a1cf5c5a | ||
![]() |
b546a10bd6 | ||
![]() |
2f35bbb538 | ||
![]() |
891dde43a9 | ||
![]() |
094e0d4f33 | ||
![]() |
df40adce20 | ||
![]() |
e12ce95b2d | ||
![]() |
bcc0effd00 | ||
![]() |
64f3aa2dba | ||
![]() |
515ccfebd3 | ||
![]() |
0b6dbe7778 | ||
![]() |
19054684c6 | ||
![]() |
a72a5e6deb | ||
![]() |
eb2d9482a2 | ||
![]() |
95794fdaf3 | ||
![]() |
af477a401a | ||
![]() |
27531c161d | ||
![]() |
a8f208c394 | ||
![]() |
148d9e9dda | ||
![]() |
67fc21271b | ||
![]() |
ce28e2659a | ||
![]() |
47e4826f2b | ||
![]() |
9bde2d8d13 | ||
![]() |
46acb6866e | ||
![]() |
c0506108f9 | ||
![]() |
0dd7c3695f | ||
![]() |
2a290be248 | ||
![]() |
c4a6c16330 | ||
![]() |
f8b3b544d1 | ||
![]() |
53ae689468 | ||
![]() |
73e460e533 | ||
![]() |
a4e68d637a | ||
![]() |
1f1b20c81e | ||
![]() |
20a9ff7a3f | ||
![]() |
58cd5e3df7 | ||
![]() |
5922d7548c | ||
![]() |
386e01364e | ||
![]() |
70eff6aa63 | ||
![]() |
45ac601946 | ||
![]() |
d6c5a5bd27 | ||
![]() |
02c7903cb7 | ||
![]() |
37e856efdc | ||
![]() |
8a38097887 | ||
![]() |
884b417ec2 | ||
![]() |
1d1d6227eb | ||
![]() |
d5eb82db60 | ||
![]() |
3575654d02 | ||
![]() |
79fcc7241b | ||
![]() |
b203d3aa0a | ||
![]() |
f1176af9d1 | ||
![]() |
717686d855 | ||
![]() |
92811ca0bc | ||
![]() |
f8a58dbcb1 | ||
![]() |
98aabe2cfb | ||
![]() |
f938ed9779 | ||
![]() |
03c9274b27 | ||
![]() |
92c94ac039 | ||
![]() |
5c6fd80b0c | ||
![]() |
f1ec59df15 | ||
![]() |
624b23c7ac | ||
![]() |
9b77a4aaee | ||
![]() |
d8b0037cfa | ||
![]() |
91a9e7fdf7 | ||
![]() |
2c3573719b | ||
![]() |
46bc42d5a7 | ||
![]() |
1b9e93a80f | ||
![]() |
7b93f91ffa | ||
![]() |
31a1027401 | ||
![]() |
e0fc994819 | ||
![]() |
43408bf085 | ||
![]() |
d28f42e8b7 | ||
![]() |
ac452582c1 | ||
![]() |
7e65c6b25c | ||
![]() |
457a863842 | ||
![]() |
eef36e1358 | ||
![]() |
feda08b915 | ||
![]() |
0240ce50ce | ||
![]() |
592b83e784 | ||
![]() |
5d91491ec7 | ||
![]() |
7326d1110d | ||
![]() |
0aa6ac05a0 | ||
![]() |
27a2c063b9 | ||
![]() |
89a195ec06 | ||
![]() |
0e5fd4e8e0 | ||
![]() |
aa4ec53bb6 | ||
![]() |
6b49327462 | ||
![]() |
74ad934889 | ||
![]() |
08b3dbbad5 | ||
![]() |
54eac0a2f8 | ||
![]() |
51ca5e620c | ||
![]() |
076d572831 | ||
![]() |
75f2b91fef | ||
![]() |
79534e5630 | ||
![]() |
d483a91459 | ||
![]() |
71d764f122 | ||
![]() |
2e527eb11e | ||
![]() |
19273b3696 | ||
![]() |
4643641d51 | ||
![]() |
63cd9c5bc7 | ||
![]() |
e9c11ff325 | ||
![]() |
452464aa01 | ||
![]() |
8885462175 | ||
![]() |
b8bd64913b | ||
![]() |
00b458c39a | ||
![]() |
88722d484f | ||
![]() |
6d103e2114 | ||
![]() |
42f23d56ae | ||
![]() |
89d5211bd7 | ||
![]() |
83e70377f7 | ||
![]() |
f6a26f75c3 | ||
![]() |
664df62d5d | ||
![]() |
1348ee0588 | ||
![]() |
145dce7653 | ||
![]() |
7f2651c23e | ||
![]() |
05464107a8 | ||
![]() |
86705787f0 | ||
![]() |
b34d8387d9 | ||
![]() |
4d00969ef0 | ||
![]() |
01d3d12992 | ||
![]() |
5e31dcde83 | ||
![]() |
5184883af1 | ||
![]() |
0c45112262 | ||
![]() |
0bf1672f45 | ||
![]() |
e1b8ac1f84 | ||
![]() |
deea552d99 | ||
![]() |
54229c2ce1 | ||
![]() |
1346a26179 | ||
![]() |
14df44f09d | ||
![]() |
1a21529499 | ||
![]() |
2546990f41 | ||
![]() |
b39ca02464 | ||
![]() |
628618105c | ||
![]() |
075ba03f5d | ||
![]() |
10bf84b631 | ||
![]() |
c346e22a45 | ||
![]() |
418e1335b1 | ||
![]() |
d52372df31 | ||
![]() |
cc72e1c2bd | ||
![]() |
d28afcc6a9 | ||
![]() |
220ed21e6e | ||
![]() |
09d465774d | ||
![]() |
dfc8f48f12 | ||
![]() |
abe2ec4686 | ||
![]() |
5333cda44e | ||
![]() |
dc88fbeb12 | ||
![]() |
c5eb7a9501 | ||
![]() |
bc969db2be | ||
![]() |
50b7646178 | ||
![]() |
3fa6b5bc9d | ||
![]() |
33e65e39e3 | ||
![]() |
0380e60590 | ||
![]() |
2918892ee2 | ||
![]() |
e43dd9f7c6 | ||
![]() |
244fd95034 | ||
![]() |
14e98e2fcb | ||
![]() |
dcf5d59109 | ||
![]() |
b95083c77e | ||
![]() |
c54c8c3ea6 | ||
![]() |
f79c67e243 | ||
![]() |
6ec7ebe439 | ||
![]() |
76fe33760d | ||
![]() |
cb549d8f43 | ||
![]() |
7b400fdcdd | ||
![]() |
ab70d918b5 | ||
![]() |
c64644b9ec | ||
![]() |
afb12eb342 | ||
![]() |
64f5ca02b3 | ||
![]() |
84bca21b0c | ||
![]() |
b6757c416f | ||
![]() |
dc9d3f2d15 | ||
![]() |
807825d74e | ||
![]() |
14c17676c6 | ||
![]() |
324519575c | ||
![]() |
fbcf26bdc9 | ||
![]() |
30ab6bd045 | ||
![]() |
2ea816b78b | ||
![]() |
56dcc57755 | ||
![]() |
a4830aff86 | ||
![]() |
621bc526be | ||
![]() |
605e1f6b9b | ||
![]() |
cb66ef7e30 | ||
![]() |
fd2f6a38c1 | ||
![]() |
229821d398 | ||
![]() |
1f2e0c444d | ||
![]() |
429baa350c | ||
![]() |
7fe62485fa | ||
![]() |
fe10c68099 | ||
![]() |
06092cfddd | ||
![]() |
9967dc5740 | ||
![]() |
b920e04c59 | ||
![]() |
baa1b5a5c9 | ||
![]() |
e84663a5c5 | ||
![]() |
1c46220c42 | ||
![]() |
889b445855 | ||
![]() |
19553a981e | ||
![]() |
15f4dbd061 | ||
![]() |
98e12c7c3e | ||
![]() |
dfad319864 | ||
![]() |
111b58f533 | ||
![]() |
9345652808 | ||
![]() |
d40163b409 | ||
![]() |
96400966d7 | ||
![]() |
db83bd4f64 | ||
![]() |
579a38d366 | ||
![]() |
0e6797c7da | ||
![]() |
c935577768 | ||
![]() |
c2b4077aa1 | ||
![]() |
ac020859f3 | ||
![]() |
238be8955b | ||
![]() |
f997b02b8f | ||
![]() |
799bb77847 | ||
![]() |
2f66792a0d | ||
![]() |
6cae8e211e | ||
![]() |
48b1b2f01d | ||
![]() |
8c45fd362a | ||
![]() |
07b13dd2b4 | ||
![]() |
45e84e1ede | ||
![]() |
725dfa764f | ||
![]() |
c221502ec9 | ||
![]() |
234f18c228 | ||
![]() |
006ad109cb | ||
![]() |
0db080154c | ||
![]() |
200311033f | ||
![]() |
3192dc81ac | ||
![]() |
b11d4bb209 | ||
![]() |
2a716244e9 | ||
![]() |
19b7ed538a | ||
![]() |
b0d9dc0b88 | ||
![]() |
e6094a59fa | ||
![]() |
e8d7e6a562 | ||
![]() |
536c2d9b2d | ||
![]() |
f15a278f3b | ||
![]() |
26b73c2ff3 | ||
![]() |
c1e08fc3c7 | ||
![]() |
b9ec6f236d | ||
![]() |
b1fff97bff | ||
![]() |
c81bc70475 | ||
![]() |
55a7ee4acf |
@@ -10,9 +10,3 @@ insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.sexp]
|
||||
indent_size = 2
|
||||
|
||||
[*.yml]
|
||||
indent_size = 2
|
||||
|
16
.gitattributes
vendored
16
.gitattributes
vendored
@@ -1,16 +0,0 @@
|
||||
# Ignore changes in generated files
|
||||
src/generated/resources/data/** linguist-generated
|
||||
src/testMod/server-files/structures linguist-generated
|
||||
|
||||
* text=auto
|
||||
|
||||
*.gradle eol=lf diff=java
|
||||
*.java eol=lf diff=java
|
||||
*.kt eol=lf diff=java
|
||||
*.lua eol=lf
|
||||
*.md eol=lf diff=markdown
|
||||
*.txt eol=lf
|
||||
|
||||
*.png binary
|
||||
*.jar binary
|
||||
*.dfpwm binary
|
16
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
16
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Report some misbehaviour in the mod
|
||||
labels: bug
|
||||
---
|
||||
|
||||
<!--
|
||||
## Before reporting
|
||||
- Search for the bug on the issue tracker. Make sure to look at closed issues too!
|
||||
-->
|
||||
|
||||
## Useful information to include:
|
||||
- Minecraft version
|
||||
- CC: Restitched version
|
||||
- Logs: These will be located in the `logs/` directory of your Minecraft instance. Please upload them as a gist or directly into this editor.
|
||||
- Detailed reproduction steps: sometimes I can spot a bug pretty easily, but often it's much more obscure. The more information I have to help reproduce it, the quicker it'll get fixed.
|
34
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
34
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
@@ -1,34 +0,0 @@
|
||||
name: Bug report
|
||||
description: Report some misbehaviour in the mod
|
||||
labels: [ bug ]
|
||||
body:
|
||||
- type: dropdown
|
||||
id: mc-version
|
||||
attributes:
|
||||
label: Minecraft Version
|
||||
description: What version of Minecraft are you using?
|
||||
options:
|
||||
- 1.16.x
|
||||
- 1.17.x
|
||||
- 1.18.x
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: "What version of CC: Tweaked are you using?"
|
||||
placeholder: "e.g. 1.96.0"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: details
|
||||
attributes:
|
||||
label: Details
|
||||
description: |
|
||||
Description of the bug. Please include the following:
|
||||
- Logs: These will be located in the `logs/` directory of your Minecraft
|
||||
instance. Please upload them as a gist or directly into this editor.
|
||||
- Detailed reproduction steps: sometimes I can spot a bug pretty easily,
|
||||
but often it's much more obscure. The more information I have to help
|
||||
reproduce it, the quicker it'll get fixed.
|
8
.github/ISSUE_TEMPLATE/config.yml
vendored
8
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,8 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: ComputerCraft Discord
|
||||
url: https://discord.computercraft.cc
|
||||
about: Get help on the ComputerCraft Discord.
|
||||
- name: GitHub Discussions
|
||||
url: https://github.com/cc-tweaked/CC-Tweaked/discussions
|
||||
about: Or ask questions on GitHub Discussions.
|
12
.github/ISSUE_TEMPLATE/peripheral_shoutout.md
vendored
Normal file
12
.github/ISSUE_TEMPLATE/peripheral_shoutout.md
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Peripheral Shoutout
|
||||
about: Made a Peripheral mod for CC:R? Let us know so we can give it a shoutout
|
||||
labels: peripheralShoutout
|
||||
---
|
||||
|
||||
## What to include?
|
||||
- Link to the mod's Icon
|
||||
- Link to the mod
|
||||
- Mod Name
|
||||
- Basic description of the mod
|
||||
- Link to CC:R Peripheral Documentation for the mod
|
4
.github/ISSUE_TEMPLATE/something_else.md
vendored
4
.github/ISSUE_TEMPLATE/something_else.md
vendored
@@ -1,4 +0,0 @@
|
||||
---
|
||||
name: Something else
|
||||
about: An issue about something else.
|
||||
---
|
23
.github/workflows/main-ci.yml
vendored
23
.github/workflows/main-ci.yml
vendored
@@ -9,11 +9,13 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Set up Java 8
|
||||
- name: Set up Java 16
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 8
|
||||
java-version: 16
|
||||
|
||||
- name: Cache gradle dependencies
|
||||
uses: actions/cache@v2
|
||||
@@ -31,27 +33,14 @@ jobs:
|
||||
- name: Build with Gradle
|
||||
run: |
|
||||
./gradlew assemble || ./gradlew assemble
|
||||
./gradlew downloadAssets || ./gradlew downloadAssets
|
||||
xvfb-run ./gradlew build
|
||||
./gradlew build
|
||||
|
||||
- name: Upload Jar
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: CC-Tweaked
|
||||
name: cc-restitched
|
||||
path: build/libs
|
||||
|
||||
- name: Upload Screnshots
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Screenshots
|
||||
path: test-files/client/screenshots
|
||||
if-no-files-found: ignore
|
||||
retention-days: 5
|
||||
if: failure()
|
||||
|
||||
- name: Upload Coverage
|
||||
uses: codecov/codecov-action@v2
|
||||
|
||||
- name: Parse test reports
|
||||
run: ./tools/parse-reports.py
|
||||
if: ${{ failure() }}
|
||||
|
19
.github/workflows/make-doc.sh
vendored
19
.github/workflows/make-doc.sh
vendored
@@ -1,19 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
|
||||
DEST="${GITHUB_REF#refs/*/}"
|
||||
echo "Uploading docs to https://tweaked.cc/$DEST"
|
||||
|
||||
# Setup ssh key
|
||||
mkdir -p "$HOME/.ssh/"
|
||||
echo "$SSH_KEY" > "$HOME/.ssh/key"
|
||||
chmod 600 "$HOME/.ssh/key"
|
||||
|
||||
# And upload
|
||||
rsync -avc -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no -p $SSH_PORT" \
|
||||
"$GITHUB_WORKSPACE/build/docs/lua/" \
|
||||
"$SSH_USER@$SSH_HOST:/$DEST"
|
||||
rsync -avc -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no -p $SSH_PORT" \
|
||||
"$GITHUB_WORKSPACE/build/docs/javadoc/" \
|
||||
"$SSH_USER@$SSH_HOST:/$DEST/javadoc"
|
50
.github/workflows/make-doc.yml
vendored
50
.github/workflows/make-doc.yml
vendored
@@ -1,50 +0,0 @@
|
||||
name: Build documentation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- mc-1.16.x
|
||||
|
||||
jobs:
|
||||
make_doc:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Java 8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 8
|
||||
|
||||
- name: Cache gradle dependencies
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
|
||||
- name: Setup illuaminate
|
||||
run: |
|
||||
test -d bin || mkdir bin
|
||||
test -f bin/illuaminate || wget -q -Obin/illuaminate https://squiddev.cc/illuaminate/linux-x86-64/illuaminate
|
||||
chmod +x bin/illuaminate
|
||||
|
||||
- name: Setup node
|
||||
run: npm ci
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew compileJava --no-daemon || ./gradlew compileJava --no-daemon
|
||||
|
||||
- name: Generate documentation
|
||||
run: ./gradlew docWebsite javadoc --no-daemon
|
||||
|
||||
- name: Upload documentation
|
||||
run: .github/workflows/make-doc.sh 2> /dev/null
|
||||
env:
|
||||
SSH_KEY: ${{ secrets.SSH_KEY }}
|
||||
SSH_USER: ${{ secrets.SSH_USER }}
|
||||
SSH_HOST: ${{ secrets.SSH_HOST }}
|
||||
SSH_PORT: ${{ secrets.SSH_PORT }}
|
17
.gitignore
vendored
17
.gitignore
vendored
@@ -3,27 +3,22 @@
|
||||
/logs
|
||||
/build
|
||||
/out
|
||||
/doc/out/
|
||||
/node_modules
|
||||
|
||||
# Runtime directories
|
||||
/run
|
||||
/run-*
|
||||
/test-files
|
||||
|
||||
# Autogenerated by IDE
|
||||
/bin
|
||||
/.settings
|
||||
.classpath
|
||||
|
||||
*.ipr
|
||||
*.iws
|
||||
*.iml
|
||||
.idea
|
||||
.gradle
|
||||
*.DS_Store
|
||||
|
||||
/.classpath
|
||||
/.project
|
||||
/.settings
|
||||
/.vscode
|
||||
bin/
|
||||
.project
|
||||
*.launch
|
||||
|
||||
/src/generated/resources/.cache
|
||||
/src/web/mount/*.d.ts
|
||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "src/main/resources/resourcepacks/overhaul"]
|
||||
path = src/main/resources/resourcepacks/overhaul
|
||||
url = https://github.com/3prm3/cc-pack
|
19
.gitpod.Dockerfile
vendored
Normal file
19
.gitpod.Dockerfile
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
FROM gitpod/workspace-base
|
||||
|
||||
USER gitpod
|
||||
|
||||
# Install custom tools, runtime, etc. using apt-get
|
||||
# For example, the command below would install "bastet" - a command line tetris clone:
|
||||
#
|
||||
# RUN sudo apt-get -q update && \
|
||||
# sudo apt-get install -yq bastet && \
|
||||
# sudo rm -rf /var/lib/apt/lists/*
|
||||
#
|
||||
# More information: https://www.gitpod.io/docs/config-docker/
|
||||
|
||||
# Install Java 8 and 16
|
||||
RUN sudo apt-get -q update && \
|
||||
sudo apt install -yq openjdk-8-jdk openjdk-16-jdk
|
||||
|
||||
# This is so that you can use java 8 until such a time as you switch to java 16
|
||||
RUN sudo update-java-alternatives --set java-1.16.0-openjdk-amd64
|
10
.gitpod.yml
10
.gitpod.yml
@@ -1,5 +1,5 @@
|
||||
image:
|
||||
file: config/gitpod/Dockerfile
|
||||
file: .gitpod.Dockerfile
|
||||
|
||||
ports:
|
||||
- port: 25565
|
||||
@@ -7,16 +7,12 @@ ports:
|
||||
|
||||
vscode:
|
||||
extensions:
|
||||
- eamodio.gitlens
|
||||
- github.vscode-pull-request-github
|
||||
- ms-azuretools.vscode-docker
|
||||
- redhat.java
|
||||
- richardwillis.vscode-gradle
|
||||
- vscjava.vscode-java-debug
|
||||
- vscode.github
|
||||
|
||||
|
||||
tasks:
|
||||
- name: Setup pre-commit hool
|
||||
init: pre-commit install --config config/pre-commit/config.yml --allow-missing-config
|
||||
- name: Install npm packages
|
||||
init: npm ci
|
||||
- init: ./gradlew
|
||||
|
34
.luacheckrc
Normal file
34
.luacheckrc
Normal file
@@ -0,0 +1,34 @@
|
||||
std = "max"
|
||||
|
||||
ignore = {
|
||||
-- Allow access to undefined globals or their fields. In the future we'll
|
||||
-- define all of CC's globals within this file
|
||||
'113', '143',
|
||||
|
||||
-- FIXME: Ignore unused arguments and loop variables
|
||||
'212', '213',
|
||||
|
||||
-- Disable line is too long for now. It would be possible to clean
|
||||
-- this up in the future.
|
||||
'631',
|
||||
}
|
||||
|
||||
-- Only run the linter on ROM and bios for now, as the treasure disks
|
||||
-- are largely unsupported.
|
||||
include_files = {
|
||||
'src/main/resources/assets/computercraft/lua/rom',
|
||||
'src/main/resources/assets/computercraft/lua/bios.lua'
|
||||
}
|
||||
|
||||
files['src/main/resources/assets/computercraft/lua/bios.lua'] = {
|
||||
-- Allow declaring and mutating globals
|
||||
allow_defined_top = true,
|
||||
ignore = { '112', '121', '122', '131', '142' },
|
||||
}
|
||||
|
||||
files['src/main/resources/assets/computercraft/lua/rom/apis'] = {
|
||||
-- APIs may define globals on the top level. We'll ignore unused globals,
|
||||
-- as obviously they may be used outside that API.
|
||||
allow_defined_top = true,
|
||||
ignore = { '131' },
|
||||
}
|
15
.vscode/settings.json
vendored
Normal file
15
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
// Default Java Dev
|
||||
"**/.classpath": true,
|
||||
"**/.project": true,
|
||||
"**/.settings": true,
|
||||
"**/.factorypath": true,
|
||||
|
||||
// Custom Hidden Files
|
||||
"**/.bin": true,
|
||||
"**/.editorconfig": true,
|
||||
},
|
||||
|
||||
"java.configuration.updateBuildConfiguration": "automatic"
|
||||
}
|
115
CONTRIBUTING.md
115
CONTRIBUTING.md
@@ -1,115 +0,0 @@
|
||||
# Contributing to CC: Tweaked
|
||||
As with many open source projects, CC: Tweaked thrives on contributions from other people! This document (hopefully)
|
||||
provides an introduction as to how to get started in helping out.
|
||||
|
||||
If you've any other questions, [just ask the community][community] or [open an issue][new-issue].
|
||||
|
||||
## Reporting issues
|
||||
If you have a bug, suggestion, or other feedback, the best thing to do is [file an issue][new-issue]. When doing so,
|
||||
do use the issue templates - they provide a useful hint on what information to provide.
|
||||
|
||||
## Translations
|
||||
Translations are managed through [Weblate], an online interface for managing language strings. This is synced
|
||||
automatically with GitHub, so please don't submit PRs adding/changing translations!
|
||||
|
||||
## Developing
|
||||
In order to develop CC: Tweaked, you'll need to download the source code and then run it. This is a pretty simple
|
||||
process. When building on Windows, Use `gradlew.bat` instead of `./gradlew`.
|
||||
|
||||
- **Clone the repository:** `git clone https://github.com/cc-tweaked/CC-Tweaked.git && cd CC-Tweaked`
|
||||
- **Setup Forge:** `./gradlew build`
|
||||
- **Run Minecraft:** `./gradlew runClient` (or run the `GradleStart` class from your IDE).
|
||||
- **Optionally:** For small PRs (especially those only touching Lua code), it may be easier to use GitPod, which
|
||||
provides a pre-configured environment: [](https://gitpod.io/#https://github.com/cc-tweaked/CC-Tweaked/)
|
||||
|
||||
Do note you will need to download the mod after compiling to test.
|
||||
|
||||
If you want to run CC:T in a normal Minecraft instance, run `./gradlew build` and copy the `.jar` from `build/libs`.
|
||||
These commands may take a few minutes to run the first time, as the environment is set up, but should be much faster
|
||||
afterwards.
|
||||
|
||||
The following sections describe the more niche sections of CC: Tweaked's build system. Some bits of these are
|
||||
quite-complex, and (dare I say) over-engineered, so you may wish to ignore them. Well tested/documented PRs are always
|
||||
preferred (and I'd definitely recommend setting up the tooling if you're doing serious development work), but for
|
||||
small changes it can be a lot.
|
||||
|
||||
### Code linters
|
||||
CC: Tweaked uses a couple of "linters" on its source code, to enforce a consistent style across the project. While these
|
||||
are run whenever you submit a PR, it's often useful to run this before committing.
|
||||
|
||||
- **[Checkstyle]:** Checks Java code to ensure it is consistently formatted. This can be run with `./gradlew build` or
|
||||
`./gradle check`.
|
||||
- **[illuaminate]:** Checks Lua code for semantic and styleistic issues. See [the usage section][illuaminate-usage] for
|
||||
how to download and run it. You may need to generate the Java documentation stubs (see "Documentation" below) for all
|
||||
lints to pass.
|
||||
|
||||
### Documentation
|
||||
When writing documentation for [CC: Tweaked's documentation website][docs], it may be useful to build the documentation
|
||||
and preview it yourself before submitting a PR.
|
||||
|
||||
Building all documentation is, sadly, a multi-stage process (though this is largely hidden by Gradle). First we need to
|
||||
convert Java doc-comments into Lua ones, we also generate some Javascript to embed. All of this is then finally fed into
|
||||
illuaminate, which spits out our HTML.
|
||||
|
||||
#### Setting up the tooling
|
||||
For various reasons, getting the environment set up to build documentation can be pretty complex. I'd quite like to
|
||||
automate this via Docker and/or nix in the future, but this needs to be done manually for now.
|
||||
|
||||
This tooling is only needed if you need to build the whole website. If you just want to generate the Lua stubs, you can
|
||||
skp this section.
|
||||
- Install Node/npm and install our Node packages with `npm ci`.
|
||||
- Install [illuaminate][illuaminate-usage] as described above.
|
||||
|
||||
#### Building documentation
|
||||
Gradle should be your entrypoint to building most documentation. There's two tasks which are of interest:
|
||||
|
||||
- `./gradlew luaJavadoc` - Generate documentation stubs for Java methods.
|
||||
- `./gradlew docWebsite` - Generate the whole website (including Javascript pages). The resulting HTML is stored at
|
||||
`./build/docs/lua/`.
|
||||
|
||||
#### Writing documentation
|
||||
illuaminate's documentation system is not currently documented (somewhat ironic), but is _largely_ the same as
|
||||
[ldoc][ldoc]. Documentation comments are written in Markdown,
|
||||
|
||||
Our markdown engine does _not_ support GitHub flavoured markdown, and so does not support all the features one might
|
||||
expect (such as tables). It is very much recommended that you build and preview the docs locally first.
|
||||
|
||||
### Testing
|
||||
Thankfully running tests is much simpler than running the documentation generator! `./gradlew check` will run the
|
||||
entire test suite (and some additional bits of verification).
|
||||
|
||||
Before we get into writing tests, it's worth mentioning the various test suites that CC: Tweaked has:
|
||||
- "Core" Java (`./src/test/java`): These test core bits of the mod which don't require any Minecraft interaction.
|
||||
This includes the `@LuaFunction` system, file system code, etc...
|
||||
|
||||
These tests are run by `./gradlew test`.
|
||||
|
||||
- CraftOS (`./src/test/resources/test-rom/`): These tests are written in Lua, and ensure the Lua environment, libraries
|
||||
and programs work as expected. These are (generally) written to be able to be run on emulators too, to provide some
|
||||
sort of compliance test.
|
||||
|
||||
These tests are run by the '"Core" Java' test suite, and so are also run with `./gradlew test`.
|
||||
|
||||
- In-game (`./src/testMod/java/dan200/computercraft/ingame/`): These tests are run on an actual Minecraft server and client,
|
||||
using [the same system Mojang do][mc-test]. The aim of these is to test in-game behaviour of blocks and peripherals.
|
||||
|
||||
These are run by `./gradlew testClient` and `./gradlew testServer`. You may want to run the client under `xvfb-run`
|
||||
or similar when running in a headless environment.
|
||||
|
||||
## CraftOS tests
|
||||
CraftOS's tests are written using a test system called "mcfly", heavily inspired by [busted] (and thus RSpec). Groups of
|
||||
tests go inside `describe` blocks, and a single test goes inside `it`.
|
||||
|
||||
Assertions are generally written using `expect` (inspired by Hamcrest and the like). For instance, `expect(foo):eq("bar")`
|
||||
asserts that your variable `foo` is equal to the expected value `"bar"`.
|
||||
|
||||
[new-issue]: https://github.com/cc-tweaked/CC-Tweaked/issues/new/choose "Create a new issue"
|
||||
[community]: README.md#Community "Get in touch with the community."
|
||||
[checkstyle]: https://checkstyle.org/
|
||||
[illuaminate]: https://github.com/SquidDev/illuaminate/ "Illuaminate on GitHub"
|
||||
[illuaminate-usage]: https://github.com/SquidDev/illuaminate/blob/master/README.md#usage "Installing Illuaminate"
|
||||
[weblate]: https://i18n.tweaked.cc/projects/cc-tweaked/minecraft/ "CC: Tweaked weblate instance"
|
||||
[docs]: https://tweaked.cc/ "CC: Tweaked documentation"
|
||||
[ldoc]: http://stevedonovan.github.io/ldoc/ "ldoc, a Lua documentation generator."
|
||||
[mc-test]: https://www.youtube.com/watch?v=vXaWOJTCYNg
|
||||
[busted]: https://github.com/Olivine-Labs/busted "busted: Elegant Lua unit testing."
|
100
README.md
100
README.md
@@ -1,53 +1,61 @@
|
||||
# 
|
||||
[](https://github.com/cc-tweaked/CC-Tweaked/actions "Current build status") [][CurseForge]
|
||||
<img src="logo.png" alt="CC: Restitched" width="100%"/>
|
||||
|
||||
CC: Tweaked is a mod for Minecraft which adds programmable computers, turtles and more to the game. A fork of the
|
||||
much-beloved [ComputerCraft], it continues its legacy with better performance, stability, and a wealth of new features.
|
||||
[](https://github.com/cc-tweaked/cc-restitched/actions "Current build status")
|
||||
[](https://www.curseforge.com/minecraft/mc-mods/cc-restitched "Download CC: Restitched on CurseForge")
|
||||
[](https://gitpod.io/#https://github.com/cc-tweaked/cc-restitched/tree/1.17.1)
|
||||
|
||||
CC: Tweaked can be installed from [CurseForge] or [Modrinth]. It requires the [Minecraft Forge][forge] mod loader, but
|
||||
[versions are available for Fabric][ccrestitched].
|
||||
# What is CC: Restitched?
|
||||
This is a fabric port of [SquidDev-CC/CC-Tweaked](https://github.com/SquidDev-CC/CC-Tweaked). The work is a continuation of [Zundrel/cc-tweaked-fabric](https://github.com/Zundrel/cc-tweaked-fabric).
|
||||
|
||||
## CC: Restitched vs. CC: Tweaked
|
||||
CC: R tries to maintain parity with CC: T, but may be behind or divergent in some areas. If you notice a disparity please open an issue. CC: R major and minor version numbers indicate parity with the major features of that version of CC: T. Patch version numbers will not align.
|
||||
|
||||
## Resource Packs
|
||||
This mod includes textures by [Jummit](https://github.com/Jummit) that are more in line with the style of Mojang's new texture-artist, Jappa. If you prefer the original textures, enable the "Classic" resource pack.
|
||||
|
||||
<img src="https://raw.githubusercontent.com/3prm3/cc-pack/main/pack.png" alt="CC: Restitched" width="16" height="16"/> We also have a second resourcepack made by [3prm3](https://github.com/3prm3), it features a complete overhaul and can be enabled by enabling the `overhaul` resource pack, go check out his resource pack over [here](https://github.com/3prm3/cc-pack/)!
|
||||
|
||||
## Contributing
|
||||
Any contribution is welcome, be that using the mod, reporting bugs or contributing code. If you want to get started
|
||||
developing the mod, [check out the instructions here](CONTRIBUTING.md#developing).
|
||||
Any contribution is welcome, be that using the mod, reporting bugs or contributing code. In order to start helping develop CC: R there are a few rules;
|
||||
1) Make sure your code follows the checkstyle rules. You can test this by running `./gradle build` or `./gradle check`.
|
||||
2) Do not alter the lua code unless those changes are taken directly from CC: Tweaked. If you wish to contribute changes to the in game rom please contribute upstream at [CC-Tweaked](https://github.com/SquidDev-CC/CC-Tweaked).
|
||||
|
||||
# Does this work Fabric's many rendering mods?
|
||||
* [ YES ] Sodium
|
||||
* [ YES ] Optifine
|
||||
* Works with VBO Rendering (automatically set)
|
||||
* No issues
|
||||
* [ EHH ] Iris Shaders
|
||||
* "Works" with TBO Rendering (Default)
|
||||
* Crashes with VBO Rendering
|
||||
* <details>
|
||||
<summary>Shaders are broken</summary>
|
||||
|
||||
* Shaders will cause varrying results ranging from monitors being invisible, to straight up crashing.
|
||||
* Not using shaders will result in odd Z-Fighting of the monitor display and the transparent texture
|
||||
- 
|
||||
- 
|
||||
</details>
|
||||
* [ YES ] Canvas
|
||||
* Works with TBO Rendering (Default)
|
||||
* Scuffed with VBO Rendering
|
||||
* <details>
|
||||
<summary>VBO is broken</summary>
|
||||
|
||||
Monitors are just... scuffed beyond belief.
|
||||
- 
|
||||
- 
|
||||
* The content to the left is supposed to be on the monitors to the right, also the bottom one is supposed to `black/white` not colored.
|
||||
* Turtle Texture for some reason?
|
||||
- 
|
||||
</details>
|
||||
|
||||
|
||||
## Bleeding Edge Builds
|
||||
Bleeding edge builds can be found [here](https://github.com/cc-tweaked/cc-restitched/actions) at Github Actions.
|
||||
|
||||
## Community
|
||||
If you need help getting started with CC: Tweaked, want to show off your latest project, or just want to chat about
|
||||
ComputerCraft we have a [forum](https://forums.computercraft.cc/) and [Discord guild](https://discord.computercraft.cc)!
|
||||
There's also a fairly populated, albeit quiet [IRC channel](http://webchat.esper.net/?channels=computercraft), if that's
|
||||
more your cup of tea.
|
||||
If you need help getting started with CC: Restitched, want to show off your latest project, or just want to chat about ComputerCraft, here is the [Forum](https://forums.computercraft.cc/) and the [Discord](https://discord.gg/H2UyJXe).
|
||||
|
||||
We also host fairly comprehensive documentation at [tweaked.cc](https://tweaked.cc/ "The CC: Tweaked website").
|
||||
|
||||
## Using
|
||||
CC: Tweaked is hosted on my maven repo, and so is relatively simple to depend on. You may wish to add a soft (or hard)
|
||||
dependency in your `mods.toml` file, with the appropriate version bounds, to ensure that API functionality you depend
|
||||
on is present.
|
||||
|
||||
```groovy
|
||||
repositories {
|
||||
maven {
|
||||
url 'https://squiddev.cc/maven/'
|
||||
content {
|
||||
includeGroup 'org.squiddev'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fg.deobf("org.squiddev:cc-tweaked-${mc_version}:${cct_version}")
|
||||
}
|
||||
```
|
||||
|
||||
You should also be careful to only use classes within the `dan200.computercraft.api` package. Non-API classes are
|
||||
subject to change at any point. If you depend on functionality outside the API, file an issue, and we can look into
|
||||
exposing more features.
|
||||
|
||||
We bundle the API sources with the jar, so documentation should be easily viewable within your editor. Alternatively,
|
||||
the generated documentation [can be browsed online](https://tweaked.cc/javadoc/).
|
||||
|
||||
[computercraft]: https://github.com/dan200/ComputerCraft "ComputerCraft on GitHub"
|
||||
[curseforge]: https://minecraft.curseforge.com/projects/cc-tweaked "Download CC: Tweaked from CurseForge"
|
||||
[modrinth]: https://modrinth.com/mod/gu7yAYhd "Download CC: Tweaked from Modrinth"
|
||||
[forge]: https://files.minecraftforge.net/ "Download Minecraft Forge."
|
||||
[ccrestitched]: https://www.curseforge.com/minecraft/mc-mods/cc-restitched "Download CC: Restitched from CurseForge"
|
||||
## Perpheral mods
|
||||
Unfortunately, CC: Restitched does not have as many peripherals mods available as CC: Tweaked. If you're an interested mod developer, please check out our `api` package. If you've already made a mod with CC: R peripheral support OR if you're a player who found a mod with ComputerCraft integration, please open an [issue here](https://github.com/cc-tweaked/cc-restitched/issues/new?assignees=&labels=peripheralShoutout&template=peripheral_shoutout.md) to let us know and we'll add it to the list!
|
||||
|
488
build.gradle
488
build.gradle
@@ -1,37 +1,13 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url = "https://maven.minecraftforge.net" }
|
||||
maven { url = 'https://maven.parchmentmc.org' }
|
||||
}
|
||||
dependencies {
|
||||
classpath 'net.minecraftforge.gradle:ForgeGradle:5.1.+'
|
||||
classpath "org.spongepowered:mixingradle:0.7.+"
|
||||
classpath 'org.parchmentmc:librarian:1.+'
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id "checkstyle"
|
||||
id "jacoco"
|
||||
id "maven-publish"
|
||||
id "com.github.hierynomus.license" version "0.16.1"
|
||||
id "com.matthewprenger.cursegradle" version "1.4.0"
|
||||
id "com.github.breadmoirai.github-release" version "2.2.12"
|
||||
id "org.jetbrains.kotlin.jvm" version "1.6.0"
|
||||
id "com.modrinth.minotaur" version "1.2.1"
|
||||
id "org.jetbrains.kotlin.jvm" version "1.5.21"
|
||||
id 'fabric-loom' version '0.10-SNAPSHOT'
|
||||
}
|
||||
|
||||
apply plugin: 'net.minecraftforge.gradle'
|
||||
apply plugin: "org.spongepowered.mixin"
|
||||
apply plugin: 'org.parchmentmc.librarian.forgegradle'
|
||||
|
||||
version = mod_version
|
||||
|
||||
group = "org.squiddev"
|
||||
archivesBaseName = "cc-tweaked-${mc_version}"
|
||||
|
||||
def javaVersion = JavaLanguageVersion.of(8)
|
||||
def javaVersion = JavaLanguageVersion.of(16)
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion = javaVersion
|
||||
@@ -47,6 +23,11 @@ tasks.withType(JavaExec).configureEach {
|
||||
}
|
||||
}
|
||||
|
||||
version = mod_version
|
||||
|
||||
group = "dan200.computercraft"
|
||||
archivesBaseName = "cc-restitched"
|
||||
|
||||
sourceSets {
|
||||
main.resources {
|
||||
srcDir 'src/generated/resources'
|
||||
@@ -55,66 +36,8 @@ sourceSets {
|
||||
testMod {}
|
||||
}
|
||||
|
||||
minecraft {
|
||||
runs {
|
||||
all {
|
||||
property 'forge.logging.markers', 'REGISTRIES'
|
||||
property 'forge.logging.console.level', 'debug'
|
||||
|
||||
mods {
|
||||
computercraft {
|
||||
source sourceSets.main
|
||||
}
|
||||
}
|
||||
|
||||
arg "-mixin.config=computercraft.mixins.json"
|
||||
}
|
||||
|
||||
client {
|
||||
workingDirectory project.file('run')
|
||||
}
|
||||
|
||||
server {
|
||||
workingDirectory project.file("run/server")
|
||||
arg "--nogui"
|
||||
}
|
||||
|
||||
data {
|
||||
workingDirectory project.file('run')
|
||||
args '--mod', 'computercraft', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
|
||||
}
|
||||
|
||||
testClient {
|
||||
workingDirectory project.file('test-files/client')
|
||||
parent runs.client
|
||||
|
||||
mods {
|
||||
cctest {
|
||||
source sourceSets.testMod
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
testServer {
|
||||
workingDirectory project.file('test-files/server')
|
||||
parent runs.server
|
||||
|
||||
mods {
|
||||
cctest {
|
||||
source sourceSets.testMod
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mappings channel: 'parchment', version: "${mapping_version}-${mc_version}"
|
||||
|
||||
accessTransformer file('src/main/resources/META-INF/accesstransformer.cfg')
|
||||
accessTransformer file('src/testMod/resources/META-INF/accesstransformer.cfg')
|
||||
}
|
||||
|
||||
mixin {
|
||||
add sourceSets.main, 'computercraft.mixins.refmap.json'
|
||||
loom {
|
||||
accessWidenerPath = file("src/main/resources/cc.accesswidener")
|
||||
}
|
||||
|
||||
repositories {
|
||||
@@ -123,48 +46,85 @@ repositories {
|
||||
name "SquidDev"
|
||||
url "https://squiddev.cc/maven"
|
||||
}
|
||||
|
||||
// TODO: Limit these to a set of groups.
|
||||
maven { url "https://maven.shedaniel.me/" }
|
||||
maven { url "https://maven.terraformersmc.com/" }
|
||||
}
|
||||
|
||||
configurations {
|
||||
shade
|
||||
implementation.extendsFrom shade
|
||||
cctJavadoc
|
||||
|
||||
testModImplementation.extendsFrom(implementation)
|
||||
testModImplementation.extendsFrom(testImplementation)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
checkstyle "com.puppycrawl.tools:checkstyle:8.25"
|
||||
checkstyle "com.puppycrawl.tools:checkstyle:8.45"
|
||||
|
||||
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
|
||||
annotationProcessor 'org.spongepowered:mixin:0.8.4:processor'
|
||||
minecraft "com.mojang:minecraft:${mc_version}"
|
||||
mappings loom.officialMojangMappings()
|
||||
modImplementation "net.fabricmc:fabric-loader:${fabric_loader_version}"
|
||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_api_version}"
|
||||
|
||||
compileOnly fg.deobf("mezz.jei:jei-1.16.5:7.7.0.104:api")
|
||||
compileOnly fg.deobf("com.blamejared.crafttweaker:CraftTweaker-1.16.5:7.1.0.313")
|
||||
compileOnly fg.deobf("commoble.morered:morered-1.16.5:2.1.1.0")
|
||||
modApi("me.shedaniel.cloth:cloth-config-fabric:${cloth_config_version}") {
|
||||
exclude(group: "net.fabricmc.fabric-api")
|
||||
}
|
||||
modImplementation "com.terraformersmc:modmenu:${modmenu_version}"
|
||||
modImplementation "me.shedaniel.cloth.api:cloth-utils-v1:${cloth_api_version}"
|
||||
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-1.16.5:7.7.0.104")
|
||||
implementation 'com.electronwill.night-config:toml:3.6.3'
|
||||
|
||||
compileOnly 'com.google.code.findbugs:jsr305:3.0.2'
|
||||
|
||||
shade 'org.squiddev:Cobalt:0.5.2-SNAPSHOT'
|
||||
|
||||
include "me.shedaniel.cloth.api:cloth-utils-v1:${cloth_api_version}"
|
||||
include 'com.electronwill.night-config:core:3.6.3'
|
||||
include 'com.electronwill.night-config:toml:3.6.3'
|
||||
include "me.shedaniel.cloth:cloth-config-fabric:${cloth_config_version}"
|
||||
|
||||
modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-api-fabric:6.0.254-alpha"
|
||||
modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:6.0.254-alpha"
|
||||
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.7.0'
|
||||
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
|
||||
testImplementation 'org.hamcrest:hamcrest:2.2'
|
||||
testImplementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0'
|
||||
testImplementation 'org.jetbrains.kotlin:kotlin-reflect:1.6.0'
|
||||
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'
|
||||
testImplementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.21'
|
||||
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1'
|
||||
|
||||
testModImplementation sourceSets.main.output
|
||||
|
||||
cctJavadoc 'cc.tweaked:cct-javadoc:1.4.5'
|
||||
cctJavadoc 'cc.tweaked:cct-javadoc:1.4.1'
|
||||
}
|
||||
|
||||
// Compile tasks
|
||||
processResources {
|
||||
inputs.property "version", project.version
|
||||
|
||||
compileTestModJava {
|
||||
dependsOn(compileJava)
|
||||
def hash = 'none'
|
||||
Set<String> contributors = []
|
||||
try {
|
||||
hash = ["git", "-C", projectDir, "rev-parse", "HEAD"].execute().text.trim()
|
||||
|
||||
def blacklist = ['GitHub', 'dan200', 'Daniel Ratcliffe']
|
||||
["git", "-C", projectDir, "log", "--format=tformat:%an%n%cn"].execute().text.split('\n').each {
|
||||
if (!blacklist.contains(it)) contributors.add(it)
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
inputs.property "commithash", hash
|
||||
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||
|
||||
filesMatching(["fabric.mod.json", "data/computercraft/lua/rom/help/credits.txt"]) {
|
||||
expand(
|
||||
'version': mod_version,
|
||||
'mcversion': mc_version,
|
||||
'gitcontributors': contributors.sort(false, String.CASE_INSENSITIVE_ORDER).join('\n')
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile) {
|
||||
options.encoding = "UTF-8"
|
||||
}
|
||||
|
||||
javadoc {
|
||||
@@ -184,121 +144,35 @@ task luaJavadoc(type: Javadoc) {
|
||||
options.noTimestamp = false
|
||||
|
||||
javadocTool = javaToolchains.javadocToolFor {
|
||||
languageVersion = JavaLanguageVersion.of(11)
|
||||
languageVersion = javaVersion
|
||||
}
|
||||
}
|
||||
|
||||
jar {
|
||||
from "LICENSE"
|
||||
manifest {
|
||||
attributes([
|
||||
"Specification-Title" : "computercraft",
|
||||
"Specification-Vendor" : "SquidDev",
|
||||
"Specification-Version" : "1",
|
||||
"Implementation-Title" : "CC: Tweaked",
|
||||
"Implementation-Title" : "CC: Restitched",
|
||||
"Implementation-Version" : "${mod_version}",
|
||||
"Implementation-Vendor" : "SquidDev",
|
||||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
||||
"MixinConfigs" : "computercraft.mixins.json",
|
||||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
|
||||
])
|
||||
}
|
||||
|
||||
from configurations.shade.collect { it.isDirectory() ? it : zipTree(it) }
|
||||
}
|
||||
|
||||
[compileJava, compileTestJava, compileTestModJava].forEach {
|
||||
[compileJava, compileTestJava].forEach {
|
||||
it.configure {
|
||||
options.compilerArgs << "-Xlint" << "-Xlint:-processing"
|
||||
}
|
||||
}
|
||||
|
||||
processResources {
|
||||
inputs.property "version", mod_version
|
||||
inputs.property "mcversion", mc_version
|
||||
|
||||
def hash = 'none'
|
||||
Set<String> contributors = []
|
||||
try {
|
||||
hash = ["git", "-C", projectDir, "rev-parse", "HEAD"].execute().text.trim()
|
||||
|
||||
def blacklist = ['GitHub', 'dan200', 'Daniel Ratcliffe']
|
||||
["git", "-C", projectDir, "log", "--format=tformat:%an%n%cn"].execute().text.split('\n').each {
|
||||
if (!blacklist.contains(it)) contributors.add(it)
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
inputs.property "commithash", hash
|
||||
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||
|
||||
from(sourceSets.main.resources.srcDirs) {
|
||||
include 'META-INF/mods.toml'
|
||||
include 'data/computercraft/lua/rom/help/credits.txt'
|
||||
|
||||
expand 'version': mod_version,
|
||||
'mcversion': mc_version,
|
||||
'gitcontributors': contributors.sort(false, String.CASE_INSENSITIVE_ORDER).join('\n')
|
||||
}
|
||||
|
||||
from(sourceSets.main.resources.srcDirs) {
|
||||
exclude 'META-INF/mods.toml'
|
||||
exclude 'data/computercraft/lua/rom/help/credits.txt'
|
||||
}
|
||||
}
|
||||
|
||||
sourcesJar {
|
||||
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||
}
|
||||
|
||||
// Web tasks
|
||||
|
||||
|
||||
import com.hierynomus.gradle.license.tasks.LicenseCheck
|
||||
import com.hierynomus.gradle.license.tasks.LicenseFormat
|
||||
import org.apache.tools.ant.taskdefs.condition.Os
|
||||
|
||||
List<String> mkCommand(String command) {
|
||||
return Os.isFamily(Os.FAMILY_WINDOWS) ? ["cmd", "/c", command] : ["sh", "-c", command]
|
||||
}
|
||||
|
||||
task rollup(type: Exec) {
|
||||
group = "build"
|
||||
description = "Bundles JS into rollup"
|
||||
|
||||
inputs.files(fileTree("src/web")).withPropertyName("sources")
|
||||
inputs.file("package-lock.json").withPropertyName("package-lock.json")
|
||||
inputs.file("tsconfig.json").withPropertyName("Typescript config")
|
||||
inputs.file("rollup.config.js").withPropertyName("Rollup config")
|
||||
outputs.file("$buildDir/rollup/index.js").withPropertyName("output")
|
||||
|
||||
commandLine mkCommand('"node_modules/.bin/rollup" --config rollup.config.js')
|
||||
}
|
||||
|
||||
task illuaminateDocs(type: Exec, dependsOn: [rollup, luaJavadoc]) {
|
||||
group = "build"
|
||||
description = "Bundles JS into rollup"
|
||||
|
||||
inputs.files(fileTree("doc")).withPropertyName("docs")
|
||||
inputs.files(fileTree("src/main/resources/data/computercraft/lua/rom")).withPropertyName("lua rom")
|
||||
inputs.file("illuaminate.sexp").withPropertyName("illuaminate.sexp")
|
||||
inputs.dir("$buildDir/docs/luaJavadoc")
|
||||
inputs.file("$buildDir/rollup/index.js").withPropertyName("scripts")
|
||||
inputs.file("src/web/styles.css").withPropertyName("styles")
|
||||
outputs.dir("$buildDir/docs/lua")
|
||||
|
||||
commandLine mkCommand('"bin/illuaminate" doc-gen')
|
||||
}
|
||||
|
||||
task docWebsite(type: Copy, dependsOn: [illuaminateDocs]) {
|
||||
from('doc') {
|
||||
include 'logo.png'
|
||||
include 'images/**'
|
||||
}
|
||||
from("$buildDir/rollup") {
|
||||
exclude 'index.js'
|
||||
}
|
||||
into "${project.docsDir}/lua"
|
||||
}
|
||||
|
||||
// Check tasks
|
||||
|
||||
test {
|
||||
@@ -318,6 +192,9 @@ jacocoTestReport {
|
||||
|
||||
check.dependsOn jacocoTestReport
|
||||
|
||||
import com.hierynomus.gradle.license.tasks.LicenseCheck
|
||||
import com.hierynomus.gradle.license.tasks.LicenseFormat
|
||||
|
||||
license {
|
||||
mapping("java", "SLASHSTAR_STYLE")
|
||||
strictCheck true
|
||||
@@ -346,7 +223,6 @@ gradle.projectsEvaluated {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
task licenseAPI(type: LicenseCheck)
|
||||
task licenseFormatAPI(type: LicenseFormat)
|
||||
[licenseAPI, licenseFormatAPI].forEach {
|
||||
@@ -357,217 +233,23 @@ task licenseFormatAPI(type: LicenseFormat)
|
||||
}
|
||||
}
|
||||
|
||||
task setupServer(type: Copy) {
|
||||
group "test server"
|
||||
description "Sets up the environment for the test server."
|
||||
|
||||
from("src/testMod/server-files") {
|
||||
include "eula.txt"
|
||||
include "server.properties"
|
||||
}
|
||||
into "test-files/server"
|
||||
}
|
||||
|
||||
["Client", "Server"].forEach { name ->
|
||||
tasks.register("test$name", JavaExec.class).configure {
|
||||
it.group('In-game tests')
|
||||
it.description("Runs tests on a temporary Minecraft instance.")
|
||||
it.dependsOn(setupServer, "prepareRunTest$name", "cleanTest$name", 'compileTestModJava')
|
||||
|
||||
// Copy from runTestServer. We do it in this slightly odd way as runTestServer
|
||||
// isn't created until the task is configured (which is no good for us).
|
||||
JavaExec exec = tasks.getByName("runTest$name")
|
||||
exec.copyTo(it)
|
||||
it.setClasspath(exec.getClasspath())
|
||||
it.mainClass = exec.mainClass
|
||||
it.setArgs(exec.getArgs())
|
||||
|
||||
it.systemProperty('forge.logging.console.level', 'info')
|
||||
it.systemProperty('cctest.run', 'true')
|
||||
|
||||
// Jacoco and modlauncher don't play well together as the classes loaded in-game don't
|
||||
// match up with those written to disk. We get Jacoco to dump all classes to disk, and
|
||||
// use that when generating the report.
|
||||
def coverageOut = new File(buildDir, "jacocoClassDump/test$name")
|
||||
jacoco.applyTo(it)
|
||||
it.jacoco.setIncludes(["dan200.computercraft.*"])
|
||||
it.jacoco.setClassDumpDir(coverageOut)
|
||||
it.outputs.dir(coverageOut)
|
||||
// Older versions of modlauncher don't include a protection domain (and thus no code
|
||||
// source). Jacoco skips such classes by default, so we need to explicitly include them.
|
||||
it.jacoco.setIncludeNoLocationClasses(true)
|
||||
}
|
||||
|
||||
tasks.register("jacocoTest${name}Report", JacocoReport.class).configure {
|
||||
it.group('In-game')
|
||||
it.description("Generate coverage reports for test$name")
|
||||
it.dependsOn("test$name")
|
||||
|
||||
it.executionData(new File(buildDir, "jacoco/test${name}.exec"))
|
||||
it.sourceDirectories.from(sourceSets.main.allJava.srcDirs)
|
||||
it.classDirectories.from(new File(buildDir, "jacocoClassDump/test$name"))
|
||||
|
||||
it.reports {
|
||||
xml.enabled true
|
||||
html.enabled true
|
||||
}
|
||||
}
|
||||
|
||||
if (name != "Client" || project.findProperty('cc.tweaked.clientTests') == 'true') {
|
||||
// Don't run client tests unless explicitly opted into them. They're a bit of a faff
|
||||
// to run and pretty flakey.
|
||||
check.dependsOn("jacocoTest${name}Report")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Upload tasks
|
||||
|
||||
task checkRelease {
|
||||
group "upload"
|
||||
description "Verifies that everything is ready for a release"
|
||||
|
||||
inputs.property "version", mod_version
|
||||
inputs.file("src/main/resources/data/computercraft/lua/rom/help/changelog.md")
|
||||
inputs.file("src/main/resources/data/computercraft/lua/rom/help/whatsnew.md")
|
||||
|
||||
doLast {
|
||||
def ok = true
|
||||
|
||||
// Check we're targetting the current version
|
||||
def whatsnew = new File(projectDir, "src/main/resources/data/computercraft/lua/rom/help/whatsnew.md").readLines()
|
||||
if (whatsnew[0] != "New features in CC: Tweaked $mod_version") {
|
||||
ok = false
|
||||
project.logger.error("Expected `whatsnew.md' to target $mod_version.")
|
||||
}
|
||||
|
||||
// Check "read more" exists and trim it
|
||||
def idx = whatsnew.findIndexOf { it == 'Type "help changelog" to see the full version history.' }
|
||||
if (idx == -1) {
|
||||
ok = false
|
||||
project.logger.error("Must mention the changelog in whatsnew.md")
|
||||
} else {
|
||||
whatsnew = whatsnew.getAt(0..<idx)
|
||||
}
|
||||
|
||||
// Check whatsnew and changelog match.
|
||||
def versionChangelog = "# " + whatsnew.join("\n")
|
||||
def changelog = new File(projectDir, "src/main/resources/data/computercraft/lua/rom/help/changelog.md").getText()
|
||||
if (!changelog.startsWith(versionChangelog)) {
|
||||
ok = false
|
||||
project.logger.error("whatsnew and changelog are not in sync")
|
||||
}
|
||||
|
||||
if (!ok) throw new IllegalStateException("Could not check release")
|
||||
}
|
||||
}
|
||||
check.dependsOn checkRelease
|
||||
|
||||
curseforge {
|
||||
apiKey = project.hasProperty('curseForgeApiKey') ? project.curseForgeApiKey : ''
|
||||
project {
|
||||
id = '282001'
|
||||
releaseType = 'release'
|
||||
changelog = "Release notes can be found on the GitHub repository (https://github.com/cc-tweaked/CC-Tweaked/releases/tag/v${mc_version}-${mod_version})."
|
||||
|
||||
addGameVersion "${mc_version}"
|
||||
}
|
||||
}
|
||||
|
||||
import com.modrinth.minotaur.TaskModrinthUpload
|
||||
tasks.register('publishModrinth', TaskModrinthUpload.class).configure {
|
||||
dependsOn('assemble', 'reobfJar')
|
||||
onlyIf {
|
||||
project.hasProperty('modrinthApiKey')
|
||||
}
|
||||
|
||||
token = project.hasProperty('modrinthApiKey') ? project.getProperty('modrinthApiKey') : ''
|
||||
projectId = 'gu7yAYhd'
|
||||
versionNumber = "${project.mc_version}-${project.mod_version}"
|
||||
uploadFile = jar
|
||||
addGameVersion(project.mc_version)
|
||||
changelog = "Release notes can be found on the [GitHub repository](https://github.com/cc-tweaked/CC-Tweaked/releases/tag/v${mc_version}-${mod_version})."
|
||||
addLoader('forge')
|
||||
}
|
||||
|
||||
tasks.withType(GenerateModuleMetadata) {
|
||||
// We can't generate metadata as that includes Forge as a dependency.
|
||||
enabled = false
|
||||
}
|
||||
|
||||
// configure the maven publication
|
||||
publishing {
|
||||
publications {
|
||||
maven(MavenPublication) {
|
||||
from components.java
|
||||
|
||||
pom {
|
||||
name = 'CC: Tweaked'
|
||||
description = 'CC: Tweaked is a fork of ComputerCraft, adding programmable computers, turtles and more to Minecraft.'
|
||||
url = 'https://github.com/cc-tweaked/CC-Tweaked'
|
||||
|
||||
scm {
|
||||
url = 'https://github.com/cc-tweaked/CC-Tweaked.git'
|
||||
}
|
||||
|
||||
issueManagement {
|
||||
system = 'github'
|
||||
url = 'https://github.com/cc-tweaked/CC-Tweaked/issues'
|
||||
}
|
||||
|
||||
licenses {
|
||||
license {
|
||||
name = 'ComputerCraft Public License, Version 1.0'
|
||||
url = 'https://github.com/cc-tweaked/CC-Tweaked/blob/mc-1.15.x/LICENSE'
|
||||
}
|
||||
}
|
||||
|
||||
withXml { asNode().remove(asNode().get("dependencies")) }
|
||||
mavenJava(MavenPublication) {
|
||||
// add all the jars that should be included when publishing to maven
|
||||
artifact(remapJar) {
|
||||
builtBy remapJar
|
||||
}
|
||||
artifact(sourcesJar) {
|
||||
builtBy remapSourcesJar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// select the repositories you want to publish to
|
||||
repositories {
|
||||
if (project.hasProperty("mavenUser")) {
|
||||
maven {
|
||||
name = "SquidDev"
|
||||
url = "https://squiddev.cc/maven"
|
||||
credentials {
|
||||
username = project.property("mavenUser") as String
|
||||
password = project.property("mavenPass") as String
|
||||
}
|
||||
}
|
||||
}
|
||||
// uncomment to publish to the local maven
|
||||
// mavenLocal()
|
||||
}
|
||||
}
|
||||
|
||||
githubRelease {
|
||||
token project.hasProperty('githubApiKey') ? project.githubApiKey : ''
|
||||
owner 'cc-tweaked'
|
||||
repo 'CC-Tweaked'
|
||||
targetCommitish.set(project.provider({
|
||||
try {
|
||||
return ["git", "-C", projectDir, "rev-parse", "--abbrev-ref", "HEAD"].execute().text.trim()
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
return "master"
|
||||
}))
|
||||
|
||||
tagName "v${mc_version}-${mod_version}"
|
||||
releaseName "[${mc_version}] ${mod_version}"
|
||||
body.set(project.provider({
|
||||
"## " + new File(projectDir, "src/main/resources/data/computercraft/lua/rom/help/whatsnew.md")
|
||||
.readLines()
|
||||
.takeWhile { it != 'Type "help changelog" to see the full version history.' }
|
||||
.join("\n").trim()
|
||||
}))
|
||||
prerelease false
|
||||
}
|
||||
|
||||
def uploadTasks = ["publish", "curseforge", "publishModrinth", "githubRelease"]
|
||||
uploadTasks.forEach { tasks.getByName(it).dependsOn checkRelease }
|
||||
|
||||
task uploadAll(dependsOn: uploadTasks) {
|
||||
group "upload"
|
||||
description "Uploads to all repositories (Maven, Curse, Modrinth, GitHub release)"
|
||||
}
|
||||
|
2491
codeInspectionSettings.xml
Normal file
2491
codeInspectionSettings.xml
Normal file
File diff suppressed because it is too large
Load Diff
61
codeStyleSettings.xml
Normal file
61
codeStyleSettings.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<code_scheme name="Project" version="173">
|
||||
<JSON>
|
||||
<option name="OBJECT_WRAPPING" value="1" />
|
||||
<option name="ARRAY_WRAPPING" value="1" />
|
||||
</JSON>
|
||||
<JavaCodeStyleSettings>
|
||||
<option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
|
||||
<value />
|
||||
</option>
|
||||
<option name="JD_P_AT_EMPTY_LINES" value="false" />
|
||||
<option name="JD_PRESERVE_LINE_FEEDS" value="true" />
|
||||
</JavaCodeStyleSettings>
|
||||
<codeStyleSettings language="JAVA">
|
||||
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
|
||||
<option name="BRACE_STYLE" value="2" />
|
||||
<option name="CLASS_BRACE_STYLE" value="2" />
|
||||
<option name="METHOD_BRACE_STYLE" value="2" />
|
||||
<option name="LAMBDA_BRACE_STYLE" value="5" />
|
||||
<option name="ELSE_ON_NEW_LINE" value="true" />
|
||||
<option name="CATCH_ON_NEW_LINE" value="true" />
|
||||
<option name="FINALLY_ON_NEW_LINE" value="true" />
|
||||
<option name="SPACE_WITHIN_METHOD_CALL_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_METHOD_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_IF_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_WHILE_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_FOR_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_TRY_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_CATCH_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_SWITCH_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_SYNCHRONIZED_PARENTHESES" value="true" />
|
||||
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACES" value="true" />
|
||||
<option name="SPACE_BEFORE_IF_PARENTHESES" value="false" />
|
||||
<option name="SPACE_BEFORE_WHILE_PARENTHESES" value="false" />
|
||||
<option name="SPACE_BEFORE_FOR_PARENTHESES" value="false" />
|
||||
<option name="SPACE_BEFORE_TRY_PARENTHESES" value="false" />
|
||||
<option name="SPACE_BEFORE_CATCH_PARENTHESES" value="false" />
|
||||
<option name="SPACE_BEFORE_SWITCH_PARENTHESES" value="false" />
|
||||
<option name="SPACE_BEFORE_SYNCHRONIZED_PARENTHESES" value="false" />
|
||||
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
|
||||
<option name="KEEP_SIMPLE_METHODS_IN_ONE_LINE" value="true" />
|
||||
<option name="KEEP_SIMPLE_LAMBDAS_IN_ONE_LINE" value="true" />
|
||||
<option name="KEEP_SIMPLE_CLASSES_IN_ONE_LINE" value="true" />
|
||||
<option name="IF_BRACE_FORCE" value="1" />
|
||||
<option name="DOWHILE_BRACE_FORCE" value="1" />
|
||||
<option name="WHILE_BRACE_FORCE" value="1" />
|
||||
<option name="FOR_BRACE_FORCE" value="1" />
|
||||
<option name="SPACE_WITHIN_ANNOTATION_PARENTHESES" value="true" />
|
||||
<indentOptions>
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||
</indentOptions>
|
||||
</codeStyleSettings>
|
||||
<codeStyleSettings language="JSON">
|
||||
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
|
||||
<option name="SPACE_WITHIN_BRACKETS" value="true" />
|
||||
<option name="SPACE_WITHIN_BRACES" value="true" />
|
||||
<indentOptions>
|
||||
<option name="INDENT_SIZE" value="4" />
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||
</indentOptions>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
@@ -58,13 +58,20 @@
|
||||
<module name="SimplifyBooleanExpression" />
|
||||
<module name="SimplifyBooleanReturn" />
|
||||
<module name="StringLiteralEquality" />
|
||||
<module name="UnnecessaryParentheses" />
|
||||
<module name="UnnecessaryParentheses">
|
||||
<!-- Default minus LAND. -->
|
||||
<property name="tokens" value="EXPR,IDENT,NUM_DOUBLE,NUM_FLOAT,NUM_INT,NUM_LONG,STRING_LITERAL,LITERAL_NULL,LITERAL_FALSE,LITERAL_TRUE,ASSIGN,BAND_ASSIGN,BOR_ASSIGN,BSR_ASSIGN,BXOR_ASSIGN,DIV_ASSIGN,MINUS_ASSIGN,MOD_ASSIGN,PLUS_ASSIGN,SL_ASSIGN,SR_ASSIGN,STAR_ASSIGN,LAMBDA,TEXT_BLOCK_LITERAL_BEGIN,LITERAL_INSTANCEOF,GT,LT,GE,LE,EQUAL,NOT_EQUAL,UNARY_MINUS,UNARY_PLUS,INC,DEC,LNOT,BNOT,POST_INC,POST_DEC" />
|
||||
</module>
|
||||
<module name="UnnecessarySemicolonAfterTypeMemberDeclaration" />
|
||||
<module name="UnnecessarySemicolonInTryWithResources" />
|
||||
<module name="UnnecessarySemicolonInEnumeration" />
|
||||
|
||||
<!-- Imports -->
|
||||
<module name="CustomImportOrder" />
|
||||
<module name="CustomImportOrder">
|
||||
<property name="customImportOrderRules"
|
||||
value="THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE###STATIC"
|
||||
/>
|
||||
</module>
|
||||
<module name="IllegalImport" />
|
||||
<module name="RedundantImport" />
|
||||
<module name="UnusedImports" />
|
||||
@@ -154,6 +161,7 @@
|
||||
<property name="allowEmptyLambdas" value="true" />
|
||||
<property name="allowEmptyMethods" value="true" />
|
||||
<property name="allowEmptyConstructors" value="true" />
|
||||
<property name="allowEmptyTypes" value="true" />
|
||||
|
||||
<property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,EQUAL,GE,GT,LAMBDA,LAND,LCURLY,LE,LITERAL_RETURN,LOR,LT,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,LITERAL_ASSERT,TYPE_EXTENSION_AND" />
|
||||
</module>
|
||||
|
@@ -7,6 +7,9 @@
|
||||
<suppress checks="StaticVariableName" files=".*[\\/]ComputerCraft.java" />
|
||||
<suppress checks="StaticVariableName" files=".*[\\/]ComputerCraftAPI.java" />
|
||||
|
||||
<!-- Some shadowed fields in mixins can't be renamed -->
|
||||
<suppress checks="StaticVariableName" files=".*[\\/]mixin[\\/].*" />
|
||||
|
||||
<!-- The commands API is documented in Lua. -->
|
||||
<suppress checks="SummaryJavadocCheck" files=".*[\\/]CommandAPI.java" />
|
||||
</suppressions>
|
||||
|
@@ -1,8 +0,0 @@
|
||||
FROM gitpod/workspace-base
|
||||
|
||||
USER gitpod
|
||||
|
||||
RUN sudo apt-get -q update \
|
||||
&& sudo apt-get install -yq openjdk-8-jdk openjdk-16-jdk python3-pip npm \
|
||||
&& sudo pip3 install pre-commit \
|
||||
&& sudo update-java-alternatives --set java-1.8.0-openjdk-amd64
|
@@ -50,7 +50,7 @@ exclude: |
|
||||
(?x)^(
|
||||
src/generated|
|
||||
src/test/resources/test-rom/data/json-parsing/|
|
||||
src/testMod/server-files/|
|
||||
src/test/server-files/|
|
||||
config/idea/|
|
||||
.*\.dfpwm
|
||||
.vscode/
|
||||
)
|
||||
|
@@ -2,7 +2,7 @@
|
||||
module: [kind=event] modem_message
|
||||
---
|
||||
|
||||
The @{modem_message} event is fired when a message is received on an open channel on any @{modem}.
|
||||
The @{modem_message} event is fired when a message is received on an open channel on any modem.
|
||||
|
||||
## Return Values
|
||||
1. @{string}: The event name.
|
||||
@@ -10,15 +10,11 @@ The @{modem_message} event is fired when a message is received on an open channe
|
||||
3. @{number}: The channel that the message was sent on.
|
||||
4. @{number}: The reply channel set by the sender.
|
||||
5. @{any}: The message as sent by the sender.
|
||||
6. @{number}: The distance between the sender and the receiver, in blocks.
|
||||
6. @{number}: The distance between the sender and the receiver, in blocks (decimal).
|
||||
|
||||
## Example
|
||||
Wraps a @{modem} peripheral, opens channel 0 for listening, and prints all received messages.
|
||||
|
||||
Prints a message when one is sent:
|
||||
```lua
|
||||
local modem = peripheral.find("modem") or error("No modem attached", 0)
|
||||
modem.open(0)
|
||||
|
||||
while true do
|
||||
local event, side, channel, replyChannel, message, distance = os.pullEvent("modem_message")
|
||||
print(("Message received on side %s on channel %d (reply to %d) from %f blocks away with message %s"):format(side, channel, replyChannel, distance, tostring(message)))
|
||||
|
@@ -2,7 +2,7 @@
|
||||
module: [kind=event] redstone
|
||||
---
|
||||
|
||||
The @{event!redstone} event is fired whenever any redstone inputs on the computer change.
|
||||
The @{redstone} event is fired whenever any redstone inputs on the computer change.
|
||||
|
||||
## Example
|
||||
Prints a message when a redstone input changes:
|
||||
|
@@ -1,27 +0,0 @@
|
||||
---
|
||||
module: [kind=event] speaker_audio_empty
|
||||
see: speaker.playAudio To play audio using the speaker
|
||||
---
|
||||
|
||||
## Return Values
|
||||
1. @{string}: The event name.
|
||||
2. @{string}: The name of the speaker which is available to play more audio.
|
||||
|
||||
|
||||
## Example
|
||||
This uses @{io.lines} to read audio data in blocks of 16KiB from "example_song.dfpwm", and then attempts to play it
|
||||
using @{speaker.playAudio}. If the speaker's buffer is full, it waits for an event and tries again.
|
||||
|
||||
```lua {data-peripheral=speaker}
|
||||
local dfpwm = require("cc.audio.dfpwm")
|
||||
local speaker = peripheral.find("speaker")
|
||||
|
||||
local decoder = dfpwm.make_decoder()
|
||||
for chunk in io.lines("data/example.dfpwm", 16 * 1024) do
|
||||
local buffer = decoder(chunk)
|
||||
|
||||
while not speaker.playAudio(buffer) do
|
||||
os.pullEvent("speaker_audio_empty")
|
||||
end
|
||||
end
|
||||
```
|
@@ -2,12 +2,7 @@
|
||||
module: [kind=event] term_resize
|
||||
---
|
||||
|
||||
The @{term_resize} event is fired when the main terminal is resized. For instance:
|
||||
- When a the tab bar is shown or hidden in @{multishell}.
|
||||
- When the terminal is redirected to a monitor via the "monitor" program and the monitor is resized.
|
||||
|
||||
When this event fires, some parts of the terminal may have been moved or deleted. Simple terminal programs (those
|
||||
not using @{term.setCursorPos}) can ignore this event, but more complex GUI programs should redraw the entire screen.
|
||||
The @{term_resize} event is fired when the main terminal is resized, mainly when a new tab is opened or closed in @{multishell}.
|
||||
|
||||
## Example
|
||||
Prints :
|
||||
|
@@ -1,200 +0,0 @@
|
||||
---
|
||||
module: [kind=guide] speaker_audio
|
||||
see: speaker.playAudio Play PCM audio using a speaker.
|
||||
see: cc.audio.dfpwm Provides utilities for encoding and decoding DFPWM files.
|
||||
---
|
||||
|
||||
# Playing audio with speakers
|
||||
CC: Tweaked's speaker peripheral provides a powerful way to play any audio you like with the @{speaker.playAudio}
|
||||
method. However, for people unfamiliar with digital audio, it's not the most intuitive thing to use. This guide provides
|
||||
an introduction to digital audio, demonstrates how to play music with CC: Tweaked's speakers, and then briefly discusses
|
||||
the more complex topic of audio processing.
|
||||
|
||||
## A short introduction to digital audio
|
||||
When sound is recorded it is captured as an analogue signal, effectively the electrical version of a sound
|
||||
wave. However, this signal is continuous, and so can't be used directly by a computer. Instead, we measure (or *sample*)
|
||||
the amplitude of the wave many times a second and then *quantise* that amplitude, rounding it to the nearest
|
||||
representable value.
|
||||
|
||||
This representation of sound - a long, uniformally sampled list of amplitudes is referred to as [Pulse-code
|
||||
Modulation][PCM] (PCM). PCM can be thought of as the "standard" audio format, as it's incredibly easy to work with. For
|
||||
instance, to mix two pieces of audio together, you can just samples from the two tracks together and take the average.
|
||||
|
||||
CC: Tweaked's speakers also work with PCM audio. It plays back 48,000 samples a second, where each sample is an integer
|
||||
between -128 and 127. This is more commonly referred to as 48kHz and an 8-bit resolution.
|
||||
|
||||
Let's now look at a quick example. We're going to generate a [Sine Wave] at 220Hz, which sounds like a low monotonous
|
||||
hum. First we wrap our speaker peripheral, and then we fill a table (also referred to as a *buffer*) with 128×1024
|
||||
samples - this is the maximum number of samples a speaker can accept in one go.
|
||||
|
||||
In order to fill this buffer, we need to do a little maths. We want to play 220 sine waves each second, where each sine
|
||||
wave completes a full oscillation in 2π "units". This means one seconds worth of audio is 2×π×220 "units" long. We then
|
||||
need to split this into 48k samples, basically meaning for each sample we move 2×π×220/48k "along" the sine curve.
|
||||
|
||||
```lua {data-peripheral=speaker}
|
||||
local speaker = peripheral.find("speaker")
|
||||
|
||||
local buffer = {}
|
||||
local t, dt = 0, 2 * math.pi * 220 / 48000
|
||||
for i = 1, 128 * 1024 do
|
||||
buffer[i] = math.floor(math.sin(t) * 127)
|
||||
t = (t + dt) % (math.pi * 2)
|
||||
end
|
||||
|
||||
speaker.playAudio(buffer)
|
||||
```
|
||||
|
||||
## Streaming audio
|
||||
You might notice that the above snippet only generates a short bit of audio - 2.7s seconds to be precise. While we could
|
||||
try increasing the number of loop iterations, we'll get an error when we try to play it through the speaker: the sound
|
||||
buffer is too large for it to handle.
|
||||
|
||||
Our 2.7 seconds of audio is stored in a table with over 130 _thousand_ elements. If we wanted to play a full minute of
|
||||
sine waves (and why wouldn't you?), you'd need a table with almost 3 _million_. Suddenly you find these numbers adding
|
||||
up very quickly, and these tables take up more and more memory.
|
||||
|
||||
Instead of building our entire song (well, sine wave) in one go, we can produce it in small batches, each of which get
|
||||
passed off to @{speaker.playAudio} when the time is right. This allows us to build a _stream_ of audio, where we read
|
||||
chunks of audio one at a time (either from a file or a tone generator like above), do some optional processing to each
|
||||
one, and then play them.
|
||||
|
||||
Let's adapt our example from above to do that instead.
|
||||
|
||||
```lua {data-peripheral=speaker}
|
||||
local speaker = peripheral.find("speaker")
|
||||
|
||||
local t, dt = 0, 2 * math.pi * 220 / 48000
|
||||
while true do
|
||||
local buffer = {}
|
||||
for i = 1, 16 * 1024 * 8 do
|
||||
buffer[i] = math.floor(math.sin(t) * 127)
|
||||
t = (t + dt) % (math.pi * 2)
|
||||
end
|
||||
|
||||
while not speaker.playAudio(buffer) do
|
||||
os.pullEvent("speaker_audio_empty")
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
It looks pretty similar to before, aside from we've wrapped the generation and playing code in a while loop, and added a
|
||||
rather odd loop with @{speaker.playAudio} and @{os.pullEvent}.
|
||||
|
||||
Let's talk about this loop, why do we need to keep calling @{speaker.playAudio}? Remember that what we're trying to do
|
||||
here is avoid keeping too much audio in memory at once. However, if we're generating audio quicker than the speakers can
|
||||
play it, we're not helping at all - all this audio is still hanging around waiting to be played!
|
||||
|
||||
In order to avoid this, the speaker rejects any new chunks of audio if its backlog is too large. When this happens,
|
||||
@{speaker.playAudio} returns false. Once enough audio has played, and the backlog has been reduced, a
|
||||
@{speaker_audio_empty} event is queued, and we can try to play our chunk once more.
|
||||
|
||||
## Storing audio
|
||||
PCM is a fantastic way of representing audio when we want to manipulate it, but it's not very efficient when we want to
|
||||
store it to disk. Compare the size of a WAV file (which uses PCM) to an equivalent MP3, it's often 5 times the size.
|
||||
Instead, we store audio in special formats (or *codecs*) and then convert them to PCM when we need to do processing on
|
||||
them.
|
||||
|
||||
Modern audio codecs use some incredibly impressive techniques to compress the audio as much as possible while preserving
|
||||
sound quality. However, due to CC: Tweaked's limited processing power, it's not really possible to use these from your
|
||||
computer. Instead, we need something much simpler.
|
||||
|
||||
DFPWM (Dynamic Filter Pulse Width Modulation) is the de facto standard audio format of the ComputerCraft (and
|
||||
OpenComputers) world. Originally popularised by the addon mod [Computronics], CC:T now has built-in support for it with
|
||||
the @{cc.audio.dfpwm} module. This allows you to read DFPWM files from disk, decode them to PCM, and then play them
|
||||
using the speaker.
|
||||
|
||||
Let's dive in with an example, and we'll explain things afterwards:
|
||||
|
||||
```lua {data-peripheral=speaker}
|
||||
local dfpwm = require("cc.audio.dfpwm")
|
||||
local speaker = peripheral.find("speaker")
|
||||
|
||||
local decoder = dfpwm.make_decoder()
|
||||
for chunk in io.lines("data/example.dfpwm", 16 * 1024) do
|
||||
local buffer = decoder(chunk)
|
||||
|
||||
while not speaker.playAudio(buffer) do
|
||||
os.pullEvent("speaker_audio_empty")
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
Once again, we see the @{speaker.playAudio}/@{speaker_audio_empty} loop. However, the rest of the program is a little
|
||||
different.
|
||||
|
||||
First, we require the dfpwm module and call @{cc.audio.dfpwm.make_decoder} to construct a new decoder. This decoder
|
||||
accepts blocks of DFPWM data and converts it to a list of 8-bit amplitudes, which we can then play with our speaker.
|
||||
|
||||
As mentioned to above, @{speaker.playAudio} accepts at most 128×1024 samples in one go. DFPMW uses a single bit for each
|
||||
sample, which means we want to process our audio in chunks of 16×1024 bytes (16KiB). In order to do this, we use
|
||||
@{io.lines}, which provides a nice way to loop over chunks of a file. You can of course just use @{fs.open} and
|
||||
@{fs.BinaryReadHandle.read} if you prefer.
|
||||
|
||||
## Processing audio
|
||||
As mentioned near the beginning of this guide, PCM audio is pretty easy to work with as it's just a list of amplitudes.
|
||||
You can mix together samples from different streams by adding their amplitudes, change the rate of playback by removing
|
||||
samples, etc...
|
||||
|
||||
Let's put together a small demonstration here. We're going to add a small delay effect to the song above, so that you
|
||||
hear a faint echo about a second later.
|
||||
|
||||
In order to do this, we'll follow a format similar to the previous example, decoding the audio and then playing it.
|
||||
However, we'll also add some new logic between those two steps, which loops over every sample in our chunk of audio, and
|
||||
adds the sample from one second ago to it.
|
||||
|
||||
For this, we'll need to keep track of the last 48k samples - exactly one seconds worth of audio. We can do this using a
|
||||
[Ring Buffer], which helps makes things a little more efficient.
|
||||
|
||||
```lua {data-peripheral=speaker}
|
||||
local dfpwm = require("cc.audio.dfpwm")
|
||||
local speaker = peripheral.find("speaker")
|
||||
|
||||
-- Speakers play at 48kHz, so one second is 48k samples. We first fill our buffer
|
||||
-- with 0s, as there's nothing to echo at the start of the track!
|
||||
local samples_i, samples_n = 1, 48000
|
||||
local samples = {}
|
||||
for i = 1, samples_n do samples[i] = 0 end
|
||||
|
||||
local decoder = dfpwm.make_decoder()
|
||||
for chunk in io.lines("data/example.dfpwm", 16 * 1024) do
|
||||
local buffer = decoder(chunk)
|
||||
|
||||
for i = 1, #buffer do
|
||||
local original_value = buffer[i]
|
||||
|
||||
-- Replace this sample with its current amplitude plus the amplitude from one second ago.
|
||||
-- We scale both to ensure the resulting value is still between -128 and 127.
|
||||
buffer[i] = original_value * 0.6 + samples[samples_i] * 0.4
|
||||
|
||||
-- Now store the current sample, and move the "head" of our ring buffer forward one place.
|
||||
samples[samples_i] = original_value
|
||||
samples_i = samples_i + 1
|
||||
if samples_i > samples_n then samples_i = 1 end
|
||||
end
|
||||
|
||||
while not speaker.playAudio(buffer) do
|
||||
os.pullEvent("speaker_audio_empty")
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
:::note Confused?
|
||||
Don't worry if you don't understand this example. It's quite advanced, and does use some ideas that this guide doesn't
|
||||
cover. That said, don't be afraid to ask on [Discord] or [IRC] either!
|
||||
:::
|
||||
|
||||
It's worth noting that the examples of audio processing we've mentioned here are about manipulating the _amplitude_ of
|
||||
the wave. If you wanted to modify the _frequency_ (for instance, shifting the pitch), things get rather more complex.
|
||||
For this, you'd need to use the [Fast Fourier transform][FFT] to convert the stream of amplitudes to frequencies,
|
||||
process those, and then convert them back to amplitudes.
|
||||
|
||||
This is, I'm afraid, left as an exercise to the reader.
|
||||
|
||||
[Computronics]: https://github.com/Vexatos/Computronics/ "Computronics on GitHub"
|
||||
[FFT]: https://en.wikipedia.org/wiki/Fast_Fourier_transform "Fast Fourier transform - Wikipedia"
|
||||
[PCM]: https://en.wikipedia.org/wiki/Pulse-code_modulation "Pulse-code Modulation - Wikipedia"
|
||||
[Ring Buffer]: https://en.wikipedia.org/wiki/Circular_buffer "Circular buffer - Wikipedia"
|
||||
[Sine Wave]: https://en.wikipedia.org/wiki/Sine_wave "Sine wave - Wikipedia"
|
||||
|
||||
[Discord]: https://discord.computercraft.cc "The Minecraft Computer Mods Discord"
|
||||
[IRC]: http://webchat.esper.net/?channels=computercraft "IRC webchat on EsperNet"
|
@@ -1,83 +0,0 @@
|
||||
---
|
||||
module: [kind=guide] using_require
|
||||
---
|
||||
|
||||
# Reusing code with require
|
||||
A library is a collection of useful functions and other definitions which is stored separately to your main program. You
|
||||
might want to create a library because you have some functions which are used in multiple programs, or just to split
|
||||
your program into multiple more modular files.
|
||||
|
||||
Let's say we want to create a small library to make working with the @{term|terminal} a little easier. We'll provide two
|
||||
functions: `reset`, which clears the terminal and sets the cursor to (1, 1), and `write_center`, which prints some text
|
||||
in the middle of the screen.
|
||||
|
||||
Start off by creating a file called `more_term.lua`:
|
||||
|
||||
```lua {data-snippet=more_term}
|
||||
local function reset()
|
||||
term.clear()
|
||||
term.setCursorPos(1, 1)
|
||||
end
|
||||
|
||||
local function write_center(text)
|
||||
local x, y = term.getCursorPos()
|
||||
local width, height = term.getSize()
|
||||
term.setCursorPos(math.floor((width - #text) / 2) + 1, y)
|
||||
term.write(text)
|
||||
end
|
||||
|
||||
return { reset = reset, write_center = write_center }
|
||||
```
|
||||
|
||||
Now, what's going on here? We define our two functions as one might expect, and then at the bottom return a table with
|
||||
the two functions. When we require this library, this table is what is returned. With that, we can then call the
|
||||
original functions. Now create a new file, with the following:
|
||||
|
||||
```lua {data-mount=more_term:more_term.lua}
|
||||
local more_term = require("more_term")
|
||||
more_term.reset()
|
||||
more_term.write_center("Hello, world!")
|
||||
```
|
||||
|
||||
When run, this'll clear the screen and print some text in the middle of the first line.
|
||||
|
||||
## require in depth
|
||||
While the previous section is a good introduction to how @{require} operates, there are a couple of remaining points
|
||||
which are worth mentioning for more advanced usage.
|
||||
|
||||
### Libraries can return anything
|
||||
In our above example, we return a table containing the functions we want to expose. However, it's worth pointing out
|
||||
that you can return ''anything'' from your library - a table, a function or even just a string! @{require} treats them
|
||||
all the same, and just returns whatever your library provides.
|
||||
|
||||
### Module resolution and the package path
|
||||
In the above examples, we defined our library in a file, and @{require} read from it. While this is what you'll do most
|
||||
of the time, it is possible to make @{require} look elsewhere for your library, such as downloading from a website or
|
||||
loading from an in-memory library store.
|
||||
|
||||
As a result, the *module name* you pass to @{require} doesn't correspond to a file path. One common mistake is to load
|
||||
code from a sub-directory using `require("folder/library")` or even `require("folder/library.lua")`, neither of which
|
||||
will do quite what you expect.
|
||||
|
||||
When loading libraries (also referred to as *modules*) from files, @{require} searches along the *@{package.path|module
|
||||
path}*. By default, this looks something like:
|
||||
|
||||
* `?.lua`
|
||||
* `?/init.lua`
|
||||
* `/rom/modules/main/?.lua`
|
||||
* etc...
|
||||
|
||||
When you call `require("my_library")`, @{require} replaces the `?` in each element of the path with your module name, and
|
||||
checks if the file exists. In this case, we'd look for `my_library.lua`, `my_library/init.lua`,
|
||||
`/rom/modules/main/my_library.lua` and so on. Note that this works *relative to the current program*, so if your
|
||||
program is actually called `folder/program`, then we'll look for `folder/my_library.lua`, etc...
|
||||
|
||||
One other caveat is loading libraries from sub-directories. For instance, say we have a file
|
||||
`my/fancy/library.lua`. This can be loaded by using `require("my.fancy.library")` - the '.'s are replaced with '/'
|
||||
before we start looking for the library.
|
||||
|
||||
## External links
|
||||
There are several external resources which go into require in a little more detail:
|
||||
|
||||
- The [Lua Module tutorial](http://lua-users.org/wiki/ModulesTutorial) on the Lua wiki.
|
||||
- [Lua's manual section on @{require}](https://www.lua.org/manual/5.1/manual.html#pdf-require).
|
@@ -12,19 +12,16 @@ rounded up to the nearest multiple of 0.05 seconds. If you are using coroutines
|
||||
or the @{parallel|parallel API}, it will only pause execution of the current
|
||||
thread, not the whole program.
|
||||
|
||||
:::tip
|
||||
Because sleep internally uses timers, it is a function that yields. This means
|
||||
that you can use it to prevent "Too long without yielding" errors, however, as
|
||||
the minimum sleep time is 0.05 seconds, it will slow your program down.
|
||||
:::
|
||||
**Note** Because sleep internally uses timers, it is a function that yields.
|
||||
This means that you can use it to prevent "Too long without yielding" errors,
|
||||
however, as the minimum sleep time is 0.05 seconds, it will slow your program
|
||||
down.
|
||||
|
||||
:::caution
|
||||
Internally, this function queues and waits for a timer event (using
|
||||
**Warning** Internally, this function queues and waits for a timer event (using
|
||||
@{os.startTimer}), however it does not listen for any other events. This means
|
||||
that any event that occurs while sleeping will be entirely discarded. If you
|
||||
need to receive events while sleeping, consider using @{os.startTimer|timers},
|
||||
or the @{parallel|parallel API}.
|
||||
:::
|
||||
|
||||
@tparam number time The number of seconds to sleep for, rounded up to the
|
||||
nearest multiple of 0.05.
|
||||
|
@@ -1,8 +1,15 @@
|
||||
# Mod properties
|
||||
mod_version=1.100.1
|
||||
# Done to increase the memory available to gradle.
|
||||
org.gradle.jvmargs=-Xmx1G
|
||||
|
||||
# Minecraft properties (update mods.toml when changing)
|
||||
mc_version=1.16.5
|
||||
mapping_version=2021.08.08
|
||||
forge_version=36.2.20
|
||||
# NO SERIOUSLY, UPDATE mods.toml WHEN CHANGING
|
||||
# Mod properties
|
||||
mod_version=1.97.3
|
||||
|
||||
# Minecraft properties
|
||||
mc_version=1.17.1
|
||||
fabric_api_version=0.40.1+1.17
|
||||
fabric_loader_version=0.12.0
|
||||
|
||||
cloth_api_version=2.0.54
|
||||
cloth_config_version=5.0.34
|
||||
jankson_version=1.2.0
|
||||
modmenu_version=2.0.2
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
257
gradlew
vendored
257
gradlew
vendored
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
#!/usr/bin/env sh
|
||||
|
||||
#
|
||||
# Copyright © 2015-2021 the original authors.
|
||||
# Copyright 2015 the original author or authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -17,101 +17,67 @@
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=${0##*/}
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
} >&2
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
} >&2
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
@@ -121,9 +87,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
@@ -132,7 +98,7 @@ Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
@@ -140,95 +106,80 @@ location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Collect all arguments for the java command;
|
||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||
# shell script including quotes and variable substitutions, so put them in
|
||||
# double quotes to make sure that they get re-expanded; and
|
||||
# * put everything else in single quotes, so that it's not re-expanded.
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=`save "$@"`
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
178
gradlew.bat
vendored
178
gradlew.bat
vendored
@@ -1,89 +1,89 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
|
@@ -1,9 +1,8 @@
|
||||
; -*- mode: Lisp;-*-
|
||||
|
||||
(sources
|
||||
/doc/events/
|
||||
/doc/guides/
|
||||
/doc/stub/
|
||||
/doc/events/
|
||||
/build/docs/luaJavadoc/
|
||||
/src/main/resources/*/computercraft/lua/bios.lua
|
||||
/src/main/resources/*/computercraft/lua/rom/
|
||||
@@ -28,8 +27,7 @@
|
||||
(module-kinds
|
||||
(peripheral Peripherals)
|
||||
(generic_peripheral "Generic Peripherals")
|
||||
(event Events)
|
||||
(guide Guides))
|
||||
(event Events))
|
||||
|
||||
(library-path
|
||||
/doc/stub/
|
||||
|
5
jitpack.yml
Normal file
5
jitpack.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
before_install:
|
||||
- wget https://github.com/sormuras/bach/raw/master/install-jdk.sh
|
||||
- source ./install-jdk.sh --feature 16 --license GPL
|
||||
jdk:
|
||||
- openjdk16
|
894
package-lock.json
generated
894
package-lock.json
generated
@@ -1,894 +0,0 @@
|
||||
{
|
||||
"name": "tweaked.cc",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "tweaked.cc",
|
||||
"version": "1.0.0",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"preact": "^10.5.5",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-typescript": "^8.2.5",
|
||||
"@rollup/plugin-url": "^6.1.0",
|
||||
"requirejs": "^2.3.6",
|
||||
"rollup": "^2.33.1",
|
||||
"rollup-plugin-terser": "^7.0.2",
|
||||
"typescript": "^4.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
"version": "7.16.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
|
||||
"integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/highlight": "^7.16.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
"version": "7.15.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
|
||||
"integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/highlight": {
|
||||
"version": "7.16.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
|
||||
"integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-validator-identifier": "^7.15.7",
|
||||
"chalk": "^2.0.0",
|
||||
"js-tokens": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/plugin-typescript": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.0.tgz",
|
||||
"integrity": "sha512-I5FpSvLbtAdwJ+naznv+B4sjXZUcIvLLceYpITAn7wAP8W0wqc5noLdGIp9HGVntNhRWXctwPYrSSFQxtl0FPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@rollup/pluginutils": "^3.1.0",
|
||||
"resolve": "^1.17.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "^2.14.0",
|
||||
"tslib": "*",
|
||||
"typescript": ">=3.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/plugin-url": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-6.1.0.tgz",
|
||||
"integrity": "sha512-FJNWBnBB7nLzbcaGmu1no+U/LlRR67TtgfRFP+VEKSrWlDTE6n9jMns/N4Q/VL6l4x6kTHQX4HQfwTcldaAfHQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@rollup/pluginutils": "^3.1.0",
|
||||
"make-dir": "^3.1.0",
|
||||
"mime": "^2.4.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "^1.20.0||^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/pluginutils": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
|
||||
"integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "0.0.39",
|
||||
"estree-walker": "^1.0.1",
|
||||
"picomatch": "^2.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "^1.20.0||^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "0.0.39",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
|
||||
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "16.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
|
||||
"integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-convert": "^1.9.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer-from": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/estree-walker": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
|
||||
"integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/is-core-module": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
|
||||
"integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has": "^1.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/jest-worker": {
|
||||
"version": "26.6.2",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
|
||||
"integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
"supports-color": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/jest-worker/node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/jest-worker/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/make-dir": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
|
||||
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"semver": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/merge-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/mime": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
||||
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"mime": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/path-parse": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
||||
"integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/preact": {
|
||||
"version": "10.6.1",
|
||||
"resolved": "https://registry.npmjs.org/preact/-/preact-10.6.1.tgz",
|
||||
"integrity": "sha512-ydCg+ISIq70vqiThvNWStZWLRjR9U2awP/JAmGdWUKm9+Tyuy+MqVdAIyEByeIspAVtD4GWC/SJtxO8XD4knVA==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/preact"
|
||||
}
|
||||
},
|
||||
"node_modules/randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/requirejs": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
|
||||
"integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"r_js": "bin/r.js",
|
||||
"r.js": "bin/r.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
"version": "1.20.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
|
||||
"integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-core-module": "^2.2.0",
|
||||
"path-parse": "^1.0.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "2.60.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.60.1.tgz",
|
||||
"integrity": "sha512-akwfnpjY0rXEDSn1UTVfKXJhPsEBu+imi1gqBA1ZkHGydUnkV/fWCC90P7rDaLEW8KTwBcS1G3N4893Ndz+jwg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"rollup": "dist/bin/rollup"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-terser": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
|
||||
"integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.10.4",
|
||||
"jest-worker": "^26.2.1",
|
||||
"serialize-javascript": "^4.0.0",
|
||||
"terser": "^5.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
}
|
||||
},
|
||||
"node_modules/serialize-javascript": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
|
||||
"integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"randombytes": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.7.3",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-support": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-support/node_modules/source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/terser": {
|
||||
"version": "5.10.0",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
|
||||
"integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.7.2",
|
||||
"source-map-support": "~0.5.20"
|
||||
},
|
||||
"bin": {
|
||||
"terser": "bin/terser"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"acorn": "^8.5.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"acorn": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
|
||||
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.2.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/code-frame": {
|
||||
"version": "7.16.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
|
||||
"integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/highlight": "^7.16.0"
|
||||
}
|
||||
},
|
||||
"@babel/helper-validator-identifier": {
|
||||
"version": "7.15.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
|
||||
"integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
|
||||
"dev": true
|
||||
},
|
||||
"@babel/highlight": {
|
||||
"version": "7.16.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
|
||||
"integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-validator-identifier": "^7.15.7",
|
||||
"chalk": "^2.0.0",
|
||||
"js-tokens": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"@rollup/plugin-typescript": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.0.tgz",
|
||||
"integrity": "sha512-I5FpSvLbtAdwJ+naznv+B4sjXZUcIvLLceYpITAn7wAP8W0wqc5noLdGIp9HGVntNhRWXctwPYrSSFQxtl0FPA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@rollup/pluginutils": "^3.1.0",
|
||||
"resolve": "^1.17.0"
|
||||
}
|
||||
},
|
||||
"@rollup/plugin-url": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-6.1.0.tgz",
|
||||
"integrity": "sha512-FJNWBnBB7nLzbcaGmu1no+U/LlRR67TtgfRFP+VEKSrWlDTE6n9jMns/N4Q/VL6l4x6kTHQX4HQfwTcldaAfHQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@rollup/pluginutils": "^3.1.0",
|
||||
"make-dir": "^3.1.0",
|
||||
"mime": "^2.4.6"
|
||||
}
|
||||
},
|
||||
"@rollup/pluginutils": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
|
||||
"integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/estree": "0.0.39",
|
||||
"estree-walker": "^1.0.1",
|
||||
"picomatch": "^2.2.2"
|
||||
}
|
||||
},
|
||||
"@types/estree": {
|
||||
"version": "0.0.39",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
|
||||
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
|
||||
"integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
||||
"dev": true
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true
|
||||
},
|
||||
"estree-walker": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
|
||||
"integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
|
||||
"dev": true
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
||||
"dev": true
|
||||
},
|
||||
"has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true
|
||||
},
|
||||
"is-core-module": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
|
||||
"integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"jest-worker": {
|
||||
"version": "26.6.2",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
|
||||
"integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
"supports-color": "^7.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||
"dev": true
|
||||
},
|
||||
"make-dir": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
|
||||
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"semver": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"merge-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||
"dev": true
|
||||
},
|
||||
"mime": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
||||
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
|
||||
"dev": true
|
||||
},
|
||||
"path-parse": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
||||
"dev": true
|
||||
},
|
||||
"picomatch": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
||||
"integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
|
||||
"dev": true
|
||||
},
|
||||
"preact": {
|
||||
"version": "10.6.1",
|
||||
"resolved": "https://registry.npmjs.org/preact/-/preact-10.6.1.tgz",
|
||||
"integrity": "sha512-ydCg+ISIq70vqiThvNWStZWLRjR9U2awP/JAmGdWUKm9+Tyuy+MqVdAIyEByeIspAVtD4GWC/SJtxO8XD4knVA=="
|
||||
},
|
||||
"randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"requirejs": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
|
||||
"integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
|
||||
"dev": true
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.20.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
|
||||
"integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-core-module": "^2.2.0",
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"rollup": {
|
||||
"version": "2.60.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.60.1.tgz",
|
||||
"integrity": "sha512-akwfnpjY0rXEDSn1UTVfKXJhPsEBu+imi1gqBA1ZkHGydUnkV/fWCC90P7rDaLEW8KTwBcS1G3N4893Ndz+jwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"rollup-plugin-terser": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
|
||||
"integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.10.4",
|
||||
"jest-worker": "^26.2.1",
|
||||
"serialize-javascript": "^4.0.0",
|
||||
"terser": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||
"dev": true
|
||||
},
|
||||
"serialize-javascript": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
|
||||
"integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"randombytes": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.7.3",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
||||
"dev": true
|
||||
},
|
||||
"source-map-support": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"terser": {
|
||||
"version": "5.10.0",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
|
||||
"integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.7.2",
|
||||
"source-map-support": "~0.5.20"
|
||||
}
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||
},
|
||||
"typescript": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
|
||||
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
19
package.json
19
package.json
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "tweaked.cc",
|
||||
"version": "1.0.0",
|
||||
"description": "Website additions for tweaked.cc",
|
||||
"author": "SquidDev",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"preact": "^10.5.5",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-typescript": "^8.2.5",
|
||||
"@rollup/plugin-url": "^6.1.0",
|
||||
"requirejs": "^2.3.6",
|
||||
"rollup": "^2.33.1",
|
||||
"rollup-plugin-terser": "^7.0.2",
|
||||
"typescript": "^4.0.5"
|
||||
}
|
||||
}
|
627
patchwork.md
Normal file
627
patchwork.md
Normal file
@@ -0,0 +1,627 @@
|
||||
# Just my list of things I have ported over
|
||||
|
||||
Format for the changelog of ported stuff
|
||||
```
|
||||
commit // Shows commit from CC:T
|
||||
commit2 // Shows a commit that is the same thing, just a clean up, only if right after
|
||||
Title // Commit Title
|
||||
SubScript // Desc of commit
|
||||
```
|
||||
|
||||
If a edit that is present in CC:T is not needed, I will skip over it.
|
||||
Any and all references to an issue number, are to be found on CC:T's repo.
|
||||
|
||||
Any commit that starts with `[Patchwork]` are purely edits made by my hand, and not based on other commits from CC:T, this is to help differentiate my changes from the official changes
|
||||
|
||||
Lines that are found above a commit in this log like this one, (excluding this one) are comments about how i had to implement things that are not a simple 1:1 (excluding fabric/forge differences) conversion
|
||||
|
||||
```md
|
||||
5155e18de279a193c558aa029963486fd1294769
|
||||
Added translation for Vietnamese
|
||||
Co-authored-by: Boom <boom@flyingpackets.net>
|
||||
```
|
||||
|
||||
```
|
||||
7e121ff72f2b1504cd6af47b57500876682bac45
|
||||
ae6124d1f477487abab1858abde8c4ec49dfee3c
|
||||
Translations for Vienamese
|
||||
Co-authored-by: Boom <boom@flyingpackets.net>
|
||||
```
|
||||
|
||||
```
|
||||
59de21eae29849988e77fad6bc335f5ce78dfec7
|
||||
Handle tabs when parsing JSON
|
||||
Fixes #539
|
||||
```
|
||||
|
||||
```
|
||||
748ebbe66bf0a4239bde34f557e4b4b75d61d990
|
||||
Bump to 1.92.0
|
||||
A tiny release, but there's new features so it's technically a minor
|
||||
bump.
|
||||
```
|
||||
|
||||
Cherry Picked because this update was partially related to forge updates rather than mod updates
|
||||
```
|
||||
8b4a01df27ff7f6fa9ffd9c2188c6e3166edd515
|
||||
Update to Minecraft 1.16.3
|
||||
|
||||
I hope the Fabric folks now realise this is gonna be a race of who can
|
||||
update first :p. Either way, this was a very easy update - only changes
|
||||
were due to unrelated Forge changes.
|
||||
```
|
||||
|
||||
```
|
||||
87393e8aef9ddfaca465d626ee7cff5ff499a7e8
|
||||
Fix additional `-` in docs
|
||||
|
||||
Why isn't this automatically stripped! Bad squid.
|
||||
```
|
||||
|
||||
```
|
||||
275ca58a82c627128a145a8754cbe32568536bd9
|
||||
HTTP rules now allow filtering by port
|
||||
|
||||
The HTTP filtering system becomes even more complex! Though in this
|
||||
case, it's pretty minimal, and definitely worth doing.
|
||||
|
||||
For instance, the following rule will allow connecting to localhost on
|
||||
port :8080.
|
||||
|
||||
[[http.rules]]
|
||||
host = "127.0.0.1"
|
||||
port = 8080
|
||||
action = "allow"
|
||||
|
||||
# Other rules as before.
|
||||
|
||||
Closes #540
|
||||
```
|
||||
|
||||
The alterations in ColourUtils.java were not needed so they were not ported over
|
||||
```
|
||||
6f868849ab2f264508e12c184cc56f2632aaf5bc
|
||||
Use tags to check if something is a dye
|
||||
|
||||
We half did this already, just needed to change a couple of checks.
|
||||
Closes #541.
|
||||
```
|
||||
|
||||
```
|
||||
6cee4efcd3610536ee74330cd728f7371011e5a8
|
||||
Fix incorrect open container check
|
||||
|
||||
Was this always broken, or did it happen in a Minecraft update? Don't
|
||||
know, but it's a very silly mistake either way. Fixes #544
|
||||
```
|
||||
|
||||
```
|
||||
0832974725b2478c5227b81f82c35bbf03cf6aba
|
||||
Translations for Swedish
|
||||
|
||||
Co-authored-by: David Isaksson <davidisaksson93@gmail.com>
|
||||
```
|
||||
|
||||
```
|
||||
84036d97d99efd8762e0170002060ae3471508bf
|
||||
Fix io.open documentation
|
||||
|
||||
Well, that was silly.
|
||||
```
|
||||
|
||||
I set the default properties for computers as `Block.GLASS` and then set their strength to `2F` and their soundgroup to stone
|
||||
```
|
||||
8472112fc1eaad18ed6ed2c6c62b040fe421e81a
|
||||
Don't propagate adjacent redstone signals for computers (#549)
|
||||
|
||||
Minecraft propagates "strong" redstone signals (such as those directly
|
||||
from comparators or repeaters) through solid blocks. This includes
|
||||
computers, which is a little annoying as it means one cannot feed
|
||||
redstone wire from one side and a repeater from another.
|
||||
|
||||
This changes computers to not propagate strong redstone signals, in the
|
||||
same way transparent blocks like glass do.
|
||||
|
||||
Closes #548.
|
||||
```
|
||||
|
||||
```
|
||||
30d35883b83831900b34040f0131c7e06f5c3e52
|
||||
Fix my docs
|
||||
|
||||
Thanks @plt-hokusai. Kinda embarrassing this slipped through - I
|
||||
evidently need to lint examples too.
|
||||
```
|
||||
|
||||
```
|
||||
34a2c835d412c0d9e1fb20a42b7f2cd2738289c7
|
||||
Add color table to docs (#553)
|
||||
```
|
||||
|
||||
All API Documentation updates,
|
||||
`Not Needed` for this repo.
|
||||
```
|
||||
93068402a2ffec00eedb8fe2d859ebdc005a1989
|
||||
Document remaining OS functions (#554)
|
||||
|
||||
01d81cb91da938836f953b290ad6b8fc87cb7e35
|
||||
Update illuaminate CSS for deprecation (#556)
|
||||
```
|
||||
|
||||
```
|
||||
Not Needed
|
||||
4766833cf2d041ed179529eecb9402ad09b2b79b
|
||||
Bump JEI/crafttweaker versions
|
||||
|
||||
In my defence, they weren't out when I started the 1.15 update.
|
||||
```
|
||||
|
||||
```
|
||||
bf6053906dc6a3c7b0d40d5b097e745dce1f33bc
|
||||
Fix TBO norm issues on old GPUs
|
||||
```
|
||||
|
||||
```
|
||||
Not Needed
|
||||
113b560a201dbdea9de2a2ef536bcce1d6e51978
|
||||
Update configuration to match latest illuaminate
|
||||
|
||||
Ooooooh, it's all fancy now. Well, that or horrifically broken.
|
||||
```
|
||||
|
||||
```
|
||||
c334423d42ba3b653ac3a8c27bce7970457f8f96
|
||||
Add function to get window visibility
|
||||
|
||||
Closes #562
|
||||
|
||||
Co-authored-by: devomaa <lmao@distruzione.org>
|
||||
```
|
||||
|
||||
[WARN] Could not implement changes to the following files
|
||||
* `src/main/java/dan200/computercraft/ComputerCraft.java` < Structure too different, cannot find equivalent to alter
|
||||
* `src/main/java/dan200/computercraft/shared/Config.java` < Files Does not exist in this repo
|
||||
```
|
||||
84a6bb1cf3b0668ddc7d8c409a2477a42390e3f7
|
||||
Make generic peripherals on by default
|
||||
|
||||
This is a long way away from "feature complete" as it were. However,
|
||||
it's definitely at a point where it's suitable for general usage - I'm
|
||||
happy with the API, and don't think I'm going to be breaking things any
|
||||
time soon.
|
||||
|
||||
That said, things aren't exposed yet for Java-side public consumption. I
|
||||
was kinda waiting until working on Plethora to actually do that, but not
|
||||
sure if/when that'll happen.
|
||||
|
||||
If someone else wants to work on an integration mod (or just adding
|
||||
integrations for their own mod), do get in touch and I can work out how
|
||||
to expose this.
|
||||
|
||||
Closes #452
|
||||
```
|
||||
|
||||
```
|
||||
Not Needed
|
||||
6aae4e576621090840724e094aa25e51696530fc
|
||||
Remove superfluous imports
|
||||
|
||||
Hah, this is embarassing
|
||||
```
|
||||
|
||||
[TODO] [M3R1-01] Code has been applied, players still dont get achievments
|
||||
```
|
||||
f6160bdc57b3d9850607c2c7c2ce9734b4963478
|
||||
Fix players not getting advancements when they own turtles
|
||||
|
||||
When we construct a new ServerPlayerEntity (and thus TurtlePlayer), we
|
||||
get the current (global) advancement state and call .setPlayer() on it.
|
||||
|
||||
As grantCriterion blocks FakePlayers from getting advancements, this
|
||||
means a player will no longer receive any advancements, as the "wrong"
|
||||
player object is being consulted.
|
||||
|
||||
As a temporary work around, we attempt to restore the previous player to
|
||||
the advancement store. I'll try to upstream something into Forge to
|
||||
resolve this properly.
|
||||
|
||||
Fixes #564
|
||||
```
|
||||
|
||||
```
|
||||
17a932920711a5c0361a5048c9e0a5e7a58e6364
|
||||
Bump cct-javadoc version
|
||||
|
||||
Documentation will now be sorted (somewhat) correctly!
|
||||
```
|
||||
|
||||
```
|
||||
a6fcfb6af2fc1bef8ca3a19122c9267549202424
|
||||
Draw in-hand pocket computers with blending
|
||||
|
||||
It might be worth switching to RenderTypes here, rather than a pure
|
||||
Tesselator, but this'll do for now.
|
||||
|
||||
Fixes Zundrel/cc-tweaked-fabric#20.
|
||||
```
|
||||
|
||||
```
|
||||
c58441b29c3715f092e7f3747bb3ec65ae5a3d29
|
||||
Various SNBT parsing improvements
|
||||
|
||||
Correctly handle:
|
||||
- Typed arrays ([I; 1, 2, 3])
|
||||
- All suffixed numbers (1.2d)
|
||||
- Single-quoted strings
|
||||
|
||||
Fixes #559
|
||||
```
|
||||
|
||||
```
|
||||
e2a635b6e5f5942f999213434054e06833c5cb06
|
||||
Dont fail when codecov is being finicky
|
||||
```
|
||||
|
||||
```
|
||||
666e83cf4fd0eb327f465d5b919a708790f99b00
|
||||
Fix JSON objects failing to pass
|
||||
|
||||
Maybe I should run the whole test suite, not just the things I think
|
||||
matter? Nah....
|
||||
```
|
||||
|
||||
```
|
||||
741adfa7bb2b950d2851c3f0072d6a4769f22773
|
||||
|
||||
Use blit to draw boxes, add colors.toBlit (#570)
|
||||
```
|
||||
|
||||
```
|
||||
d13bd2cce8d102ad7f61f557e707d6fe3731bc37
|
||||
|
||||
use arg[0] in all usage printouts (#571)
|
||||
```
|
||||
|
||||
```
|
||||
74ac5bb3d17e5bee30643a5d6702696600c06229
|
||||
|
||||
Bump to 1.94.0
|
||||
```
|
||||
|
||||
[TODO] [M3R1-02] Zero Clue how to reimplement this in fabric.
|
||||
```
|
||||
c8aeddedd4ed430f9cb6428676ebb4fa39834182
|
||||
|
||||
Auto-generate monitor models
|
||||
|
||||
I didn't think it was worth it, and then I found myself needing to
|
||||
update a dozen of them. The code isn't especially pretty, but it works,
|
||||
so that's fine.
|
||||
|
||||
Also fixes several issues with us using the wrong texture (closes #572).
|
||||
I've put together a wiki page[1] which describes each texture in a
|
||||
little more detail.
|
||||
|
||||
[1] https://github.com/SquidDev-CC/CC-Tweaked/wiki/Monitor-texture-reference
|
||||
```
|
||||
|
||||
```
|
||||
7f90f2f7cadce0d5b9177b16626979591bce8137
|
||||
|
||||
Clean up some examples a little bit
|
||||
|
||||
Would be good if they didn't crash and burn on entry :).
|
||||
```
|
||||
|
||||
```
|
||||
f194f4fa3a17c48ff1a9088d50063f4a675a23b6
|
||||
|
||||
Fix epoch documentation to use milliseconds (#580)
|
||||
```
|
||||
|
||||
```
|
||||
d2a1a00dc43e5b65f6b64111ce76dd3db16c919f
|
||||
|
||||
Clear gets an option to reset the palette (#582)
|
||||
|
||||
Fixes #555.
|
||||
```
|
||||
|
||||
```
|
||||
aab0cd34cd64fdf837ff1c3b91a957a25c2cf7f9
|
||||
|
||||
Use term.blit on original paint render
|
||||
|
||||
This makes it super speedy, meaning an initial refresh doesn't take ages
|
||||
to load.
|
||||
```
|
||||
|
||||
```
|
||||
b0651082f472baee8f0fa8ec7ba95f433e2637bb
|
||||
|
||||
Cleanup examples for the various modules
|
||||
```
|
||||
|
||||
Ignored Documentation Changes, these are locate
|
||||
|
||||
```
|
||||
9a749642d294506095e697a3a4345dfe260bd68c
|
||||
|
||||
Strict Globals (#583)
|
||||
```
|
||||
|
||||
```
|
||||
fff8353451451be5ae31e0f63d8e529b127fd186
|
||||
|
||||
Remove extra space (#586)
|
||||
```
|
||||
|
||||
```
|
||||
486f41f08286ddcfad91d72b83a9361bd9c215cb
|
||||
|
||||
Fixed length check on function name in `expect` (#589)
|
||||
```
|
||||
|
||||
```
|
||||
04f9644ae75dafc72da4c4790f334d2e90b03e6f
|
||||
|
||||
Allow strings or numbers in textutils.*tabulate
|
||||
|
||||
A little dubious, but apparently CC used to support it. This means we're
|
||||
consistent with methods like io.write or string.len which accept strings
|
||||
or numbers.
|
||||
|
||||
Fixes #591
|
||||
```
|
||||
|
||||
```
|
||||
d4199064ae5ae8023c589f80f12d94e1c6bbc2b5
|
||||
|
||||
Make fs.combine accept multiple arguments
|
||||
|
||||
Means we can now do fs.combine("a", "b", "c"). Of course, one may just
|
||||
write "a/b/c" in this case, but it's definitely useful elsewhere.
|
||||
|
||||
This is /technically/ a breaking change as fs.combine(a, b:gsub(...))
|
||||
will no longer function (as gsub returns multiple arguments). However,
|
||||
I've done a quick search through GH and my Pastebin archives and can't
|
||||
find any programs which would break. Fingers crossed.
|
||||
```
|
||||
|
||||
```
|
||||
24af36743d08fcdb58439c52bf587b33ed828263
|
||||
|
||||
Try to handle a turtle being broken while ticked
|
||||
|
||||
Hopefully fixes #585. Hopefully.
|
||||
```
|
||||
|
||||
```
|
||||
511eea39a11956c82e2c11a47b2e7cad27f9887e
|
||||
|
||||
Remove <!-- -->s in usages
|
||||
```
|
||||
|
||||
```
|
||||
826797cbd579e867f0f35f0be44b6a28c8c094a9
|
||||
|
||||
Added documentation for global functions (#592)
|
||||
```
|
||||
Didn't port the docs over.
|
||||
|
||||
```
|
||||
d83a68f3ff6e3833278a38798d06215293656e85
|
||||
|
||||
Allow $private HTTP rule to block any private IP
|
||||
```
|
||||
The config still uses a `blacklist` and `whitelist` array.
|
||||
|
||||
```
|
||||
24d3777722812f975d2bc4594437fbbb0431d910
|
||||
|
||||
Added improved help viewer (#595)
|
||||
```
|
||||
Didn't port the lua tests over.
|
||||
|
||||
```
|
||||
737b3cb57696fb5517252e7db38bc88ce960b4d8
|
||||
|
||||
Don't use capabilities for generic peripherals
|
||||
```
|
||||
Not ported, related to forges capability system which is not used in the port.
|
||||
|
||||
```
|
||||
ea3a16036794357c3a44edffc90fdb652e03881e
|
||||
|
||||
Remove a couple of todos
|
||||
```
|
||||
|
||||
```
|
||||
bb8f4c624bf87169b73fb631d8250cfc38181e15
|
||||
|
||||
Some sanity checks for get{Direction,Orientation}
|
||||
```
|
||||
Use `getCachedState` instead of forge's `getBlockState` and `contains` instead of `has`.
|
||||
|
||||
```
|
||||
05c3c8ad3269c9025757f9261e7f609889fb6bdc
|
||||
|
||||
Generate docs for generic peripherals
|
||||
```
|
||||
Skipped everything except some removed whitespace.
|
||||
|
||||
```
|
||||
85cf2d5ff1b63010de4661301801aa504e5b9015
|
||||
|
||||
Docs for energy and inventory methods
|
||||
```
|
||||
and
|
||||
```
|
||||
5865e9c41a0140b9f1acdd2fb095353c467fbb45
|
||||
|
||||
Not sure what irritates me more
|
||||
```
|
||||
both skipped because the changes where already ported.
|
||||
|
||||
```
|
||||
4ae370b9dbaf1de0ed32a5f32340b1448136c9cc
|
||||
|
||||
Merge pull request #606 from TheWireLord/numpadenter-support
|
||||
```
|
||||
Just lua changes.
|
||||
|
||||
```
|
||||
f5eb6ce03e0d9bbbf77130452afd4b49e758f7bd
|
||||
|
||||
Fix copy-paste error in inventory docs
|
||||
```
|
||||
Skipped because it was already ported.
|
||||
|
||||
```
|
||||
663859d2e5a97edefebf9ac36206903d7dd33a3e
|
||||
Fix double URL decode
|
||||
```
|
||||
|
||||
```
|
||||
abf425dfb5553483cdc51c50a6b7d8b5e44814f4
|
||||
|
||||
Fix overflow in os.epoch
|
||||
```
|
||||
|
||||
```
|
||||
e3a672099c1b5d2c06f9fe4d8ccd024fef0873a2
|
||||
|
||||
Fix JEI integration with turtle/pocket upgrades
|
||||
```
|
||||
Skipped because there seems to be no REI integration.
|
||||
|
||||
```
|
||||
2f0cae0bc1b038ac092bafa7f65a317537203cd8
|
||||
|
||||
Make upgrade recipe requirements a little more lax
|
||||
```
|
||||
[TODO] [JUMT-01] Crafting is still messed up, but this port didn't change the behavior.
|
||||
[TODO] [JUMT-02] Tag comparison code doesn't need to be that verbose, a simple `isEqual` check would suffice.
|
||||
|
||||
```
|
||||
7f9a707f75636d5816f752dc93d7b6b998c61a03
|
||||
|
||||
Bump version to 1.95.0
|
||||
```
|
||||
Changed the name from CC: Tweaked to CC: Restitched in the changelog and whatsnew files. New version is 1.95.0-beta.
|
||||
|
||||
```
|
||||
4af5bcc0b0ff464e7e7428c389d47140580ea7a7
|
||||
|
||||
Fix serveral 1.15 -> 1.16 issues
|
||||
```
|
||||
Skipped, changes where already made.
|
||||
|
||||
```
|
||||
b8d5a89446ac02fc5b38cc5c0b4805de9d11a7d5
|
||||
|
||||
Add explicit @module annotation
|
||||
```
|
||||
Tiny lua change.
|
||||
|
||||
```
|
||||
8b17ec76a8e94251803e6f4ba4e65970c6a70b7f
|
||||
|
||||
Fixed missing argument names in file handle docs (#632)
|
||||
```
|
||||
A java doc change.
|
||||
|
||||
```
|
||||
e4b0a5b3ce035eb23feb4191432fc49af5772c5b
|
||||
|
||||
2020 -> 2021
|
||||
```
|
||||
A huge amount of changes.
|
||||
|
||||
```
|
||||
542b66c79a9b08e080c39c9a73d74ffe71c0106a
|
||||
|
||||
Add back command computer block drops
|
||||
```
|
||||
Didn't port some forge-related changes, but it works.
|
||||
|
||||
```
|
||||
dd6f97622e6c18ce0d8988da6a5bede45c94ca5d
|
||||
|
||||
Prevent reflection errors crashing the game
|
||||
```
|
||||
|
||||
```
|
||||
92be0126df63927d07fc695945f8b98e328f945a
|
||||
|
||||
Fix disk recipes
|
||||
```
|
||||
Dye recipes actually work now.
|
||||
|
||||
```
|
||||
1edb7288b974aec3764b0a820edce7e9eee38e66
|
||||
|
||||
Merge branch 'mc-1.15.x' into mc-1.16.x
|
||||
```
|
||||
New version: 1.95.1.
|
||||
|
||||
```
|
||||
41226371f3b5fd35f48b6d39c2e8e0c277125b21
|
||||
|
||||
Add isReadOnly to fs.attributes (#639)
|
||||
```
|
||||
Also changed some lua test files, but made the changes anyway.
|
||||
|
||||
```
|
||||
b2e54014869fac4b819b01b6c24e550ca113ce8a
|
||||
|
||||
Added Numpad Enter Support in rom lua programs. (#657)
|
||||
```
|
||||
Just lua changes.
|
||||
|
||||
```
|
||||
247c05305d106af430fcdaee41371a152bf7c38c
|
||||
|
||||
Fix problem with RepeatArgumentType
|
||||
```
|
||||
|
||||
```
|
||||
c864576619751077a0d8ac1a18123e14b095ec03
|
||||
|
||||
Fix impostor recipes for disks
|
||||
```
|
||||
[TODO] [JUMT-03] REI still shows white disks, probably because it doesn' show nbt items.
|
||||
|
||||
```
|
||||
c5694ea9661c7a40021ebd280c378bd7bdc56988
|
||||
|
||||
Merge branch 'mc-1.15.x' into mc-1.16.x
|
||||
```
|
||||
Update to 1.16.4.
|
||||
|
||||
```
|
||||
1f84480a80677cfaaf19d319290f5b44635eba47
|
||||
|
||||
Make rightAlt only close menu, never open it. (#672)
|
||||
```
|
||||
Lua changes.
|
||||
|
||||
```
|
||||
1255bd00fd21247a50046020d7d9a396f66bc6bd
|
||||
|
||||
Fix mounts being usable after a disk is ejected
|
||||
```
|
||||
Reverted a lot of code style changes made by Zundrel, so the diffs are huge.
|
||||
|
||||
```
|
||||
b90611b4b4c176ec1c80df002cc4ac36aa0c4dc8
|
||||
|
||||
Preserve registration order of upgrades
|
||||
```
|
||||
Again, a huge diff because of code style changes.
|
||||
|
||||
```
|
||||
8494ba8ce29cd8d7b9105eef497fe3fe3f89d350
|
||||
|
||||
Improve UX when a resource mount cannot be found
|
||||
```
|
@@ -1,56 +0,0 @@
|
||||
import { readFileSync } from "fs";
|
||||
import path from "path";
|
||||
|
||||
import typescript from "@rollup/plugin-typescript";
|
||||
import url from '@rollup/plugin-url';
|
||||
import { terser } from "rollup-plugin-terser";
|
||||
|
||||
const input = "src/web";
|
||||
const requirejs = readFileSync("node_modules/requirejs/require.js");
|
||||
|
||||
export default {
|
||||
input: [`${input}/index.tsx`],
|
||||
output: {
|
||||
dir: "build/rollup/",
|
||||
// We bundle requirejs (and config) into the header. It's rather gross
|
||||
// but also works reasonably well.
|
||||
// Also suffix a ?v=${date} onto the end in the event we need to require a specific copy-cat version.
|
||||
banner: `
|
||||
${requirejs}
|
||||
require.config({
|
||||
paths: { copycat: "https://copy-cat.squiddev.cc" },
|
||||
urlArgs: function(id) { return id == "copycat/embed" ? "?v=20211221" : ""; }
|
||||
});
|
||||
`,
|
||||
format: "amd",
|
||||
preferConst: true,
|
||||
amd: {
|
||||
define: "require",
|
||||
}
|
||||
},
|
||||
context: "window",
|
||||
external: ["copycat/embed"],
|
||||
|
||||
plugins: [
|
||||
typescript(),
|
||||
|
||||
url({
|
||||
include: "**/*.dfpwm",
|
||||
fileName: "[name]-[hash][extname]",
|
||||
publicPath: "/",
|
||||
}),
|
||||
|
||||
{
|
||||
name: "cc-tweaked",
|
||||
async transform(code, file) {
|
||||
// Allow loading files in /mount.
|
||||
const ext = path.extname(file);
|
||||
return ext != '.dfpwm' && path.dirname(file) === path.resolve(`${input}/mount`)
|
||||
? `export default ${JSON.stringify(code)};\n`
|
||||
: null;
|
||||
},
|
||||
},
|
||||
|
||||
terser(),
|
||||
],
|
||||
};
|
@@ -1 +1,11 @@
|
||||
rootProject.name = "cc-tweaked-${mc_version}"
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven {
|
||||
name = 'Fabric'
|
||||
url = 'https://maven.fabricmc.net/'
|
||||
}
|
||||
gradlePluginPortal()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "cc-restitched"
|
||||
|
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north,state=off": {
|
||||
"model": "computercraft:block/computer_advanced_off"
|
||||
},
|
||||
"facing=south,state=off": {
|
||||
"model": "computercraft:block/computer_advanced_off",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=off": {
|
||||
"model": "computercraft:block/computer_advanced_off",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=off": {
|
||||
"model": "computercraft:block/computer_advanced_off",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,state=on": {
|
||||
"model": "computercraft:block/computer_advanced_on"
|
||||
},
|
||||
"facing=south,state=on": {
|
||||
"model": "computercraft:block/computer_advanced_on",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=on": {
|
||||
"model": "computercraft:block/computer_advanced_on",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=on": {
|
||||
"model": "computercraft:block/computer_advanced_on",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,state=blinking": {
|
||||
"model": "computercraft:block/computer_advanced_blinking"
|
||||
},
|
||||
"facing=south,state=blinking": {
|
||||
"model": "computercraft:block/computer_advanced_blinking",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=blinking": {
|
||||
"model": "computercraft:block/computer_advanced_blinking",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=blinking": {
|
||||
"model": "computercraft:block/computer_advanced_blinking",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north,state=off": {
|
||||
"model": "computercraft:block/computer_command_off"
|
||||
},
|
||||
"facing=south,state=off": {
|
||||
"model": "computercraft:block/computer_command_off",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=off": {
|
||||
"model": "computercraft:block/computer_command_off",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=off": {
|
||||
"model": "computercraft:block/computer_command_off",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,state=on": {
|
||||
"model": "computercraft:block/computer_command_on"
|
||||
},
|
||||
"facing=south,state=on": {
|
||||
"model": "computercraft:block/computer_command_on",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=on": {
|
||||
"model": "computercraft:block/computer_command_on",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=on": {
|
||||
"model": "computercraft:block/computer_command_on",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,state=blinking": {
|
||||
"model": "computercraft:block/computer_command_blinking"
|
||||
},
|
||||
"facing=south,state=blinking": {
|
||||
"model": "computercraft:block/computer_command_blinking",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=blinking": {
|
||||
"model": "computercraft:block/computer_command_blinking",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=blinking": {
|
||||
"model": "computercraft:block/computer_command_blinking",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north,state=off": {
|
||||
"model": "computercraft:block/computer_normal_off"
|
||||
},
|
||||
"facing=south,state=off": {
|
||||
"model": "computercraft:block/computer_normal_off",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=off": {
|
||||
"model": "computercraft:block/computer_normal_off",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=off": {
|
||||
"model": "computercraft:block/computer_normal_off",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,state=on": {
|
||||
"model": "computercraft:block/computer_normal_on"
|
||||
},
|
||||
"facing=south,state=on": {
|
||||
"model": "computercraft:block/computer_normal_on",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=on": {
|
||||
"model": "computercraft:block/computer_normal_on",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=on": {
|
||||
"model": "computercraft:block/computer_normal_on",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,state=blinking": {
|
||||
"model": "computercraft:block/computer_normal_blinking"
|
||||
},
|
||||
"facing=south,state=blinking": {
|
||||
"model": "computercraft:block/computer_normal_blinking",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,state=blinking": {
|
||||
"model": "computercraft:block/computer_normal_blinking",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,state=blinking": {
|
||||
"model": "computercraft:block/computer_normal_blinking",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,852 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced"
|
||||
},
|
||||
"facing=south,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_advanced",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l"
|
||||
},
|
||||
"facing=south,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_advanced_l",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r"
|
||||
},
|
||||
"facing=south,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_advanced_r",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr"
|
||||
},
|
||||
"facing=south,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_advanced_lr",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u"
|
||||
},
|
||||
"facing=south,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_advanced_u",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d"
|
||||
},
|
||||
"facing=south,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_advanced_d",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud"
|
||||
},
|
||||
"facing=south,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_advanced_ud",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd"
|
||||
},
|
||||
"facing=south,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_advanced_rd",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld"
|
||||
},
|
||||
"facing=south,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_advanced_ld",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru"
|
||||
},
|
||||
"facing=south,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_advanced_ru",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu"
|
||||
},
|
||||
"facing=south,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_advanced_lu",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd"
|
||||
},
|
||||
"facing=south,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud"
|
||||
},
|
||||
"facing=south,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud"
|
||||
},
|
||||
"facing=south,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru"
|
||||
},
|
||||
"facing=south,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud"
|
||||
},
|
||||
"facing=south,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,852 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_normal"
|
||||
},
|
||||
"facing=south,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=none": {
|
||||
"model": "computercraft:block/monitor_normal",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l"
|
||||
},
|
||||
"facing=south,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=l": {
|
||||
"model": "computercraft:block/monitor_normal_l",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r"
|
||||
},
|
||||
"facing=south,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=r": {
|
||||
"model": "computercraft:block/monitor_normal_r",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr"
|
||||
},
|
||||
"facing=south,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lr": {
|
||||
"model": "computercraft:block/monitor_normal_lr",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u"
|
||||
},
|
||||
"facing=south,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=u": {
|
||||
"model": "computercraft:block/monitor_normal_u",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d"
|
||||
},
|
||||
"facing=south,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=d": {
|
||||
"model": "computercraft:block/monitor_normal_d",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud"
|
||||
},
|
||||
"facing=south,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=ud": {
|
||||
"model": "computercraft:block/monitor_normal_ud",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd"
|
||||
},
|
||||
"facing=south,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=rd": {
|
||||
"model": "computercraft:block/monitor_normal_rd",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld"
|
||||
},
|
||||
"facing=south,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=ld": {
|
||||
"model": "computercraft:block/monitor_normal_ld",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru"
|
||||
},
|
||||
"facing=south,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=ru": {
|
||||
"model": "computercraft:block/monitor_normal_ru",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu"
|
||||
},
|
||||
"facing=south,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lu": {
|
||||
"model": "computercraft:block/monitor_normal_lu",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd"
|
||||
},
|
||||
"facing=south,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_normal_lrd",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud"
|
||||
},
|
||||
"facing=south,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_normal_rud",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud"
|
||||
},
|
||||
"facing=south,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_normal_lud",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru"
|
||||
},
|
||||
"facing=south,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_normal_lru",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 270
|
||||
},
|
||||
"facing=south,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud"
|
||||
},
|
||||
"facing=south,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north": {
|
||||
"model": "computercraft:block/speaker"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "computercraft:block/speaker",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "computercraft:block/speaker",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "computercraft:block/speaker",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north": {
|
||||
"model": "computercraft:block/turtle_advanced"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "computercraft:block/turtle_advanced",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "computercraft:block/turtle_advanced",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "computercraft:block/turtle_advanced",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=north": {
|
||||
"model": "computercraft:block/turtle_normal"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "computercraft:block/turtle_normal",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "computercraft:block/turtle_normal",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "computercraft:block/turtle_normal",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"modem=false,peripheral=false": {
|
||||
"model": "computercraft:block/wired_modem_full_off"
|
||||
},
|
||||
"modem=true,peripheral=false": {
|
||||
"model": "computercraft:block/wired_modem_full_on"
|
||||
},
|
||||
"modem=false,peripheral=true": {
|
||||
"model": "computercraft:block/wired_modem_full_off_peripheral"
|
||||
},
|
||||
"modem=true,peripheral=true": {
|
||||
"model": "computercraft:block/wired_modem_full_on_peripheral"
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=down,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_off",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=up,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_off",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_off"
|
||||
},
|
||||
"facing=south,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_off",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_off",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_off",
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_on",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=up,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_on",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_on"
|
||||
},
|
||||
"facing=south,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_on",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_on",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_advanced_on",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=down,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_normal_off",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=up,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_normal_off",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_normal_off"
|
||||
},
|
||||
"facing=south,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_normal_off",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_normal_off",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,on=false": {
|
||||
"model": "computercraft:block/wireless_modem_normal_off",
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_normal_on",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=up,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_normal_on",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_normal_on"
|
||||
},
|
||||
"facing=south,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_normal_on",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_normal_on",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,on=true": {
|
||||
"model": "computercraft:block/wireless_modem_normal_on",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_advanced_side",
|
||||
"front": "computercraft:block/computer_advanced_front_blink",
|
||||
"top": "computercraft:block/computer_advanced_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_advanced_side",
|
||||
"front": "computercraft:block/computer_advanced_front",
|
||||
"top": "computercraft:block/computer_advanced_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_advanced_side",
|
||||
"front": "computercraft:block/computer_advanced_front_on",
|
||||
"top": "computercraft:block/computer_advanced_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_command_side",
|
||||
"front": "computercraft:block/computer_command_front_blink",
|
||||
"top": "computercraft:block/computer_command_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_command_side",
|
||||
"front": "computercraft:block/computer_command_front",
|
||||
"top": "computercraft:block/computer_command_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_command_side",
|
||||
"front": "computercraft:block/computer_command_front_on",
|
||||
"top": "computercraft:block/computer_command_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_normal_side",
|
||||
"front": "computercraft:block/computer_normal_front_blink",
|
||||
"top": "computercraft:block/computer_normal_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_normal_side",
|
||||
"front": "computercraft:block/computer_normal_front",
|
||||
"top": "computercraft:block/computer_normal_top"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/computer_normal_side",
|
||||
"front": "computercraft:block/computer_normal_front_on",
|
||||
"top": "computercraft:block/computer_normal_top"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_16",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_0",
|
||||
"back": "computercraft:block/monitor_advanced_32"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_20",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_0",
|
||||
"back": "computercraft:block/monitor_advanced_36"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"front": "computercraft:block/monitor_advanced_15",
|
||||
"top": "computercraft:block/monitor_advanced_0"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_19",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_1",
|
||||
"back": "computercraft:block/monitor_advanced_33"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_31",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_1",
|
||||
"back": "computercraft:block/monitor_advanced_45"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_18",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_2",
|
||||
"back": "computercraft:block/monitor_advanced_34"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_30",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_2",
|
||||
"back": "computercraft:block/monitor_advanced_46"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_24",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_2",
|
||||
"back": "computercraft:block/monitor_advanced_40"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_27",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_2",
|
||||
"back": "computercraft:block/monitor_advanced_43"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_25",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_1",
|
||||
"back": "computercraft:block/monitor_advanced_39"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_28",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_1",
|
||||
"back": "computercraft:block/monitor_advanced_42"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_17",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_3",
|
||||
"back": "computercraft:block/monitor_advanced_35"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_29",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_3",
|
||||
"back": "computercraft:block/monitor_advanced_47"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_23",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_3",
|
||||
"back": "computercraft:block/monitor_advanced_41"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_26",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_3",
|
||||
"back": "computercraft:block/monitor_advanced_44"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_22",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_0",
|
||||
"back": "computercraft:block/monitor_advanced_38"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_advanced_21",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_0",
|
||||
"back": "computercraft:block/monitor_advanced_37"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_16",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_0",
|
||||
"back": "computercraft:block/monitor_normal_32"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_20",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_0",
|
||||
"back": "computercraft:block/monitor_normal_36"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"front": "computercraft:block/monitor_normal_15",
|
||||
"top": "computercraft:block/monitor_normal_0"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_19",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_1",
|
||||
"back": "computercraft:block/monitor_normal_33"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_31",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_1",
|
||||
"back": "computercraft:block/monitor_normal_45"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_18",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_2",
|
||||
"back": "computercraft:block/monitor_normal_34"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_30",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_2",
|
||||
"back": "computercraft:block/monitor_normal_46"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_24",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_2",
|
||||
"back": "computercraft:block/monitor_normal_40"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_27",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_2",
|
||||
"back": "computercraft:block/monitor_normal_43"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_25",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_1",
|
||||
"back": "computercraft:block/monitor_normal_39"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_28",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_1",
|
||||
"back": "computercraft:block/monitor_normal_42"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_17",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_3",
|
||||
"back": "computercraft:block/monitor_normal_35"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_29",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_3",
|
||||
"back": "computercraft:block/monitor_normal_47"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_23",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_3",
|
||||
"back": "computercraft:block/monitor_normal_41"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_26",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_3",
|
||||
"back": "computercraft:block/monitor_normal_44"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_22",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_0",
|
||||
"back": "computercraft:block/monitor_normal_38"
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"front": "computercraft:block/monitor_normal_21",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_0",
|
||||
"back": "computercraft:block/monitor_normal_37"
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"side": "computercraft:block/speaker_side",
|
||||
"front": "computercraft:block/speaker_front",
|
||||
"top": "computercraft:block/speaker_top"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user