mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-11-03 23:22:59 +00:00 
			
		
		
		
	Compare commits
	
		
			536 Commits
		
	
	
		
			v1.20.1-1.
			...
			v1.18.2-1.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					4621f8a978 | ||
| 
						 | 
					4ee94f488b | ||
| 
						 | 
					d8bb05f30e | ||
| 
						 | 
					12a5f7daeb | ||
| 
						 | 
					af91837e46 | ||
| 
						 | 
					bbd4ead31a | ||
| 
						 | 
					35c9c4df49 | ||
| 
						 | 
					00ae44c204 | ||
| 
						 | 
					4bf0ad7d2f | ||
| 
						 | 
					2b6336985e | ||
| 
						 | 
					a0d013aaca | ||
| 
						 | 
					cdcfc8ef05 | ||
| 
						 | 
					dd48c65a6f | ||
| 
						 | 
					e294ee2bd5 | ||
| 
						 | 
					eface1495e | ||
| 
						 | 
					e529f45db7 | ||
| 
						 | 
					f4dde148f9 | ||
| 
						 | 
					7fda38f45a | ||
| 
						 | 
					c85797dc4f | ||
| 
						 | 
					f8fe161b70 | ||
| 
						 | 
					b360b992c2 | ||
| 
						 | 
					4bf071a329 | ||
| 
						 | 
					d2c5e20a34 | ||
| 
						 | 
					345cce9fa6 | ||
| 
						 | 
					846273077b | ||
| 
						 | 
					be842f2a33 | ||
| 
						 | 
					432daa1f2c | ||
| 
						 | 
					8ea1742135 | ||
| 
						 | 
					31a3b975d3 | ||
| 
						 | 
					87bb49337f | ||
| 
						 | 
					8c930d20b5 | ||
| 
						 | 
					344453735a | ||
| 
						 | 
					8d37f4804c | ||
| 
						 | 
					fc57d0a7e5 | ||
| 
						 | 
					883ac717d8 | ||
| 
						 | 
					b81ef83d68 | ||
| 
						 | 
					872b64692f | ||
| 
						 | 
					69af1de979 | ||
| 
						 | 
					1dd6c8d75c | ||
| 
						 | 
					32b856f77e | ||
| 
						 | 
					43101773bb | ||
| 
						 | 
					af863469e6 | ||
| 
						 | 
					9c00124d38 | ||
| 
						 | 
					f62811cb44 | ||
| 
						 | 
					330ab058d3 | ||
| 
						 | 
					654c7571c1 | ||
| 
						 | 
					7a50bf3979 | ||
| 
						 | 
					1153910dc0 | ||
| 
						 | 
					af6a240c09 | ||
| 
						 | 
					cc08eced48 | ||
| 
						 | 
					57cfcd8709 | ||
| 
						 | 
					190a110296 | ||
| 
						 | 
					5ee2dba7da | ||
| 
						 | 
					7f368727f4 | ||
| 
						 | 
					4850d4346d | ||
| 
						 | 
					9f337c2d1c | ||
| 
						 | 
					d9777a8d2f | ||
| 
						 | 
					ca37dbb591 | ||
| 
						 | 
					93b45bffed | ||
| 
						 | 
					482ed6f6b5 | ||
| 
						 | 
					cbe3cb8b3e | ||
| 
						 | 
					7b3537761b | ||
| 
						 | 
					6ad2cdaf62 | ||
| 
						 | 
					e6edee4c58 | ||
| 
						 | 
					6754c7bb69 | ||
| 
						 | 
					4914ad0040 | ||
| 
						 | 
					27102e6381 | ||
| 
						 | 
					9083e4f97b | ||
| 
						 | 
					f74a386312 | ||
| 
						 | 
					ad0080ef32 | ||
| 
						 | 
					a549400776 | ||
| 
						 | 
					d2405ee3c3 | ||
| 
						 | 
					2145d0fe14 | ||
| 
						 | 
					687352572d | ||
| 
						 | 
					147f396d28 | ||
| 
						 | 
					35d642b516 | ||
| 
						 | 
					dc20050547 | ||
| 
						 | 
					f5c8afa566 | ||
| 
						 | 
					6c73eb7df1 | ||
| 
						 | 
					745b732e87 | ||
| 
						 | 
					6c519aef63 | ||
| 
						 | 
					f880396286 | ||
| 
						 | 
					34760d3de4 | ||
| 
						 | 
					8983ecd03a | ||
| 
						 | 
					58e747506e | ||
| 
						 | 
					70a24d371d | ||
| 
						 | 
					73e3e237ad | ||
| 
						 | 
					dbbbe96df2 | ||
| 
						 | 
					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
 | 
			
		||||
							
								
								
									
										17
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
---
 | 
			
		||||
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.
 | 
			
		||||
  - Please send `latest.log` AND the appropriate crashlog,
 | 
			
		||||
 - 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 }}
 | 
			
		||||
							
								
								
									
										41
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
name: Release
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
    release:
 | 
			
		||||
        types:
 | 
			
		||||
            - published
 | 
			
		||||
    workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
    build:
 | 
			
		||||
        runs-on: ubuntu-latest
 | 
			
		||||
        steps:
 | 
			
		||||
            - uses: actions/cache@v2
 | 
			
		||||
              with:
 | 
			
		||||
                  path: |
 | 
			
		||||
                      ~/.gradle/loom-cache
 | 
			
		||||
                      ~/.gradle/caches
 | 
			
		||||
                      ~/.gradle/wrapper
 | 
			
		||||
                  key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
 | 
			
		||||
                  restore-keys: |
 | 
			
		||||
                      gradle-
 | 
			
		||||
            - uses: actions/checkout@v2
 | 
			
		||||
            - name: Set up JDK
 | 
			
		||||
              uses: actions/setup-java@v1
 | 
			
		||||
              with:
 | 
			
		||||
                  java-version: 17
 | 
			
		||||
 | 
			
		||||
            - name: Grant execute permission for gradlew
 | 
			
		||||
              run: chmod +x gradlew
 | 
			
		||||
 | 
			
		||||
            - name: Build and publish with Gradle
 | 
			
		||||
              run: ./gradlew build publish
 | 
			
		||||
              env:
 | 
			
		||||
                  CURSEFORGE: ${{ secrets.CURSEFORGE }}
 | 
			
		||||
                  MODRINTH: ${{ secrets.MODRINTH }}
 | 
			
		||||
                  CHANGELOG: ${{ github.event.release.body }}
 | 
			
		||||
            - name: Upload GitHub release
 | 
			
		||||
              uses: AButler/upload-release-assets@v2.0
 | 
			
		||||
              with:
 | 
			
		||||
                  files: 'build/libs/*.jar;!build/libs/*-sources.jar;!build/libs/*-dev.jar'
 | 
			
		||||
                  repo-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
[submodule "src/main/resources/resourcepacks/overhaul"]
 | 
			
		||||
	path = src/main/resources/resourcepacks/overhaul
 | 
			
		||||
	url = https://github.com/cc-orgs/cc-overhaul
 | 
			
		||||
	branch = main
 | 
			
		||||
@@ -18,5 +18,3 @@ vscode:
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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."
 | 
			
		||||
							
								
								
									
										98
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								README.md
									
									
									
									
									
								
							@@ -1,53 +1,57 @@
 | 
			
		||||
# 
 | 
			
		||||
[](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).
 | 
			
		||||
 | 
			
		||||
## 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).
 | 
			
		||||
## 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/cc-orgs/cc-overhaul/main/pack.png" alt="CC: Restitched" width="32"  height="32"/> 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/cc-orgs/cc-overhaul/tree/main)!
 | 
			
		||||
 | 
			
		||||
## Bleeding Edge Ver.
 | 
			
		||||
Bleeding edge builds can be found [here](https://github.com/cc-tweaked/cc-restitched/actions) at Github Actions.
 | 
			
		||||
In the .zip file there should be a `-dev` jar, a `-javadoc` jar, a `-sources-dev` jar, a `-sources` jar, and a "plain" jar (jar without an affixed tag) jar.
 | 
			
		||||
Put the "plain" jar in the mods folder.
 | 
			
		||||
 | 
			
		||||
## Contributions
 | 
			
		||||
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) Follow the [Fabric](https://fabricmc.net/) programming guidelines as close as possible. This means you have to use [`loom`](https://fabricmc.net/wiki/tutorial:mappings) mappings, if you use anything else, your code will be rejected.
 | 
			
		||||
2) Make sure your code follows the checkstyle rules. You can test this by running `./gradle build` or `./gradle check`.
 | 
			
		||||
3)  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).
 | 
			
		||||
4) You cannot intentionally implement bugs and security vulnerabilities.
 | 
			
		||||
5) Unless the code is taken directly from CC: Tweaked, `lua` code is offlimits from alteration.
 | 
			
		||||
 | 
			
		||||
# Rendering Mod Compatability
 | 
			
		||||
* [ YES ] Sodium
 | 
			
		||||
* [ YES ] Optifine
 | 
			
		||||
	* Works with VBO Rendering (automatically set)
 | 
			
		||||
	* No issues
 | 
			
		||||
* [ OK ] Iris Shaders
 | 
			
		||||
	* "Works" with TBO Rendering (Default)
 | 
			
		||||
	* Works with VBO Rendering
 | 
			
		||||
* [ 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>
 | 
			
		||||
 | 
			
		||||
## 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!
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										541
									
								
								build.gradle
									
									
									
									
									
								
							
							
						
						
									
										541
									
								
								build.gradle
									
									
									
									
									
								
							@@ -1,36 +1,14 @@
 | 
			
		||||
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'
 | 
			
		||||
    id "com.modrinth.minotaur" version "2.+"
 | 
			
		||||
    id 'com.matthewprenger.cursegradle' version '1.4.0'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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(17)
 | 
			
		||||
java {
 | 
			
		||||
    toolchain {
 | 
			
		||||
@@ -47,6 +25,11 @@ tasks.withType(JavaExec).configureEach {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
version = mod_version
 | 
			
		||||
 | 
			
		||||
group = "dan200.computercraft"
 | 
			
		||||
archivesBaseName = "cc-restitched"
 | 
			
		||||
 | 
			
		||||
sourceSets {
 | 
			
		||||
    main.resources {
 | 
			
		||||
        srcDir 'src/generated/resources'
 | 
			
		||||
@@ -55,83 +38,8 @@ sourceSets {
 | 
			
		||||
    testMod {}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
minecraft {
 | 
			
		||||
    runs {
 | 
			
		||||
        all {
 | 
			
		||||
            lazyToken('minecraft_classpath') {
 | 
			
		||||
                configurations.shade.copyRecursive().resolve().collect { it.absolutePath }.join(File.pathSeparator)
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            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
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            lazyToken('minecraft_classpath') {
 | 
			
		||||
                (configurations.shade.copyRecursive().resolve() + configurations.testModExtra.copyRecursive().resolve())
 | 
			
		||||
                    .collect { it.absolutePath }
 | 
			
		||||
                    .join(File.pathSeparator)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        testServer {
 | 
			
		||||
            workingDirectory project.file('test-files/server')
 | 
			
		||||
            parent runs.server
 | 
			
		||||
 | 
			
		||||
            mods {
 | 
			
		||||
                cctest {
 | 
			
		||||
                    source sourceSets.testMod
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            lazyToken('minecraft_classpath') {
 | 
			
		||||
                (configurations.shade.copyRecursive().resolve() + configurations.testModExtra.copyRecursive().resolve())
 | 
			
		||||
                    .collect { it.absolutePath }
 | 
			
		||||
                    .join(File.pathSeparator)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // mappings channel: 'parchment', version: "${mapping_version}-${mc_version}"
 | 
			
		||||
    mappings channel: 'official', 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 {
 | 
			
		||||
@@ -140,49 +48,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
 | 
			
		||||
 | 
			
		||||
    testModExtra
 | 
			
		||||
    testModImplementation.extendsFrom(testModExtra)
 | 
			
		||||
    testModImplementation.extendsFrom(implementation)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    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.18.1:9.1.0.47:api")
 | 
			
		||||
    runtimeOnly fg.deobf("mezz.jei:jei-1.18.1:9.1.0.47")
 | 
			
		||||
    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}"
 | 
			
		||||
 | 
			
		||||
    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.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
 | 
			
		||||
    testModExtra('org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0') {
 | 
			
		||||
        exclude group: "org.jetbrains", module: "annotations"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    cctJavadoc 'cc.tweaked:cct-javadoc:1.4.5'
 | 
			
		||||
    cctJavadoc 'cc.tweaked:cct-javadoc:1.4.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 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 {
 | 
			
		||||
@@ -207,115 +151,30 @@ task luaJavadoc(type: Javadoc) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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",
 | 
			
		||||
        ])
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    from configurations.shade.collect { it.isDirectory() ? it : zipTree(it) }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
jar.finalizedBy('reobfJar')
 | 
			
		||||
 | 
			
		||||
[compileJava, compileTestJava, compileTestModJava].forEach {
 | 
			
		||||
[compileJava, compileTestJava].forEach {
 | 
			
		||||
    it.configure {
 | 
			
		||||
        options.compilerArgs << "-Xlint" << "-Xlint:-processing"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
processResources {
 | 
			
		||||
    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 'data/computercraft/lua/rom/help/credits.txt'
 | 
			
		||||
 | 
			
		||||
        expand(
 | 
			
		||||
            'gitcontributors': contributors.sort(false, String.CASE_INSENSITIVE_ORDER).join('\n')
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    from(sourceSets.main.resources.srcDirs) {
 | 
			
		||||
        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 com.modrinth.minotaur.TaskModrinthUpload
 | 
			
		||||
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 {
 | 
			
		||||
@@ -335,6 +194,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
 | 
			
		||||
@@ -363,7 +225,6 @@ gradle.projectsEvaluated {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
task licenseAPI(type: LicenseCheck)
 | 
			
		||||
task licenseFormatAPI(type: LicenseFormat)
 | 
			
		||||
[licenseAPI, licenseFormatAPI].forEach {
 | 
			
		||||
@@ -374,224 +235,66 @@ 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
 | 
			
		||||
 | 
			
		||||
def isStable = true
 | 
			
		||||
 | 
			
		||||
curseforge {
 | 
			
		||||
    apiKey = project.hasProperty('curseForgeApiKey') ? project.curseForgeApiKey : ''
 | 
			
		||||
    project {
 | 
			
		||||
        id = '282001'
 | 
			
		||||
        releaseType = isStable ? 'release' : 'alpha'
 | 
			
		||||
        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}"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
    versionType = isStable ? 'RELEASE' : 'ALPHA'
 | 
			
		||||
    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) {
 | 
			
		||||
        mavenJava(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")) }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // 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({
 | 
			
		||||
        def cmd = ["git", "rev-parse", "--abbrev-ref", "HEAD"]
 | 
			
		||||
        println(cmd)
 | 
			
		||||
        def proc = cmd.execute([], projectDir)
 | 
			
		||||
        if (proc.waitFor() != 0) {
 | 
			
		||||
            println(proc.err.text.trim())
 | 
			
		||||
            throw new IllegalStateException("Executed with a non-0 exit code (${proc.exitValue()}).")
 | 
			
		||||
if (System.getenv("MODRINTH")) {
 | 
			
		||||
    modrinth {
 | 
			
		||||
        token = System.getenv("MODRINTH")
 | 
			
		||||
 | 
			
		||||
        projectId = "eldBwa5V"
 | 
			
		||||
        versionName = "[" + ((String) project.mc_version) + "] " + version
 | 
			
		||||
        versionNumber = version
 | 
			
		||||
        versionType = "release"
 | 
			
		||||
        uploadFile = remapJar
 | 
			
		||||
        gameVersions = [((String) project.mc_version)]
 | 
			
		||||
        loaders = ["fabric"]
 | 
			
		||||
        changelog = System.getenv("CHANGELOG")
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    remapJar {
 | 
			
		||||
        finalizedBy project.tasks.modrinth
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if (System.getenv("CURSEFORGE")) {
 | 
			
		||||
    curseforge {
 | 
			
		||||
        apiKey = System.getenv("CURSEFORGE")
 | 
			
		||||
 | 
			
		||||
        project {
 | 
			
		||||
            id = "462672"
 | 
			
		||||
            releaseType = "release"
 | 
			
		||||
            changelog = System.getenv("CHANGELOG")
 | 
			
		||||
            changelogType = "markdown"
 | 
			
		||||
            addGameVersion ((String) project.mc_version)
 | 
			
		||||
            addGameVersion "Fabric"
 | 
			
		||||
            mainArtifact(remapJar) {
 | 
			
		||||
                displayName = "[" + ((String) project.mc_version) + "] " + version
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            afterEvaluate {
 | 
			
		||||
                uploadTask.dependsOn("remapJar")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        def branch = proc.text.trim()
 | 
			
		||||
        if (branch == "") throw new IllegalStateException("Cannot determine branch")
 | 
			
		||||
        return branch
 | 
			
		||||
    }))
 | 
			
		||||
        options {
 | 
			
		||||
            forgeGradleIntegration = false
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    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 !isStable
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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)"
 | 
			
		||||
    remapJar {
 | 
			
		||||
        finalizedBy project.tasks.curseforge
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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>
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,18 @@ FROM gitpod/workspace-base
 | 
			
		||||
 | 
			
		||||
USER gitpod
 | 
			
		||||
 | 
			
		||||
RUN sudo apt-get -q update \
 | 
			
		||||
 && sudo apt-get install -yq openjdk-16-jdk python3-pip npm \
 | 
			
		||||
 && sudo pip3 install pre-commit \
 | 
			
		||||
 && sudo update-java-alternatives --set java-1.16.0-openjdk-amd64
 | 
			
		||||
# 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 openjdk-17-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.17.0-openjdk-amd64
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,8 @@ exclude: |
 | 
			
		||||
  (?x)^(
 | 
			
		||||
    src/generated|
 | 
			
		||||
    src/test/resources/test-rom/data/json-parsing/|
 | 
			
		||||
    src/testMod/server-files/|
 | 
			
		||||
    src/test/server-files/|
 | 
			
		||||
    config/idea/|
 | 
			
		||||
    .vscode/|
 | 
			
		||||
    .*\.dfpwm
 | 
			
		||||
  )
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								doc/logo.png
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/logo.png
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 866 B  | 
@@ -1,10 +1,14 @@
 | 
			
		||||
# Done to increase the memory available to gradle.
 | 
			
		||||
org.gradle.jvmargs=-Xmx3G
 | 
			
		||||
 | 
			
		||||
# Mod properties
 | 
			
		||||
mod_version=1.100.2
 | 
			
		||||
mod_version=1.100.5
 | 
			
		||||
 | 
			
		||||
# Minecraft properties (update mods.toml when changing)
 | 
			
		||||
mc_version=1.18.1
 | 
			
		||||
mapping_version=2021.09.05
 | 
			
		||||
forge_version=39.0.0
 | 
			
		||||
# NO SERIOUSLY, UPDATE mods.toml WHEN CHANGING
 | 
			
		||||
# Minecraft properties
 | 
			
		||||
mc_version=1.18.2
 | 
			
		||||
fabric_api_version=0.47.8+1.18.2
 | 
			
		||||
fabric_loader_version=0.13.3
 | 
			
		||||
 | 
			
		||||
cloth_api_version=2.0.54
 | 
			
		||||
cloth_config_version=6.0.42
 | 
			
		||||
modmenu_version=3.0.0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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.3.1-bin.zip
 | 
			
		||||
zipStoreBase=GRADLE_USER_HOME
 | 
			
		||||
zipStorePath=wrapper/dists
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "loader": "computercraft:turtle",
 | 
			
		||||
  "model": "computercraft:block/turtle_advanced_base"
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "computercraft:block/turtle_base",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "texture": "computercraft:block/turtle_advanced"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "loader": "computercraft:turtle",
 | 
			
		||||
  "model": "computercraft:block/turtle_normal_base"
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "computercraft:block/turtle_base",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "texture": "computercraft:block/turtle_normal"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:block/cube_all",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "all": "computercraft:block/wired_modem_face"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:block/cube_all",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "all": "computercraft:block/wired_modem_face_peripheral"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:block/cube_all",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "all": "computercraft:block/wired_modem_face_on"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:block/cube_all",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "all": "computercraft:block/wired_modem_face_peripheral_on"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "computercraft:block/modem",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "front": "computercraft:block/wired_modem_face",
 | 
			
		||||
    "back": "computercraft:block/modem_back"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "computercraft:block/modem",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "front": "computercraft:block/wired_modem_face_peripheral",
 | 
			
		||||
    "back": "computercraft:block/modem_back"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user