mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2026-02-18 01:42:32 +01:00
Compare commits
1068 Commits
1.13-suppo
...
acf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db70d56493 | ||
|
|
eff1ce102f | ||
|
|
705b57a30b | ||
|
|
d4ba9d7605 | ||
|
|
3b3396ce2c | ||
|
|
4cd91350db | ||
|
|
b3bea7833f | ||
|
|
b0c7e0368a | ||
|
|
4e895b7361 | ||
|
|
6168309ec9 | ||
|
|
95c403a467 | ||
|
|
a598796c99 | ||
|
|
a333f36fd8 | ||
|
|
7c6d5c476d | ||
|
|
e2073ff9f7 | ||
|
|
8f26544188 | ||
|
|
4e21f1a200 | ||
|
|
ab6dbe306d | ||
|
|
19a4c0238f | ||
|
|
c071471bdf | ||
|
|
85550c5750 | ||
|
|
3c382a11ed | ||
|
|
f45c70b694 | ||
|
|
38d64f207d | ||
|
|
2d342f8a3d | ||
|
|
3b276b59cf | ||
|
|
4ff4def56a | ||
|
|
63de093ebb | ||
|
|
b34f0d62d6 | ||
|
|
a74f33c96d | ||
|
|
8e8024e3e1 | ||
|
|
4f161812aa | ||
|
|
24ba3b1a01 | ||
|
|
359e3e34ad | ||
|
|
ab0fc06dc2 | ||
|
|
11ca0d9ff1 | ||
|
|
4eef4a3e41 | ||
|
|
816b64cb70 | ||
|
|
dceee5554d | ||
|
|
e3edc9a18f | ||
|
|
aaffafb88b | ||
|
|
2e5a12a72b | ||
|
|
769a26a911 | ||
|
|
8094be46c8 | ||
|
|
2525ce9abe | ||
|
|
47bcd1223b | ||
|
|
ea70c937f2 | ||
|
|
3eb160a794 | ||
|
|
4b6e2c35b2 | ||
|
|
550a3df616 | ||
|
|
657abb76a7 | ||
|
|
0ffcff53b3 | ||
|
|
33f4ac14b5 | ||
|
|
15d3119627 | ||
|
|
4fd94bfe29 | ||
|
|
ac731258c7 | ||
|
|
7b8c90d362 | ||
|
|
055391e908 | ||
|
|
cd6ce5a19d | ||
|
|
7441d2d8d6 | ||
|
|
7b941baa1c | ||
|
|
0c1fa07079 | ||
|
|
539cd7290e | ||
|
|
406429f4e3 | ||
|
|
40802e6bae | ||
|
|
421a394f68 | ||
|
|
d4adb490e2 | ||
|
|
de5a8babc5 | ||
|
|
d892bfe83a | ||
|
|
ceaff0c862 | ||
|
|
a118d8465e | ||
|
|
7c156319be | ||
|
|
24b3bf1100 | ||
|
|
41bdca948a | ||
|
|
5441a7eb96 | ||
|
|
c45f2ce406 | ||
|
|
3cbbf1bee0 | ||
|
|
8fd1af4cbf | ||
|
|
601297799f | ||
|
|
da98be88ad | ||
|
|
1104f48ad5 | ||
|
|
af50699de1 | ||
|
|
1c71f1daf5 | ||
|
|
b7dd491c01 | ||
|
|
3ce0d7b972 | ||
|
|
9dcbccb010 | ||
|
|
c5cbab39b6 | ||
|
|
ca1906fbc5 | ||
|
|
7eab20ef56 | ||
|
|
25a9c75a5a | ||
|
|
9911c406f8 | ||
|
|
fdb900ec5d | ||
|
|
bf94073935 | ||
|
|
bfcc167862 | ||
|
|
2a606b1ed1 | ||
|
|
edc8701e35 | ||
|
|
188b0f9813 | ||
|
|
e6c9cc6fdd | ||
|
|
76ca7cc88f | ||
|
|
335d708848 | ||
|
|
b4179cb9a6 | ||
|
|
8bbf95e9da | ||
|
|
dc805825de | ||
|
|
871ca744d9 | ||
|
|
1b091bdbd5 | ||
|
|
31dc7bf03f | ||
|
|
7be849da2a | ||
|
|
b572494c9c | ||
|
|
143714c9eb | ||
|
|
110d9a633b | ||
|
|
584859318b | ||
|
|
4bff07bd2b | ||
|
|
365938f351 | ||
|
|
7f6bbadc1c | ||
|
|
ec1fdea40d | ||
|
|
8febe2d0bd | ||
|
|
6e0f8f99fa | ||
|
|
1eb2c7b2d7 | ||
|
|
3310a12a95 | ||
|
|
433f6d085d | ||
|
|
0509f4f63e | ||
|
|
d2028321d4 | ||
|
|
4437f419cb | ||
|
|
a58d875d74 | ||
|
|
154d0a8d50 | ||
|
|
9e01a07542 | ||
|
|
f13364eb04 | ||
|
|
b763a56d75 | ||
|
|
c7d2631a79 | ||
|
|
0cea66a084 | ||
|
|
15913c8cf0 | ||
|
|
ba5c24fa3c | ||
|
|
f53d4bde67 | ||
|
|
83373275f7 | ||
|
|
90897c9ae1 | ||
|
|
7385679ec5 | ||
|
|
075ccbf4da | ||
|
|
8a4318ee1f | ||
|
|
8e1f002808 | ||
|
|
3700128b21 | ||
|
|
c44ca47bfe | ||
|
|
6125b3fbd2 | ||
|
|
2ee102b44f | ||
|
|
c0bfdd34b7 | ||
|
|
fd7bcc4a32 | ||
|
|
7f94f3833d | ||
|
|
df6386ec2f | ||
|
|
f1de5484ec | ||
|
|
20b9b0d0fe | ||
|
|
8a4b1bf307 | ||
|
|
46b881e730 | ||
|
|
d484ccc15e | ||
|
|
e8f14eece0 | ||
|
|
8ad08298d0 | ||
|
|
297ce64a24 | ||
|
|
32d9eaab3d | ||
|
|
e1656423c1 | ||
|
|
f52144fb3e | ||
|
|
f7aaf25d93 | ||
|
|
3552457790 | ||
|
|
564b8ceb94 | ||
|
|
4b1cdbf493 | ||
|
|
f0636ef47e | ||
|
|
68f6fea66a | ||
|
|
bde66ee4e1 | ||
|
|
ec4fbe678e | ||
|
|
2735cb1666 | ||
|
|
1c2d1fa56f | ||
|
|
14fa243b69 | ||
|
|
815131a013 | ||
|
|
3aead73d07 | ||
|
|
b0803df7c5 | ||
|
|
50e955d07e | ||
|
|
67a2841705 | ||
|
|
d4826eebd8 | ||
|
|
12e3a5d222 | ||
|
|
57c30bac98 | ||
|
|
efbd9d52c3 | ||
|
|
ef25385786 | ||
|
|
b399c415dc | ||
|
|
810a29cb9d | ||
|
|
9b6e6d7861 | ||
|
|
4e2d68908e | ||
|
|
0d6b5e2530 | ||
|
|
d679101cfb | ||
|
|
122c8b0faa | ||
|
|
1a3832f117 | ||
|
|
a6a544f472 | ||
|
|
1d7bfc615f | ||
|
|
2165d1448e | ||
|
|
396926d970 | ||
|
|
7c0d1f4e0a | ||
|
|
3aa896cfc9 | ||
|
|
43d60b6a7d | ||
|
|
08d1ad4f6c | ||
|
|
8e19e1de15 | ||
|
|
101b0671fe | ||
|
|
e14c53d3ca | ||
|
|
28c0215a93 | ||
|
|
51a373db4f | ||
|
|
1b889b8177 | ||
|
|
4a4124d09f | ||
|
|
ceaf3d46cb | ||
|
|
260d0f9b4a | ||
|
|
d3a7ff8e8c | ||
|
|
9154b3f083 | ||
|
|
c3548be380 | ||
|
|
67bfb40dd5 | ||
|
|
777a9d4185 | ||
|
|
fcd45f3bc1 | ||
|
|
478d542981 | ||
|
|
c6c1c39a98 | ||
|
|
0d6165c0f4 | ||
|
|
f45983949a | ||
|
|
cca0524441 | ||
|
|
e84e9a7dc8 | ||
|
|
a3600e11a9 | ||
|
|
483579503a | ||
|
|
d89ff8b238 | ||
|
|
582ff48b6f | ||
|
|
d6e14ca431 | ||
|
|
0961351ba2 | ||
|
|
0b93a74652 | ||
|
|
2bc2e5bb32 | ||
|
|
98f8e049f3 | ||
|
|
e27d299132 | ||
|
|
7cf40d9dbf | ||
|
|
d6eefac065 | ||
|
|
3036c4ef80 | ||
|
|
a81468ccfc | ||
|
|
2a2a4479ca | ||
|
|
289276d987 | ||
|
|
f771b777b9 | ||
|
|
e4d081f14b | ||
|
|
bba35f8a4e | ||
|
|
8a4410cde8 | ||
|
|
8951c1fd21 | ||
|
|
1f7f71e8b5 | ||
|
|
88b056c38f | ||
|
|
d408782acf | ||
|
|
dfeab6b558 | ||
|
|
f4fe25009d | ||
|
|
905010aacd | ||
|
|
5ea2c493e8 | ||
|
|
734c6f9c62 | ||
|
|
44a3238c79 | ||
|
|
139975958f | ||
|
|
52f9273fa8 | ||
|
|
77ffee2515 | ||
|
|
40118d570c | ||
|
|
8109ecb0e0 | ||
|
|
1147dff4c3 | ||
|
|
c274b21af1 | ||
|
|
2b72e8e69f | ||
|
|
ca511ca0f5 | ||
|
|
cafacc05ab | ||
|
|
2974ed0993 | ||
|
|
861552bcd8 | ||
|
|
7095ddb611 | ||
|
|
f70f2321f2 | ||
|
|
4bb8e20b59 | ||
|
|
e8165321e1 | ||
|
|
9428ea395d | ||
|
|
4f6706b664 | ||
|
|
665a31fc85 | ||
|
|
1221069854 | ||
|
|
054f8ffe0a | ||
|
|
dbecd289b2 | ||
|
|
bb7989449e | ||
|
|
296c2e99f7 | ||
|
|
4246f59d44 | ||
|
|
87ff69d5c4 | ||
|
|
84cb40521b | ||
|
|
dda894dd9a | ||
|
|
7853efc63d | ||
|
|
11409c07c0 | ||
|
|
7c17126ffb | ||
|
|
05e19b2122 | ||
|
|
3b8fee5134 | ||
|
|
4735b2ff8f | ||
|
|
ac29c51d6e | ||
|
|
ad9fa2dd9f | ||
|
|
1e2f11f4f9 | ||
|
|
3a1f297618 | ||
|
|
8af3f41f12 | ||
|
|
e4d980b135 | ||
|
|
62ce98c8a5 | ||
|
|
31a1fd4ece | ||
|
|
51e22f7904 | ||
|
|
106fd84b7f | ||
|
|
5f99a6cf19 | ||
|
|
aba465e1a8 | ||
|
|
73500aae90 | ||
|
|
c3ec6a0b80 | ||
|
|
509ca5ae7f | ||
|
|
9b3091add4 | ||
|
|
b503cb5d80 | ||
|
|
a631388e5a | ||
|
|
d64b869695 | ||
|
|
8e1c1c9ef4 | ||
|
|
952ee9556a | ||
|
|
3155550931 | ||
|
|
7242a171dd | ||
|
|
0dac5f6b3f | ||
|
|
ff3bbad68c | ||
|
|
5cc473fd96 | ||
|
|
c03907b5a3 | ||
|
|
f9c257b73a | ||
|
|
fdc8e4b81d | ||
|
|
308e3a4b1f | ||
|
|
99f8f34529 | ||
|
|
5f7f6fc55a | ||
|
|
36932e397d | ||
|
|
732e29f0a5 | ||
|
|
cd0ed4b385 | ||
|
|
03fd558e1b | ||
|
|
6bc57f184a | ||
|
|
6c58e8a243 | ||
|
|
c818bf82b0 | ||
|
|
67a687ee40 | ||
|
|
ec44c99076 | ||
|
|
39a1a07a7d | ||
|
|
0b2d0fa332 | ||
|
|
304a942f51 | ||
|
|
250753c064 | ||
|
|
05f289e6e6 | ||
|
|
c5a7c88e0c | ||
|
|
8f540796ff | ||
|
|
376e156646 | ||
|
|
e001dea4d7 | ||
|
|
381eba8ddc | ||
|
|
084b5edf1f | ||
|
|
8b39224cbc | ||
|
|
bd0a673838 | ||
|
|
900d3bb7fd | ||
|
|
5af09581e0 | ||
|
|
cf6d28a1bd | ||
|
|
148a4fd555 | ||
|
|
b756938fb1 | ||
|
|
cf46ec7498 | ||
|
|
3ea739d111 | ||
|
|
997fac0d17 | ||
|
|
35f3c5d585 | ||
|
|
982e67af70 | ||
|
|
4da455b9d2 | ||
|
|
40a3de76fb | ||
|
|
3bddfed72f | ||
|
|
bc183cd4f9 | ||
|
|
5ec59536c7 | ||
|
|
e7b80cbce5 | ||
|
|
4815bd7d11 | ||
|
|
1260f4e57a | ||
|
|
67afdd7efb | ||
|
|
a9207b6f38 | ||
|
|
57b7050a2c | ||
|
|
762c3bd04e | ||
|
|
5fd93cea19 | ||
|
|
4c4732695b | ||
|
|
fc9942fdc4 | ||
|
|
02c1ce749c | ||
|
|
1307169d8b | ||
|
|
8eeebf63e9 | ||
|
|
f7c0c9beb7 | ||
|
|
9ec4f64c70 | ||
|
|
9667eaf045 | ||
|
|
51ade5113f | ||
|
|
0af3c82612 | ||
|
|
4c13c0ec31 | ||
|
|
8ca5a5cdec | ||
|
|
43819605fa | ||
|
|
6e00f7eaa2 | ||
|
|
5d0ce407b7 | ||
|
|
bf70a42f6a | ||
|
|
6e70258f9a | ||
|
|
1ae9e80d96 | ||
|
|
444edb209c | ||
|
|
8a9c836065 | ||
|
|
a19ddb46b6 | ||
|
|
53d6065185 | ||
|
|
a66940b2b8 | ||
|
|
225045b49f | ||
|
|
87af2419a3 | ||
|
|
5ee862effd | ||
|
|
6504e06b5f | ||
|
|
1c9e5ba542 | ||
|
|
bc0a59d6fb | ||
|
|
b069480244 | ||
|
|
9092e70544 | ||
|
|
517ca6568f | ||
|
|
3368625dde | ||
|
|
2eb330f070 | ||
|
|
74a2485cff | ||
|
|
03efd14ff4 | ||
|
|
e71c95139d | ||
|
|
d9b84b0ab3 | ||
|
|
421d6cff3b | ||
|
|
ccb86264d9 | ||
|
|
ee2a1b332e | ||
|
|
2dda0bf27a | ||
|
|
d347fa9512 | ||
|
|
913323245c | ||
|
|
68ad507be3 | ||
|
|
764b4c20f5 | ||
|
|
a135e08e12 | ||
|
|
214974e3a3 | ||
|
|
3673d3fb7b | ||
|
|
f6ad530660 | ||
|
|
046daa43fa | ||
|
|
cc1c5239dc | ||
|
|
4fafb5731e | ||
|
|
9ab4d59cca | ||
|
|
89e988660d | ||
|
|
121f881d59 | ||
|
|
68864dae2d | ||
|
|
ae6d377abb | ||
|
|
b479d45f14 | ||
|
|
e17afe31a5 | ||
|
|
5c31bdbd49 | ||
|
|
5f115d5e4a | ||
|
|
1984131874 | ||
|
|
d843108164 | ||
|
|
d782d64750 | ||
|
|
0b4e2b48c9 | ||
|
|
0050a73be8 | ||
|
|
099dfcb0e5 | ||
|
|
6aa53823f1 | ||
|
|
7f567585e2 | ||
|
|
c6d604bbbc | ||
|
|
c7fadf02e6 | ||
|
|
55609249ed | ||
|
|
5698d8282c | ||
|
|
b41a30fa26 | ||
|
|
458e198fdb | ||
|
|
1e338e6aec | ||
|
|
8f04b83954 | ||
|
|
c0685bd1eb | ||
|
|
29670cd66f | ||
|
|
83636644b1 | ||
|
|
fa6995b9fd | ||
|
|
c83d38b5c2 | ||
|
|
27d25ad321 | ||
|
|
31e9abd8eb | ||
|
|
43b7abafe7 | ||
|
|
483134df10 | ||
|
|
a6a734befe | ||
|
|
18fd9bbf9b | ||
|
|
bca1298918 | ||
|
|
87f0171969 | ||
|
|
8b2d1eb1d8 | ||
|
|
b612a599de | ||
|
|
2cecc91026 | ||
|
|
38bc60ba86 | ||
|
|
4e4d798b1d | ||
|
|
218b2a1a75 | ||
|
|
12964a816d | ||
|
|
3a89ba2139 | ||
|
|
303b12b79f | ||
|
|
84704007ac | ||
|
|
5a48b568ef | ||
|
|
73ce7e729c | ||
|
|
d67cbe2861 | ||
|
|
726369077e | ||
|
|
2d1472b913 | ||
|
|
a1e3bb18a4 | ||
|
|
43ca43cc48 | ||
|
|
278efc8e37 | ||
|
|
3cde1400d1 | ||
|
|
3e01b413b4 | ||
|
|
8320b89b9f | ||
|
|
fb08bbb79d | ||
|
|
c3f38cdabd | ||
|
|
8f55a6277a | ||
|
|
ef71661db1 | ||
|
|
4f2e3f4399 | ||
|
|
dac447f381 | ||
|
|
8eba1dda1f | ||
|
|
ffa35d0179 | ||
|
|
e7e28ec3cb | ||
|
|
ab56464bc4 | ||
|
|
43600ef800 | ||
|
|
b4e612b15b | ||
|
|
9e336c8a6f | ||
|
|
29a712ca80 | ||
|
|
18a28a87b1 | ||
|
|
307bf8b332 | ||
|
|
86a4b74eb3 | ||
|
|
6f3b90d0dd | ||
|
|
f0cce29d71 | ||
|
|
8abccfc9cd | ||
|
|
adefda42df | ||
|
|
9c04054017 | ||
|
|
bdd0335d0b | ||
|
|
7ab70ba597 | ||
|
|
a97f1b208f | ||
|
|
0abccd105d | ||
|
|
473e4586c9 | ||
|
|
15b34e2056 | ||
|
|
ae551a6bc1 | ||
|
|
98f6eac50c | ||
|
|
b0f09c8e7b | ||
|
|
b03abcdee8 | ||
|
|
963d0a1897 | ||
|
|
b29d87df8c | ||
|
|
a654762f4d | ||
|
|
705285878f | ||
|
|
e1dcb65888 | ||
|
|
9062dbcaae | ||
|
|
97c98969ff | ||
|
|
3fe47c939a | ||
|
|
46dee3c9b6 | ||
|
|
8e67e2d158 | ||
|
|
f5f4182a90 | ||
|
|
05087e569a | ||
|
|
77bde61f4b | ||
|
|
1297b45ef8 | ||
|
|
83b55db4f8 | ||
|
|
caec01e9fa | ||
|
|
2be67bae19 | ||
|
|
a677450d50 | ||
|
|
1d7919c050 | ||
|
|
a132172507 | ||
|
|
549ef5734e | ||
|
|
77fbf7f51e | ||
|
|
e37820d25e | ||
|
|
00bee60151 | ||
|
|
c58a36e604 | ||
|
|
3c3bc338f2 | ||
|
|
80beb92a06 | ||
|
|
39b5719e12 | ||
|
|
7679afd3e0 | ||
|
|
0b0408ef98 | ||
|
|
5eb80f9277 | ||
|
|
d879575d5f | ||
|
|
51a57429b6 | ||
|
|
3e75026281 | ||
|
|
c698bed05e | ||
|
|
237311a98f | ||
|
|
240ab0a0af | ||
|
|
582c9a6726 | ||
|
|
fc2077ffdb | ||
|
|
58cde322f5 | ||
|
|
0638f4c437 | ||
|
|
426b2d27e7 | ||
|
|
3ce3ac5350 | ||
|
|
94df19bdb4 | ||
|
|
fc6c6ed2c4 | ||
|
|
32fa6cee96 | ||
|
|
ffe27326e3 | ||
|
|
97b70ec2a1 | ||
|
|
e5592919b7 | ||
|
|
b2dc322a2b | ||
|
|
cf6a4c804a | ||
|
|
b62bd0e620 | ||
|
|
86a46babc1 | ||
|
|
0bafcb659b | ||
|
|
9db152ebc8 | ||
|
|
ef44a43bd2 | ||
|
|
bdc44f6ede | ||
|
|
0e70c9ce75 | ||
|
|
2d1d2693ed | ||
|
|
c33d6e62b7 | ||
|
|
fd78ce278e | ||
|
|
5ca027650e | ||
|
|
e05078b280 | ||
|
|
12c0b19776 | ||
|
|
f898525362 | ||
|
|
f53bd1ab03 | ||
|
|
c82f60e08b | ||
|
|
8c1c17fa17 | ||
|
|
7a0ef0d4ed | ||
|
|
29876b4a20 | ||
|
|
fc7455354f | ||
|
|
4048ecc764 | ||
|
|
f93a1aa151 | ||
|
|
f6dc76719a | ||
|
|
3035af97a4 | ||
|
|
3832ef3547 | ||
|
|
8b4cea5dab | ||
|
|
4e7e2daf3c | ||
|
|
9dfbb14c39 | ||
|
|
cb9a4e5e5d | ||
|
|
5af60e2fe1 | ||
|
|
9111590dc2 | ||
|
|
9d47234918 | ||
|
|
299c989dd4 | ||
|
|
00131bb412 | ||
|
|
186ad2cd59 | ||
|
|
19acf47f1e | ||
|
|
01bffc6670 | ||
|
|
1532791c3f | ||
|
|
84b9b255aa | ||
|
|
61e46b6f10 | ||
|
|
8d10f8053f | ||
|
|
b27d46f0cc | ||
|
|
ff1bb0deed | ||
|
|
4795143fca | ||
|
|
54eca5b8ba | ||
|
|
11f669f8f4 | ||
|
|
1cda612e86 | ||
|
|
50e4e971d9 | ||
|
|
33dd34931c | ||
|
|
ce230bf403 | ||
|
|
d7b2a98723 | ||
|
|
bfb48ccea3 | ||
|
|
8cd39301a3 | ||
|
|
321684e5f6 | ||
|
|
b6d11e655d | ||
|
|
04fb4c30fe | ||
|
|
04b4a8e069 | ||
|
|
1e1b803cce | ||
|
|
3d576eaa6a | ||
|
|
087df05e77 | ||
|
|
05936b3c75 | ||
|
|
c10853def9 | ||
|
|
08baa5993e | ||
|
|
0396039d50 | ||
|
|
4aa81f1023 | ||
|
|
4bd3f8d6bd | ||
|
|
4627df1160 | ||
|
|
a72c45766f | ||
|
|
4ced61e4fc | ||
|
|
c237601af6 | ||
|
|
3a88193459 | ||
|
|
65a234c6b3 | ||
|
|
9fb9228869 | ||
|
|
ca8293bc35 | ||
|
|
9c5ec234d9 | ||
|
|
0b247dfae7 | ||
|
|
d46fae2d1a | ||
|
|
5d6690fc1a | ||
|
|
66425ba48d | ||
|
|
3b3a36c64d | ||
|
|
2433ef5db7 | ||
|
|
663757352a | ||
|
|
1ced5d8ffc | ||
|
|
04c6bd8750 | ||
|
|
b0dc41b4d9 | ||
|
|
92e6cedb14 | ||
|
|
447ce97f24 | ||
|
|
2a471e409c | ||
|
|
08223bd320 | ||
|
|
90480ca626 | ||
|
|
56b031b99d | ||
|
|
f3cbd450d0 | ||
|
|
b176fd9bca | ||
|
|
1c130aad42 | ||
|
|
734dfcdec5 | ||
|
|
c8a32b8b38 | ||
|
|
ed3ec3aa40 | ||
|
|
88d8d0e6bb | ||
|
|
b532b42db3 | ||
|
|
a763f7f025 | ||
|
|
357e9cc08f | ||
|
|
f0d6f7077b | ||
|
|
2746bac86a | ||
|
|
95652efbaa | ||
|
|
e70e5b04b5 | ||
|
|
34869914c4 | ||
|
|
a53505ee0b | ||
|
|
f0e64d992b | ||
|
|
c61c55031d | ||
|
|
39d10855d8 | ||
|
|
aeb518f38c | ||
|
|
d3a719eb8d | ||
|
|
ab4b4edb1a | ||
|
|
591c9e67a3 | ||
|
|
59c8d16374 | ||
|
|
3a6d94e682 | ||
|
|
2b0931314a | ||
|
|
d1298c0cd2 | ||
|
|
3f6a33dea6 | ||
|
|
d8841c6ae7 | ||
|
|
2e3f9b4a96 | ||
|
|
6425cd18b8 | ||
|
|
86b98368bc | ||
|
|
b5eb942682 | ||
|
|
f7e6e3adb6 | ||
|
|
ca4f15df46 | ||
|
|
2c8b8658a3 | ||
|
|
80163c0d8f | ||
|
|
72fc3efa78 | ||
|
|
d614df65a7 | ||
|
|
3123f69aec | ||
|
|
1c6b0363ce | ||
|
|
ddb92af400 | ||
|
|
ed1831da78 | ||
|
|
774ee65677 | ||
|
|
61ae372694 | ||
|
|
945359b408 | ||
|
|
06bf814fcf | ||
|
|
cc1eae150a | ||
|
|
7ad0a61c53 | ||
|
|
48a3621ac6 | ||
|
|
4ab688b302 | ||
|
|
8cfeaf34f3 | ||
|
|
ad550759e6 | ||
|
|
ca7cf5cc58 | ||
|
|
40598a0e96 | ||
|
|
984518d9f5 | ||
|
|
e0055eeead | ||
|
|
0331c98c9b | ||
|
|
c968b9f94a | ||
|
|
8033bc577c | ||
|
|
fe07261846 | ||
|
|
0cbb9b22a5 | ||
|
|
31ccf2ca02 | ||
|
|
08269cab5b | ||
|
|
71a2ea2a2e | ||
|
|
23b7e11dd1 | ||
|
|
ecac8d00ee | ||
|
|
588b6f3692 | ||
|
|
620f2fc4f8 | ||
|
|
3e61dc6c5f | ||
|
|
a919c45b09 | ||
|
|
8a312da0f5 | ||
|
|
cdf6e607de | ||
|
|
29835a3316 | ||
|
|
f61917e8fe | ||
|
|
661564df36 | ||
|
|
0a7c852d89 | ||
|
|
c1379f7ac6 | ||
|
|
22ef134c84 | ||
|
|
9157a08a3b | ||
|
|
3997a44fce | ||
|
|
7f95956a01 | ||
|
|
40ea101bf6 | ||
|
|
0c8b001d05 | ||
|
|
5dc9c3f732 | ||
|
|
ec574a6b63 | ||
|
|
1ca48051ad | ||
|
|
4d8e4d0e70 | ||
|
|
2efa64ae17 | ||
|
|
e5441f2a96 | ||
|
|
06016f4ada | ||
|
|
6932abc9d8 | ||
|
|
0f2e1ea740 | ||
|
|
c2d4aeaf85 | ||
|
|
faed690602 | ||
|
|
7b3f69aee6 | ||
|
|
6e173c0d4e | ||
|
|
d0259d73c5 | ||
|
|
7f64fe11b8 | ||
|
|
a496b1fd71 | ||
|
|
ff8baecb54 | ||
|
|
ac8042f5d8 | ||
|
|
437bac1324 | ||
|
|
7c4481f099 | ||
|
|
d1085aa8f8 | ||
|
|
986162803b | ||
|
|
f7eb06e80b | ||
|
|
f4214e2031 | ||
|
|
fd8712ee61 | ||
|
|
f904ac7019 | ||
|
|
3c08af363f | ||
|
|
8295355a5d | ||
|
|
aee81f87f5 | ||
|
|
43d08ec21d | ||
|
|
15e3ad8876 | ||
|
|
a583f557d7 | ||
|
|
0949931a61 | ||
|
|
8efee39f7e | ||
|
|
307b807b38 | ||
|
|
be8a2a4b07 | ||
|
|
30df57fa35 | ||
|
|
467025888c | ||
|
|
02a69cbb05 | ||
|
|
dc758a6dfc | ||
|
|
989537366a | ||
|
|
21ecf959ea | ||
|
|
9fcedcad76 | ||
|
|
9d9b5464c3 | ||
|
|
5fc416a457 | ||
|
|
d1401d0cba | ||
|
|
63e905db6c | ||
|
|
e8ea502f77 | ||
|
|
ba8b73ad4d | ||
|
|
df2a52984e | ||
|
|
b8ad722e9e | ||
|
|
7928ababf6 | ||
|
|
0a63e6674a | ||
|
|
b5930fc35d | ||
|
|
9a74ab77f4 | ||
|
|
7f233b8e77 | ||
|
|
17c193f984 | ||
|
|
176b5db83e | ||
|
|
18d698aad2 | ||
|
|
3329a6c49e | ||
|
|
c07a29ba86 | ||
|
|
b36c4b56c3 | ||
|
|
cee0025147 | ||
|
|
372ad1fac3 | ||
|
|
09cba965d3 | ||
|
|
d862f7f779 | ||
|
|
0adaa0ba66 | ||
|
|
432a4aa330 | ||
|
|
1c490cd463 | ||
|
|
570ab49e55 | ||
|
|
9b08f9bc44 | ||
|
|
3973f9ec43 | ||
|
|
57bbde552a | ||
|
|
30bc73be7d | ||
|
|
ae35da8e02 | ||
|
|
3c6b694fb8 | ||
|
|
bbd43e156a | ||
|
|
a9cb28a8f2 | ||
|
|
3e2f2cd000 | ||
|
|
c69a9fc299 | ||
|
|
f09007b60c | ||
|
|
6e62930b6a | ||
|
|
28bf67f154 | ||
|
|
5d7d06831b | ||
|
|
e23aec7294 | ||
|
|
f90205f1ae | ||
|
|
7e039321e1 | ||
|
|
7cf3b4e521 | ||
|
|
7e047aed59 | ||
|
|
86f62fba0b | ||
|
|
b64b8d0f8f | ||
|
|
1fe4fef75a | ||
|
|
de3e2b79f7 | ||
|
|
21e1d54ad5 | ||
|
|
9c1f38ce6d | ||
|
|
78aeb0679b | ||
|
|
c41a650415 | ||
|
|
856e6f0447 | ||
|
|
1f734582d4 | ||
|
|
75bb3f181d | ||
|
|
2170c6de24 | ||
|
|
e156d6d5ef | ||
|
|
fb6e5e41ad | ||
|
|
8ddbb3aa91 | ||
|
|
ba180ebae3 | ||
|
|
aecc90fa33 | ||
|
|
4394ac7049 | ||
|
|
a2279a58a5 | ||
|
|
2ef10afce3 | ||
|
|
4433ea7118 | ||
|
|
5facd8d412 | ||
|
|
b63280a2aa | ||
|
|
8c164749e2 | ||
|
|
3806dcbd5d | ||
|
|
b67bc45e9a | ||
|
|
737b95d538 | ||
|
|
ee90780d7b | ||
|
|
abda53641f | ||
|
|
77eba76e13 | ||
|
|
81d648f94d | ||
|
|
42a7673ad7 | ||
|
|
51291f7c49 | ||
|
|
4068d61246 | ||
|
|
6cad982969 | ||
|
|
5b2720a04f | ||
|
|
0ca0140348 | ||
|
|
43037f8c13 | ||
|
|
0e39656c88 | ||
|
|
8991c2bf2c | ||
|
|
7bbf1acd5d | ||
|
|
9acf597eb9 | ||
|
|
d2faac3b0d | ||
|
|
ecce631527 | ||
|
|
5c6f0e8cbf | ||
|
|
ac67e006d8 | ||
|
|
661c63a8aa | ||
|
|
eb43dc4460 | ||
|
|
9514b200cd | ||
|
|
c428aff251 | ||
|
|
c6e8e63088 | ||
|
|
8f33b378bf | ||
|
|
67f95d3343 | ||
|
|
5e1c12d8ec | ||
|
|
09c91f3b4b | ||
|
|
8d9f6c14a7 | ||
|
|
dcd40d3ced | ||
|
|
456e64456d | ||
|
|
f1ecef310c | ||
|
|
1f2eae0799 | ||
|
|
0d3551c84b | ||
|
|
dc4401ffb0 | ||
|
|
9568c0f85c | ||
|
|
3f30f6950b | ||
|
|
8182249641 | ||
|
|
b36c1376cf | ||
|
|
e4c911869d | ||
|
|
457b7f9d14 | ||
|
|
c5f87e17f6 | ||
|
|
7d1cbe4c45 | ||
|
|
dc5766035b | ||
|
|
d144409673 | ||
|
|
07ebf12ae2 | ||
|
|
6e83763f22 | ||
|
|
e232bb3699 | ||
|
|
968636b8d4 | ||
|
|
0f98d9babe | ||
|
|
bf8e3d5a08 | ||
|
|
7aea4e1d92 | ||
|
|
68b32e0b9e | ||
|
|
ef6bec4ffc | ||
|
|
ff986ec97d | ||
|
|
0c58f5073c | ||
|
|
579109b2f5 | ||
|
|
d4d8cbbc03 | ||
|
|
d8b540cad8 | ||
|
|
1ff3e55c7e | ||
|
|
437bc264bc | ||
|
|
17cb2c2615 | ||
|
|
3d21591830 | ||
|
|
1cea9830a6 | ||
|
|
121c54b802 | ||
|
|
e709f04004 | ||
|
|
2cdb0395ee | ||
|
|
8f6f0e4a0f | ||
|
|
133dadccec | ||
|
|
c01b8e4ad4 | ||
|
|
ac04ca5c27 | ||
|
|
956b01a28e | ||
|
|
7cd8099d3c | ||
|
|
bd0a4c75c0 | ||
|
|
883fca3cf3 | ||
|
|
45430d9c25 | ||
|
|
e933efcee0 | ||
|
|
b9a37614b2 | ||
|
|
7c0469dce1 | ||
|
|
7d2e76e464 | ||
|
|
3a21a913c6 | ||
|
|
b0b326d080 | ||
|
|
16d4c160c6 | ||
|
|
652291fee1 | ||
|
|
f299f84a6f | ||
|
|
80df1dd4bd | ||
|
|
8a6ed2f076 | ||
|
|
d11f8fcdce | ||
|
|
6be936972f | ||
|
|
82dec38e5c | ||
|
|
70b3ca3094 | ||
|
|
f0455b28dc | ||
|
|
f96c4bc063 | ||
|
|
a812ca42f7 | ||
|
|
fb1467551f | ||
|
|
96b781ab0a | ||
|
|
a710893e2a | ||
|
|
0bed8898bf | ||
|
|
4c78afc04b | ||
|
|
cb21c0bf24 | ||
|
|
eb14d14e05 | ||
|
|
7c0a741b47 | ||
|
|
2acc230895 | ||
|
|
e57bf35e5e | ||
|
|
2001ef30ee | ||
|
|
b2c1358a84 | ||
|
|
efdd56684b | ||
|
|
0d8b4c5f5f | ||
|
|
04fdd3270a | ||
|
|
094850ab85 | ||
|
|
d272d60112 | ||
|
|
f5c1e0952b | ||
|
|
0e61557812 | ||
|
|
160f27b492 | ||
|
|
7a7dd7002e | ||
|
|
0046c47163 | ||
|
|
1cdc59cfb1 | ||
|
|
8660d86306 | ||
|
|
d139d520e7 | ||
|
|
8578d923d6 | ||
|
|
307340bea3 | ||
|
|
bbe9b92c15 | ||
|
|
f00601931d | ||
|
|
1c289cfcdf | ||
|
|
a8bf6357aa | ||
|
|
77b4ade885 | ||
|
|
d3b437f6d3 | ||
|
|
45e785bd1f | ||
|
|
707e6d0342 | ||
|
|
be69f0d6a7 | ||
|
|
e94005df34 | ||
|
|
88cd8e64bb | ||
|
|
948837546a | ||
|
|
8bc49e8bfb | ||
|
|
55b1da0341 | ||
|
|
132b908eee | ||
|
|
7d152794ba | ||
|
|
e757dd10c8 | ||
|
|
d5ea196840 | ||
|
|
f772b39eda | ||
|
|
493d6b0a67 | ||
|
|
76472a2b9f | ||
|
|
f0e8eb35c4 | ||
|
|
59f3835554 | ||
|
|
38c11d1601 | ||
|
|
608a523996 | ||
|
|
a2e0ca0f84 | ||
|
|
a3b8ab81be | ||
|
|
07db198a67 | ||
|
|
234a31d283 | ||
|
|
f2945569fb | ||
|
|
72663ae2d3 | ||
|
|
22eead18dd | ||
|
|
8101decef5 | ||
|
|
35d1e1ebd9 | ||
|
|
4418d34930 | ||
|
|
ed8611585f | ||
|
|
b3ed05eb09 | ||
|
|
9d0dd7ecd6 | ||
|
|
e354e7b89b | ||
|
|
714d9c0ca7 | ||
|
|
53f06832f1 | ||
|
|
562066311b | ||
|
|
b5b9a223a7 | ||
|
|
049b76f651 | ||
|
|
4ab5e5e925 | ||
|
|
22ca1863fd | ||
|
|
bdbda5587f | ||
|
|
a344e43e2e | ||
|
|
198b7e3f46 | ||
|
|
5647eebe99 | ||
|
|
367fabf70c | ||
|
|
2f804de36f | ||
|
|
677e45a811 | ||
|
|
99f0e029c2 | ||
|
|
3fc9f26b8b | ||
|
|
e75170f576 | ||
|
|
3158ba591b | ||
|
|
31402d97c4 | ||
|
|
bef86f0e97 | ||
|
|
811b90bc31 | ||
|
|
ef6b70f686 | ||
|
|
2c752dc470 | ||
|
|
63a0598766 | ||
|
|
772ceddf65 | ||
|
|
15be278ee1 | ||
|
|
349a714134 | ||
|
|
41bfba0c68 | ||
|
|
83ee9ca92c | ||
|
|
18d8b84099 | ||
|
|
e6aee141fb | ||
|
|
b0b0167ee2 | ||
|
|
26b66b550c | ||
|
|
cef1bf6c8c | ||
|
|
bd74d6e4f1 | ||
|
|
6152ac30b9 | ||
|
|
6604f98140 | ||
|
|
b81ca84a99 | ||
|
|
4bfa790be9 | ||
|
|
c14b949b0a | ||
|
|
5ce08a2294 | ||
|
|
c91255c474 | ||
|
|
4bb513c2d1 | ||
|
|
9f9b456b0a | ||
|
|
894b30660c | ||
|
|
a939f54b10 | ||
|
|
3fc0bbb466 | ||
|
|
e7d8e51722 | ||
|
|
63aebd0454 | ||
|
|
f08456b789 | ||
|
|
d7e0c95984 | ||
|
|
f4ba472403 | ||
|
|
acf2bf362f | ||
|
|
9731b9cffb | ||
|
|
2de87f7189 | ||
|
|
fb2eddd432 | ||
|
|
bf63ce33c5 | ||
|
|
e7b91f57ea | ||
|
|
78f0a42ec1 | ||
|
|
fd8e44ef47 | ||
|
|
0f743a55b5 | ||
|
|
69fa10559c | ||
|
|
c1cf246084 | ||
|
|
3ed4228b72 | ||
|
|
93fefa031b |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -2,3 +2,4 @@
|
||||
|
||||
*.png binary
|
||||
*.wav binary
|
||||
p
|
||||
12
.github/FUNDING.yml
vendored
Normal file
12
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [nossr50] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: nossr50 # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: https://paypal.me/nossr50 # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
315
.gitignore
vendored
315
.gitignore
vendored
@@ -1,54 +1,291 @@
|
||||
# Eclipse stuff
|
||||
/.classpath
|
||||
/.project
|
||||
/.settings
|
||||
/dependency-reduced-pom.xml
|
||||
|
||||
#vs code
|
||||
/.vscode
|
||||
### NetBeans template
|
||||
**/nbproject/private/
|
||||
**/nbproject/Makefile-*.mk
|
||||
**/nbproject/Package-*.bash
|
||||
build/
|
||||
nbbuild/
|
||||
dist/
|
||||
nbdist/
|
||||
.nb-gradle/
|
||||
|
||||
# Maven Depends
|
||||
/lib
|
||||
### Bash Scripts
|
||||
*.sh
|
||||
!mcmmo-core/src/main/resources/com/gmail/nossr50/locale/doTranslation.sh
|
||||
|
||||
# gradle
|
||||
/.gradle
|
||||
/mcMMO-core/.gradle
|
||||
/mcMMO-core/gradle
|
||||
### JetBrains template
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# netbeans
|
||||
/nbproject
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# we use maven!
|
||||
/build.xml
|
||||
# Generated files
|
||||
.idea/**/contentModel.xml
|
||||
|
||||
# maven
|
||||
/target
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# vim
|
||||
.*.sw[a-p]
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# various other potential build files
|
||||
/build
|
||||
/bin
|
||||
/dist
|
||||
/manifest.mf
|
||||
|
||||
/world
|
||||
|
||||
# Mac filesystem dust
|
||||
*.DS_Store
|
||||
|
||||
# intellij
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
.idea/modules.xml
|
||||
.idea/*.iml
|
||||
.idea/modules
|
||||
.idea
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# File-based project format
|
||||
*.iws
|
||||
.idea/
|
||||
|
||||
# Project Stuff
|
||||
/src/main/resources/mcMMO
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# Other Libraries
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
||||
### Maven template
|
||||
target/
|
||||
pom.xml.tag
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.versionsBackup
|
||||
pom.xml.next
|
||||
release.properties
|
||||
dependency-reduced-pom.xml
|
||||
buildNumber.properties
|
||||
.mvn/timing.properties
|
||||
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
|
||||
.mvn/wrapper/maven-wrapper.jar
|
||||
|
||||
### Kotlin template
|
||||
# Compiled class file
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.nar
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
|
||||
### Eclipse template
|
||||
.metadata
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.settings/
|
||||
.loadpath
|
||||
.recommenders
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# PyDev specific (Python IDE for Eclipse)
|
||||
*.pydevproject
|
||||
|
||||
# CDT-specific (C/C++ Development Tooling)
|
||||
.cproject
|
||||
|
||||
# CDT- autotools
|
||||
.autotools
|
||||
|
||||
# Java annotation processor (APT)
|
||||
.factorypath
|
||||
|
||||
# PDT-specific (PHP Development Tools)
|
||||
.buildpath
|
||||
|
||||
# sbteclipse plugin
|
||||
.target
|
||||
|
||||
# Tern plugin
|
||||
.tern-project
|
||||
|
||||
# TeXlipse plugin
|
||||
.texlipse
|
||||
|
||||
# STS (Spring Tool Suite)
|
||||
.springBeans
|
||||
|
||||
# Code Recommenders
|
||||
.recommenders/
|
||||
|
||||
# Annotation Processing
|
||||
.apt_generated/
|
||||
|
||||
# Scala IDE specific (Scala & Java development for Eclipse)
|
||||
.cache-main
|
||||
.scala_dependencies
|
||||
.worksheet
|
||||
|
||||
### Windows template
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Dump file
|
||||
*.stackdump
|
||||
|
||||
# Folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
### macOS template
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### Linux template
|
||||
*~
|
||||
|
||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
### Java template
|
||||
# Compiled class file
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.nar
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
|
||||
### Gradle template
|
||||
.gradle
|
||||
/build/
|
||||
|
||||
# Ignore Gradle GUI config
|
||||
gradle-app.setting
|
||||
|
||||
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
||||
!gradle-wrapper.jar
|
||||
|
||||
# Cache of project
|
||||
.gradletasknamecache
|
||||
|
||||
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
|
||||
# gradle/wrapper/gradle-wrapper.properties
|
||||
|
||||
# Atlassian Stuff
|
||||
/atlassian-ide-plugin.xml
|
||||
|
||||
910
Changelog.txt
910
Changelog.txt
@@ -1,11 +1,896 @@
|
||||
Changelog:
|
||||
Versions without changelogs probably had very small misc fixes, like tweaks to the source code
|
||||
<<<<<<< HEAD
|
||||
Version 2.2.0
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
This changelog is not complete, I'll be going over it and cleaning it up once 2.2 is close to release
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
mcMMO's config system has been rewritten
|
||||
Retro and Standard mode have been removed, now levels are based around 1-1000 and are changed based on a new setting
|
||||
Added Cosmetic Level Scaling setting to the leveling config, you can use this to for example, make the max level 100 instead of 1000
|
||||
mcMMO build management is now handled by Gradle (KTS) instead of Maven
|
||||
Nearly every config setting has been renamed and most have brand new comments
|
||||
You can now add an unlimited number of custom XP perks with custom defined XP boosts
|
||||
Added new subskill to Fishing named 'Inner Peace'
|
||||
mcMMO will now warn you in the console if it thinks you are running incompatible server software
|
||||
Parties no longer have a cap, you can level them forever for bragging rights
|
||||
You can now specify multiple repair-items for an item (such as specifying that a wooden sword can be repaired by all types of planks)
|
||||
Repair config has been rewritten and expanded to support much more complex settings
|
||||
Fixed a bug where salvage anvil noises wouldn't play for a player that lacked repair permissions nodes
|
||||
Sharpened Claws now has settings to change its damage for PVE or PVP instead of a flat setting that applied to both
|
||||
Gore tick length is now customizable
|
||||
Limit Breaks are now configurable per skill instead of one shared setting across all limit breaks skills
|
||||
Removed the following Repair/Salvage permissions
|
||||
mcmmo.ability.repair.stonerepair
|
||||
mcmmo.ability.repair.stringrepair
|
||||
mcmmo.ability.repair.toolrepair
|
||||
mcmmo.ability.repair.woodrepair
|
||||
mcmmo.ability.repair.armorrepair
|
||||
mcmmo.ability.repair.diamondrepair
|
||||
mcmmo.ability.repair.goldrepair
|
||||
mcmmo.ability.repair.ironrepair
|
||||
mcmmo.ability.repair.leatherrepair
|
||||
mcmmo.ability.repair.othermaterialrepair
|
||||
mcmmo.ability.repair.otherrepair
|
||||
mcmmo.ability.salvage.armorsalvage
|
||||
mcmmo.ability.salvage.diamondsalvage
|
||||
mcmmo.ability.salvage.goldsalvage
|
||||
mcmmo.ability.salvage.ironsalvage
|
||||
mcmmo.ability.salvage.leathersalvage
|
||||
mcmmo.ability.salvage.othermaterialsalvage
|
||||
mcmmo.ability.salvage.othersalvage
|
||||
mcmmo.ability.salvage.stonesalvage
|
||||
mcmmo.ability.salvage.stringsalvage
|
||||
mcmmo.ability.salvage.toolsalvage
|
||||
mcmmo.ability.salvage.woodsalvage
|
||||
Added new locale string - Repair.NoBasicRepairMatsFound
|
||||
Simplified the config entries for Repairables in the Repair config
|
||||
Repairables in the repair config now use their internal registry key names instead of Bukkit material names
|
||||
Diamond Armor XP multiplier vanilla config setting reduced from 6x -> 2x
|
||||
Optimizations were made for many anti-exploit behaviours
|
||||
Acrobatic's Dodge will no longer reward XP for a few seconds after a TP
|
||||
Roll will not give XP for a few seconds after a TP
|
||||
Added missing X_STRIPPED_WOOD blocks to Woodcutting's experience tables
|
||||
Added missing X_WALL_FAN and X_DEAD_WALL_FAN blocks to Herbalism's experience tables
|
||||
Added missing SANDSTONE variants to Mining's experience tables
|
||||
Added missing PURPUR variants to Mining's experience tables
|
||||
You can now disable the party system completely
|
||||
Many config files are now generated on demand instead of being copied from within the JAR
|
||||
All config nodes that used to be styled with CamelCase or otherwise now use hyphens (-) as spaces for readability and consistency
|
||||
All config nodes will now use Capital letters at the start of each nodes name and after each hyphen (-)
|
||||
All config nodes now include a comment with the default value of the node to use as reference
|
||||
Expanded settings relating to purging users who have not leveled or users who had not logged in for many months
|
||||
Acrobatic's Dodge XP increased from 120 -> 480
|
||||
Fishing's always catch fish setting now defaults to true instead of false
|
||||
Optimized code related to Fishing
|
||||
Tracking arrows for Arrow Retrieval with Archery has been rewritten to a much more efficient system
|
||||
Added a new command 'mcmmoreload' to reload config values
|
||||
Added new locale string 'Commands.Reload.Start'
|
||||
Added new locale string 'Commands.Reload.Finished'
|
||||
Added new permission 'mcmmo.commands.reload'
|
||||
Lily pads were removed from the Alchemy Ingredient list as they are unused
|
||||
Experience formula conversion command no longer relies on a file to determine what formula you were using previously, instead it determines this from command parameters
|
||||
Fixed some tab completion bugs for /mcconvert command
|
||||
Nearby players using super abilities is now sent to your chat instead of the action bar by default
|
||||
Increased the default recipe cost for Chimaera Wing from 5 to 40
|
||||
Blast Mining Damage Decrease now scales more smoothly from ranks 1-8
|
||||
Fixed a bug where Rupture wasn't using the base ticks setting from config when determining how many ticks of rupture to apply
|
||||
Fixed a bug where admin or party chat could be sent to the whole server
|
||||
Admins will now be notified if a player trips over-fishing exploit detection 3+ times in a row (Locale: "Fishing.OverFishingDetected")
|
||||
Note: Admins are players who are an operator or have adminchat permission.
|
||||
|
||||
Key:
|
||||
+ Addition
|
||||
= Fix
|
||||
! Change
|
||||
- Removal
|
||||
Bug Fixes
|
||||
Fixed a bug where Blast Minings cooldown was not being displayed correctly
|
||||
Fixed a bug where players who started at level 1 would not be purged from the DB for being "powerless"
|
||||
Fixed a potential bug where players could be awarded XP for cancelled tame events
|
||||
Fixed a bug where party size limits were only counting online players
|
||||
|
||||
Permission Node Changes
|
||||
Removed "mcmmo.motd" because it makes no sense to have this as a player permission when its a config option
|
||||
Removed "mcmmo.showversion" because this one also makes no sense
|
||||
Removed "mcmmo.perks.xp.all" and "mcmmo.perks.xp.*" because they make no sense
|
||||
|
||||
Config Changes
|
||||
|
||||
All event related settings will now be in the event config
|
||||
|
||||
All author ad-type (donations, urls, etc) message config options will now be found in "author_support_advertisements.conf"
|
||||
Added config option for showing author paypal info in /mcmmo (previously this was tied to the motd setting)
|
||||
Added config option for showing author patreon links in various commands
|
||||
|
||||
Automated backup config options will now be found in "automated_backups.conf"
|
||||
"Last_24_Hours", "Daily_Last_Week", "Weekly_Past_Months" have been replaced with "Old-File-Age-Limit-In-Days" which does the same thing
|
||||
mcMMO will not remove old backups unless at least 10 files are present in the backup folder, this doesn't guarantee that mcMMO won't remove old files, just prevents unnecessary operations
|
||||
Added some failsafes to prevent mcMMO from saving too often
|
||||
|
||||
Command config options will now be found in "commands.conf"
|
||||
Added new toggle to allow players to inspect offline users
|
||||
Added new toggle to turn off the inspection distance limitation
|
||||
Players can now inspect players regardless of distance by default
|
||||
Players can now inspect offline players by default
|
||||
Settings related to party chat have been moved to the party config file
|
||||
|
||||
Custom item (Chimaera Wing) config options will now be found in "custom_items.conf"
|
||||
|
||||
Language config options will now be found in "language.conf"
|
||||
|
||||
Creature config settings will now be found in "creatures.conf"
|
||||
|
||||
Particle settings will now be found in "particle_spawning.conf"
|
||||
|
||||
Party config options will now be found in "party.conf"
|
||||
Added toggle to completely disable parties
|
||||
Added toggle to limit max party size, previously this was done by setting party maximum size above -1
|
||||
Leveling your Party-Level now requires being near another party member by default
|
||||
Party XP required to level now uses the same formula as player levels
|
||||
Party members are now informed about your skill ups by default
|
||||
Party member item sharing is now disabled by default
|
||||
|
||||
Notification config options will now be found in "chat_and_hud_notifications.conf"
|
||||
|
||||
MOTD (Message of the day) config options will now be found in "motd.conf"
|
||||
|
||||
Anonymous statistic config options will now be found in "analytics_reporting.conf"
|
||||
|
||||
Hardcore config options will now be found in "hardcore.conf"
|
||||
|
||||
Super Ability conifg options will now be found in "skill_super_abilities.conf"
|
||||
Super Abilities now have a default max length cap of one minute
|
||||
Blast Mining default cooldown increased from 60 seconds to 120 seconds
|
||||
You can now configure multiple items as detonators for Blast Mining
|
||||
|
||||
Exploit related config options will now be found in "exploit-prevention"
|
||||
Added toggle for pistons marking natural blocks as unnatural after being moved to prevent afk stone farms
|
||||
Added toggle for marking spawned mobs for giving modified XP
|
||||
Added toggle for tamed mobs to give combat XP when struck
|
||||
Added toggle for acrobatics exploit prevention
|
||||
Added customizable limit for the number of locations acrobatics tracks for exploit prevention
|
||||
Added toggle for fishing exploit prevention
|
||||
Added settings for how many fish can be caught at a location before it is over-fished
|
||||
Added settings for how large of an area can be over-fished
|
||||
Added settings for how often a fishing rod has to be spammed to trigger abuse detection
|
||||
|
||||
Settings related to Player Leveling are now found in "player_leveling.conf"
|
||||
Added new toggles for enabling level caps (previously this was done by setting the value above 0)
|
||||
|
||||
World Blacklist settings can now be found in "world_blacklist.conf"
|
||||
World Blacklist now includes examples
|
||||
|
||||
Scoreboard settings can now be found in "scoreboard.conf"
|
||||
Scoreboard's "Allow_Keep" setting was removed because it was doing something permissions should be doing instead, and I don't see why such a thing even needs a permission!
|
||||
|
||||
MySQL and FlatFile Settings can now be found in "database_settings.conf"
|
||||
Added new config setting for the update interval of FlatFile scoreboards
|
||||
Added new config toggle for purging power-less users
|
||||
Added new config toggle for purging inactive users
|
||||
Added setting for only purging users on plugin start up
|
||||
MySQL User settings are now in the User Category instead of being in the Database category
|
||||
MySQL Pool and MaxConnection settings for Save/Load/Misc pools have had their names updated to include setting information
|
||||
|
||||
Repair and Salvage configs are now confined to a single file
|
||||
mcMMO will no longer shutdown if it finds invalid config entries
|
||||
mcMMO will nag admins about invalid config entries when they join the server
|
||||
mcMMO's mod config system has been temporarily disabled as modded bukkit servers don't exist anymore (Forge Bukkit hybrid servers)
|
||||
Mycellium removed from woodcutting XP (whoops)
|
||||
Optimized XP lookups for block breaking
|
||||
Super Breaker will now break "Mining" blocks even if they have no XP entries
|
||||
Tree Feller will now break "Woodcutting" blocks even if they have no XP entries
|
||||
Giga Drill Breaker will now break "diggable" blocks even if they have no configured treasures
|
||||
mcMMO's mod config system has been temporarily disabled as no modded bukkit servers even exist
|
||||
removed child.yml, child skills now have hard coded parents
|
||||
removed the hardcore and vampirism commands, these are dangerous settings and should not be toggle-able (turn them on in your configs if you want to use them)
|
||||
|
||||
Removed the following config settings from various configs for doing nothing
|
||||
Update_Check, Prefer_Beta, Ability_Activation_Level_Gate, Max_Tries_At_Same_Location, Prevent_AFK_Leveling, Items_Pickup_Disabled_Full_Inventory
|
||||
|
||||
Removed the following config settings for being unwanted
|
||||
Config_Update_Overwrite, Tool_Mods_Enabled, Armor_Mods_Enabled, Block_Mods_Enabled, Entity_Mods_Enabled, ExperienceConversionMultiplier
|
||||
|
||||
API Changes
|
||||
Added a class to handle experience related operations "ExperienceManager"
|
||||
NotificationManager is now provided via an instance in mcMMOs main class
|
||||
Restructured McMMOPlayerNotificationEvent to accommodate for new changes in NotificationManager
|
||||
Now Notification events are no longer assumed to be sending to the action bar with an option to have a copy sent to chat
|
||||
Notifications are now sent to either chat, actionbar, both or neither. The PlayerNotification type holds information on this. You can modify the event to change this how you wish if you hook into mcMMO.
|
||||
Added PrimarySkillType::getCapitalizedName
|
||||
Config settings can now be found in the ConfigManager (getter for it in mcMMO.java)
|
||||
Collection values from the config get converted into a runtime appropriate dataset, those can be found in DynamicSettingsManager (getter for it in mcMMO.java)
|
||||
mcMMO metadata keys have been moved into a convenience class (MetadataConstants)
|
||||
mcMMO now uses floats instead of doubles when appropriate (mostly XP value calculations)
|
||||
mcMMO now tracks and exposes a players specific XP boosts in each skill, which are normally only altered through XP perks
|
||||
Added 'getPlayersPersonalXPRate' to Experience API - Grabs the players current XP rate, defaults to 1.0 but is overwritten by any xp perks permissions
|
||||
Added API method to check if player parties are size capped
|
||||
Added API method to grab the level cap of a skill by its PrimarySkillType ENUM definition
|
||||
Added API method to check if a skill was being level capped
|
||||
Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill
|
||||
|
||||
Version 2.1.116
|
||||
Fixed directional plants not maintaining their direction when replanted
|
||||
|
||||
Version 2.1.115
|
||||
Green Thumb now requires a hoe to activate
|
||||
Hoes no longer give free replants
|
||||
You can sneak to break plants with a hoe in your hand (or just put the hoe away)
|
||||
Using a hoe on non-fully grown crops will replant them as a convenience feature
|
||||
New sound option in sounds.yml called 'ITEM_CONSUMED', plays when eating seeds for Green Thumb
|
||||
Cocoa plants now require GT of at least 2 to start at the second stage of growth
|
||||
Green Terra now boosts growth on Green Thumb by 1 stage (doesn't go above the maximum value though)
|
||||
There is now a feature in place to prevent breaking a newly automatically replanted (via green thumb) crop from being breakable for a few seconds after it appears
|
||||
Fixed a bug where Salvage always gave the best results
|
||||
Fixed an issue with arrows causing exceptions with players not yet having data loaded
|
||||
Spectral arrows are now tracked by mcMMO
|
||||
Use minimum level of salvageable properly
|
||||
Fix Axes Critical Strikes default permissions ( new fixed permission: mcmmo.ability.axes.criticalstrikes )
|
||||
Fix potential null pointer exception for salvage
|
||||
Updated locale entry 'Herbalism.SubSkill.GreenTerra.Description'
|
||||
|
||||
Version 2.1.114
|
||||
Fix some more locale usages, should aim to further prevent issues with oddball locales
|
||||
Fixed a bug where newer versions of MySQL did not like our rank command
|
||||
Added a new setting to turn off the Snow Golem Exploit prevention to experience.yml next to the other exploit fixes
|
||||
Fixed a bug which stopped the optional Endermite XP exploit fix from working
|
||||
|
||||
Version 2.1.113
|
||||
Activating Berserk on a soft block (glass, snow, dirts) will break that material right away instead of only breaking subsequent blocks hit by the player
|
||||
Berserk will now break glass and glass pane blocks
|
||||
Hitting glass with berserk readied will activate it
|
||||
Added GLASS settings to sounds.yml for Berserk
|
||||
Fixed bug where BlockCracker didn't work on infested_stone_bricks
|
||||
Fixed a bug where beacons could be duplicated
|
||||
Check player's PTP world permissions before executing a party teleport
|
||||
Improved how mcMMO handles randomness
|
||||
|
||||
Version 2.1.112
|
||||
Correct locale usage for enum access, now enforces using the english locale to prevent issues with oddball locales for configs/commands
|
||||
Fixed a NPE that can occur if a player engages in combat with specific skills before their profile is loaded
|
||||
mcMMO is now more compatible with certain mob stacking plugins
|
||||
Improved behaviour for mob health bars
|
||||
Archery's Skill Shot bonus damage is now multiplicative instead of additive (nerfing early game skill shot ranks)
|
||||
Sweet Berry Bush's default Herbalism XP is now 50 instead of 300 (Update your experience.yml or delete it to generate a new one)
|
||||
|
||||
Version 2.1.111
|
||||
mcMMO is compatible with the following versions of MC: 1.15 / 1.14.4 / 1.14.3 / 1.14.2 / 1.14.1 / 1.14 / 1.13.2
|
||||
Further prevent nesting of bleed damage calls
|
||||
Warn about reparable/salvage configs with missing sections
|
||||
Added Bee combat experience modifier to experience.yml (Update your experience.yml file, see notes)
|
||||
Breaking a Bee Nest will result in Herbalism XP (Update your experience.yml file, see notes)
|
||||
Breeding bees will now result in Taming XP (Update your experience.yml file, see notes)
|
||||
|
||||
NOTES:
|
||||
You will need to update your experience.yml by hand or delete it to get XP from new things in 1.15
|
||||
The default version of mcMMO's experience.yml looks like this: https://paste.gg/p/anonymous/15c34df6e60d45d9a3508b379a5e6514
|
||||
You'll want to add Bee to combat XP section, and Bee_Nest to Herbalism XP, and Bee to Taming XP section.
|
||||
|
||||
Version 2.1.110
|
||||
Fixed a dupe bug
|
||||
Actually fixed Block Cracker
|
||||
You can now crack Infested Stone Bricks with Block Cracker
|
||||
Added Lithuanian locale (thanks Vyciokazz)
|
||||
|
||||
Version 2.1.109
|
||||
Block Cracker will now correctly crack stone_bricks during Berserk again
|
||||
Added Lily_Of_The_Valley to the Bonus Drops list in config.yml (you'll probably want to add this manually) which enables it to double drop
|
||||
Added missing 1.14 blocks to ability/tool activation blacklists
|
||||
Fixed spamming of incompatible worldguard version message
|
||||
Updated Italian locale (thanks Fabrimat)
|
||||
|
||||
Version 2.1.108
|
||||
Fixed an amusing exploit for easy leveling in Acrobatics
|
||||
mcMMO should no longer break if FAWE is being used in conjunction with WG on the server
|
||||
Improved WG compatibility, mcMMO will now check if WG has loaded properly before hooking into it, which will prevent mcMMO from breaking if WG could not load properly.
|
||||
mcMMO now loads after worlds do during start up (which is what it should be doing)
|
||||
|
||||
NOTES:
|
||||
Mobs will now only reward Dodge XP a certain amount of times
|
||||
You can turn off this exploit prevention by disabling ExploitFix.Acrobatics in experience.yml
|
||||
|
||||
Version 2.1.107
|
||||
Fixed an exploit that allowed automated XP gain for Excavation
|
||||
Fixed encoding of russian translation
|
||||
New API event McMMOPlayerProfileLoadEvent (thanks Shrek5InTheatres2019)
|
||||
|
||||
Version 2.1.106
|
||||
Added a few missing blocks to the ability blacklist tables (prevents readying/using abilities on certain blocks that have right click functionality)
|
||||
Updated Japanese locale (thanks ethernetcat)
|
||||
Updated Simplified Chinese locale (thanks Fu_Meng)
|
||||
|
||||
Version 2.1.105
|
||||
mcMMO will reset players scoreboard to the main scoreboard if they move into a blacklisted world
|
||||
Beast lore now shows max jump height and other tweaks (Thanks QuantumToasted)
|
||||
If the server has enabled level caps (which are not on by default) players will be shown that they are at max level instead of seeing how much XP needed to reach an impossible level (thanks Shrek5InTheatres2019)
|
||||
Large update to Italian locale (thanks Leomixer17)
|
||||
|
||||
NOTES:
|
||||
The scoreboard change should result in mcMMO removing scoreboards from players properly when they enter a black listed world. This is a hacky band aid fix as our scoreboard code is archaic and needs to be rewritten in 2.2 and not 2.1. Expect a scoreboard overhaul sometime in the future.
|
||||
|
||||
Version 2.1.104
|
||||
Fixed a bug resulting in many errors when using Rupture
|
||||
Large update to the Japanese locale (thanks ethernetcat)
|
||||
Updated Hungarian locale (thanks andris)
|
||||
|
||||
Version 2.1.103
|
||||
Treasure item amount will default to 1 if not specified instead of breaking mcMMO
|
||||
Fishing treasures will now return the amount defined in treasures config file, an option to randomize amounts will be coming in the future. See notes.
|
||||
Fixed a bug where Tree Feller was only rewarding 1 XP per log broken no matter the circumstances
|
||||
Fixed an issue with salvage checking the incorrect level requirement
|
||||
Updated Italian locale (thanks Leomixer17)
|
||||
Fixed grammar in one of the Salvage strings (thanks QuantumToasted)
|
||||
|
||||
NOTES:
|
||||
Sometime in 2014 a decision was made that any fishing treasure over the amount of 1 will be randomized in its yield, while this is not necessarily a bad thing it means control over the drop is a bit random. I've removed this randomness temporarily, in the future you will be able to chose if the amount is randomized or static.
|
||||
|
||||
Version 2.1.102
|
||||
Scoreboards will now be removed from players who teleport to a blacklisted world
|
||||
Fixed a bug where Rupture could trigger itself
|
||||
|
||||
Version 2.1.101
|
||||
Fixed an exploit where chorus plants could be used to gain automatic XP
|
||||
Added blast furnace, cartography table, grindstone, lectern, loom, scaffolding, smoker, stonecutter, and sweet berry bush to the list of internal blocks that don't trigger tool readying
|
||||
|
||||
Version 2.1.100
|
||||
Fixed a bug where plants could double drop when the skill was not yet unlocked
|
||||
Fixed a bug where plants ALWAYS double dropped
|
||||
mcnotify command now checks that it's being executed by a player
|
||||
Fixed some concurrency concerns around BleedTasks
|
||||
Fixed an NPE that may occur with random chances on a player without loaded data
|
||||
Updated Russian locale (thanks myfbone!)
|
||||
|
||||
Version 2.1.99
|
||||
MASSIVE update to the Russian locale (ru) credit to myfbone
|
||||
Debug mode (/mmodebug) will now print info about XP perks and how they are modifying your incoming XP
|
||||
|
||||
Version 2.1.98
|
||||
Fixed a bug that prevented Taming XP from combat
|
||||
|
||||
Version 2.1.97
|
||||
mcMMO is compatible with 1.14.4 (Didn't require any changes)
|
||||
Fixed a NPE that could occur if a pet participated in combat and its master's mcMMO data was not available
|
||||
mcMMO now properly closes its region files as it creates them (thanks Yukiiro-Nite)
|
||||
Updated Hungarian locale (thanks andris)
|
||||
|
||||
Version 2.1.96
|
||||
Added the setting 'Skills.General.LimitBreak.AllowPVE' to advanced.yml to allow Limit Break damage bonus to apply in PVE again, defaults to false
|
||||
Updated Limit Break locale strings
|
||||
Fixed a few more places where 'Archaeology' was misspelled in the locale
|
||||
Added the setting 'ExploitFix.PistonCheating' to experience.yml at the request of a user
|
||||
Added a missing 's' to Nether_Bricks (thanks Sikatsu) in experience.yml
|
||||
|
||||
NOTES:
|
||||
The Skill Tooltips are a bit limited right now, in the future they will be more flexible. In order to reflect that Limit Break doesn't always work in PVE (now up to server settings) I added a crappy note to its hover window tip. I'll be fixing this in the future.
|
||||
You shouldn't need to update you config entry for Nether_Bricks, I believe that file updates automatically (the old config system is a bit janky, some stuff updates, some other stuff doesn't.)
|
||||
PistonCheating prevents blocks from being marked "natural" once they've been moved, we've never had an option for this before.
|
||||
A discord user requested it, its a strange request but I added it anyways.
|
||||
Of course, it defaults to "true" which prevents cheating with pistons.
|
||||
|
||||
Version 2.1.95
|
||||
Added missing Chorus_Fruit & Chorus_Plant entries to Herbalism's Bonus Drops in config.yml (See notes)
|
||||
Limit Break now does dramatically less damage to players with lower grades of armor
|
||||
Limit Break damage bonuses now only apply to Players
|
||||
Updated in game text to reflect changes to Limit Break
|
||||
Fixed a bug where opponents used your stats instead of their own to activate Iron Grip
|
||||
Fixed a bug preventing Wandering Traders from granting XP
|
||||
Fixed a bug that prevented Chorus Tree's from giving full XP if you broke anything other than the bottom block
|
||||
Fixed a bug which could cause Large Fern's to reward less XP
|
||||
Fixed a bug where certain herbalism crops could have fewer than intended bonus drops
|
||||
Fixed a bug involving Ender Pearl and Acrobatics
|
||||
Added some protection to Acrobatics to prevent gaining too much XP in one Roll.
|
||||
Added 'Carrots, Cocoa, Potatoes, Wheat, Beetroots, Nether_Wart' to Herbalism in experience.yml (See notes)
|
||||
Removed the _Ripe entries from experience.yml (no longer used)
|
||||
Updated locale string 'Swords.SubSkill.SwordsLimitBreak.Description' & 'Swords.SubSkill.SwordsLimitBreak.Stat'
|
||||
Added missing 'Chorus_Flower' entry to herbalism in experience.yml
|
||||
Added some debug messages about XP gains if you are in debug mode
|
||||
Added some debug messages for Acrobatics if you are in debug mode
|
||||
Added some debug messages for Herbalism if you are in debug mode
|
||||
|
||||
NOTES:
|
||||
Add 'Chorus_Fruit' and 'Chorus_Plant' under Bonus_Drops.Herbalism in config.yml or you will not be getting double drops for Chorus Fruit.
|
||||
You shouldn't need to add "Chorus_Flower, Carrots, Cocoa, Potatoes, Wheat, Beetroots, Nether_Wart" to your experience file, it seems that config file updates automatically for missing entries.
|
||||
|
||||
Version 2.1.94
|
||||
2 new devs have joined the mcMMO team (electronicboy, kashike), bringing the active dev team to 3 including myself! Strings relating to authors of mcMMO have been updated to reflect this
|
||||
Fixed a bug where 2 people using Tree Feller could result in the tree being rejected for being too big
|
||||
New command /mmodebug (or /mcmmodebugmode) - Prints useful information when players punch blocks while they are in debug mode
|
||||
mcMMO no longer prints debug information when you attack stuff with the debug stick, use the new command (/mmodebug) instead
|
||||
Added locale string 'mcMMO.Description.FormerDevs'
|
||||
Added locale string 'mcMMO.Template.Prefix'
|
||||
Added locale string 'Commands.Mmodebug.Toggle'
|
||||
Added locale string 'Commands.Description.mmodebug'
|
||||
Tweaked locale string 'mcMMO.Description'
|
||||
Updated Japanese locale (thanks snake)
|
||||
Updated hu_HU locale (thanks andris155)
|
||||
|
||||
Version 2.1.93
|
||||
Fixed a bug where players would be told they could not breed summoned animals when the animals weren't summoned (bug didn't actually do anything besides send you a message)
|
||||
|
||||
Version 2.1.92
|
||||
Call Of The Wild (COTW) no longer cares if entities of the same type are nearby when attempting to summon a new entity
|
||||
Fixed a bug where COTW summon limit was global instead of per player
|
||||
If you are playing in 1.14 mcMMO will now summon cats instead of ocelots
|
||||
The default summon limit for COTW is now per player instead of global which is how it should be, for wolves this defaults to 2, for other entities it defaults to 1
|
||||
The COTW setting named Summon_Max_Amount in config.yml has been renamed to Per_Player_Limit
|
||||
By default players are no longer allowed to breed COTW summoned animals with other animals, you can turn this off (see the notes)
|
||||
If a player tries to breed animals with a COTW animal and the server settings prevent this, they are informed via a message that it is not allowed
|
||||
If the COTW summon has a lifespan, players are now informed about this lifespan when the entity is first summoned
|
||||
COTW entities now send the player a message when they die, time out, or get removed through other means
|
||||
COTW summons now have their name prefixed with some colored text to to make it easier to identify them.
|
||||
COTW summons now despawn if their owner logs out
|
||||
There is now a small 150ms window in which you cannot summon an entity via COTW to prevent accidentally summoning extra entities
|
||||
COTW Horses, Cats, and Wolves now always spawn in as adults
|
||||
Changed the sound effect for COTW (Fireworks -> Pop)
|
||||
Most COTW messages have been tweaked and new COTW messages have been added
|
||||
Added new setting to experience.yml 'ExploitFix.COTWBreeding' - Prevents breeding with COTW summoned entities when set to true, defaults to true
|
||||
Removed the 'mcmmo.ability.taming.callofthewild.renamepets' permission node as it is seen as unnecessary
|
||||
|
||||
Removed locale strings
|
||||
Taming.Summon.Fail.Ocelot
|
||||
Taming.Summon.Fail.Wolf
|
||||
Taming.Summon.Fail.Horse
|
||||
Taming.Summon.Fail.TooMany
|
||||
Taming.Summon.Lifespan
|
||||
Added new locale strings
|
||||
Taming.Summon.COTW.NeedMoreItems
|
||||
Taming.Summon.COTW.BreedingDisallowed
|
||||
Taming.Summon.COTW.Success.WithLifespan
|
||||
Taming.Summon.COTW.Success.WithoutLifespan
|
||||
Taming.Summon.COTW.Limit
|
||||
Taming.Summon.COTW.TimeExpired
|
||||
Tweaked locale string
|
||||
Taming.Summon.Name.Format
|
||||
|
||||
NOTES:
|
||||
I plan to rework Call of The Wild (COTW) significantly in the upcoming content patch, until then I have made several tweaks to it.
|
||||
|
||||
COTW Summoning Requirement Changes
|
||||
It is intentional that you are not supposed to be able to COTW summon something that you already have tamed, but mcMMO was not checking this properly.
|
||||
So previous to this patch, if you tried to summon a wolf and wolves were nearby, it would fail. This is not intentional behaviour and was a bug.
|
||||
The correct behaviour is that if you try to summon a wolf and you already have wolves, it should fail.
|
||||
I was fixing this bug when it occurred to me, why do we even care if nearby tamed wolves owned by you exist if you are trying to summon a temporary one?
|
||||
As a result of this train of thought, I have removed this restriction on COTW and several other tweaks have been made as a result of this line of thinking.
|
||||
There was also an issue involving how many COTW entities could be out at once, for some reason the limit was applied globally and defaulted to 10, so if 10 players had COTW entities out no one else would be able to summon anything. I have fixed this.
|
||||
You can set the lifespan to 0 in the config to make it so that COTW entities last until a server restart or the player logs out.
|
||||
|
||||
COTW Breeding Change
|
||||
It was never intentional for COTW summoned entities to be breedable, by default they will not be. You can change this by setting 'ExploitFix.COTWBreeding' to false in experience.yml
|
||||
|
||||
Version 2.1.91
|
||||
mcMMO is now more compatible with plugins that spawn arrows in unexpected ways, this fixes some NPE in mcMMO when using certain plugins
|
||||
Fixed a bug where Unarmed was using the same CD timer for every player in the server (thanks slop_me)
|
||||
|
||||
Version 2.1.90
|
||||
Salvaged items now travel much slower towards the player
|
||||
Books from salvage will now travel towards the player
|
||||
Salvaged items travelling towards you will now have their speed adjusted based on distance
|
||||
|
||||
Common Materials found when mining have had their XP gains reduced and rare materials have had their XP gains increased
|
||||
Diamond Ore has had its XP increased from 750 to 2400
|
||||
Gold Ore has had its XP increased from 350 to 1300
|
||||
Iron Ore has had its XP increased from 250 to 900
|
||||
Lapis Ore has had its XP increased from 400 to 800
|
||||
Nether Quartz Ore has had its XP increased from 100 to 300
|
||||
Redstone Ore has had its XP increased from 150 to 600
|
||||
Blue_Ice has had its default XP value reduced to 15
|
||||
Packed_Ice has had its default XP value reduced to 15
|
||||
Netherrack has had its default XP value reduced to 15
|
||||
Coal Ore has had its XP increased from 100 to 400
|
||||
Stone has had its XP decreased from 30 to 15
|
||||
Granite has had its XP decreased from 30 to 15
|
||||
Andesite has had its XP decreased from 30 to 15
|
||||
Diorite has had its XP decreased from 30 to 15
|
||||
End Stone has had its XP decreased from 30 to 15
|
||||
Glow Stone has had its XP decreased from 30 to 15
|
||||
End Bricks has had its XP decreased from 200 to 50
|
||||
|
||||
|
||||
NOTES:
|
||||
You can either apply the default XP changes manually to experience.yml or delete it to generate a new file
|
||||
|
||||
Sorry about salvaged items traveling too quickly, in testing on my LAN server with ideal conditions they always entered my inventory and never shot past me so the high speed of the items was not an apparent issue.
|
||||
I've tested the new changes to how they travel towards you pretty thoroughly, they never go fast enough to go past you and they adjust their speed based on distance to you with some speed limitations.
|
||||
In testing the new tweaks work well whether the salvage anvil is above, below, or at the same height as you.
|
||||
|
||||
I'll be tweaking XP values across all skills more carefully in the upcoming content patch due after 2.2. Some tweaks to XP gains will be applied for 2.2.
|
||||
|
||||
Version 2.1.89
|
||||
Many changes were made to this version that affect default values in the config, read the notes carefully if you wish to apply these changes. They are optional.
|
||||
mcMMO is compatible with the new 1.14.3, in addition to this it is still compatible with 1.14.2, 1.14.1, 1.14, and 1.13.2. This did not require any changes to be made to mcMMO, but I thought I'd add this to the notes for those wondering.
|
||||
|
||||
RetroMode is the default level scaling mode again
|
||||
The default level for players has been changed back to 0 from 1 (you can change it back to 1 by editing 'Skills.General.StartingLevel' in advanced.yml) if you wish to apply this change read the notes
|
||||
Super Abilities now scale in length up to level 100/1000 instead of 50/500 by default (you can edit this in advanced.yml under 'Skills.General.Ability.Length.xxx')
|
||||
Early Game Boost now only applies when leveling from level 0 to level 1
|
||||
Removed the config setting 'MaxLevelMultiplier' from experience.yml as it is no longer used.
|
||||
When finding a treasure via Excavation players have a 1-8% chance to have a small amount vanilla experience orbs to be found alongside the treasure, the chance and number of orbs are based on the players Archaeology rank
|
||||
Tweaked the locale string 'Excavation.SubSkill.Archaeology.Description'
|
||||
Added locale string 'Excavation.SubSkill.Archaeology.Stat'
|
||||
Added locale string 'Excavation.SubSkill.Archaeology.Stat.Extra'
|
||||
Tweaked the locale string 'Fishing.SubSkill.MasterAngler.Stat'
|
||||
The interval at which you can gain Acrobatics XP from fall damage has been reduced to 3 seconds from 10 seconds, this will be configurable in 2.2.
|
||||
|
||||
When using WorldGuard (WG) with mcMMO, mcMMO now examines WG more carefully to determine if it is a compatible version or not, see the notes. Keep in mind WG is optional and not needed to run mcMMO.
|
||||
Fixed a bug that could result in Tree Feller failing to remove parts of a tree in snowy biomes. (This fix won't apply retroactively to old trees, see the notes)
|
||||
Updated Japanese locale (thanks snake)
|
||||
Tree Feller and other Super Abilities will damage tools with the Enchantment named 'Durability/Unbreaking' again, this does not apply to the NBT tag named Ubreakable (Unbreakable NBT tag is safe from damage however, try not to confuse them as they share similar names)
|
||||
Added new setting 'ExploitFix.TreeFellerReducedXP' to experience.yml
|
||||
Tree Feller will no longer give full XP for each block destroyed and instead give diminishing returns on XP for each block removed. You can turn this off by setting 'ExploitFix.TreeFellerReducedXP' in experience.yml to false
|
||||
Many skills which used to unlock at level 5/50 now unlock at level 1 instead
|
||||
Arrow Retrieval now unlocks at level 1 in both Standard and RetroMode
|
||||
Skill Shot now unlocks at level 1 in both Standard and RetroMode
|
||||
Dodge now unlocks at level 1 in both Standard and RetroMode
|
||||
Critical Strikes now unlocks at level 1 in both Standard and RetroMode
|
||||
Armor Impact now unlocks at level 1 in both Standard and RetroMode
|
||||
Beast Lore now unlocks at level 1 in both Standard and RetroMode
|
||||
Call Of The Wild now unlocks at level 1 in both Standard and RetroMode
|
||||
Scrap Collector now unlocks at level 1 in both Standard and RetroMode
|
||||
Treasure Hunter now unlocks at level 1 in both Standard and RetroMode
|
||||
Rupture now unlocks at level 1 in both Standard and RetroMode
|
||||
Iron Arm Style now unlocks at level 1 in both Standard and RetroMode
|
||||
Harvest Lumber now unlocks at level 1 in both Standard and RetroMode
|
||||
Archaeology now unlocks at level 1 in both Standard and RetroMode
|
||||
Repair Mastery now unlocks at level 1 in both Standard and RetroMode
|
||||
Double Drops (Herbalism and Mining) now have ranks and unlock at level 1 in both Standard and RetroMode
|
||||
Concoctions rank 2 now unlocks at Level 1 for both Standard and RetroMode
|
||||
Serrated Strikes now unlocks at levels 5/50 instead of 10/100
|
||||
Berserk now unlocks at levels 5/50 instead of 10/100
|
||||
|
||||
NOTES:
|
||||
I'm looking into adding 1.12.2 support sooner than expected.
|
||||
|
||||
Editing your config files is not required for this patch (and never will be), however I would highly recommend it. Read the notes below this line carefully.
|
||||
If you want to update to this patch easily and you don't mind default config values, delete skillranks.yml, advanced.yml, and experience.yml before starting your server with 2.1.89 of mcMMO applied.
|
||||
Many skills now unlock at level 1 and the default starting level is back to 0. It is recommended you change this number from 1 to 0 manually by editing 'Skills.General.StartingLevel' in advanced.yml or deleting advanced.yml and generating a new file when 2.1.89 starts.
|
||||
It is recommended you make the manual edits to skillranks.yml to apply this change or delete skillranks.yml and a new one will be generated once you start 2.1.89.
|
||||
|
||||
Early Game Boost was used to help players get to level 5 quickly by boosting their XP until they got there, this caused some confusion as they appeared to be 'learning a skill' for multiple levels, on RetroMode this lasted until level 50.
|
||||
I have changed Early Game Boost to only last from level 0-1 on both RetroMode and Standard, and now important skills are unlocked at level 1.
|
||||
I was going to wait until 2.2 was done to deploy this change, but 2.2 is some time away and the previous system was causing some confusion.
|
||||
Early Game Boost gives players extra XP for skills that are level 0, you can turn this system off by setting 'EarlyGameBoost.Enabled' in experience.yml to false
|
||||
Early Game Boost will show 'Learning a new skill...' if XP bars are enabled
|
||||
|
||||
https://mcmmo.org/wiki/World_guard - A list of WG flags supported by mcMMO.
|
||||
It is not necessary to have WG installed, but if you do have WG installed mcMMO hooks into it to provide some additional features.
|
||||
Previously mcMMO used to determine if WG was compatible just by checking to see if it was version 7 of WG, however version 7 of WG is not guaranteed to be compatible as necessary classes that mcMMO hooks into were added during its development and some users are still running early dev versions of WG7.
|
||||
In order to decrease the chance of error, mcMMO now uses reflection when checking to see if WG is compatible in addition to checking its version number, if its not compatible mcMMO will print a message and refrain from hooking into WG.
|
||||
WG is an optional dependency for mcMMO, and unfortunately before this change if mcMMO thought you were running a compatible version of WG and it turned out you weren't then mcMMO would not function correctly.
|
||||
|
||||
Archaeology does something now, it will be tweaked again in the future. Previously rank 1 of Archaeology was required to find treasures but that was all it did, now each rank of Archaeology also adds a small chance to find experience orbs when a player finds treasure.
|
||||
|
||||
In a prior patch I removed damage on tools if they had Unbreakable NBT or Unbreaking Enchantment, at the time I made this change I did not realize they were different things and just shared the same name, this patch fixes this mistake. My intention was to prevent damage on tools with the NBT unbreakable tag which makes an item never suffer from durability loss.
|
||||
mcMMO reduces damage to tools from super abilities if they have the "Durability/Unbreaking" enchantment already, this behaviour has been in mcMMO for a long time.
|
||||
|
||||
Tree Feller will now give reduced XP per block destroyed by Tree Feller and will never go below 1 XP per block, you can turn this off with 'ExploitFix.TreeFellerReducedXP' in experience.yml
|
||||
There was a bug fixed in this patch that prevents an issue where Tree Feller was not removing all blocks left behind, unfortunately this will only affect new trees made in the world. The only trees that suffered from this bug were ones in snowy areas that had snow form on them.
|
||||
|
||||
RetroMode and Standard mode will be getting renamed in 2.2, probably to something like 1000-scale and 100-scale respectively.
|
||||
Retro Mode was accidental genius is the short reason for the change to make it the default level scaling for mcMMO again.
|
||||
Standard Mode is not going anywhere, it is just opt-in now instead of the default.
|
||||
If you delete config.yml you will need to turn RetroMode off to use Standard mode as mcMMO doesn't keep track of what level scaling you are using outside of that.
|
||||
|
||||
Version 2.1.88
|
||||
mcMMO is now more compatible with a plugin named Project Korra
|
||||
mcMMO will no longer process combat triggers for damage at or below 0
|
||||
|
||||
Version 2.1.87
|
||||
(Level caps are not on by default in mcMMO, this is something you can turn on)
|
||||
|
||||
Players who reach either the power level cap or skill level cap will now be informed that they have done so
|
||||
XP Bars will no longer be sent to players who have reached the power level or skill level cap respectively
|
||||
Level up messages will no longer be sent to players who have reached the power level or skill level cap respectively
|
||||
Fixed a bug where mcMMO would send level up notifications to a player if the custom level up event from mcMMO was cancelled
|
||||
New locale strings 'LevelCap.PowerLevel' & 'LevelCap.Skill'
|
||||
|
||||
Version 2.1.86
|
||||
Players will no longer be told they got a perfect result when salvaging if they are below max skill level
|
||||
Salvage results will now travel towards the player instead of moving in a random direction
|
||||
(FIX) You cannot view stats of players who are offline if your server limits the range on inspect for you via permissions or settings
|
||||
(FIX) Players will no longer be told they lack skill in salvage if they already qualify for the best possible result for the item
|
||||
(FIX) Fixed a bug where arcane salvage was being used to calculate salvage results instead of scrap collector
|
||||
(FIX) Added the missing locale color for 'Commands.Party.Commands'
|
||||
Modified colors used in locale strings 'Salvage.Skills.Lottery.Normal', 'Salvage.Skills.Lottery.Perfect', and 'Profile.Loading.FailurePlayer'
|
||||
When failing to load a profile mcMMO will increase the amount of time it waits before reattempting to load the profile for each failure
|
||||
|
||||
NOTES:
|
||||
You can (and always have been able) to turn off the inspect range check by setting it to 0 in the config
|
||||
2.2 is around the corner, most things are functional, still a lot of work left to do.
|
||||
|
||||
Version 2.1.85
|
||||
Fixed a nearly 6 year old bug where Super Repair was not included as a child permission under Repair ability permission nodes (which meant some players would not have access to this skill)
|
||||
Fixed a bug that could prevent salvage from working for certain players
|
||||
Renamed the advanced salvage permission node to 'mcmmo.ability.salvage.scrapcollector'
|
||||
Fixed a bug that would send players skill unlock notifications if they did not have the permission node for that skill
|
||||
Dramatically increased the chance of receiving full materials when salvaging
|
||||
|
||||
Version 2.1.84
|
||||
Added some code to make mcMMO more compatible with EpicSpawners
|
||||
|
||||
Version 2.1.83
|
||||
You can no longer set party members on fire with your bow
|
||||
(FIX) Arrow Retrieval will no longer work with piercing enchant on crossbows
|
||||
WG Flags should now correctly recognize when a projectile belongs to a player and respect flag settings
|
||||
Updated hu_HU locale (thanks andris155)
|
||||
|
||||
Version 2.1.82
|
||||
Added new WG flag 'mcmmo-hardcore' if set to negative players will not be penalized by hardcore mode (if hardcore mode is enabled) it defaults to true
|
||||
Added proper error handling when loading parties file
|
||||
Fixed an error that could occur when using mcrank on an offline player
|
||||
You can now use mcrank on offline players by default
|
||||
You can now use inspect on offline players by default
|
||||
Removed the offline inspect/mcrank permissions
|
||||
Updated Chinese locale (thanks to the user named 89009332 from github)
|
||||
Added some redundancy checks when loading profiles (NPC checks to be specific)
|
||||
|
||||
NOTES:
|
||||
There were reasons to prevent inspecting offline players in the past, I don't see any reason for them anymore so I've removed the restriction.
|
||||
|
||||
Version 2.1.81
|
||||
Fixed a bug where Arrow Deflect would never trigger outside of PVP
|
||||
Fixed a bug where failing to salvage enchantments incorrectly colored the text
|
||||
mcMMO no longer allows players to keep enchantments exceeding normal limitations by default when salvaging or repairing (you can turn this off in the config, see below)
|
||||
Added new setting 'ExploitFix.UnsafeEnchantments' to experience.yml, turn this on to allow players to salvage/repair enchantments higher than normal game restrictions
|
||||
|
||||
NOTES:
|
||||
If a player tries to salvage/repair an item with an illegal enchant (for example Sharpness X) it will downgrade that item to the highest legal version when calculating rewards
|
||||
If you don't like this change you can turn it off in experience.yml under 'ExploitFix.UnsafeEnchantments'
|
||||
|
||||
|
||||
Version 2.1.80
|
||||
(Fix) mcMMO now respects the NBT "Unbreakable" tag and does not deal durability damage to items with that tag
|
||||
|
||||
Version 2.1.79
|
||||
Updated Japanese locale (Thanks snake0053)
|
||||
Fixed a NPE that could happen when using Tree Feller with an unenchanted Axe
|
||||
|
||||
Version 2.1.78
|
||||
Shovels no longer take more than 1 diamond to repair
|
||||
Tools with the unbreaking enchantment no longer take extra damage from ability usage, they are still subject to the normal durability damage from breaking blocks though.
|
||||
|
||||
Version 2.1.77
|
||||
Added minimum quantity back to Repair config
|
||||
|
||||
NOTES: I removed this last patch because I did not consider that server admins might be allowing users to repair items without crafting recipes (as of last patch mcMMO determines minimum quantity via counting ingredients in a recipe)
|
||||
If you do not define minimum quantity in the repair config, mcMMO will grab the minimum quantity automatically as I programmed it to do as of last patch, otherwise if it is defined, mcMMO will respect that and use that for calculations.
|
||||
The minimum quanitty should be set to the number of ingredients used to craft the recipe, for example 8 for diamond chestplate etc, you do not need to define this unless you are allowing players to repair custom items.
|
||||
|
||||
Version 2.1.76
|
||||
Advanced Salvage has been renamed to Scrap Collector
|
||||
Scrap Collector has 8 ranks, the first rank is unlocked at level 2 (Level 20 in RetroMode)
|
||||
You can not salvage without at least 1 rank in Scrap Collector now (formerly Advanced Salvage)
|
||||
Fixed a bug where Repair was repairing too much
|
||||
Fixed a bug where Arcane Salvage was used to determine how many materials a player could salvage from an item instead of Scrap Collector (formerly Advanced Salvage)
|
||||
Fixed a bug where messages about an item being too damage to salvage were being sent twice
|
||||
Removed the minimum quantity field from the repair config
|
||||
Removed the item data (metadata) field from repair config as its not used anymore
|
||||
Salvage will no longer return the max amount of materials possible, instead you are guaranteed one item and then some luck is involved on how many items are returned.
|
||||
Updated Chinese locale (thanks to the user named 89009332 from github)
|
||||
|
||||
New locale strings
|
||||
Salvage.Skills.Lottery.Normal
|
||||
Salvage.Skills.Lottery.Perfect
|
||||
Salvage.Skills.Lottery.Untrained
|
||||
Salvage.SubSkill.ScrapCollector.Name
|
||||
Salvage.SubSkill.ScrapCollector.Description
|
||||
Salvage.SubSkill.ScrapCollector.Stat
|
||||
|
||||
(API) SALVAGE_ARCANE_SALVAGE in SubSkillType has been renamed to SALVAGE_SCRAP_COLLECTOR
|
||||
|
||||
NOTES:
|
||||
You do not need to update your configs for this update.
|
||||
|
||||
How Salvage works
|
||||
As an example, say you had enough skill to gain up to 5 items from salvaging something, and that item has enough durability to yield up to 5 materials, salvage will play out like this...
|
||||
First off, you will be guaranteed 1 material, after this you have 80% chance to get the next material, if successful, another dice roll is conducted but lowers your odds by 20%, you chance to succeed will never fall below 33%
|
||||
If you fail a dice roll, it will still conduct dice rolls for the remaining maximum amount of materials returned but your odds of success are only lowered upon a successful dice roll, the sum of the successful dice rolls is used to calculate how many items you are given back, the first item is guaranteed and has no dice rolls, which means for example the Diamond Shovel will always succeed.
|
||||
|
||||
Version 2.1.75
|
||||
Fixed a bug that prevented Fortune from working correctly if a Double Drop was triggered
|
||||
|
||||
Version 2.1.74
|
||||
Fixed a NPE that could occur during certain events if a skill was disabled in coreskills.yml (Sorry!)
|
||||
|
||||
Version 2.1.73
|
||||
Fixed a NPE that could occur if an entire skill was disabled in coreskills.yml
|
||||
|
||||
Version 2.1.72
|
||||
Fixed a NPE if a server shutdown with no player data needing to be saved (the error is harmless but spammy)
|
||||
Fixed a NPE that could occur if Roll was disabled in coreskills.yml
|
||||
|
||||
Version 2.1.71
|
||||
Salvage will now always ask for confirmation before breaking your items (instead of only asking for enchanted items)
|
||||
Repair will now always ask for confirmation before repairing items (instead of only asking for enchanted items)
|
||||
Gold & Iron Blocks will no longer trigger tool ready messages
|
||||
Salvage & Repair anvils will no longer work on multi-item stacks
|
||||
|
||||
NOTES: You can still turn the confirmation off in config.yml
|
||||
|
||||
Version 2.1.70
|
||||
Added new DatabaseAPI to the API package, has features relating to database operations
|
||||
Fixed a bug where shulker boxes (without colors) would activate tool ready messages
|
||||
|
||||
Version 2.1.69
|
||||
Fixed a few places where mcMMO would not save player data immediately which may cause players to lose a few minutes of progress
|
||||
|
||||
A big thanks to Sleepyflea for helping test this patch and report this bug.
|
||||
|
||||
Version 2.1.68
|
||||
Updated Japanese locale (thanks Snake)
|
||||
Fixed a bug where consuming food in the off hand did not trigger the Diet abilities
|
||||
|
||||
Version 2.1.67
|
||||
The XP bar now reflects whether or not the player is receiving the early game boost
|
||||
Players who are receiving an early game boost will be shown "Learning a skill..." as the title of the XP bar while gaining XP
|
||||
New locale string 'XPBar.Template.EarlyGameBoost'
|
||||
|
||||
NOTES:
|
||||
You can turn off this system in experience.yml 'EarlyGameBoost.Enabled'
|
||||
The Early Game Boost is a system in which players receive drastically increased XP gains for the first few levels (until the first set of skills are unlocked)
|
||||
With default settings, this means players will be receiving boosted XP for the first 5 levels (50 for Retro)
|
||||
The Early Game Boost ends when players get the first skill in each ability under default settings
|
||||
The main purpose of this system is to alleviate progression issues with a few skills where the first set of unlocked abilities drastically increase how fun it is to level the skill
|
||||
The secondary purpose of this system is to alleviate any psychological issues when grinding towards the first set of unlocks by making the first set of unlocks happen quickly
|
||||
This system has been in place for a few versions now, but without an in game indicator of what was going on.
|
||||
If you have XP bars off there is still no indicator that this system is in place, I'll address that at some point.
|
||||
|
||||
Version 2.1.66
|
||||
Fixed a bug that could happen if a player was removed from the DB when using MySQL/MariaDB when the user was offline
|
||||
Fixed a minor memory leak for MySQL
|
||||
|
||||
Version 2.1.65
|
||||
Corrected a bug that would cause RetroMode to use Linear formula regardless of setting
|
||||
|
||||
Version 2.1.64
|
||||
Corrected how Standard mode (1-100 scaling) XP to next level was calculated, it is now a true 1:10 ratio with Retro (1-1000) scale, which is how it was intended to be to begin with
|
||||
Fixed a bug that caused skill messages to spam nearby players
|
||||
(API) method to get XP in FormulaManager has been renamed to getXPtoNextLevel(...), this shouldn't break anything as plugins should be using our Experience API methods instead of this
|
||||
(API) Added method getLevel(Player player, PrimarySkillType primarySkillType) to ExperienceAPI.java
|
||||
|
||||
|
||||
NOTE: The net result of this change is it will take a bit longer to level with Standard, but it should not be a drastic change. You might not even notice it.
|
||||
Standard is meant to take the same amount of time to level from levels 1-100 as it takes Retro to do 1-1000, this change corrects from errors in the code that made Standard actually take less XP than Retro despite intending for it to be a cosmetic difference in progression.
|
||||
I made a google sheet visualizing the difference between Standard and Retro Mode using default settings and Linear formula - https://docs.google.com/spreadsheets/d/1VlJtvNHlypACHyz_zulEdhgLwFjL01xMPkqlnu0XBSs/edit?usp=sharing
|
||||
|
||||
Version 2.1.63
|
||||
Fixed Armor Impact not scaling by skill rank
|
||||
Significantly Buffed the amount of durability damage incurred by a successful Armor Impact
|
||||
Added new setting to advanced.yml 'Skills.Axes.ArmorImpact.DamagePerRank' which is multiplied against Armor Impact's skill level to determine damage done to armor
|
||||
Fixed a bug that caused creative mode players to gain XP when qualifying for early game XP boosts
|
||||
Removed the damage cap setting for Armor Impact, it is inherently capped now based on its max rank and damage setting
|
||||
Updated hu_HU locale (thanks andris155)
|
||||
Updated ja_JP locale (thanks snake)
|
||||
|
||||
NOTES:
|
||||
Armor Impact only has a 25% chance to go off, and for it to only incur 20 durability damage seemed incredibly underwhelming, I've buffed it quite a bit.
|
||||
You can change it back to its underwhelming self by setting DamagePerRank to 1.0
|
||||
Based on feedback I may tweak the number again or other properties of this skill
|
||||
|
||||
Version 2.1.62
|
||||
Added a new admin notification system, sensitive commands will print chat messages to "admins" (players with either Operator status or admin chat permission)
|
||||
Added a setting to disable the new admin notifications to config.yml 'General.AdminNotifications' (this will be more configurable in 2.2)
|
||||
OPs and players with the admin chat permission will now see details about XP rate event commands regardless of whether or not the XP rate event messages are enabled
|
||||
Updated hu_HU locale (thanks andris155)
|
||||
Added XP for mining Magma_Block (default 30 XP - Update your config, see notes)
|
||||
Diamond tools & armor in the repair config now have a minimum level of 0 (Update your config, temporary hotfix, 2.2 addresses this issue, see notes)
|
||||
Guardian default combat XP multiplier reduced from 3.0 to 1.0 (update config if you want this change)
|
||||
New locale string - 'Server.ConsoleName' the name of the server console, this will be used in place of player names when sending admin notifications out if the command was used from console
|
||||
New locale string - 'Notifications.Admin.Format.Others' style formatting + prefix for admin notifications used in the other new strings below
|
||||
New locale string - 'Notifications.Admin.Format.Self' style formatting + prefix for admin command confirmations sent to the user who executed the command
|
||||
New locale string - 'Notifications.Admin.XPRate.Start.Self' sent to the user who modifies the XP rate regardless of whether or not messages for the event are enabled
|
||||
New locale string - 'Notifications.Admin.XPRate.Start.Others' details of who started an XP rate event are sent to players who have Operator status or admin chat permission when the command to start or modify XP of an event has been issued
|
||||
New locale string - 'Notifications.Admin.XPRate.End.Self' sent to the user who ended the XP rate event regardless of whether or not messages for the event are enabled
|
||||
New locale string - 'Notifications.Admin.XPRate.End.Others' details of who ended an XP rate event are sent to players who have Operator status or admin chat permission when the command to end the event has been issued
|
||||
|
||||
NOTES:
|
||||
Admin notifications currently only reports use of the XP rate command, it will be expanded to support other commands in upcoming patches
|
||||
Add an entry of 'Magma_Block: 30' under Mining in experience.yml section titled "Experience_Values" (or you can delete the file to generate a new one with default values, 2.2 is coming soon which will have brand new configs so you could just wait for that
|
||||
2.2 is the config rewrite, in this rewrite Repair and Salvage configs have been partially rewritten, it is not intended for Diamond Repair to take until level 50 in Standard level scaling to be available, since it'd be redundant to fix this in 2.1.X when 2.2 fixes it and its about to come out, the minimum level has temporarily been changed to 0. You can either update your repair.vanilla.yml config manually or delete it to generate a new one.
|
||||
|
||||
Admin notifications are a step in the right direction for finding naughty admins in mcMMO, I will be changing which permission node is used for players to be considered an admin in the future as not everyone wants or uses admin chat.
|
||||
I expect to add logging of admin commands which will be viewable in game via command, so you won't have to have access to the servers log files to view who has been executing what.
|
||||
|
||||
Version 2.1.61
|
||||
Fixed the locale string formatting of 'Mining.SubSkill.DoubleDrops.Stat'
|
||||
Updated the Japanese locale (thanks snake0053)
|
||||
Added toggle to turn off event message broadcasts (XP rate) to config.yml - 'General.EventBroadcasts'
|
||||
Added toggle to not inform players of events when they join (XP rate, etc) to config.yml 'General.EventInfoOnPlayerJoin'
|
||||
Added anti-exploit protection for cobble/stone farms which can be automated, to turn this off you can toggle the new config options 'ExploitFix.LavaStoneAndCobbleFarming' in experience.yml
|
||||
|
||||
NOTE: The toggle for event message broadcasts is separate from the titles being shown, that's another config option (titles are the BIG TEXT in the middle of the screen)
|
||||
NOTE: The new anti-stone/cobble automation will not prevent XP gains from obsidian, since Obsidian requires some effort to farm
|
||||
|
||||
Version 2.1.60
|
||||
Fixed a NPE error if a LivingEntity's target was set to null
|
||||
Fixed a bug where tamed mobs could kill themselves if their owner shot them once
|
||||
Corrected a typo when naming entities summoned by COTW (Locale string - Taming.Summon.Name.Format)
|
||||
Fixed a bug where tamed mobs could have hearts instead of their name in their own death messages
|
||||
Fixed a bug where multi-block crops would fail to double/triple drop (Sugar Cane, Cactus, etc)
|
||||
Optimized the bonus drop code to reduce overhead
|
||||
|
||||
Version 2.1.59
|
||||
Raised the overfishing limit from 3 to 10
|
||||
Improved the overfishing messages to be more clear about its mechanics
|
||||
Overfishing locale keys renamed "Fishing.ScarcityTip" and "Fishing.LowResourcesTip"
|
||||
|
||||
NOTES: This and other exploit prevention measures are much more customizable in 2.2, which shouldn't be too far off.
|
||||
|
||||
Version 2.1.58
|
||||
Fixed the wrong locale string being used for Mining Double Drops
|
||||
|
||||
Version 2.1.57
|
||||
Fixed an incredibly rare dupe bug that only happened with VERY specific config options that was extremely difficult to pull off
|
||||
|
||||
Version 2.1.56
|
||||
Very large update to the zh_CN Chinese language file (thanks Dream_m)
|
||||
|
||||
Version 2.1.55
|
||||
Fixed a bug that could occur when adding UUIDs to old outdated DBs
|
||||
|
||||
Version 2.1.54
|
||||
Fixed a bug where the Skill 'Understanding the Art' was preventing vanilla experience orbs from furnaces
|
||||
Fixed 'Understanding the Art' not correctly boosting vanilla XP from furnaces
|
||||
|
||||
Version 2.1.53
|
||||
Fixed a critical bug where players earned too much XP
|
||||
|
||||
Version 2.1.52
|
||||
Updated Japanese locale (thanks snake0053)
|
||||
Added a toggle for the early game XP boost to experience.yml 'EarlyGameBoost.Enabled'
|
||||
Added a max level multiplier for determining early game boosts cutoff to experience.yml 'EarlyGameBoost.MaxLevelMultiplier'
|
||||
|
||||
Version 2.1.51
|
||||
You can now customize a locale outside of the JAR! (Thanks mikroskeem)
|
||||
Added a new locale reload command 'mmolocalereload' (Thanks mikroskeem)
|
||||
Locales can now be overriden by placing a file with an appropriate name inside /plugins/mcMMO/locales/ (Thanks mikroskeem)
|
||||
|
||||
NOTES
|
||||
You can find the up to date current en_US locale entries here: https://github.com/mcMMO-Dev/mcMMO/blob/master/src/main/resources/locale/locale_en_US.properties
|
||||
You do NOT have to replace the whole locale, you can replace only the strings you want to!
|
||||
Locales only support ASCII and UTF16 characters at the moment, so you'll need to run special characters through a UTF16 converter (google it) to get them to work, I'll be fixing this in the future!
|
||||
The locale name must match the internal file you are overriding (ie: locale_en_US.properties)
|
||||
Locale will first check for a users locale file, if it doesn't exist it will use internal resources (files inside the JAR)
|
||||
If a locale is found, it will use locale entries from that file, if any entries are missing, it will use entries from en_US inside the JAR
|
||||
The locale file names are structured like this 'locale_XX_XX.properties', replace XX with your country codes, if you are not overriding en_US you will have to change the targetted locale inside config.yml
|
||||
|
||||
Version 2.1.50
|
||||
Fixed a bug where early game XP boost (level 1-5) didn't function in certain circumstances
|
||||
Updated German locale (thanks OverCrave)
|
||||
Added missing Herbalism XP values for: Bamboo, Cornflower, Lily of the valley, Wither rose (thanks Zed-I)
|
||||
Added missing Mining XP values for: Stone Bricks, Cracked Stone Bricks, Mossy Stone Bricks, Chiseled Stone Bricks, Prismarine Bricks, Dark Prismarine, Sea Lantern (thanks Zed-I)
|
||||
Added missing Combat XP multiplier for: Wandering Trader (thanks Zed-I)
|
||||
|
||||
Notes:
|
||||
If you haven't upgraded mcMMO since version 2.1.47 or before you will not need to do these steps as the experience file will update once automatically.
|
||||
You can either delete experience.yml to generate a new one or edit it manually
|
||||
This is what the default experience.yml looks like
|
||||
https://paste.gg/p/anonymous/946f62ce7dff4ab7a87cae70c0266313
|
||||
|
||||
|
||||
Version 2.1.49
|
||||
Added sweet berry bush to Herbalism XP (Update your experience.yml config or delete it to gen a new one)
|
||||
Fixed a bug where falling blocks were not marked as unnatural in water
|
||||
Fixed a bug where tool lower notifications were being called async when they are sync only
|
||||
Fixed NPE when checking inventory location
|
||||
Improved herbalism compatibility with anti-cheat (thanks LogGits)
|
||||
|
||||
NOTE: This is what the default herbalism XP table looks like
|
||||
https://paste.gg/p/anonymous/1022088f20cf44298870930e9bc58e8a
|
||||
|
||||
Version 2.1.48
|
||||
1.14 Support
|
||||
Added Cats, Foxes, and Pandas to Taming XP rewards
|
||||
Added Cats, Foxes, Pandas, Trader Llamas, Pillagers, and Ravagers to Combat XP rewards
|
||||
"Experience" section of experience.yml has been renamed to "Experience_Values"
|
||||
Dodge now gives 800 XP
|
||||
Roll now gives 600 XP
|
||||
Fall now gives 600 XP
|
||||
|
||||
The first 5/50 levels of skills now give large amounts of XP so players get key early skills much faster
|
||||
Note: First 5 in Standard, first 50 in Retro
|
||||
|
||||
Dev Notes:
|
||||
I will be making a write up soon explaining near future plans for mcMMO and what is going on with the config update, abstraction update, etc...
|
||||
Currently this version of mcMMO will work on both 1.13 and 1.14, in the abstraction update I will expand compatible versions of mcMMO to include: 1.14 / 1.13.2 / 1.12.2 / 1.8.8 / Sponge 1.14
|
||||
It is not necessary to update your configs if you are upgrading from 1.13 -> 1.14, however if you had custom XP values in your experience.yml you will want to update your config.
|
||||
Acrobatics XP was buffed since many AFK counter-measures were put into place to prevent repetitive grinding.
|
||||
Experience node in experience.yml was renamed to "automatically" update configs for the new stuff 1.14
|
||||
There are 4 updates planned for mcMMO, including a patreon rewards update, a large content update, a config update, and backwards compatibility for 1.13/1.12/1.8.8 and support for Sponge
|
||||
|
||||
Version 2.1.47
|
||||
Fix NPE when party leader is offline and players grab a party list
|
||||
@@ -204,6 +1089,7 @@ Version 2.1.22
|
||||
NOTE: You'll need to add these entries to your config.yml manually, or wait for the upcoming config update where this will be fixed for you automatically.
|
||||
NOTE: Here's what your Double_Drop entries in Config.yml for Herbalism should look like: https://paste.gg/p/anonymous/8d8db4ac69bd495fa48a7f5190484c5e
|
||||
|
||||
|
||||
Version 2.1.21
|
||||
Improved anti-farm/anti-grinding mechanics for Rolling
|
||||
When you gain XP from Rolling there is a cooldown period (60~ seconds) for gaining XP again
|
||||
@@ -212,11 +1098,11 @@ Version 2.1.21
|
||||
NOTE: Rolls still happen in the cooldown period, you just won't gain XP.
|
||||
|
||||
Version 2.1.20
|
||||
Added Hungarian localization (Locale code: hu_HU) (thanks andris155)
|
||||
Players can now fish in the same spot about 3 times before mcMMO will mark the area as being over-fished (over-fishing is to prevent abuse)
|
||||
Added a toggle to turn off the fishing exploit detection to experience.yml "ExploitFix.Fishing"
|
||||
Note: The new config update is coming soon and will use a different setting, putting this out as a band-aid fix for people that don't like the new fishing exploit prevention stuff
|
||||
Added a message to warn players that their next fishing attempt will result in over-fishing (Locale: Fishing.LowResources)
|
||||
Added Hungarian localization (Locale code: hu_HU) (thanks andris155)
|
||||
Players can now fish in the same spot about 3 times before mcMMO will mark the area as being over-fished (over-fishing is to prevent abuse)
|
||||
Added a toggle to turn off the fishing exploit detection to experience.yml "ExploitFix.Fishing"
|
||||
Note: The new config update is coming soon and will use a different setting, putting this out as a band-aid fix for people that don't like the new fishing exploit prevention stuff
|
||||
Added a message to warn players that their next fishing attempt will result in over-fishing (Locale: Fishing.LowResources)
|
||||
|
||||
Version 2.1.19
|
||||
Greatly Improved Fishing AFK/Exploit Detection
|
||||
|
||||
894
LICENSE
894
LICENSE
@@ -1,346 +1,674 @@
|
||||
TERMS AND CONDITIONS
|
||||
0. Definitions.
|
||||
“This License” refers to version 3 of the GNU General Public License.
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”.
|
||||
“Licensees” and “recipients” may be individuals or organizations.
|
||||
Preamble
|
||||
|
||||
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission,
|
||||
other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work
|
||||
“based on” the earlier work.
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
A “covered work” means either the unmodified Program or a work based on the Program.
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily
|
||||
liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy.
|
||||
Propagation includes copying, distribution (with or without modification), making available to the public, and in some
|
||||
countries other activities as well.
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction
|
||||
with a user through a computer network, with no transfer of a copy, is not conveying.
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and
|
||||
prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no
|
||||
warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this
|
||||
License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any
|
||||
non-source form of a work.
|
||||
1. Source Code.
|
||||
|
||||
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or,
|
||||
in the case of interfaces specified for a particular programming language, one that is widely used among developers
|
||||
working in that language.
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in
|
||||
the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to
|
||||
enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is
|
||||
available to the public in source code form. A “Major Component”, in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a
|
||||
compiler used to produce the work, or an object code interpreter used to run it.
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and
|
||||
(for an executable work) run the object code and to modify the work, including scripts to control those activities.
|
||||
However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs
|
||||
which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding
|
||||
Source includes interface definition files associated with source files for the work, and the source code for shared
|
||||
libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data
|
||||
communication or control flow between those subprograms and other parts of the work.
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the
|
||||
Corresponding Source.
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source for a work in source code form is that same work.
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
2. Basic Permissions.
|
||||
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided
|
||||
the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program.
|
||||
The output from running a covered work is covered by this License only if the output, given its content, constitutes a
|
||||
covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
You may make, run and propagate covered works that you do not convey, without conditions so long as your license
|
||||
otherwise remains in force. You may convey covered works to others for the sole purpose of having them make
|
||||
modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do not control copyright. Those thus making or running
|
||||
the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that
|
||||
prohibit them from making any copies of your copyrighted material outside their relationship with you.
|
||||
2. Basic Permissions.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not
|
||||
allowed; section 10 makes it unnecessary.
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling
|
||||
obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or
|
||||
restricting circumvention of such measures.
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the
|
||||
extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you
|
||||
disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users,
|
||||
your or third parties' legal rights to forbid circumvention of technological measures.
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating
|
||||
that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices
|
||||
of the absence of any warranty; and give all recipients a copy of this License along with the Program.
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for
|
||||
a fee.
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source
|
||||
code under the terms of section 4, provided that you also meet all of these conditions:
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
|
||||
b) The work must carry prominent notices stating that it is released under this License and any conditions added under
|
||||
section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
|
||||
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all
|
||||
its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way,
|
||||
but it does not invalidate such permission if you have separately received it.
|
||||
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has
|
||||
interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
|
||||
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of
|
||||
the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or
|
||||
distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the
|
||||
access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other parts of the aggregate.
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License, in one of these ways:
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied
|
||||
by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
|
||||
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied
|
||||
by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for
|
||||
that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all
|
||||
the software in the product that is covered by this License, on a durable physical medium customarily used for software
|
||||
interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2)
|
||||
access to copy the Corresponding Source from a network server at no charge.
|
||||
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source.
|
||||
This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an
|
||||
offer, in accord with subsection 6b.
|
||||
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent
|
||||
access to the Corresponding Source in the same way through the same place at no further charge. You need not require
|
||||
recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a
|
||||
network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports
|
||||
equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it
|
||||
is available for as long as needed to satisfy these requirements.
|
||||
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and
|
||||
Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
|
||||
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library,
|
||||
need not be included in conveying the object code work.
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used
|
||||
for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In
|
||||
determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a
|
||||
particular product received by a particular user, “normally used” refers to a typical or common use of that class of
|
||||
product, regardless of the status of the particular user or of the way in which the particular user actually uses, or
|
||||
expects or is expected to use, the product. A product is a consumer product regardless of whether the product has
|
||||
substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of
|
||||
the product.
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information
|
||||
required to install and execute modified versions of a covered work in that User Product from a modified version of its
|
||||
Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code
|
||||
is in no case prevented or interfered with solely because modification has been made.
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the
|
||||
conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to
|
||||
the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding
|
||||
Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not
|
||||
apply if neither you nor any third party retains the ability to install modified object code on the User Product (for
|
||||
example, the work has been installed in ROM).
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
The requirement to provide Installation Information does not include a requirement to continue to provide support
|
||||
service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product
|
||||
in which it has been modified or installed. Access to a network may be denied when the modification itself materially
|
||||
and adversely affects the operation of the network or violates the rules and protocols for communication across the
|
||||
network.
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format
|
||||
that is publicly documented (and with an implementation available to the public in source code form), and must require
|
||||
no special password or key for unpacking, reading or copying.
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
7. Additional Terms.
|
||||
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its
|
||||
conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were
|
||||
included in this License, to the extent that they are valid under applicable law. If additional permissions apply only
|
||||
to part of the Program, that part may be used separately under those permissions, but the entire Program remains
|
||||
governed by this License without regard to the additional permissions.
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or
|
||||
from any part of it. (Additional permissions may be written to require their own removal in certain cases when you
|
||||
modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have
|
||||
or can give appropriate copyright permission.
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by
|
||||
the copyright holders of that material) supplement the terms of this License with terms:
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
|
||||
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the
|
||||
Appropriate Legal Notices displayed by works containing it; or
|
||||
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be
|
||||
marked in reasonable ways as different from the original version; or
|
||||
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
|
||||
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
|
||||
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified
|
||||
versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual
|
||||
assumptions directly impose on those licensors and authors.
|
||||
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the
|
||||
Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with
|
||||
a term that is a further restriction, you may remove that term. If a license document contains a further restriction but
|
||||
permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of
|
||||
that license document, provided that the further restriction does not survive such relicensing or conveying.
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a
|
||||
statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as
|
||||
exceptions; the above requirements apply either way.
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
8. Termination.
|
||||
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to
|
||||
propagate or modify it is void, and will automatically terminate your rights under this License (including any patent
|
||||
licenses granted under the third paragraph of section 11).
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated
|
||||
(a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and
|
||||
(b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days
|
||||
after the cessation.
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you
|
||||
of the violation by some reasonable means, this is the first time you have received notice of violation of this License
|
||||
(for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
Termination of your rights under this section does not terminate the licenses of parties who have received copies or
|
||||
rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not
|
||||
qualify to receive new licenses for the same material under section 10.
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a
|
||||
covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not
|
||||
require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered
|
||||
work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run,
|
||||
modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third
|
||||
parties with this License.
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or
|
||||
subdividing an organization, or merging organizations. If propagation of a covered work results from an entity
|
||||
transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work
|
||||
the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with
|
||||
reasonable efforts.
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For
|
||||
example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License,
|
||||
and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent
|
||||
claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
11. Patents.
|
||||
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program
|
||||
is based. The work thus licensed is called the contributor's “contributor version”.
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already
|
||||
acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or
|
||||
selling its contributor version, but do not include claims that would be infringed only as a consequence of further
|
||||
modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent
|
||||
sublicenses in a manner consistent with the requirements of this License.
|
||||
11. Patents.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential
|
||||
patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its
|
||||
contributor version.
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to
|
||||
enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To
|
||||
“grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against
|
||||
the party.
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not
|
||||
available for anyone to copy, free of charge and under the terms of this License, through a publicly available network
|
||||
server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available,
|
||||
or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a
|
||||
manner consistent with the requirements of this License, to extend the patent license to downstream recipients.
|
||||
“Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in
|
||||
a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in
|
||||
that country that you have reason to believe are valid.
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring
|
||||
conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing
|
||||
them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is
|
||||
automatically extended to all recipients of the covered work and works based on it.
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of,
|
||||
or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You
|
||||
may not convey a covered work if you are a party to an arrangement with a third party that is in the business of
|
||||
distributing software, under which you make payment to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a
|
||||
discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from
|
||||
those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered
|
||||
work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to
|
||||
infringement that may otherwise be available to you under applicable patent law.
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this
|
||||
License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to
|
||||
satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence
|
||||
you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further
|
||||
conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License
|
||||
would be to refrain entirely from conveying the Program.
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work
|
||||
licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the
|
||||
resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special
|
||||
requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply
|
||||
to the combination as such.
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to
|
||||
time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new
|
||||
problems or concerns.
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the
|
||||
GNU General Public License “or any later version” applies to it, you have the option of following the terms and
|
||||
conditions either of that numbered version or of any later version published by the Free Software Foundation. If the
|
||||
Program does not specify a version number of the GNU General Public License, you may choose any version ever published
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used,
|
||||
that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the
|
||||
Program.
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different permissions. However, no additional obligations are imposed
|
||||
on any author or copyright holder as a result of your choosing to follow a later version.
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING
|
||||
THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
|
||||
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU
|
||||
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
16. Limitation of Liability.
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO
|
||||
MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
||||
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO
|
||||
LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
|
||||
TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to
|
||||
their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil
|
||||
liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program
|
||||
in return for a fee.
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
|
||||
29
README.md
29
README.md
@@ -1,32 +1,32 @@
|
||||
# mcMMO
|
||||
## The RPG lovers mod
|
||||
## The #1 RPG Mod for Minecraft
|
||||
|
||||
## Website
|
||||
I'm working on a brand new website for mcMMO
|
||||
|
||||
You can check it out here http://www.mcmmo.org
|
||||
Spigot Resource: https://www.spigotmc.org/resources/official-mcmmo-original-author-returns.64348/
|
||||
|
||||
Spigot Resource: https://spigot.mcmmo.org
|
||||
|
||||
I plan to post links to our new wiki (its still under development), downloads, and dev blogs there.
|
||||
|
||||
|
||||
### Builds
|
||||
Currently, you can obtain our builds via the Spigot resource page: http://spigot.mcmmo.org
|
||||
|
||||
### Brief Description
|
||||
The goal of mcMMO is to take core Minecraft game mechanics and expand them into add an extensive and quality RPG experience. Everything in mcMMO has been carefully thought out and is constantly being improved upon. Currently, mcMMO adds fourteen unique skills to train and level in. Each of these skills is highly customizable through our configuration files, allowing server admins to tweak mcMMO to best suit the needs of his or her server. Know that the mcMMO team is dedicated to providing an ever-evolving experience, and that we carefully read all feedback and bug reports in order to evaluate and balance the mechanics of mcMMO in every update.
|
||||
The goal of mcMMO is to take core Minecraft game mechanics and expand them into an extensive and quality RPG experience. Everything in mcMMO has been carefully thought out and is constantly being improved upon. Currently, mcMMO adds fourteen unique skills to train and level in. Each of these skills is highly customizable through our configuration files, allowing server admins to tweak mcMMO to best suit the needs of his or her server. Know that the mcMMO team is dedicated to providing an ever-evolving experience, and that we carefully read all feedback and bug reports in order to evaluate and balance the mechanics of mcMMO in every update.
|
||||
|
||||
## About the Team
|
||||
In December 2018 nossr50 returned as project lead for mcMMO once again to develop and improve mcMMO.
|
||||
The mcMMO team currently has two members, nossr50 (lead) and t00thpick1 (classic maintainer).
|
||||
mcMMO is currently developed almost entirely by nossr50, many thanks go out to the many developers who have worked on the project over the years.
|
||||
|
||||
### Project Lead & Founder
|
||||
In December 2018, the original author and creator of mcMMO (nossr50) returned and took over the role of project lead once again, to develop and improve mcMMO.
|
||||
#### Project Lead & Founder
|
||||
[](https://github.com/nossr50)
|
||||
|
||||
Other mcMMO Projects
|
||||
#### mcMMO Devs
|
||||
[](https://github.com/nossr50)
|
||||
[](https://github.com/kashike)
|
||||
[](https://github.com/electronicboy)
|
||||
|
||||
### Classic Maintainer
|
||||
#### Classic Maintainer
|
||||
[](https://github.com/t00thpick1)
|
||||
|
||||
## Former Team Members
|
||||
@@ -50,10 +50,13 @@ mcMMO uses Maven 3 to manage dependencies, packaging, and shading of necessary c
|
||||
The typical command used to build mcMMO is: `mvn clean package install`
|
||||
|
||||
Required Libraries:
|
||||
* Bukkit
|
||||
* Spigot
|
||||
* JUnit
|
||||
* WorldGuard 7
|
||||
* bStats Bukkit
|
||||
|
||||
http://spigot.mcmmo.org for more up to date information.
|
||||
https://spigot.mcmmo.org for more up to date information.
|
||||
|
||||
Resource Page
|
||||
|
||||
https://www.spigotmc.org/resources/official-mcmmo-original-author-returns.64348/
|
||||
|
||||
30
build.gradle.kts
Normal file
30
build.gradle.kts
Normal file
@@ -0,0 +1,30 @@
|
||||
subprojects {
|
||||
apply(plugin = "java-library")
|
||||
// Java is not explicitly needed, but keeps IJ happy with the tasks block
|
||||
apply(plugin = "java")
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/groups/public/")
|
||||
maven("https://repo.spongepowered.org/maven")
|
||||
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots")
|
||||
maven("https://repo.codemc.org/repository/maven-public")
|
||||
maven("https://maven.sk89q.com/repo")
|
||||
maven("https://mvnrepository.com/artifact/org.jetbrains/annotations")
|
||||
maven("https://repo.aikar.co/content/groups/aikar/")
|
||||
maven("https://hub.spigotmc.org/nexus/content/groups/public/")
|
||||
}
|
||||
|
||||
tasks {
|
||||
withType(JavaCompile::class.java) {
|
||||
options.encoding = "UTF-8"
|
||||
}
|
||||
}
|
||||
|
||||
configure<JavaPluginConvention> {
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,439 +0,0 @@
|
||||
# Lord of the Rings mod config by Dragyn
|
||||
# Built against version [1.6.4] The Lord of the Rings Mod Public Beta 11.1
|
||||
#
|
||||
#
|
||||
# Settings for Boots
|
||||
###
|
||||
Boots:
|
||||
# Bronze
|
||||
X12015:
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Orc
|
||||
X12035:
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Gondorian
|
||||
X12060:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Mithril
|
||||
X12064:
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Elven
|
||||
X12088:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Warg
|
||||
X12098:
|
||||
Repairable: true
|
||||
Repair_Material: X12094
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dwarven
|
||||
X12129:
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Galven
|
||||
X12134:
|
||||
Repairable: true
|
||||
Repair_Material: X12130
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Uruk
|
||||
X12161:
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Wood Elf
|
||||
X12176:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Ancient
|
||||
X12180:
|
||||
Repairable: true
|
||||
Repair_Material: X12179
|
||||
Repair_Material_Data_Value: 3
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rohirric
|
||||
X12187:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rangers
|
||||
X12206:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dunlending
|
||||
X12210:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Morgul
|
||||
X12222:
|
||||
Repairable: true
|
||||
Repair_Material: X12217
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Chestplates
|
||||
###
|
||||
Chestplates:
|
||||
# Bronze
|
||||
X12013:
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Orc
|
||||
X12033:
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Gondorian
|
||||
X12058:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Mithril
|
||||
X12062:
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Elven
|
||||
X12086:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Warg
|
||||
X12096:
|
||||
Repairable: true
|
||||
Repair_Material: X12094
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dwarven
|
||||
X12127:
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Galven
|
||||
X12132:
|
||||
Repairable: true
|
||||
Repair_Material: X12130
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Uruk
|
||||
X12159:
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Wood Elf
|
||||
X12174:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Ancient
|
||||
X12178:
|
||||
Repairable: true
|
||||
Repair_Material: X12179
|
||||
Repair_Material_Data_Value: 3
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rohirric
|
||||
X12185:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rangers
|
||||
X12204:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dunlending
|
||||
X12208:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Morgul
|
||||
X12220:
|
||||
Repairable: true
|
||||
Repair_Material: X12217
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Helmets
|
||||
###
|
||||
Helmets:
|
||||
# Bronze
|
||||
X12012:
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Orc
|
||||
X12032:
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Gondorian
|
||||
X12057:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Mithril
|
||||
X12061:
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Elven
|
||||
X12085:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Warg
|
||||
X12095:
|
||||
Repairable: true
|
||||
Repair_Material: X12094
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dwarven
|
||||
X12126:
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Galven
|
||||
X12131:
|
||||
Repairable: true
|
||||
Repair_Material: X12130
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Uruk
|
||||
X12158:
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Wood Elf
|
||||
X12173:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Ancient
|
||||
X12177:
|
||||
Repairable: true
|
||||
Repair_Material: X12179
|
||||
Repair_Material_Data_Value: 3
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rohirric
|
||||
X12184:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rangers
|
||||
X12203:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dunlending
|
||||
X12207:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Morgul
|
||||
X12219:
|
||||
Repairable: true
|
||||
Repair_Material: X12217
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Leggings
|
||||
###
|
||||
Leggings:
|
||||
# Bronze
|
||||
X12014:
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Orc
|
||||
X12034:
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Gondorian
|
||||
X12059:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Mithril
|
||||
X12063:
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Elven
|
||||
X12087:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Warg
|
||||
X12097:
|
||||
Repairable: true
|
||||
Repair_Material: X12094
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dwarven
|
||||
X12128:
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Galven
|
||||
X12133:
|
||||
Repairable: true
|
||||
Repair_Material: X12130
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Uruk
|
||||
X12160:
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Wood Elf
|
||||
X12175:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Ancient
|
||||
X12179:
|
||||
Repairable: true
|
||||
Repair_Material: X12179
|
||||
Repair_Material_Data_Value: 3
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rohirric
|
||||
X12186:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Rangers
|
||||
X12205:
|
||||
Repairable: true
|
||||
Repair_Material: LEATHER
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Dunlending
|
||||
X12209:
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Morgul
|
||||
X12221:
|
||||
Repairable: true
|
||||
Repair_Material: X12217
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
@@ -1,211 +0,0 @@
|
||||
# Lord of the Rings mod config by Skuli (Updated by Dragyn)
|
||||
# Built against version [1.6.4] The Lord of the Rings Mod Public Beta 11.1
|
||||
#
|
||||
# Settings for Custom Excavation Blocks
|
||||
###
|
||||
Excavation:
|
||||
Block_1|0:
|
||||
XP_Gain: 99
|
||||
Double_Drops_Enabled: true
|
||||
Block_2|0:
|
||||
XP_Gain: 99
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
#
|
||||
# Settings for Custom Herbalism Blocks
|
||||
###
|
||||
Herbalism:
|
||||
|
||||
# Shireheather
|
||||
X1813:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Simbelmyne
|
||||
X1805:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Asphodel
|
||||
X1895:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Bluebell
|
||||
X1867:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Clover
|
||||
X1873:
|
||||
XP_Gain: 10
|
||||
Double_Drops_Enabled: false
|
||||
|
||||
# Dead Marsh Plant
|
||||
X1886:
|
||||
XP_Gain: 10
|
||||
Double_Drops_Enabled: false
|
||||
|
||||
# DwarfWort
|
||||
X1902:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Elanor
|
||||
X1833:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Lettuce Crop
|
||||
X1830:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Morgul Shroom
|
||||
X1870:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Niphredil
|
||||
X1834:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Pipeweed Crop
|
||||
X1823:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
# Pipeweed Plant
|
||||
X1822:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
|
||||
# Mithril
|
||||
X1803:
|
||||
XP_Gain: 2000
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: true
|
||||
# Naurite
|
||||
X1818:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: false
|
||||
#Glowstone Ore
|
||||
X1859:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: false
|
||||
# Remains
|
||||
X1885:
|
||||
XP_Gain: 1800
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: false
|
||||
# Gulduril
|
||||
X1887:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
# Quendite
|
||||
X1846:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: false
|
||||
|
||||
# MorgulIron
|
||||
X1819:
|
||||
XP_Gain: 25
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
# Rohan Rock
|
||||
X180|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: false
|
||||
|
||||
|
||||
#Gondor Stone
|
||||
X180|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: false
|
||||
|
||||
# Mordor Stone
|
||||
X180|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: false
|
||||
Is_Ore: false
|
||||
|
||||
#
|
||||
# Settings for Custom Woodcutting Blocks
|
||||
###
|
||||
Woodcutting:
|
||||
# Shire Pine
|
||||
X1806|0:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Mallorn
|
||||
X1806|1:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Apple
|
||||
X1860|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Pear
|
||||
X1860|1:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Cherry
|
||||
X1860|2:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Mirkwood
|
||||
X1806|2:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Charred
|
||||
X1806|3:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Lebethron
|
||||
X1896|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
# Beech
|
||||
X1896|1:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
|
||||
#
|
||||
# Settings for Custom Ability Blocks
|
||||
# (These blocks don't trigger abilities)
|
||||
###
|
||||
Ability_Blocks:
|
||||
Block_1|0:
|
||||
Block_2|0:
|
||||
@@ -1,700 +0,0 @@
|
||||
# Lord of the Rings mod config by Skuli (Updated by Dragyn)
|
||||
# Built against version [1.6.4] The Lord of the Rings Mod Public Beta 11.1
|
||||
|
||||
Axes:
|
||||
#DwarvenThrowingAxe
|
||||
X12146:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 451
|
||||
#UrukWarhammer
|
||||
X12156:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 391
|
||||
#Gondorian Warhammer
|
||||
X12140:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 281
|
||||
#UrukBattleaxe
|
||||
X12155:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 391
|
||||
#MithrilBattleaxe
|
||||
X12138:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 2479
|
||||
#MithrilWarhamer
|
||||
X12139:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 2479
|
||||
#OrcWarhammer
|
||||
X12125:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 261
|
||||
#Dwarven Warhammer
|
||||
X12120:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 451
|
||||
#DwarvenZbattleaxe
|
||||
X12119:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 451
|
||||
#BronzeAxe
|
||||
X12009:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 197
|
||||
#MithrilAxe
|
||||
X12050:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 2479
|
||||
#MallornAxe
|
||||
X12075:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X1801
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 121
|
||||
#Elven Axe
|
||||
X12080:
|
||||
XP_Modifer: 2
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 313
|
||||
#DwarvenAxe
|
||||
X12115:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 450
|
||||
#OrcAxe
|
||||
X12123:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 261
|
||||
#UrukAxe
|
||||
X12150:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 391
|
||||
Bows:
|
||||
#ElvenBow
|
||||
X12093:
|
||||
XP_Modifer: 2
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 9
|
||||
Durability: 485
|
||||
#mallornbow
|
||||
X12084:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X1801
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 417
|
||||
#orcBow
|
||||
X12099:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 441
|
||||
#UrukCrossbow
|
||||
X12163:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 471
|
||||
#MithrilCrossbow
|
||||
X12171:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 1761
|
||||
#IronCrossbow
|
||||
X12170:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 9
|
||||
Durability: 357
|
||||
#BowofMirkwood
|
||||
X12177:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X1806
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 417
|
||||
Hoes:
|
||||
#BronzeHoe
|
||||
X12011:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 197
|
||||
#MithrilHoe
|
||||
X12052:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 2479
|
||||
#MallornHoe
|
||||
X12077:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X1801
|
||||
Repair_Material_Data_Value: 1
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 121
|
||||
#CopperHoe
|
||||
X26511:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X26507
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 180
|
||||
#ElvenHoe
|
||||
X12082:
|
||||
XP_Modifer: 2
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12082
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 313
|
||||
#DwarvenHoe
|
||||
X12117:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X26507
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 180
|
||||
Pickaxes:
|
||||
#MEBronzePickaxe
|
||||
X12008:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 197
|
||||
#MithrilPixkaxe
|
||||
X12049:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 2479
|
||||
#MallornPickaxe
|
||||
X12074:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X1801
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 121
|
||||
#ElvenPickaxe
|
||||
X12079:
|
||||
XP_Modifer: 2
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 313
|
||||
#DwarvenPickaxe
|
||||
X12114:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 451
|
||||
#UrukPickaxe
|
||||
X12149:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 391
|
||||
#OrcPickaxe
|
||||
X12122:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 261
|
||||
Shovels:
|
||||
#BronzeShovel
|
||||
X12007:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 197
|
||||
#MithrilShovel
|
||||
X12048:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 2479
|
||||
#MallornShovel
|
||||
X12073:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X1801
|
||||
Repair_Material_Data_Value: 1
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 121
|
||||
#ElvenShovel
|
||||
X12078:
|
||||
XP_Modifer: 2
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12082
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 313
|
||||
#DwarvenShovel
|
||||
X12113:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 451
|
||||
#UrukShovel
|
||||
X12148:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 391
|
||||
#OrcShovel
|
||||
X12121:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 261
|
||||
|
||||
Swords:
|
||||
#Uruk Dagger
|
||||
X12153:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 313
|
||||
#Poisoned urukd agger
|
||||
X12154:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 313
|
||||
#Uruk Spear
|
||||
X12157:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 391
|
||||
#Rohirric Sword
|
||||
X12181:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 251
|
||||
#Rohirric Dagger
|
||||
X12182:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 201
|
||||
#Rohirric Spear
|
||||
X12183:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 251
|
||||
#Dunlending Spear
|
||||
X12212:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 251
|
||||
#Uruk Scimitar
|
||||
X12151:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12147
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 391
|
||||
#Mithril Dagger
|
||||
X12137:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1983
|
||||
#Iron Dagger
|
||||
X12136:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 201
|
||||
#Dwarven Dagger
|
||||
X12118:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 361
|
||||
#Dwarven Sword
|
||||
X12116:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12112
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 451
|
||||
#Elven Sword
|
||||
X12081:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 313
|
||||
#Elven Spear
|
||||
X12083:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 313
|
||||
#Anduril
|
||||
X12070:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: false
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 313
|
||||
#Mallorn Sword
|
||||
X12076:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X1801
|
||||
Repair_Material_Data_Value: 1
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 121
|
||||
#Mithril Spear
|
||||
X12069:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 2479
|
||||
#Iron Spear
|
||||
X12068:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: IRON_INGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 251
|
||||
#Orc Spear
|
||||
X12066:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 261
|
||||
#Bronze Spear
|
||||
X12067:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 197
|
||||
#Gondor Spear
|
||||
X12065:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 281
|
||||
#Gondor Sword
|
||||
X12056:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 281
|
||||
#Orc Scimitar
|
||||
X12031:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12036
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 261
|
||||
#Steel Sword
|
||||
X26862:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X26857
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 751
|
||||
#Bronze Sword
|
||||
X12010:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X12004
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 197
|
||||
#Mithril Sword
|
||||
X12051:
|
||||
XP_Modifer: 1
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X12006
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 2479
|
||||
@@ -1,14 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Advanced Genetics 1.4.3
|
||||
Bows:
|
||||
# Genetic
|
||||
X31179:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X31197
|
||||
Repair_Material_Pretty_Name: "Cell"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 1501
|
||||
@@ -1,9 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Applied Energistics rv14-finale3
|
||||
Mining:
|
||||
# Certus Quartz Ore
|
||||
X4076|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,65 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Applied Energistics rv14-finale3
|
||||
Axes:
|
||||
# Quartz
|
||||
X4365:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X4362
|
||||
Repair_Material_Pretty_Name: "Certus Quartz"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 250
|
||||
|
||||
Hoes:
|
||||
# Quartz
|
||||
X4366:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X4362
|
||||
Repair_Material_Pretty_Name: "Certus Quartz"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 2
|
||||
|
||||
Pickaxes:
|
||||
# Quartz
|
||||
X4368:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X4362
|
||||
Repair_Material_Pretty_Name: "Certus Quartz"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 250
|
||||
|
||||
Shovels:
|
||||
# Quartz
|
||||
X4367:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X4362
|
||||
Repair_Material_Pretty_Name: "Certus Quartz"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 750
|
||||
|
||||
Swords:
|
||||
# Quartz
|
||||
X4369:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X4362
|
||||
Repair_Material_Pretty_Name: "Certus Quartz"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 250
|
||||
@@ -1,9 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Big Reactors 0.3.4A2
|
||||
Mining:
|
||||
# Yellorite
|
||||
X1750|0:
|
||||
XP_Gain: 300
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,77 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of BoP 1.2.1.434
|
||||
Boots:
|
||||
# Wading
|
||||
X21269:
|
||||
Repairable: false
|
||||
Durability: 9999
|
||||
# Muddy
|
||||
X21283:
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 26
|
||||
# Amethyst
|
||||
X21293:
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 520
|
||||
|
||||
Chestplates:
|
||||
# Muddy
|
||||
X21281:
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 32
|
||||
# Amethyst
|
||||
X21291:
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 640
|
||||
|
||||
Helmets:
|
||||
# Muddy
|
||||
X21280:
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 22
|
||||
# Amethyst
|
||||
X21290:
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 440
|
||||
|
||||
Leggings:
|
||||
# Muddy
|
||||
X21280:
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 30
|
||||
# Amethyst
|
||||
X21290:
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 600
|
||||
@@ -1,44 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Incomplete! Only covers ores
|
||||
# Up to date as of BoP 1.2.1.434
|
||||
Mining:
|
||||
# Red Rock
|
||||
X162|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Amethyst
|
||||
X1921|0:
|
||||
XP_Gain: 200
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Ruby
|
||||
X1921|2:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Peridot
|
||||
X1921|4:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Topaz
|
||||
X1921|6:
|
||||
XP_Gain: 200
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Tanzanite
|
||||
X1921|8:
|
||||
XP_Gain: 200
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Malachite
|
||||
X1921|10:
|
||||
XP_Gain: 200
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Sapphire
|
||||
X1921|12:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,121 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of BoP 1.2.1.434
|
||||
Axes:
|
||||
# Amethyst
|
||||
X21287:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 2013
|
||||
# Muddy
|
||||
X21277:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 32
|
||||
|
||||
Hoes:
|
||||
# Amethyst
|
||||
X21288:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 2013
|
||||
# Muddy
|
||||
X21278:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 32
|
||||
|
||||
Pickaxes:
|
||||
# Amethyst
|
||||
X21286:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 2013
|
||||
# Muddy
|
||||
X21276:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 32
|
||||
|
||||
Shovels:
|
||||
# Amethyst
|
||||
X21285:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 2013
|
||||
# Muddy
|
||||
X21275:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 32
|
||||
|
||||
Swords:
|
||||
# Amethyst
|
||||
X21284:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X21264
|
||||
Repair_Material_Pretty_Name: "Amethyst"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 2013
|
||||
# Muddy
|
||||
X21274:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X21263
|
||||
Repair_Material_Pretty_Name: "Mud Ball"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 32
|
||||
@@ -1,31 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Emasher Resource 1.2.3.5
|
||||
Boots:
|
||||
# Hemp
|
||||
X9301:
|
||||
Repairable: true
|
||||
Repair_Material: X9291
|
||||
Repair_Material_Pretty_Name: "Hemp"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 65
|
||||
|
||||
Chestplates:
|
||||
# Hemp
|
||||
X9299:
|
||||
Repairable: true
|
||||
Repair_Material: X9291
|
||||
Repair_Material_Pretty_Name: "Hemp"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 80
|
||||
|
||||
Leggings:
|
||||
# Hemp
|
||||
X9300:
|
||||
Repairable: true
|
||||
Repair_Material: X9291
|
||||
Repair_Material_Pretty_Name: "Hemp"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 75
|
||||
@@ -1,44 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Emasher Resource 1.2.3.5
|
||||
Mining:
|
||||
# Bauxite
|
||||
X1565|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Cassiterite
|
||||
X1565|1:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Emery
|
||||
X1565|2:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Galena
|
||||
X1565|3:
|
||||
XP_Gain: 300
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Native Copper
|
||||
X1565|4:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Petlandite
|
||||
X1565|5:
|
||||
XP_Gain: 300
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Ruby
|
||||
X1565|6:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Sapphire
|
||||
X1565|7:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,182 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For ExtrabiomesXL-universal-1.6.4-3.14.5
|
||||
|
||||
#
|
||||
# Settings for Custom Excavation Blocks
|
||||
###
|
||||
Excavation:
|
||||
# Quicksand
|
||||
X2214|0:
|
||||
XP_Gain: 40
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
|
||||
#
|
||||
# Settings for Custom Herbalism Blocks
|
||||
###
|
||||
Herbalism:
|
||||
# Cattails
|
||||
X2201|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
# Hydrangea
|
||||
X2202|1:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
# Buttercups
|
||||
X2202|2:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
# Lavender
|
||||
X2202|3:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
# Tiny Cactus
|
||||
X2202|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
# Toadstool
|
||||
X2202|6:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
# Calla Lillies
|
||||
X2202|7:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
X254|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
X254|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
#
|
||||
# Settings for Custom Woodcutting Blocks
|
||||
###
|
||||
Woodcutting:
|
||||
# Fir
|
||||
X2208|0:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Acacia
|
||||
X2208|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Cypress
|
||||
X2208|2:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Japanese Maple
|
||||
X2208|3:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Redwood Quarter
|
||||
X2209|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2211|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2212|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2213|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Fir Quarters
|
||||
X2209|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2211|1:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2212|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2213|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Oak Quarters
|
||||
X2209|2:
|
||||
XP_Gain: 70
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2211|2:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2212|2:
|
||||
XP_Gain: 70
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2213|2:
|
||||
XP_Gain: 70
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Acacia
|
||||
X2209|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Cypress
|
||||
X2209|2:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Bald Cypress Quarter
|
||||
X2225|0:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Bald Cypress Elbow
|
||||
X2227|0:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Bald Cypress Log
|
||||
X2231|2:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Rainbow Eucalyptus
|
||||
X2228|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2229|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X2231|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Autumn Log
|
||||
X2231|1:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Sakura Log
|
||||
X2238|0:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
@@ -1,54 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Extra Utilities 1.0.3c
|
||||
Axes:
|
||||
# Healing
|
||||
X10264:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X10258
|
||||
Repair_Material_Pretty_Name: "Unstable Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 1561
|
||||
|
||||
Hoes:
|
||||
# Reversing
|
||||
X10265:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X10258
|
||||
Repair_Material_Pretty_Name: "Unstable Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1561
|
||||
|
||||
Pickaxes:
|
||||
# Destruction
|
||||
X10263:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: false
|
||||
Durability: 6244
|
||||
|
||||
Shovels:
|
||||
# Erosion
|
||||
X10262:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: false
|
||||
Durability: 6244
|
||||
|
||||
Swords:
|
||||
# Etheric
|
||||
X10261:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: false
|
||||
Durability: 1561
|
||||
@@ -1,9 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Factorization 0.8.34
|
||||
Mining:
|
||||
# Dark Iron Ore
|
||||
X1004|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,19 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Forestry 2.3.1.1
|
||||
Mining:
|
||||
# Apatite
|
||||
X1398|0:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Copper
|
||||
X1398|1:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Tin
|
||||
X1398|2:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,27 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Forestry 2.3.1.1
|
||||
Pickaxes:
|
||||
# Survivalist
|
||||
X13261:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X5261
|
||||
Repair_Material_Pretty_Name: "Bronze Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 200
|
||||
|
||||
Shovels:
|
||||
# Survivalist
|
||||
X13264:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X5261
|
||||
Repair_Material_Pretty_Name: "Bronze Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 200
|
||||
@@ -1,71 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For Galacticraft-1.6.4-2.0.7.904 and Galacticraft-Planets-1.6.4-2.0.7.904
|
||||
#
|
||||
# Settings for Boots
|
||||
###
|
||||
Boots:
|
||||
# Heavy Duty
|
||||
X10149:
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
X10171:
|
||||
Repairable: true
|
||||
Repair_Material: X10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 999
|
||||
#
|
||||
# Settings for Chestplates
|
||||
###
|
||||
Chestplates:
|
||||
# Heavy Duty
|
||||
X10147:
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
X10169:
|
||||
Repairable: true
|
||||
Repair_Material: X10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 999
|
||||
#
|
||||
# Settings for Helmets
|
||||
###
|
||||
Helmets:
|
||||
# Heavy Duty
|
||||
X10146:
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
X10168:
|
||||
Repairable: true
|
||||
Repair_Material: X10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 999
|
||||
#
|
||||
# Settings for Leggings
|
||||
###
|
||||
Leggings:
|
||||
# Heavy Duty
|
||||
X10148:
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
X10170:
|
||||
Repairable: true
|
||||
Repair_Material: X10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 999
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For Galacticraft-1.6.4-2.0.7.904 and Galacticraft-Planets-1.6.4-2.0.7.904
|
||||
#
|
||||
# Settings for Custom Excavation Blocks
|
||||
###
|
||||
Excavation:
|
||||
# Dirt
|
||||
X3347|3:
|
||||
XP_Gain: 40
|
||||
Double_Drops_Enabled: true
|
||||
Block_2|0:
|
||||
XP_Gain: 99
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
# Copper Ore
|
||||
X3347|0:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
X3372|5:
|
||||
XP_Gain: 450
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
X3390|0:
|
||||
XP_Gain: 550
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Tin Ore
|
||||
X3347|1:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
X3372|6:
|
||||
XP_Gain: 450
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
X3390|1:
|
||||
XP_Gain: 550
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Aluminum Ore
|
||||
X3372|7:
|
||||
XP_Gain: 450
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Silicon Ore
|
||||
X3372|8:
|
||||
XP_Gain: 450
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Cheese Ore
|
||||
X3347|2:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Iron Ore
|
||||
X3390|3:
|
||||
XP_Gain: 550
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Desh Ore
|
||||
X3390|2:
|
||||
XP_Gain: 600
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Moon Stone
|
||||
X3347|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Moon Turf
|
||||
X3347|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Mars Cobblestone
|
||||
X3390|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Mars Rock/Stone
|
||||
X3390|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X3390|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X3390|9:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For Galacticraft-1.6.4-2.0.7.904 and Galacticraft-Planets-1.6.4-2.0.7.904
|
||||
#
|
||||
# Settings for Axes
|
||||
###
|
||||
Axes:
|
||||
# Heavy Duty
|
||||
X10145:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Desh
|
||||
X10167:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: 10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1000
|
||||
|
||||
#
|
||||
# Settings for Hoes
|
||||
###
|
||||
Hoes:
|
||||
# Heavy Duty
|
||||
X10144:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Desh
|
||||
X10166:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: 10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1000
|
||||
#
|
||||
# Settings for Pickaxes
|
||||
###
|
||||
Pickaxes:
|
||||
# Heavy Duty
|
||||
X10142:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Desh
|
||||
X10164:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: 10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1000
|
||||
#
|
||||
# Settings for Shovels
|
||||
###
|
||||
Shovels:
|
||||
# Heavy Duty
|
||||
X10143:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Desh
|
||||
X10165:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: 10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1000
|
||||
#
|
||||
# Settings for Swords
|
||||
###
|
||||
Swords:
|
||||
# Heavy Duty
|
||||
X10141:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 4
|
||||
Repairable: true
|
||||
Repair_Material: X10150
|
||||
Repair_Material_Data_Value: 9
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Desh
|
||||
X10163:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: 10161
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1000
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,185 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For Metallurgy-1.6.4-3.3.1
|
||||
#
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
# Copper
|
||||
X900|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Tin
|
||||
X900|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Zinc
|
||||
X902|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Silver
|
||||
X902|1:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Platinum
|
||||
X902|3:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
|
||||
# NETHER ORES
|
||||
# Ignatius
|
||||
X903|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Shadow Iron
|
||||
X903|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Lemurite
|
||||
X903|2:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Midasium
|
||||
X903|3:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Vyroxeres
|
||||
X903|4:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Ceruclase
|
||||
X903|5:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Alduorite
|
||||
X903|6:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Kalendrite
|
||||
X903|7:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Vulcanite
|
||||
X903|8:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Sanguinite
|
||||
X903|9:
|
||||
XP_Gain: 450
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
|
||||
# Manganese
|
||||
X900|2:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Eximite
|
||||
X900|5:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Meutoite
|
||||
X900|6:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Sulfur
|
||||
X905|7:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Phosphorite
|
||||
X905|8:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Saltpeter
|
||||
X905|9:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Magnesium
|
||||
X905|10:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Bitumen
|
||||
X905|11:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Potash
|
||||
X905|12:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Prometheum
|
||||
X906|0:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Deep Iron
|
||||
X906|1:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Infuscolium
|
||||
X906|2:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Oureclase
|
||||
X906|4:
|
||||
XP_Gain: 650
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Astral Silver
|
||||
X906|5:
|
||||
XP_Gain: 650
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Carmot
|
||||
X906|6:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Mithril
|
||||
X906|7:
|
||||
XP_Gain: 750
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Rubracium
|
||||
X906|8:
|
||||
XP_Gain: 800
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Orichalcum
|
||||
X906|11:
|
||||
XP_Gain: 900
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Adamantine
|
||||
X906|13:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Atlarus
|
||||
X906|14:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Minefactory Reloaded 2.7.9 Final
|
||||
Boots:
|
||||
# Plastic
|
||||
X12306:
|
||||
Repairable: true
|
||||
Repair_Material: X12249
|
||||
Repair_Material_Pretty_Name: "Plastic Sheets"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 39
|
||||
@@ -1,41 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Natura 2.1.14
|
||||
Boots:
|
||||
# Impskin
|
||||
X12712:
|
||||
Repairable: true
|
||||
Repair_Material: X12660
|
||||
Repair_Material_Pretty_Name: "Imp Leather"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 429
|
||||
|
||||
Chestplates:
|
||||
# Impskin
|
||||
X12710:
|
||||
Repairable: true
|
||||
Repair_Material: X12660
|
||||
Repair_Material_Pretty_Name: "Imp Leather"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 528
|
||||
|
||||
Helmets:
|
||||
# Impskin
|
||||
X12709:
|
||||
Repairable: true
|
||||
Repair_Material: X12660
|
||||
Repair_Material_Pretty_Name: "Imp Leather"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 363
|
||||
|
||||
Leggings:
|
||||
# Impskin
|
||||
X12709:
|
||||
Repairable: true
|
||||
Repair_Material: X12660
|
||||
Repair_Material_Pretty_Name: "Imp Leather"
|
||||
Repair_Material_Data_Value: 6
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 495
|
||||
@@ -1,272 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Natura 2.1.14
|
||||
Axes:
|
||||
# Bloodwood
|
||||
X12685:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Bloodwood Planks"
|
||||
Repair_Material_Data_Value: 4
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 350
|
||||
# Darkwood
|
||||
X12689:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Darkwood Planks"
|
||||
Repair_Material_Data_Value: 11
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 131
|
||||
# Fusewood
|
||||
X12693:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Fusewood Planks"
|
||||
Repair_Material_Data_Value: 12
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 250
|
||||
# Ghostwood
|
||||
X12681:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Ghostwood Planks"
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 59
|
||||
# Quartz
|
||||
X12697:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: QUARTZ_BLOCK
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 131
|
||||
|
||||
Bows:
|
||||
# Bloodwood
|
||||
X12706:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X12677
|
||||
Repair_Material_Pretty_Name: "Bloodwood Stick"
|
||||
Repair_Material_Data_Value: 4
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 1501
|
||||
# Darkwood
|
||||
X12707:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X12677
|
||||
Repair_Material_Pretty_Name: "Darkwood Stick"
|
||||
Repair_Material_Data_Value: 11
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 162
|
||||
# Fusewood
|
||||
X12708:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X12677
|
||||
Repair_Material_Pretty_Name: "Fusewood Stick"
|
||||
Repair_Material_Data_Value: 12
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 28
|
||||
# Ghostwood
|
||||
X12705:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X12677
|
||||
Repair_Material_Pretty_Name: "Ghostwood Stick"
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 384
|
||||
|
||||
|
||||
Pickaxes:
|
||||
# Bloodwood
|
||||
X12683:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Bloodwood Planks"
|
||||
Repair_Material_Data_Value: 4
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 350
|
||||
# Darkwood
|
||||
X12687:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Darkwood Planks"
|
||||
Repair_Material_Data_Value: 11
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 131
|
||||
# Fusewood
|
||||
X12691:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Fusewood Planks"
|
||||
Repair_Material_Data_Value: 12
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 250
|
||||
# Ghostwood
|
||||
X12679:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Ghostwood Planks"
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 59
|
||||
# Quartz
|
||||
X12695:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: QUARTZ_BLOCK
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 131
|
||||
|
||||
Shovels:
|
||||
# Bloodwood
|
||||
X12684:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Bloodwood Planks"
|
||||
Repair_Material_Data_Value: 4
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 350
|
||||
# Darkwood
|
||||
X12688:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Darkwood Planks"
|
||||
Repair_Material_Data_Value: 11
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 131
|
||||
# Fusewood
|
||||
X12692:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Fusewood Planks"
|
||||
Repair_Material_Data_Value: 12
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 250
|
||||
# Ghostwood
|
||||
X12680:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Ghostwood Planks"
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 59
|
||||
# Quartz
|
||||
X12696:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: QUARTZ_BLOCK
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 131
|
||||
|
||||
Swords:
|
||||
# Bloodwood
|
||||
X12682:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Bloodwood Planks"
|
||||
Repair_Material_Data_Value: 4
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 350
|
||||
# Darkwood
|
||||
X12686:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Darkwood Planks"
|
||||
Repair_Material_Data_Value: 11
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 131
|
||||
# Fusewood
|
||||
X12690:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Fusewood Planks"
|
||||
Repair_Material_Data_Value: 12
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 250
|
||||
# Ghostwood
|
||||
X12678:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: X3262
|
||||
Repair_Material_Pretty_Name: "Ghostwood Planks"
|
||||
Repair_Material_Data_Value: 2
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 59
|
||||
# Quartz
|
||||
X12694:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: true
|
||||
Repair_Material: QUARTZ_BLOCK
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 131
|
||||
@@ -1,29 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Project Red 4.3.5.30
|
||||
Mining:
|
||||
# Ruby
|
||||
X2130|0:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Sapphire
|
||||
X2130|1:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Peridot
|
||||
X2130|2:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Marble
|
||||
X2131|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Basalt
|
||||
X2131|3:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
@@ -1,176 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Project Red 4.3.5.30
|
||||
Axes:
|
||||
# Ruby
|
||||
X9353:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Ruby"
|
||||
Repair_Material_Data_Value: 37
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 500
|
||||
# Sapphire
|
||||
X9354:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Sapphire"
|
||||
Repair_Material_Data_Value: 38
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 500
|
||||
# Peridot
|
||||
X9355:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Peridot"
|
||||
Repair_Material_Data_Value: 39
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 500
|
||||
|
||||
Hoes:
|
||||
# Ruby
|
||||
X9356:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Ruby"
|
||||
Repair_Material_Data_Value: 37
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Sapphire
|
||||
X9357:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Sapphire"
|
||||
Repair_Material_Data_Value: 38
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Peridot
|
||||
X9358:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Peridot"
|
||||
Repair_Material_Data_Value: 39
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
Pickaxes:
|
||||
# Ruby
|
||||
X9359:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Ruby"
|
||||
Repair_Material_Data_Value: 37
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 500
|
||||
# Sapphire
|
||||
X9360:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Sapphire"
|
||||
Repair_Material_Data_Value: 38
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 500
|
||||
# Peridot
|
||||
X9361:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Peridot"
|
||||
Repair_Material_Data_Value: 39
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 500
|
||||
|
||||
Shovels:
|
||||
# Ruby
|
||||
X9362:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Ruby"
|
||||
Repair_Material_Data_Value: 37
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 500
|
||||
# Sapphire
|
||||
X9363:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Sapphire"
|
||||
Repair_Material_Data_Value: 38
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 500
|
||||
# Peridot
|
||||
X9364:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Peridot"
|
||||
Repair_Material_Data_Value: 39
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 500
|
||||
|
||||
Swords:
|
||||
# Ruby
|
||||
X9365:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Ruby"
|
||||
Repair_Material_Data_Value: 37
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Sapphire
|
||||
X9366:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Sapphire"
|
||||
Repair_Material_Data_Value: 38
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Peridot
|
||||
X9368:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X9281
|
||||
Repair_Material_Pretty_Name: "Peridot"
|
||||
Repair_Material_Data_Value: 39
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
@@ -1,49 +0,0 @@
|
||||
# Config wrote by Dragyn, updated by M1cr0man
|
||||
# Up to date as of Railcraft 8.4.0.0
|
||||
Boots:
|
||||
# Steel
|
||||
X7758:
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 325
|
||||
|
||||
Chestplates:
|
||||
# Steel
|
||||
X7761:
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 400
|
||||
|
||||
Helmets:
|
||||
# Steel
|
||||
X7759:
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 275
|
||||
|
||||
Leggings:
|
||||
# Steel
|
||||
X7760:
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 375
|
||||
# Overalls
|
||||
X7757:
|
||||
Repairable: true
|
||||
Repair_Material: WOOL
|
||||
Repair_Material_Pretty_Name: "Light Blue Wool"
|
||||
Repair_Material_Data_Value: 3
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 75
|
||||
@@ -1,103 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For Railcraft_1.6.2-8.1.0.0
|
||||
#
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
# Abyssal Stone
|
||||
X457|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Quarried Stone
|
||||
X457|7:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Sulfur
|
||||
X458|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Saltpeter
|
||||
X458|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Dark Diamond
|
||||
X458|2:
|
||||
XP_Gain: 750
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Dark Emerald
|
||||
X458|3:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Dark Lapis
|
||||
X458|4:
|
||||
XP_Gain: 400
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Firestone
|
||||
X458|5:
|
||||
XP_Gain: 450
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Infernal Stone
|
||||
X467|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X467|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Blood Stained Stone
|
||||
X468|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X468|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Sandy Stone
|
||||
X469|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X469|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Quarried Stone
|
||||
X471|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X471|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Frost Bound Stone
|
||||
X472|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X472|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
# Nether Stone
|
||||
X475|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X475|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
# Config wrote by Dragyn, updated by M1cr0man
|
||||
# Up to date as of Railcraft 8.4.0.0
|
||||
Axes:
|
||||
# Steel
|
||||
X7819:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
Hoes:
|
||||
# Steel
|
||||
X7820:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
Pickaxes:
|
||||
# Steel
|
||||
X7821:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
Shovels:
|
||||
# Steel
|
||||
X7823:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
Swords:
|
||||
# Steel
|
||||
X7824:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X7796
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
@@ -1,543 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For SimCraft 1.6.4
|
||||
#
|
||||
#
|
||||
# Settings for Custom Herbalism Blocks
|
||||
###
|
||||
Herbalism:
|
||||
X705|0:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|1:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|2:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|3:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|4:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|5:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|6:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|7:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|8:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|9:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|10:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|11:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|12:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|13:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|14:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X705|15:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|0:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|1:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|2:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|3:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|4:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|5:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|6:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|7:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|8:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|9:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|10:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|11:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|12:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|13:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|14:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X706|15:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|0:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|1:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|2:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|3:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|4:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|5:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|6:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|7:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|8:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|9:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|10:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|11:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|12:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|13:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|14:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
X707|15:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
X700|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|3:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|7:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|8:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|9:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|10:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|11:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|12:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|13:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|14:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X700|15:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|0:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|1:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|2:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|3:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|4:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|5:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|6:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|7:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|8:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|9:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|10:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|11:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|12:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|13:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|14:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X701|15:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|2:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|3:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|4:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|5:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|6:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|7:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|8:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|9:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|10:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|11:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|12:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|13:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|14:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X702|15:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|2:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|3:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|4:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|5:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|6:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|7:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|8:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|9:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|10:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|11:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|12:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|13:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|14:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X703|15:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|2:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|3:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|4:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|5:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|6:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|7:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|8:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|9:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|10:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|11:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|12:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|13:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|14:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X704|15:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
#
|
||||
# Settings for Custom Woodcutting Blocks
|
||||
###
|
||||
Woodcutting:
|
||||
X708|0:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|2:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|3:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|4:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|5:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|6:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|7:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|8:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|9:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|10:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X708|11:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X1095|0:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X1095|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X1095|2:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
X1095|3:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
@@ -1,61 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For Railcraft_1.6.2-8.1.0.0
|
||||
#
|
||||
#
|
||||
# Settings for Axes
|
||||
###
|
||||
Axes:
|
||||
# Steel
|
||||
X15787:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X15260
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
|
||||
#
|
||||
# Settings for Pickaxes
|
||||
###
|
||||
Pickaxes:
|
||||
# Steel
|
||||
X15788:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X15260
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Shovels
|
||||
###
|
||||
Shovels:
|
||||
# Steel
|
||||
X15789:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X15260
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Swords
|
||||
###
|
||||
Swords:
|
||||
# Steel
|
||||
X15786:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X15260
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
@@ -1,9 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Stargate Tech 2 Alpha 0.7.3
|
||||
Mining:
|
||||
# Naquadah Ore
|
||||
X1005|0:
|
||||
XP_Gain: 300
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,41 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Thermal Expansion 3.0.0.7
|
||||
Boots:
|
||||
# Invar
|
||||
X31973:
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 325
|
||||
|
||||
Chestplates:
|
||||
# Invar
|
||||
X31975:
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 400
|
||||
|
||||
Helmets:
|
||||
# Invar
|
||||
X31976:
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 275
|
||||
|
||||
Leggings:
|
||||
# Invar
|
||||
X31976:
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 375
|
||||
@@ -1,29 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Thermal Expansion 3.0.0.7
|
||||
Mining:
|
||||
# Copper
|
||||
X4064|0:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Tin
|
||||
X4064|1:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Silver
|
||||
X4064|2:
|
||||
XP_Gain: 300
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Lead
|
||||
X4064|3:
|
||||
XP_Gain: 300
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Ferrous
|
||||
X4064|4:
|
||||
XP_Gain: 300
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,66 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Thermal Expansion 3.0.0.7
|
||||
Axes:
|
||||
# Invar
|
||||
X31969:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 450
|
||||
|
||||
Hoes:
|
||||
# Invar
|
||||
X31968:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 450
|
||||
|
||||
Pickaxes:
|
||||
# Invar
|
||||
X31970:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 3
|
||||
Durability: 450
|
||||
|
||||
Shovels:
|
||||
# Invar
|
||||
X31971:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 1
|
||||
Durability: 450
|
||||
|
||||
Swords:
|
||||
# Invar
|
||||
X31972:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 3
|
||||
Repairable: true
|
||||
Repair_Material: X31978
|
||||
Repair_Material_Pretty_Name: "Invar Ingot"
|
||||
Repair_Material_Data_Value: 71
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 450
|
||||
@@ -1,74 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Up to date as of Tinker's Construct 1.5.5.7
|
||||
# Also covers Tinker's Steelworks 0.0.4.2-fix2
|
||||
Boots:
|
||||
# Wooden (Repaired with Oak Wood)
|
||||
X14366:
|
||||
Repairable: true
|
||||
Repair_Material: LOG
|
||||
Repair_Material_Pretty_Name: "Oak Wood"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 26
|
||||
# Steel
|
||||
X14771:
|
||||
Repairable: true
|
||||
Repair_Material: X14276
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 16
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 325
|
||||
|
||||
Chestplates:
|
||||
# Wooden (Repaired with Oak Wood)
|
||||
X14364:
|
||||
Repairable: true
|
||||
Repair_Material: LOG
|
||||
Repair_Material_Pretty_Name: "Oak Wood"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 32
|
||||
# Steel
|
||||
X14769:
|
||||
Repairable: true
|
||||
Repair_Material: X14276
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 16
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 400
|
||||
|
||||
Helmets:
|
||||
# Wooden (Repaired with Oak Wood)
|
||||
X14362:
|
||||
Repairable: true
|
||||
Repair_Material: LOG
|
||||
Repair_Material_Pretty_Name: "Oak Wood"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 22
|
||||
# Steel
|
||||
X14768:
|
||||
Repairable: true
|
||||
Repair_Material: X14276
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 16
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 275
|
||||
|
||||
Leggings:
|
||||
# Wooden (Repaired with Oak Wood)
|
||||
X14362:
|
||||
Repairable: true
|
||||
Repair_Material: LOG
|
||||
Repair_Material_Pretty_Name: "Oak Wood"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 30
|
||||
# Steel
|
||||
X14768:
|
||||
Repairable: true
|
||||
Repair_Material: X14276
|
||||
Repair_Material_Pretty_Name: "Steel Ingot"
|
||||
Repair_Material_Data_Value: 16
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 375
|
||||
@@ -1,55 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Possibly incomplete. Only covers ores
|
||||
# Up to date as of Tinker's Construct 1.5.5.7
|
||||
Excavation:
|
||||
# Iron
|
||||
X1488|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
# Gold
|
||||
X1488|1:
|
||||
XP_Gain: 350
|
||||
Double_Drops_Enabled: true
|
||||
# Copper
|
||||
X1488|2:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
# Tin
|
||||
X1488|3:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
# Aluminum
|
||||
X1488|4:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
# Cobalt
|
||||
X1488|5:
|
||||
XP_Gain: 500
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
Mining:
|
||||
# Cobalt
|
||||
X1475|1:
|
||||
XP_Gain: 500
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Ardite
|
||||
X1475|2:
|
||||
XP_Gain: 500
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Copper
|
||||
X1475|3:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Tin
|
||||
X1475|4:
|
||||
XP_Gain: 175
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
# Aluminium
|
||||
X1475|5:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: true
|
||||
@@ -1,149 +0,0 @@
|
||||
# Config wrote by M1cr0man
|
||||
# Abilites for Pickaxes and Shovels disabled due to a bug
|
||||
# Repair disabled as mcMMO does not support NBTTag - based tools
|
||||
# Up to date as of Tinker's Construct 1.5.5.7
|
||||
# Also covers Tinker's Steelworks 0.0.4.2-fix2
|
||||
Axes:
|
||||
# Hatchets
|
||||
X14309:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Mattocks
|
||||
X14316:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Lumber Axes
|
||||
X14317:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Battle Axes
|
||||
X14327:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
|
||||
Bows:
|
||||
# Shortbows
|
||||
X14319:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
|
||||
Hoes:
|
||||
# Mattocks
|
||||
X14316:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Scythes
|
||||
X14323:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
|
||||
Pickaxes:
|
||||
# Pickaxes
|
||||
X14307:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: false
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Hammers
|
||||
X14326:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: false
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
|
||||
Shovels:
|
||||
# Shovels
|
||||
X14308:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: false
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Mattocks
|
||||
X14316:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: false
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Excavators
|
||||
X14325:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: false
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
|
||||
Swords:
|
||||
# Broadswords
|
||||
X14311:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Longswords
|
||||
X14312:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Rapiers
|
||||
X14313:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Daggers
|
||||
X14321:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Cleavers
|
||||
X14324:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Battle Axes
|
||||
X14327:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
# Cutlasses
|
||||
X14328:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 2
|
||||
Repairable: false
|
||||
Durability: 500
|
||||
@@ -1,161 +0,0 @@
|
||||
# Config wrote by Dragyn, updated by M1cr0man
|
||||
# Up to date as of Twilight Forest 1.20.5
|
||||
Boots:
|
||||
# Ironwood
|
||||
X27978:
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 260
|
||||
# Fiery
|
||||
X27995:
|
||||
Repairable: true
|
||||
Repair_Material: X27991
|
||||
Repair_Material_Pretty_Name: "Fiery Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 325
|
||||
# Stealeaf
|
||||
X28002:
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 260
|
||||
# Knightmetal
|
||||
X28037:
|
||||
Repairable: true
|
||||
Repair_Material: X28032
|
||||
Repair_Material_Pretty_Name: "Knightmetal Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 4
|
||||
Durability: 260
|
||||
|
||||
Chestplates:
|
||||
# Ironwood
|
||||
X27976:
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 320
|
||||
# Naga Scale
|
||||
X27958:
|
||||
Repairable: true
|
||||
Repair_Material: X27957
|
||||
Repair_Material_Pretty_Name: "Naga Scale"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 336
|
||||
# Fiery
|
||||
X27993:
|
||||
Repairable: true
|
||||
Repair_Material: X27991
|
||||
Repair_Material_Pretty_Name: "Fiery Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 400
|
||||
# Stealeaf
|
||||
X28000:
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 320
|
||||
# Knightmetal
|
||||
X28035:
|
||||
Repairable: true
|
||||
Repair_Material: X28032
|
||||
Repair_Material_Pretty_Name: "Knightmetal Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 8
|
||||
Durability: 320
|
||||
# Phantom
|
||||
X28035:
|
||||
Repairable: false
|
||||
Durability: 480
|
||||
|
||||
Helmets:
|
||||
# Ironwood
|
||||
X27975:
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 220
|
||||
# Fiery
|
||||
X27992:
|
||||
Repairable: true
|
||||
Repair_Material: X27991
|
||||
Repair_Material_Pretty_Name: "Fiery Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 275
|
||||
# Stealeaf
|
||||
X27999:
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 220
|
||||
# Knightmetal
|
||||
X28034:
|
||||
Repairable: true
|
||||
Repair_Material: X28032
|
||||
Repair_Material_Pretty_Name: "Knightmetal Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 5
|
||||
Durability: 220
|
||||
# Phantom
|
||||
X28034:
|
||||
Repairable: false
|
||||
Durability: 330
|
||||
|
||||
Leggings:
|
||||
# Ironwood
|
||||
X27977:
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 300
|
||||
# Naga Scale
|
||||
X27959:
|
||||
Repairable: true
|
||||
Repair_Material: X27957
|
||||
Repair_Material_Pretty_Name: "Naga Scale"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 315
|
||||
# Fiery
|
||||
X27994:
|
||||
Repairable: true
|
||||
Repair_Material: X27991
|
||||
Repair_Material_Pretty_Name: "Fiery Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 375
|
||||
# Stealeaf
|
||||
X28001:
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 300
|
||||
# Knightmetal
|
||||
X28036:
|
||||
Repairable: true
|
||||
Repair_Material: X28032
|
||||
Repair_Material_Pretty_Name: "Knightmetal Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 7
|
||||
Durability: 300
|
||||
@@ -1,117 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For twilightforest-1.20.3
|
||||
#
|
||||
#
|
||||
# Settings for Custom Herbalism Blocks
|
||||
###
|
||||
Herbalism:
|
||||
# Mushgloom
|
||||
X2169|9:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
# Torchberry Plant
|
||||
X2169|13:
|
||||
XP_Gain: 20
|
||||
Double_Drops_Enabled: true
|
||||
# Mayapple
|
||||
X2169|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
# Fiddlehead
|
||||
X2169|8:
|
||||
XP_Gain: 35
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
# Mazestone
|
||||
X2165|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2165|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2165|2:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2165|3:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2165|4:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2165|5:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2165|6:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2165|7:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
#
|
||||
# Settings for Custom Woodcutting Blocks
|
||||
###
|
||||
Woodcutting:
|
||||
# Twilight Oak
|
||||
X2163|0:
|
||||
XP_Gain: 70
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Canopy
|
||||
X2163|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Mangrove
|
||||
X2163|2:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Darkwood
|
||||
X2163|3:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Roots
|
||||
X2170|0:
|
||||
XP_Gain: 10
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: false
|
||||
X2170|1:
|
||||
XP_Gain: 10
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: false
|
||||
# Timewood
|
||||
X2176|0:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Transwood
|
||||
X2176|1:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Minewood
|
||||
X2176|2:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Sortingwood
|
||||
X2176|3:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
|
||||
@@ -1,181 +0,0 @@
|
||||
# Config wrote by Dragyn, updated by M1cr0man
|
||||
# Up to date as of Twilight Forest 1.20.5
|
||||
Axes:
|
||||
# Ironwood
|
||||
X27982:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
# Steeleaf
|
||||
X28006:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 131
|
||||
# Knightmetal
|
||||
X28040:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X28032
|
||||
Repair_Material_Pretty_Name: "Knightmetal Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
# Minotaur
|
||||
X28008:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: false
|
||||
Durability: 1561
|
||||
|
||||
Hoes:
|
||||
# Ironwood
|
||||
X27983:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
# Steeleaf
|
||||
X28007:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 131
|
||||
|
||||
Pickaxes:
|
||||
# Ironwood
|
||||
X27981:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
# Fiery
|
||||
X27997:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27991
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1024
|
||||
# Steeleaf
|
||||
X28005:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 131
|
||||
# Knightmetal
|
||||
X28039:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X28032
|
||||
Repair_Material_Pretty_Name: "Knightmetal Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
|
||||
Shovels:
|
||||
# Ironwood
|
||||
X27980:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
# Steeleaf
|
||||
X28004:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 131
|
||||
|
||||
Swords:
|
||||
# Ironwood
|
||||
X27979:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27974
|
||||
Repair_Material_Pretty_Name: "Ironwood Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
# Fiery
|
||||
X27996:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27991
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 1024
|
||||
# Steeleaf
|
||||
X28003:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X27998
|
||||
Repair_Material_Pretty_Name: "Steeleaf"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 131
|
||||
# Knightmetal
|
||||
X28038:
|
||||
XP_Modifier: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: X28032
|
||||
Repair_Material_Pretty_Name: "Knightmetal Ingot"
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 512
|
||||
@@ -1,171 +0,0 @@
|
||||
# Config created by Dragyn
|
||||
# Created For UndergroundBiomes 1.6.x - 0.4.2c
|
||||
#
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
X2000|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2000|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2000|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2000|3:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2000|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2000|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2000|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2000|7:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
#
|
||||
X2001|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2001|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2001|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2001|3:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2001|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2001|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2001|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2001|7:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
#
|
||||
X2009|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2009|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2009|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2009|3:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2009|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2009|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2009|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2009|7:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
#
|
||||
X2010|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2010|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2010|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2010|3:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2010|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2010|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2010|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2010|7:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
#
|
||||
X2011|0:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2011|1:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2011|2:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2011|3:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2011|4:
|
||||
XP_Gain: 50
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2011|5:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2011|6:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
X2011|7:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
@@ -1,132 +0,0 @@
|
||||
# Config created by joulesbeef
|
||||
# Created For twilightforest-2.2.3
|
||||
#
|
||||
#
|
||||
# Settings for Boots
|
||||
###
|
||||
Boots:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODBOOTS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Fiery
|
||||
TWILIGHTFOREST_ITEM_FIERYBOOTS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_FIERYINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Stealeaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFBOOTS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Knightmetal
|
||||
TWILIGHTFOREST_ITEM_KNIGHTLYBOOTS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_KNIGHTMETAL
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
#
|
||||
# Settings for Chestplates
|
||||
###
|
||||
Chestplates:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODPLATE:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Fiery
|
||||
TWILIGHTFOREST_ITEM_FIERYPLATE:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_FIERYINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Stealeaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFPLATE:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Knightmetal
|
||||
TWILIGHTFOREST_ITEM_KNIGHTLYPLATE:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_KNIGHTMETAL
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
#
|
||||
# Settings for Helmets
|
||||
###
|
||||
Helmets:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODHELM:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Fiery
|
||||
TWILIGHTFOREST_ITEM_FIERYHELM:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_FIERYINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Stealeaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFHELM:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Knightmetal
|
||||
TWILIGHTFOREST_ITEM_KNIGHTLYHELM:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_KNIGHTMETAL
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 50
|
||||
# Settings for Leggings
|
||||
###
|
||||
Leggings:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODLEGS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Fiery
|
||||
TWILIGHTFOREST_ITEM_FIERYLEGS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_FIERYINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Stealeaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFLEGS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Knightmetal
|
||||
TWILIGHTFOREST_ITEM_KNIGHTLYLEGS:
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_KNIGHTMETAL
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
@@ -1,116 +0,0 @@
|
||||
# Config created by joulesbeef
|
||||
# Created For twilightforest-2.2.3
|
||||
#
|
||||
#
|
||||
# Settings for Custom Herbalism Blocks
|
||||
###
|
||||
Herbalism:
|
||||
# Mushgloom
|
||||
TWILIGHTFOREST_TILE_TFLOG|9:
|
||||
XP_Gain: 150
|
||||
Double_Drops_Enabled: true
|
||||
# Torchberry Plant
|
||||
TWILIGHTFOREST_TILE_TFLOG|13:
|
||||
XP_Gain: 20
|
||||
Double_Drops_Enabled: true
|
||||
# Mayapple
|
||||
TWILIGHTFOREST_TILE_TFLOG|4:
|
||||
XP_Gain: 30
|
||||
Double_Drops_Enabled: true
|
||||
# Fiddlehead
|
||||
TWILIGHTFOREST_TILE_TFLOG|8:
|
||||
XP_Gain: 35
|
||||
Double_Drops_Enabled: true
|
||||
|
||||
|
||||
#
|
||||
# Settings for Custom Mining Blocks
|
||||
###
|
||||
Mining:
|
||||
# Mazestone
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|0:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|1:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|2:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|3:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|4:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|5:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|6:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
TWILIGHTFOREST_TILE_TFMAZESTONE|7:
|
||||
XP_Gain: 250
|
||||
Double_Drops_Enabled: true
|
||||
Is_Ore: false
|
||||
|
||||
#
|
||||
# Settings for Custom Woodcutting Blocks
|
||||
###
|
||||
Woodcutting:
|
||||
# Twilight Oak
|
||||
TWILIGHTFOREST_TILE_TFLOG|0:
|
||||
XP_Gain: 70
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Canopy
|
||||
TWILIGHTFOREST_TILE_TFLOG|1:
|
||||
XP_Gain: 80
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Mangrove
|
||||
TWILIGHTFOREST_TILE_TFLOG|2:
|
||||
XP_Gain: 90
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Darkwood
|
||||
TWILIGHTFOREST_TILE_TFLOG|3:
|
||||
XP_Gain: 100
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Roots
|
||||
TWILIGHTFOREST_TILE_TFROOTS|0:
|
||||
XP_Gain: 10
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: false
|
||||
TWILIGHTFOREST_TILE_TFROOTS|1:
|
||||
XP_Gain: 10
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: false
|
||||
# Timewood
|
||||
TWILIGHTFOREST_TILE_TFMAGICLOG|0:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Transwood
|
||||
TWILIGHTFOREST_TILE_TFMAGICLOG|1:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Minewood
|
||||
TWILIGHTFOREST_TILE_TFMAGICLOG|2:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
# Sortingwood
|
||||
TWILIGHTFOREST_TILE_TFMAGICLOG|3:
|
||||
XP_Gain: 1000
|
||||
Double_Drops_Enabled: true
|
||||
Is_Log: true
|
||||
@@ -1,152 +0,0 @@
|
||||
# Config created by joulesbeef
|
||||
# Created For twilightforest-2.2.3
|
||||
#
|
||||
# Settings for Custom Mobs
|
||||
MoCreatures-Ogre:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-TwilightLich:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-HelmetCrab:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-SlimeBeetle:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-TwilightWraith:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-Naga:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
MoCreatures-Shark:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-TowerTermite:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
MoCreatures-SmallFish:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-Redcap:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-YetiBoss:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
MoCreatures-HellRat:
|
||||
Class: Monster
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-Hydra:
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-Firefly:
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-KnightPhantom:
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
TwilightForest-TowerGolem:
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
MoCreatures-FishBowl:
|
||||
XP_Multiplier: 1.0
|
||||
Tameable: false
|
||||
Taming_XP: 0
|
||||
CanBeSummoned: false
|
||||
COTW_Material: ''
|
||||
COTW_Material_Data: 0
|
||||
COTW_Material_Amount: 0
|
||||
@@ -1,184 +0,0 @@
|
||||
# Config created by joulesbeef
|
||||
# Created For twilightforest-2.2.3
|
||||
#
|
||||
#
|
||||
# Settings for Axes
|
||||
###
|
||||
Axes:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODAXE:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Steeleaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFAXE:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Knightmetal
|
||||
TWILIGHTFOREST_ITEM_KNIGHTLYAXE:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_KNIGHTMETAL
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Minotaur
|
||||
TWILIGHTFOREST_ITEM_MINOTAURAXE:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: Diamond
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Hoes
|
||||
###
|
||||
Hoes:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODHOE:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Steeleaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFHOE:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
|
||||
#
|
||||
# Settings for Pickaxes
|
||||
###
|
||||
Pickaxes:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODPICK:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Fiery
|
||||
TWILIGHTFOREST_ITEM_FIERYPICK:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_FIERYINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Steeleaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFPICK:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Knightmetal
|
||||
TWILIGHTFOREST_ITEM_KNIGHTLYPICK:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_KNIGHTMETAL
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Shovels
|
||||
###
|
||||
Shovels:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODSHOVEL:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Steeleaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFSHOVEL:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
#
|
||||
# Settings for Swords
|
||||
###
|
||||
Swords:
|
||||
# Ironwood
|
||||
TWILIGHTFOREST_ITEM_IRONWOODSWORD:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_IRONWOODINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Fiery
|
||||
TWILIGHTFOREST_ITEM_FIERYSWORD:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_FIERYINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Steeleaf
|
||||
TWILIGHTFOREST_ITEM_STEELEAFSWORD:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_STEELEAFINGOT
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
# Knightmetal
|
||||
TWILIGHTFOREST_ITEM_KNIGHTLYSWORD:
|
||||
XP_Modifer: 1.0
|
||||
Ability_Enabled: true
|
||||
Tier: 1
|
||||
Repairable: true
|
||||
Repair_Material: TWILIGHTFOREST_ITEM_KNIGHTMETAL
|
||||
Repair_Material_Data_Value: 0
|
||||
Repair_Material_Quantity: 2
|
||||
Durability: 500
|
||||
@@ -1,60 +0,0 @@
|
||||
#
|
||||
# Repair configuration
|
||||
# Last updated on ${project.version}-b${BUILD_NUMBER}
|
||||
#
|
||||
# Any file named repair.*.yml in the mcmmmo folder will be loaded as a repair config
|
||||
# All repair configs have a main section titled "Repairables"
|
||||
# Afterwards, all sub-items are considered a Repairable to be loaded. The names of each subitem should be the exact material name.
|
||||
# The bare minimum of a Repairable is that it have a RepairMaterial and a MaximumDurability
|
||||
#
|
||||
# ItemType: This is the type of item to be repaired, this is only important to permissions.
|
||||
## Valid values are ARMOR, TOOL, and OTHER.
|
||||
## This defaults to OTHER.
|
||||
#
|
||||
# MaterialType: This is the type of the material of the item to be repaired, this is only important for permissions.
|
||||
## Valid values are STRING, LEATHER, WOOD, STONE, IRON, GOLD, DIAMOND, and OTHER
|
||||
## This defaults to OTHER.
|
||||
#
|
||||
# RepairMaterial: This is the material name of the item used to repair this repairable.
|
||||
## This is required to be set.
|
||||
#
|
||||
# RepairMaterialMetadata: This is the metadata of the item used to repair this repairable.
|
||||
## A value of -1 means to ignore all metadata when repairing.
|
||||
## This defaults to -1
|
||||
#
|
||||
# MaximumDurability: This is the maximum durability of the item.
|
||||
## This is required to be set.
|
||||
#
|
||||
# MinimumLevel: This is the minimum repair level needed to repair this item.
|
||||
## Valid values are => 0
|
||||
## This defaults to 0
|
||||
#
|
||||
# MinimumQuantity: This is the minimum number of items needed to repair this item ignoring all other repair bonuses.
|
||||
## This is typically the number of the repair material needed to create a new item, for example for a sword it is 2, for an axe it is 3
|
||||
## This defaults to 2
|
||||
#
|
||||
# XpMultiplier: This is the amount to multiply the xp bonus by.
|
||||
## This defaults to 1
|
||||
#
|
||||
#
|
||||
# The following is an example of a repair.*.yml config which adds the ability to repair Chainmail armor using fire.
|
||||
#
|
||||
#
|
||||
###
|
||||
Repairables:
|
||||
#
|
||||
# Chainmail repairables
|
||||
###
|
||||
# Armor
|
||||
CHAINMAIL_HELMET:
|
||||
RepairMaterial: FIRE
|
||||
XpMultiplier: 2
|
||||
CHAINMAIL_CHESTPLATE:
|
||||
RepairMaterial: FIRE
|
||||
XpMultiplier: 2
|
||||
CHAINMAIL_LEGGINGS:
|
||||
RepairMaterial: FIRE
|
||||
XpMultiplier: 2
|
||||
CHAINMAIL_BOOTS:
|
||||
RepairMaterial: FIRE
|
||||
XpMultiplier: 2
|
||||
5
gradle.properties
Normal file
5
gradle.properties
Normal file
@@ -0,0 +1,5 @@
|
||||
version=2.2.0-SNAPSHOT
|
||||
group=com.gmail.nossr50.mcMMO
|
||||
artifactId=mcMMO
|
||||
name=mcMMO
|
||||
url=https://github.com/mcMMO-Dev/mcMMO
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
Binary file not shown.
6
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
6
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
#Mon Sep 30 20:08:33 BST 2019
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
188
gradlew
vendored
Executable file
188
gradlew
vendored
Executable file
@@ -0,0 +1,188 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
#
|
||||
# Copyright 2015 the original author or authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
100
gradlew.bat
vendored
Normal file
100
gradlew.bat
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
@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 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 init
|
||||
|
||||
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 init
|
||||
|
||||
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
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
: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 %CMD_LINE_ARGS%
|
||||
|
||||
: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
|
||||
78
mcmmo-core/build.gradle.kts
Normal file
78
mcmmo-core/build.gradle.kts
Normal file
@@ -0,0 +1,78 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
import org.apache.tools.ant.filters.ReplaceTokens
|
||||
|
||||
plugins {
|
||||
`java-library`
|
||||
id("com.github.johnrengelman.shadow") version "5.1.0"
|
||||
}
|
||||
|
||||
tasks {
|
||||
|
||||
shadowJar {
|
||||
dependencies {
|
||||
include(dependency("org.spongepowered:configurate-yaml"))
|
||||
include(dependency("org.spongepowered:configurate-hocon"))
|
||||
include(dependency("org.spongepowered:configurate-core"))
|
||||
include(dependency("org.bstats:bstats-bukkit"))
|
||||
include(dependency("org.apache.tomcat:tomcat-jdbc"))
|
||||
include(dependency("org.apache.tomcat:tomcat-juli"))
|
||||
include(dependency("com.typesafe:config"))
|
||||
include(dependency("co.aikar:acf-core"))
|
||||
include(dependency("co.aikar:acf-bukkit"))
|
||||
include(dependency("net.kyori:text-api"))
|
||||
include(dependency("net.kyori:text-adapter-bukkit"))
|
||||
include(dependency("net.kyori:text-serializer-gson"))
|
||||
exclude(dependency("org.spigotmc:spigot"))
|
||||
}
|
||||
relocate("org.apache.commons.logging", "com.gmail.nossr50.commons.logging")
|
||||
relocate("org.apache.juli", "com.gmail.nossr50.database.tomcat.juli")
|
||||
relocate("org.apache.tomcat", "com.gmail.nossr50.database.tomcat")
|
||||
relocate("org.bstats", "com.gmail.nossr50.metrics.bstat")
|
||||
relocate("co.aikar.commands", "com.gmail.nossr50.aikar.commands")
|
||||
relocate("co.aikar.locales", "com.gmail.nossr50.aikar.locales")
|
||||
relocate("co.aikar.table", "com.gmail.nossr50.aikar.table")
|
||||
relocate("net.jodah.expiringmap", "com.gmail.nossr50.expiringmap")
|
||||
relocate("net.kyori.text", "com.gmail.nossr50.kyoripowered.text")
|
||||
|
||||
mergeServiceFiles()
|
||||
}
|
||||
|
||||
processResources {
|
||||
filter<ReplaceTokens>("tokens" to mapOf("project.version" to project.version))
|
||||
filesMatching("**/locales/*") {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
dependsOn(shadowJar)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named<ShadowJar>("shadowJar") {
|
||||
dependencies{
|
||||
include { true }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dependencies {
|
||||
api("org.apache.tomcat:tomcat-jdbc:7.0.52")
|
||||
api("com.typesafe:config:1.3.2")
|
||||
api("org.spongepowered:configurate-core:3.7-SNAPSHOT")
|
||||
api("org.spongepowered:configurate-yaml:3.7-SNAPSHOT")
|
||||
api("org.spongepowered:configurate-hocon:3.7-SNAPSHOT")
|
||||
api("co.aikar:acf-core:0.5.0-SNAPSHOT") //Don't change without updating the artifacts for its dependencies (see the other comments)
|
||||
api("co.aikar:acf-paper:0.5.0-SNAPSHOT") //Don't change without updating the artifacts for its dependencies (see the other comments)
|
||||
api("net.kyori:text-api:3.0.2")
|
||||
api("net.kyori:text-serializer-gson:3.0.2")
|
||||
api("net.kyori:text-adapter-bukkit:3.0.4-SNAPSHOT")
|
||||
implementation("org.jetbrains:annotations:17.0.0")
|
||||
implementation("org.apache.maven.scm:maven-scm-provider-gitexe:1.8.1")
|
||||
implementation("org.bstats:bstats-bukkit:1.4")
|
||||
implementation("org.spigotmc:spigot:1.14.4-R0.1-SNAPSHOT")
|
||||
implementation("com.sk89q.worldguard:worldguard-legacy:7.0.0-SNAPSHOT")
|
||||
testImplementation("junit:junit:4.10")
|
||||
}
|
||||
|
||||
|
||||
16
mcmmo-core/src/main/assembly/package.xml
Normal file
16
mcmmo-core/src/main/assembly/package.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
|
||||
<id>bin</id>
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
<formats>
|
||||
<format>zip</format>
|
||||
</formats>
|
||||
<files>
|
||||
<file>
|
||||
<source>${project.build.directory}/${artifactId}.jar</source>
|
||||
<outputDirectory>/</outputDirectory>
|
||||
<destName>mcMMO.jar</destName>
|
||||
</file>
|
||||
</files>
|
||||
</assembly>
|
||||
@@ -0,0 +1,89 @@
|
||||
//package com.gmail.nossr50.api;
|
||||
//
|
||||
//import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
//import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
|
||||
//import com.gmail.nossr50.runnables.skills.BleedTimerTask;
|
||||
//import com.gmail.nossr50.util.player.UserManager;
|
||||
//import org.bukkit.entity.LivingEntity;
|
||||
//import org.bukkit.entity.Player;
|
||||
//
|
||||
//public final class AbilityAPI {
|
||||
// private AbilityAPI() {
|
||||
// }
|
||||
//
|
||||
// public static boolean berserkEnabled(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).getAbilityMode(SuperAbilityType.BERSERK);
|
||||
// }
|
||||
//
|
||||
// public static boolean gigaDrillBreakerEnabled(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER);
|
||||
// }
|
||||
//
|
||||
// public static boolean greenTerraEnabled(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).getAbilityMode(SuperAbilityType.GREEN_TERRA);
|
||||
// }
|
||||
//
|
||||
// public static boolean serratedStrikesEnabled(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).getAbilityMode(SuperAbilityType.SERRATED_STRIKES);
|
||||
// }
|
||||
//
|
||||
// public static boolean skullSplitterEnabled(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).getAbilityMode(SuperAbilityType.SKULL_SPLITTER);
|
||||
// }
|
||||
//
|
||||
// public static boolean superBreakerEnabled(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).getAbilityMode(SuperAbilityType.SUPER_BREAKER);
|
||||
// }
|
||||
//
|
||||
// public static boolean treeFellerEnabled(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).getAbilityMode(SuperAbilityType.TREE_FELLER);
|
||||
// }
|
||||
//
|
||||
// public static boolean isAnyAbilityEnabled(Player player) {
|
||||
// McMMOPlayer mcMMOPlayer = pluginRef.getUserManager().getPlayer(player);
|
||||
//
|
||||
// for (SuperAbilityType ability : SuperAbilityType.values()) {
|
||||
// if (mcMMOPlayer.getAbilityMode(ability)) {
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// public static void resetCooldowns(Player player) {
|
||||
// pluginRef.getUserManager().getPlayer(player).resetCooldowns();
|
||||
// }
|
||||
//
|
||||
// public static void setBerserkCooldown(Player player, long cooldown) {
|
||||
// pluginRef.getUserManager().getPlayer(player).setAbilityDATS(SuperAbilityType.BERSERK, cooldown);
|
||||
// }
|
||||
//
|
||||
// public static void setGigaDrillBreakerCooldown(Player player, long cooldown) {
|
||||
// pluginRef.getUserManager().getPlayer(player).setAbilityDATS(SuperAbilityType.GIGA_DRILL_BREAKER, cooldown);
|
||||
// }
|
||||
//
|
||||
// public static void setGreenTerraCooldown(Player player, long cooldown) {
|
||||
// pluginRef.getUserManager().getPlayer(player).setAbilityDATS(SuperAbilityType.GREEN_TERRA, cooldown);
|
||||
// }
|
||||
//
|
||||
// public static void setSerratedStrikesCooldown(Player player, long cooldown) {
|
||||
// pluginRef.getUserManager().getPlayer(player).setAbilityDATS(SuperAbilityType.SERRATED_STRIKES, cooldown);
|
||||
// }
|
||||
//
|
||||
// public static void setSkullSplitterCooldown(Player player, long cooldown) {
|
||||
// pluginRef.getUserManager().getPlayer(player).setAbilityDATS(SuperAbilityType.SKULL_SPLITTER, cooldown);
|
||||
// }
|
||||
//
|
||||
// public static void setSuperBreakerCooldown(Player player, long cooldown) {
|
||||
// pluginRef.getUserManager().getPlayer(player).setAbilityDATS(SuperAbilityType.SUPER_BREAKER, cooldown);
|
||||
// }
|
||||
//
|
||||
// public static void setTreeFellerCooldown(Player player, long cooldown) {
|
||||
// pluginRef.getUserManager().getPlayer(player).setAbilityDATS(SuperAbilityType.TREE_FELLER, cooldown);
|
||||
// }
|
||||
//
|
||||
// public static boolean isBleeding(LivingEntity entity) {
|
||||
// return pluginRef.getBleedTimerTask().isBleeding(entity);
|
||||
// }
|
||||
//}
|
||||
154
mcmmo-core/src/main/java/com/gmail/nossr50/api/ChatAPI.java
Normal file
154
mcmmo-core/src/main/java/com/gmail/nossr50/api/ChatAPI.java
Normal file
@@ -0,0 +1,154 @@
|
||||
//package com.gmail.nossr50.api;
|
||||
//
|
||||
//import com.gmail.nossr50.chat.ChatManager;
|
||||
//import com.gmail.nossr50.chat.ChatManagerFactory;
|
||||
//import com.gmail.nossr50.chat.PartyChatManager;
|
||||
//import com.gmail.nossr50.datatypes.chat.ChatMode;
|
||||
//import com.gmail.nossr50.party.PartyManager;
|
||||
//import com.gmail.nossr50.util.player.UserManager;
|
||||
//import org.bukkit.entity.Player;
|
||||
//import org.bukkit.plugin.Plugin;
|
||||
//
|
||||
//public final class ChatAPI {
|
||||
// private ChatAPI() {
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Send a message to all members of a party
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param plugin The plugin sending the message
|
||||
// * @param sender The name of the sender
|
||||
// * @param displayName The display name of the sender
|
||||
// * @param party The name of the party to send to
|
||||
// * @param message The message to send
|
||||
// */
|
||||
// public static void sendPartyChat(Plugin plugin, String sender, String displayName, String party, String message) {
|
||||
// getPartyChatManager(plugin, party).handleChat(sender, displayName, message);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Send a message to all members of a party
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param plugin The plugin sending the message
|
||||
// * @param sender The name of the sender to display in the chat
|
||||
// * @param party The name of the party to send to
|
||||
// * @param message The message to send
|
||||
// */
|
||||
// public static void sendPartyChat(Plugin plugin, String sender, String party, String message) {
|
||||
// getPartyChatManager(plugin, party).handleChat(sender, message);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Send a message to administrators
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param plugin The plugin sending the message
|
||||
// * @param sender The name of the sender
|
||||
// * @param displayName The display name of the sender
|
||||
// * @param message The message to send
|
||||
// */
|
||||
// public static void sendAdminChat(Plugin plugin, String sender, String displayName, String message) {
|
||||
// ChatManagerFactory.getChatManager(plugin, ChatMode.ADMIN).handleChat(sender, displayName, message);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Send a message to administrators
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param plugin The plugin sending the message
|
||||
// * @param sender The name of the sender to display in the chat
|
||||
// * @param message The message to send
|
||||
// */
|
||||
// public static void sendAdminChat(Plugin plugin, String sender, String message) {
|
||||
// ChatManagerFactory.getChatManager(plugin, ChatMode.ADMIN).handleChat(sender, message);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Check if a player is currently talking in party chat.
|
||||
// *
|
||||
// * @param player The player to check
|
||||
// * @return true if the player is using party chat, false otherwise
|
||||
// */
|
||||
// public static boolean isUsingPartyChat(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).isChatEnabled(ChatMode.PARTY);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Check if a player is currently talking in party chat.
|
||||
// *
|
||||
// * @param playerName The name of the player to check
|
||||
// * @return true if the player is using party chat, false otherwise
|
||||
// */
|
||||
// public static boolean isUsingPartyChat(String playerName) {
|
||||
// return pluginRef.getUserManager().getPlayer(playerName).isChatEnabled(ChatMode.PARTY);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Check if a player is currently talking in admin chat.
|
||||
// *
|
||||
// * @param player The player to check
|
||||
// * @return true if the player is using admin chat, false otherwise
|
||||
// */
|
||||
// public static boolean isUsingAdminChat(Player player) {
|
||||
// return pluginRef.getUserManager().getPlayer(player).isChatEnabled(ChatMode.ADMIN);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Check if a player is currently talking in admin chat.
|
||||
// *
|
||||
// * @param playerName The name of the player to check
|
||||
// * @return true if the player is using admin chat, false otherwise
|
||||
// */
|
||||
// public static boolean isUsingAdminChat(String playerName) {
|
||||
// return pluginRef.getUserManager().getPlayer(playerName).isChatEnabled(ChatMode.ADMIN);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Toggle the party chat mode of a player.
|
||||
// *
|
||||
// * @param player The player to toggle party chat on.
|
||||
// */
|
||||
// public static void togglePartyChat(Player player) {
|
||||
// pluginRef.getUserManager().getPlayer(player).toggleChat(ChatMode.PARTY);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Toggle the party chat mode of a player.
|
||||
// *
|
||||
// * @param playerName The name of the player to toggle party chat on.
|
||||
// */
|
||||
// public static void togglePartyChat(String playerName) {
|
||||
// pluginRef.getUserManager().getPlayer(playerName).toggleChat(ChatMode.PARTY);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Toggle the admin chat mode of a player.
|
||||
// *
|
||||
// * @param player The player to toggle admin chat on.
|
||||
// */
|
||||
// public static void toggleAdminChat(Player player) {
|
||||
// pluginRef.getUserManager().getPlayer(player).toggleChat(ChatMode.ADMIN);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Toggle the admin chat mode of a player.
|
||||
// *
|
||||
// * @param playerName The name of the player to toggle party chat on.
|
||||
// */
|
||||
// public static void toggleAdminChat(String playerName) {
|
||||
// pluginRef.getUserManager().getPlayer(playerName).toggleChat(ChatMode.ADMIN);
|
||||
// }
|
||||
//
|
||||
// private static ChatManager getPartyChatManager(Plugin plugin, String party) {
|
||||
// ChatManager chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.PARTY);
|
||||
// ((PartyChatManager) chatManager).setParty(pluginRef.getPartyManager().getParty(party));
|
||||
//
|
||||
// return chatManager;
|
||||
// }
|
||||
//}
|
||||
@@ -0,0 +1,30 @@
|
||||
//package com.gmail.nossr50.api;
|
||||
//
|
||||
//import com.gmail.nossr50.datatypes.player.PlayerProfile;
|
||||
//import com.gmail.nossr50.mcMMO;
|
||||
//
|
||||
//import java.util.UUID;
|
||||
//
|
||||
//public class DatabaseAPI {
|
||||
//
|
||||
// /**
|
||||
// * Checks if a player exists in the mcMMO Database
|
||||
// * @param uuid player UUID
|
||||
// * @return true if the player exists in the DB, false if they do not
|
||||
// */
|
||||
// public boolean doesPlayerExistInDB(String uuid) {
|
||||
// return doesPlayerExistInDB(UUID.fromString(uuid));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Checks if a player exists in the mcMMO Database
|
||||
// * @param uuid player UUID
|
||||
// * @return true if the player exists in the DB, false if they do not
|
||||
// */
|
||||
// public boolean doesPlayerExistInDB(UUID uuid) {
|
||||
// PlayerProfile playerProfile = mcMMO.getDatabaseManager().loadPlayerProfile(uuid);
|
||||
//
|
||||
// return playerProfile.isLoaded();
|
||||
// }
|
||||
//
|
||||
//}
|
||||
1152
mcmmo-core/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java
Normal file
1152
mcmmo-core/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java
Normal file
File diff suppressed because it is too large
Load Diff
265
mcmmo-core/src/main/java/com/gmail/nossr50/api/PartyAPI.java
Normal file
265
mcmmo-core/src/main/java/com/gmail/nossr50/api/PartyAPI.java
Normal file
@@ -0,0 +1,265 @@
|
||||
//package com.gmail.nossr50.api;
|
||||
//
|
||||
//import com.gmail.nossr50.datatypes.interactions.NotificationType;
|
||||
//import com.gmail.nossr50.datatypes.party.Party;
|
||||
//import com.gmail.nossr50.datatypes.party.PartyLeader;
|
||||
//import com.gmail.nossr50.mcMMO;
|
||||
//import com.gmail.nossr50.party.PartyManager;
|
||||
//import com.gmail.nossr50.util.player.UserManager;
|
||||
//import org.bukkit.OfflinePlayer;
|
||||
//import org.bukkit.entity.Player;
|
||||
//
|
||||
//import java.util.*;
|
||||
//
|
||||
//public final class PartyAPI {
|
||||
// private PartyAPI() {
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get the name of the party a player is in.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to check the party name of
|
||||
// * @return the name of the player's party, or null if not in a party
|
||||
// */
|
||||
// public static String getPartyName(Player player) {
|
||||
// if (!inParty(player)) {
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// return pluginRef.getUserManager().getPlayer(player).getParty().getName();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Checks if a player is in a party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to check
|
||||
// * @return true if the player is in a party, false otherwise
|
||||
// */
|
||||
// public static boolean inParty(Player player) {
|
||||
// if (pluginRef.getUserManager().getPlayer(player) == null)
|
||||
// return false;
|
||||
//
|
||||
// return pluginRef.getUserManager().getPlayer(player).inParty();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Check if two players are in the same party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param playera The first player to check
|
||||
// * @param playerb The second player to check
|
||||
// * @return true if the two players are in the same party, false otherwise
|
||||
// */
|
||||
// public static boolean inSameParty(Player playera, Player playerb) {
|
||||
// return pluginRef.getPartyManager().inSameParty(playera, playerb);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get a list of all current parties.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @return the list of parties.
|
||||
// */
|
||||
// public static List<Party> getParties() {
|
||||
// return pluginRef.getPartyManager().getParties();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Add a player to a party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to add to the party
|
||||
// * @param partyName The party to add the player to
|
||||
// * @deprecated parties can have limits, use the other method
|
||||
// */
|
||||
// @Deprecated
|
||||
// public static void addToParty(Player player, String partyName) {
|
||||
// //Check if player profile is loaded
|
||||
// if (pluginRef.getUserManager().getPlayer(player) == null)
|
||||
// return;
|
||||
//
|
||||
// Party party = pluginRef.getPartyManager().getParty(partyName);
|
||||
//
|
||||
// if (party == null) {
|
||||
// party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName);
|
||||
// } else if (mcMMO.getConfigManager().getConfigParty().getPartyGeneral().isPartySizeCapped()) {
|
||||
// if (pluginRef.getPartyManager().isPartyFull(player, party)) {
|
||||
// mcMMO.getNotificationManager().sendPlayerInformation(player, NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull", party.toString());
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// pluginRef.getPartyManager().addToParty(pluginRef.getUserManager().getPlayer(player), party);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * The max party size of the server
|
||||
// * Limits are only enforced if the enforcement setting is on
|
||||
// *
|
||||
// * @return the max party size on this server
|
||||
// */
|
||||
// public static int getMaxPartySize() {
|
||||
// return mcMMO.getConfigManager().getConfigParty().getPartySizeLimit();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Checks if parties are currently size capped which is determined by the user config
|
||||
// *
|
||||
// * @return true if parties are size capped
|
||||
// */
|
||||
// public static boolean isPartySizeCapped() {
|
||||
// return mcMMO.getConfigManager().getConfigParty().isPartySizeCapped();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Add a player to a party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to add to the party
|
||||
// * @param partyName The party to add the player to
|
||||
// * @param bypassLimit if true bypasses party size limits
|
||||
// */
|
||||
// //TODO: bypasslimit not used?
|
||||
// public static void addToParty(Player player, String partyName, boolean bypassLimit) {
|
||||
// //Check if player profile is loaded
|
||||
// if (pluginRef.getUserManager().getPlayer(player) == null)
|
||||
// return;
|
||||
//
|
||||
// Party party = pluginRef.getPartyManager().getParty(partyName);
|
||||
//
|
||||
// if (party == null) {
|
||||
// party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName);
|
||||
// }
|
||||
//
|
||||
// pluginRef.getPartyManager().addToParty(pluginRef.getUserManager().getPlayer(player), party);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Remove a player from a party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to remove
|
||||
// */
|
||||
// public static void removeFromParty(Player player) {
|
||||
// //Check if player profile is loaded
|
||||
// if (pluginRef.getUserManager().getPlayer(player) == null)
|
||||
// return;
|
||||
//
|
||||
// pluginRef.getPartyManager().removeFromParty(pluginRef.getUserManager().getPlayer(player));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get the leader of a party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param partyName The party name
|
||||
// * @return the leader of the party
|
||||
// */
|
||||
// public static String getPartyLeader(String partyName) {
|
||||
// return pluginRef.getPartyManager().getPartyLeaderName(partyName);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Set the leader of a party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param partyName The name of the party to set the leader of
|
||||
// * @param playerName The playerName to set as leader
|
||||
// */
|
||||
// @Deprecated
|
||||
// public static void setPartyLeader(String partyName, String playerName) {
|
||||
// pluginRef.getPartyManager().setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), pluginRef.getPartyManager().getParty(partyName));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get a list of all players in this player's party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to check
|
||||
// * @return all the players in the player's party
|
||||
// */
|
||||
// @Deprecated
|
||||
// public static List<OfflinePlayer> getOnlineAndOfflineMembers(Player player) {
|
||||
// List<OfflinePlayer> members = new ArrayList<>();
|
||||
//
|
||||
// for (UUID memberUniqueId : pluginRef.getPartyManager().getAllMembers(player).keySet()) {
|
||||
// OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId);
|
||||
// members.add(member);
|
||||
// }
|
||||
// return members;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get a list of all player names in this player's party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to check
|
||||
// * @return all the player names in the player's party
|
||||
// */
|
||||
// @Deprecated
|
||||
// public static LinkedHashSet<String> getMembers(Player player) {
|
||||
// return (LinkedHashSet<String>) pluginRef.getPartyManager().getAllMembers(player).values();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get a list of all player names and uuids in this player's party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to check
|
||||
// * @return all the player names and uuids in the player's party
|
||||
// */
|
||||
// public static LinkedHashMap<UUID, String> getMembersMap(Player player) {
|
||||
// return pluginRef.getPartyManager().getAllMembers(player);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get a list of all online players in this party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param partyName The party to check
|
||||
// * @return all online players in this party
|
||||
// */
|
||||
// public static List<Player> getOnlineMembers(String partyName) {
|
||||
// return pluginRef.getPartyManager().getOnlineMembers(partyName);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Get a list of all online players in this player's party.
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @param player The player to check
|
||||
// * @return all online players in the player's party
|
||||
// */
|
||||
// public static List<Player> getOnlineMembers(Player player) {
|
||||
// return pluginRef.getPartyManager().getOnlineMembers(player);
|
||||
// }
|
||||
//
|
||||
// public static boolean hasAlly(String partyName) {
|
||||
// return getAllyName(partyName) != null;
|
||||
// }
|
||||
//
|
||||
// public static String getAllyName(String partyName) {
|
||||
// Party ally = pluginRef.getPartyManager().getParty(partyName).getAlly();
|
||||
// if (ally != null) {
|
||||
// return ally.getName();
|
||||
// }
|
||||
//
|
||||
// return null;
|
||||
// }
|
||||
//}
|
||||
94
mcmmo-core/src/main/java/com/gmail/nossr50/api/SkillAPI.java
Normal file
94
mcmmo-core/src/main/java/com/gmail/nossr50/api/SkillAPI.java
Normal file
@@ -0,0 +1,94 @@
|
||||
//package com.gmail.nossr50.api;
|
||||
//
|
||||
//import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
//
|
||||
//import java.util.ArrayList;
|
||||
//import java.util.Arrays;
|
||||
//import java.util.List;
|
||||
//
|
||||
//public final class SkillAPI {
|
||||
// private SkillAPI() {
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Returns a list of strings with mcMMO's skills
|
||||
// * This includes parent and child skills
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @return a list of strings with valid skill names
|
||||
// */
|
||||
// public static List<String> getSkills() {
|
||||
// return getListFromEnum(Arrays.asList(PrimarySkillType.values()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Returns a list of strings with mcMMO's skills
|
||||
// * This only includes parent skills
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @return a list of strings with valid skill names
|
||||
// */
|
||||
// public static List<String> getNonChildSkills() {
|
||||
// return getListFromEnum(pluginRef.getSkillTools().NON_CHILD_SKILLS);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Returns a list of strings with mcMMO's skills
|
||||
// * This only includes child skills
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @return a list of strings with valid skill names
|
||||
// */
|
||||
// public static List<String> getChildSkills() {
|
||||
// return getListFromEnum(PrimarySkillType.CHILD_SKILLS);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Returns a list of strings with mcMMO's skills
|
||||
// * This only includes combat skills
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @return a list of strings with valid skill names
|
||||
// */
|
||||
// public static List<String> getCombatSkills() {
|
||||
// return getListFromEnum(PrimarySkillType.COMBAT_SKILLS);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Returns a list of strings with mcMMO's skills
|
||||
// * This only includes gathering skills
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @return a list of strings with valid skill names
|
||||
// */
|
||||
// public static List<String> getGatheringSkills() {
|
||||
// return getListFromEnum(PrimarySkillType.GATHERING_SKILLS);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Returns a list of strings with mcMMO's skills
|
||||
// * This only includes misc skills
|
||||
// * </br>
|
||||
// * This function is designed for API usage.
|
||||
// *
|
||||
// * @return a list of strings with valid skill names
|
||||
// */
|
||||
// public static List<String> getMiscSkills() {
|
||||
// return getListFromEnum(PrimarySkillType.MISC_SKILLS);
|
||||
// }
|
||||
//
|
||||
// private static List<String> getListFromEnum(List<PrimarySkillType> skillsTypes) {
|
||||
// List<String> skills = new ArrayList<>();
|
||||
//
|
||||
// for (PrimarySkillType primarySkillType : skillsTypes) {
|
||||
// skills.add(primarySkillType.name());
|
||||
// }
|
||||
//
|
||||
// return skills;
|
||||
// }
|
||||
//}
|
||||
@@ -3,7 +3,7 @@ package com.gmail.nossr50.api.exceptions;
|
||||
public class InvalidSkillException extends RuntimeException {
|
||||
private static final long serialVersionUID = 942705284195791157L;
|
||||
|
||||
public InvalidSkillException() {
|
||||
super("That is not a valid skill.");
|
||||
public InvalidSkillException(String s) {
|
||||
super(s + " does not match a valid skill.");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.gmail.nossr50.api.exceptions;
|
||||
|
||||
public class MissingSkillPropertyDefinition extends RuntimeException {
|
||||
public MissingSkillPropertyDefinition(String details) {
|
||||
super("A skill property is undefined! Details: " + details);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.gmail.nossr50.api.exceptions;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
|
||||
public class UndefinedSkillBehaviour extends RuntimeException {
|
||||
public UndefinedSkillBehaviour(PrimarySkillType primarySkillType) {
|
||||
super("Undefined behaviour for skill! - " + primarySkillType.toString());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
//package com.gmail.nossr50.bukkit;
|
||||
//
|
||||
//import com.gmail.nossr50.datatypes.items.BukkitMMOItem;
|
||||
//import com.gmail.nossr50.datatypes.items.MMOItem;
|
||||
//import com.gmail.nossr50.util.nbt.NBTManager;
|
||||
//import com.gmail.nossr50.util.nbt.RawNBT;
|
||||
//import org.bukkit.inventory.ItemStack;
|
||||
//
|
||||
///**
|
||||
// * Used to convert or construct platform independent types into Bukkit types
|
||||
// */
|
||||
//public class BukkitFactory {
|
||||
//
|
||||
// /**
|
||||
// * Creates a BukkitMMOItem which contains Bukkit implementations for the type MMOItem
|
||||
// * @return a new BukkitMMOItem
|
||||
// */
|
||||
// public static MMOItem<?> createItem(String namespaceKey, int amount, RawNBT rawNBT) {
|
||||
// return new BukkitMMOItem(namespaceKey, amount, rawNBT);
|
||||
// }
|
||||
//
|
||||
// public static MMOItem<?> createItem(ItemStack itemStack) {
|
||||
// return createItem(itemStack.getType().getKey().toString(), itemStack.getAmount(), new RawNBT(NBTManager.getNBT(itemStack).toString()));
|
||||
// }
|
||||
//
|
||||
//}
|
||||
105
mcmmo-core/src/main/java/com/gmail/nossr50/chat/ChatManager.java
Normal file
105
mcmmo-core/src/main/java/com/gmail/nossr50/chat/ChatManager.java
Normal file
@@ -0,0 +1,105 @@
|
||||
package com.gmail.nossr50.chat;
|
||||
|
||||
import com.gmail.nossr50.datatypes.party.Party;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.events.chat.McMMOAdminChatEvent;
|
||||
import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ChatManager {
|
||||
private final String ADMIN_CHAT_PERMISSION = "mcmmo.chat.adminchat";
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public ChatManager(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
public void processAdminChat(Player player, String message) {
|
||||
sendAdminChatMessage(new McMMOAdminChatEvent(pluginRef, player.getName(), player.getDisplayName(), message));
|
||||
}
|
||||
|
||||
public void processAdminChat(String senderName, String displayName, String message) {
|
||||
sendAdminChatMessage(new McMMOAdminChatEvent(pluginRef, senderName, displayName, message));
|
||||
}
|
||||
|
||||
public void processPartyChat(Party party, Player sender, String message) {
|
||||
sendPartyChatMessage(new McMMOPartyChatEvent(pluginRef, sender.getName(), sender.getDisplayName(), party, message));
|
||||
}
|
||||
|
||||
public void processPartyChat(Party party, String senderName, String message) {
|
||||
sendPartyChatMessage(new McMMOPartyChatEvent(pluginRef, senderName, senderName, party, message));
|
||||
}
|
||||
|
||||
private void sendAdminChatMessage(McMMOAdminChatEvent event) {
|
||||
pluginRef.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
String chatPrefix = pluginRef.getConfigManager().getConfigCommands().getAdminChatPrefix();
|
||||
String senderName = event.getSender();
|
||||
String displayName = pluginRef.getConfigManager().getConfigCommands().isUseDisplayNames() ? event.getDisplayName() : senderName;
|
||||
String message = pluginRef.getLocaleManager().formatString(chatPrefix, displayName) + " " + event.getMessage();
|
||||
|
||||
pluginRef.getServer().broadcast(message, ADMIN_CHAT_PERMISSION);
|
||||
}
|
||||
|
||||
private void sendPartyChatMessage(McMMOPartyChatEvent event) {
|
||||
pluginRef.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Party party = event.getParty();
|
||||
String chatPrefix = pluginRef.getConfigManager().getConfigParty().getPartyChatPrefixFormat();
|
||||
String senderName = event.getSender();
|
||||
String displayName = pluginRef.getConfigManager().getConfigCommands().isUseDisplayNames() ? event.getDisplayName() : senderName;
|
||||
String message = pluginRef.getLocaleManager().formatString(chatPrefix, displayName) + " " + event.getMessage();
|
||||
|
||||
if (pluginRef.getConfigManager().getConfigParty().isPartyLeaderColoredGold()
|
||||
&& senderName.equalsIgnoreCase(party.getLeader().getPlayerName())) {
|
||||
message = message.replaceFirst(Pattern.quote(displayName), ChatColor.GOLD + Matcher.quoteReplacement(displayName) + ChatColor.RESET);
|
||||
}
|
||||
|
||||
for (Player member : party.getOnlineMembers()) {
|
||||
member.sendMessage(message);
|
||||
}
|
||||
|
||||
if (party.getAlly() != null) {
|
||||
for (Player member : party.getAlly().getOnlineMembers()) {
|
||||
String allyPrefix = pluginRef.getLocaleManager().formatString(pluginRef.getConfigManager().getConfigParty().getPartyChatPrefixAlly());
|
||||
member.sendMessage(allyPrefix + message);
|
||||
}
|
||||
}
|
||||
|
||||
pluginRef.getServer().getConsoleSender().sendMessage(ChatColor.stripColor("[mcMMO] [P]<" + party.getName() + ">" + message));
|
||||
|
||||
/*
|
||||
* Party Chat Spying
|
||||
*/
|
||||
for (McMMOPlayer mcMMOPlayer : pluginRef.getUserManager().getPlayers()) {
|
||||
Player player = mcMMOPlayer.getPlayer();
|
||||
|
||||
//Check for toggled players
|
||||
if (mcMMOPlayer.isPartyChatSpying()) {
|
||||
Party adminParty = mcMMOPlayer.getParty();
|
||||
|
||||
//Only message admins not part of this party
|
||||
if (adminParty != null) {
|
||||
//TODO: Incorporate JSON
|
||||
if (adminParty != event.getParty())
|
||||
player.sendMessage(pluginRef.getLocaleManager().getString("Commands.AdminChatSpy.Chat", event.getParty(), message));
|
||||
} else {
|
||||
player.sendMessage(pluginRef.getLocaleManager().getString("Commands.AdminChatSpy.Chat", event.getParty(), message));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class AbilityToggleCommand extends ToggleCommand {
|
||||
|
||||
public AbilityToggleCommand(mcMMO pluginRef) {
|
||||
super(pluginRef);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasOtherPermission(CommandSender sender) {
|
||||
return pluginRef.getPermissionTools().mcabilityOthers(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasSelfPermission(CommandSender sender) {
|
||||
return pluginRef.getPermissionTools().mcability(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyCommandAction(McMMOPlayer mcMMOPlayer) {
|
||||
mcMMOPlayer.getPlayer().sendMessage(pluginRef.getLocaleManager().getString("Commands.Ability." + (mcMMOPlayer.getAllowAbilityUse() ? "Off" : "On")));
|
||||
mcMMOPlayer.toggleAbilityUse();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendSuccessMessage(CommandSender sender, String playerName) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Ability.Toggle", playerName));
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -11,18 +10,29 @@ import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class McnotifyCommand implements TabExecutor {
|
||||
public class ChatNotificationToggleCommand implements TabExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public ChatNotificationToggleCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (pluginRef.getCommandTools().noConsoleUsage(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (args.length) {
|
||||
case 0:
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender);
|
||||
McMMOPlayer mcMMOPlayer = pluginRef.getUserManager().getPlayer((Player) sender);
|
||||
|
||||
//Not Loaded yet
|
||||
if(mcMMOPlayer == null)
|
||||
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
|
||||
if (mcMMOPlayer == null)
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Profile.PendingLoad"));
|
||||
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Notifications." + (mcMMOPlayer.useChatNotifications() ? "Off" : "On")));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Notifications." + (mcMMOPlayer.useChatNotifications() ? "Off" : "On")));
|
||||
mcMMOPlayer.toggleChatNotifications();
|
||||
return true;
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CommandConstants {
|
||||
public static final List<String> TELEPORT_SUBCOMMANDS = ImmutableList.of("toggle", "accept", "acceptany", "acceptall");
|
||||
public static final List<String> ALLIANCE_SUBCOMMANDS = ImmutableList.of("invite", "accept", "disband");
|
||||
public static final List<String> TRUE_FALSE_OPTIONS = ImmutableList.of("on", "off", "true", "false", "enabled", "disabled");
|
||||
public static final List<String> RESET_OPTIONS = ImmutableList.of("clear", "reset");
|
||||
}
|
||||
@@ -2,7 +2,6 @@ package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.commands.database.ConvertDatabaseCommand;
|
||||
import com.gmail.nossr50.commands.experience.ConvertExperienceCommand;
|
||||
import com.gmail.nossr50.database.DatabaseManagerFactory;
|
||||
import com.gmail.nossr50.datatypes.database.DatabaseType;
|
||||
import com.gmail.nossr50.datatypes.experience.FormulaType;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
@@ -17,17 +16,25 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class McconvertCommand implements TabExecutor {
|
||||
private static final List<String> FORMULA_TYPES;
|
||||
private static final List<String> DATABASE_TYPES;
|
||||
private static final List<String> SUBCOMMANDS = ImmutableList.of("database", "experience");
|
||||
public class ConvertCommand implements TabExecutor {
|
||||
private List<String> FORMULA_TYPES;
|
||||
private List<String> DATABASE_TYPES;
|
||||
private final List<String> CONVERSION_SUBCOMMANDS = ImmutableList.of("database", "experience");
|
||||
private CommandExecutor databaseConvertCommand;
|
||||
private CommandExecutor experienceConvertCommand;
|
||||
|
||||
private CommandExecutor databaseConvertCommand = new ConvertDatabaseCommand();
|
||||
private CommandExecutor experienceConvertCommand = new ConvertExperienceCommand();
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
static {
|
||||
ArrayList<String> formulaTypes = new ArrayList<String>();
|
||||
ArrayList<String> databaseTypes = new ArrayList<String>();
|
||||
public ConvertCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
databaseConvertCommand = new ConvertDatabaseCommand(pluginRef);
|
||||
experienceConvertCommand = new ConvertExperienceCommand(pluginRef);
|
||||
initTypes();
|
||||
}
|
||||
|
||||
private void initTypes() {
|
||||
ArrayList<String> formulaTypes = new ArrayList<>();
|
||||
ArrayList<String> databaseTypes = new ArrayList<>();
|
||||
|
||||
for (FormulaType type : FormulaType.values()) {
|
||||
formulaTypes.add(type.toString());
|
||||
@@ -40,8 +47,8 @@ public class McconvertCommand implements TabExecutor {
|
||||
// Custom stuff
|
||||
databaseTypes.remove(DatabaseType.CUSTOM.toString());
|
||||
|
||||
if (mcMMO.getDatabaseManager().getDatabaseType() == DatabaseType.CUSTOM) {
|
||||
databaseTypes.add(DatabaseManagerFactory.getCustomDatabaseManagerClass().getName());
|
||||
if (pluginRef.getDatabaseManager().getDatabaseType() == DatabaseType.CUSTOM) {
|
||||
databaseTypes.add(pluginRef.getDatabaseManagerFactory().getCustomDatabaseManagerClass().getName());
|
||||
}
|
||||
|
||||
Collections.sort(formulaTypes);
|
||||
@@ -49,7 +56,6 @@ public class McconvertCommand implements TabExecutor {
|
||||
|
||||
FORMULA_TYPES = ImmutableList.copyOf(formulaTypes);
|
||||
DATABASE_TYPES = ImmutableList.copyOf(databaseTypes);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -58,8 +64,7 @@ public class McconvertCommand implements TabExecutor {
|
||||
case 2:
|
||||
if (args[0].equalsIgnoreCase("database") || args[0].equalsIgnoreCase("db")) {
|
||||
return databaseConvertCommand.onCommand(sender, command, label, args);
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("experience") || args[0].equalsIgnoreCase("xp") || args[1].equalsIgnoreCase("exp")) {
|
||||
} else if (args[0].equalsIgnoreCase("experience") || args[0].equalsIgnoreCase("xp") || args[1].equalsIgnoreCase("exp")) {
|
||||
return experienceConvertCommand.onCommand(sender, command, label, args);
|
||||
}
|
||||
|
||||
@@ -73,14 +78,14 @@ public class McconvertCommand implements TabExecutor {
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
return StringUtil.copyPartialMatches(args[0], SUBCOMMANDS, new ArrayList<String>(SUBCOMMANDS.size()));
|
||||
return StringUtil.copyPartialMatches(args[0], CONVERSION_SUBCOMMANDS, new ArrayList<>(CONVERSION_SUBCOMMANDS.size()));
|
||||
case 2:
|
||||
if (args[0].equalsIgnoreCase("database") || args[0].equalsIgnoreCase("db")) {
|
||||
return StringUtil.copyPartialMatches(args[0], DATABASE_TYPES, new ArrayList<String>(DATABASE_TYPES.size()));
|
||||
if (args[1].equalsIgnoreCase("database") || args[1].equalsIgnoreCase("db")) {
|
||||
return StringUtil.copyPartialMatches(args[0], DATABASE_TYPES, new ArrayList<>(DATABASE_TYPES.size()));
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("experience") || args[0].equalsIgnoreCase("xp") || args[0].equalsIgnoreCase("exp")) {
|
||||
return StringUtil.copyPartialMatches(args[0], FORMULA_TYPES, new ArrayList<String>(FORMULA_TYPES.size()));
|
||||
if (args[1].equalsIgnoreCase("experience") || args[1].equalsIgnoreCase("xp") || args[1].equalsIgnoreCase("exp")) {
|
||||
return StringUtil.copyPartialMatches(args[0], FORMULA_TYPES, new ArrayList<>(FORMULA_TYPES.size()));
|
||||
}
|
||||
|
||||
return ImmutableList.of();
|
||||
@@ -0,0 +1,124 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.datatypes.notifications.SensitiveCommandType;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.StringUtils;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.util.StringUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ExperienceRateCommand implements TabExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public ExperienceRateCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
if (!args[0].equalsIgnoreCase("reset") && !args[0].equalsIgnoreCase("clear")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!pluginRef.getPermissionTools().xprateReset(sender)) {
|
||||
sender.sendMessage(command.getPermissionMessage());
|
||||
return true;
|
||||
}
|
||||
|
||||
if (pluginRef.isXPEventEnabled()) {
|
||||
|
||||
if (pluginRef.getConfigManager().getConfigEvent().isSendTitleMessages()) {
|
||||
pluginRef.getNotificationManager().broadcastTitle(pluginRef.getServer(),
|
||||
pluginRef.getLocaleManager().getString("Commands.Event.Stop"),
|
||||
pluginRef.getLocaleManager().getString("Commands.Event.Stop.Subtitle"),
|
||||
10, 10 * 20, 20);
|
||||
}
|
||||
|
||||
if (pluginRef.getConfigManager().getConfigEvent().isBroadcastXPRateEventMessages()) {
|
||||
pluginRef.getServer().broadcastMessage(pluginRef.getLocaleManager().getString("Commands.Event.Stop"));
|
||||
pluginRef.getServer().broadcastMessage(pluginRef.getLocaleManager().getString("Commands.Event.Stop.Subtitle"));
|
||||
}
|
||||
|
||||
//Admin notification
|
||||
pluginRef.getNotificationManager().processSensitiveCommandNotification(sender, SensitiveCommandType.XPRATE_END);
|
||||
|
||||
pluginRef.toggleXpEventEnabled();
|
||||
}
|
||||
|
||||
pluginRef.getDynamicSettingsManager().getExperienceManager().resetGlobalXpMult();
|
||||
return true;
|
||||
|
||||
case 2:
|
||||
if (pluginRef.getCommandTools().isInvalidInteger(sender, args[0])) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!pluginRef.getPermissionTools().xprateSet(sender)) {
|
||||
sender.sendMessage(command.getPermissionMessage());
|
||||
return true;
|
||||
}
|
||||
|
||||
if (pluginRef.getCommandTools().shouldDisableToggle(args[1])) {
|
||||
pluginRef.setXPEventEnabled(false);
|
||||
} else if (pluginRef.getCommandTools().shouldEnableToggle(args[1])) {
|
||||
pluginRef.setXPEventEnabled(true);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
int newXpRate = Integer.parseInt(args[0]);
|
||||
|
||||
if (newXpRate < 0) {
|
||||
sender.sendMessage(ChatColor.RED + pluginRef.getLocaleManager().getString("Commands.NegativeNumberWarn"));
|
||||
return true;
|
||||
}
|
||||
|
||||
pluginRef.getDynamicSettingsManager().getExperienceManager().setGlobalXpMult(newXpRate);
|
||||
|
||||
if (pluginRef.getConfigManager().getConfigEvent().isSendTitleMessages()) {
|
||||
pluginRef.getNotificationManager().broadcastTitle(pluginRef.getServer(),
|
||||
pluginRef.getLocaleManager().getString("Commands.Event.Start"),
|
||||
pluginRef.getLocaleManager().getString("Commands.Event.XP", newXpRate),
|
||||
10, 10 * 20, 20);
|
||||
}
|
||||
|
||||
if (pluginRef.getConfigManager().getConfigEvent().isBroadcastXPRateEventMessages()) {
|
||||
pluginRef.getServer().broadcastMessage(pluginRef.getLocaleManager().getString("Commands.Event.Start"));
|
||||
pluginRef.getServer().broadcastMessage(pluginRef.getLocaleManager().getString("Commands.Event.XP", newXpRate));
|
||||
}
|
||||
|
||||
//Admin notification
|
||||
pluginRef.getNotificationManager().processSensitiveCommandNotification(sender, SensitiveCommandType.XPRATE_MODIFY, String.valueOf(newXpRate));
|
||||
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
if (StringUtils.isInt(args[0])) {
|
||||
return ImmutableList.of();
|
||||
}
|
||||
|
||||
return StringUtil.copyPartialMatches(args[0], CommandConstants.RESET_OPTIONS, new ArrayList<>(CommandConstants.RESET_OPTIONS.size()));
|
||||
case 2:
|
||||
return StringUtil.copyPartialMatches(args[1], CommandConstants.TRUE_FALSE_OPTIONS, new ArrayList<>(CommandConstants.TRUE_FALSE_OPTIONS.size()));
|
||||
default:
|
||||
return ImmutableList.of();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class GodModeCommand extends ToggleCommand {
|
||||
|
||||
public GodModeCommand(mcMMO pluginRef) {
|
||||
super(pluginRef);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasOtherPermission(CommandSender sender) {
|
||||
return pluginRef.getPermissionTools().mcgodOthers(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasSelfPermission(CommandSender sender) {
|
||||
return pluginRef.getPermissionTools().mcgod(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyCommandAction(McMMOPlayer mcMMOPlayer) {
|
||||
mcMMOPlayer.getPlayer().sendMessage(pluginRef.getLocaleManager().getString("Commands.GodMode." + (mcMMOPlayer.getGodMode() ? "Disabled" : "Enabled")));
|
||||
mcMMOPlayer.toggleGodMode();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendSuccessMessage(CommandSender sender, String playerName) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.GodMode.Toggle", playerName));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.commands.party.PartySubcommandType;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class McMMOCommand implements CommandExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public McMMOCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
switch (args.length) {
|
||||
case 0:
|
||||
if (!pluginRef.getPermissionTools().mcmmoDescription(sender)) {
|
||||
sender.sendMessage(command.getPermissionMessage());
|
||||
return true;
|
||||
}
|
||||
|
||||
String description = pluginRef.getLocaleManager().getString("mcMMO.Description");
|
||||
String[] mcSplit = description.split(",");
|
||||
sender.sendMessage(mcSplit);
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("mcMMO.Description.FormerDevs"));
|
||||
|
||||
if (pluginRef.getConfigManager().getConfigAds().isShowDonationInfo()) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("MOTD.Donate"));
|
||||
sender.sendMessage(ChatColor.GOLD + " - " + ChatColor.GREEN + "nossr50@gmail.com" + ChatColor.GOLD + " Paypal");
|
||||
}
|
||||
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("MOTD.Version", pluginRef.getDescription().getVersion()));
|
||||
|
||||
// mcMMO.getHolidayManager().anniversaryCheck(sender);
|
||||
return true;
|
||||
|
||||
case 1:
|
||||
if (args[0].equalsIgnoreCase("?") || args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("commands")) {
|
||||
if (!pluginRef.getPermissionTools().mcmmoHelp(sender)) {
|
||||
sender.sendMessage(command.getPermissionMessage());
|
||||
return true;
|
||||
}
|
||||
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcc.Header"));
|
||||
displayGeneralCommands(sender);
|
||||
displayOtherCommands(sender);
|
||||
displayPartyCommands(sender);
|
||||
}
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void displayGeneralCommands(CommandSender sender) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mcstats " + pluginRef.getLocaleManager().getString("Commands.Stats"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /<skill>" + pluginRef.getLocaleManager().getString("Commands.SkillInfo"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mctop " + pluginRef.getLocaleManager().getString("Commands.Leaderboards"));
|
||||
|
||||
if (pluginRef.getPermissionTools().inspect(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /inspect " + pluginRef.getLocaleManager().getString("Commands.Inspect"));
|
||||
}
|
||||
|
||||
if (pluginRef.getPermissionTools().mcability(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mcability " + pluginRef.getLocaleManager().getString("Commands.ToggleAbility"));
|
||||
}
|
||||
}
|
||||
|
||||
private void displayOtherCommands(CommandSender sender) {
|
||||
//Don't show them this category if they have none of the permissions
|
||||
if (!pluginRef.getPermissionTools().skillreset(sender) && !pluginRef.getPermissionTools().mmoedit(sender) && !pluginRef.getPermissionTools().adminChat(sender) && !pluginRef.getPermissionTools().mcgod(sender))
|
||||
return;
|
||||
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Other"));
|
||||
|
||||
if (pluginRef.getPermissionTools().skillreset(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /skillreset <skill|all> " + pluginRef.getLocaleManager().getString("Commands.Reset"));
|
||||
}
|
||||
|
||||
if (pluginRef.getPermissionTools().mmoedit(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mmoedit " + pluginRef.getLocaleManager().getString("Commands.mmoedit"));
|
||||
}
|
||||
|
||||
if (pluginRef.getPermissionTools().adminChat(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /adminchat " + pluginRef.getLocaleManager().getString("Commands.AdminToggle"));
|
||||
}
|
||||
|
||||
if (pluginRef.getPermissionTools().mcgod(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mcgod " + pluginRef.getLocaleManager().getString("Commands.mcgod"));
|
||||
}
|
||||
}
|
||||
|
||||
private void displayPartyCommands(CommandSender sender) {
|
||||
if (pluginRef.getPermissionTools().party(sender)) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Party.Commands"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party create <" + pluginRef.getLocaleManager().getString("Commands.Usage.PartyName") + "> " + pluginRef.getLocaleManager().getString("Commands.Party1"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party join <" + pluginRef.getLocaleManager().getString("Commands.Usage.Player") + "> " + pluginRef.getLocaleManager().getString("Commands.Party2"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party quit " + pluginRef.getLocaleManager().getString("Commands.Party.Quit"));
|
||||
|
||||
if (pluginRef.getPermissionTools().partyChat(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party chat " + pluginRef.getLocaleManager().getString("Commands.Party.Toggle"));
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party invite <" + pluginRef.getLocaleManager().getString("Commands.Usage.Player") + "> " + pluginRef.getLocaleManager().getString("Commands.Party.Invite"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party accept " + pluginRef.getLocaleManager().getString("Commands.Party.Accept"));
|
||||
|
||||
if (pluginRef.getPermissionTools().partySubcommand(sender, PartySubcommandType.TELEPORT)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party teleport <" + pluginRef.getLocaleManager().getString("Commands.Usage.Player") + "> " + pluginRef.getLocaleManager().getString("Commands.Party.Teleport"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,23 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.util.Permissions;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class McrefreshCommand extends ToggleCommand {
|
||||
public class RefreshCooldownsCommand extends ToggleCommand {
|
||||
|
||||
public RefreshCooldownsCommand(mcMMO pluginRef) {
|
||||
super(pluginRef);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasOtherPermission(CommandSender sender) {
|
||||
return Permissions.mcrefreshOthers(sender);
|
||||
return pluginRef.getPermissionTools().mcrefreshOthers(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasSelfPermission(CommandSender sender) {
|
||||
return Permissions.mcrefresh(sender);
|
||||
return pluginRef.getPermissionTools().mcrefresh(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -21,13 +25,13 @@ public class McrefreshCommand extends ToggleCommand {
|
||||
mcMMOPlayer.setRecentlyHurt(0);
|
||||
mcMMOPlayer.resetCooldowns();
|
||||
mcMMOPlayer.resetToolPrepMode();
|
||||
mcMMOPlayer.resetAbilityMode();
|
||||
mcMMOPlayer.resetSuperAbilityMode();
|
||||
|
||||
mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Ability.Generic.Refresh"));
|
||||
mcMMOPlayer.getPlayer().sendMessage(pluginRef.getLocaleManager().getString("Ability.Generic.Refresh"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendSuccessMessage(CommandSender sender, String playerName) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.mcrefresh.Success", playerName));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcrefresh.Success", playerName));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.database.FlatFileDatabaseManager;
|
||||
import com.gmail.nossr50.database.SQLDatabaseManager;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ResetUserHealthBarSettingsCommand implements TabExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public ResetUserHealthBarSettingsCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (pluginRef.getDatabaseManager() instanceof SQLDatabaseManager) {
|
||||
SQLDatabaseManager sqlDatabaseManager = (SQLDatabaseManager) pluginRef.getDatabaseManager();
|
||||
sqlDatabaseManager.resetMobHealthSettings();
|
||||
for (McMMOPlayer player : pluginRef.getUserManager().getPlayers()) {
|
||||
player.getProfile().setMobHealthbarType(pluginRef.getConfigManager().getConfigMobs().getCombat().getHealthBars().getDisplayBarType());
|
||||
}
|
||||
sender.sendMessage("Mob health reset");
|
||||
return true;
|
||||
}
|
||||
if (pluginRef.getDatabaseManager() instanceof FlatFileDatabaseManager) {
|
||||
FlatFileDatabaseManager flatFileDatabaseManager = (FlatFileDatabaseManager) pluginRef.getDatabaseManager();
|
||||
flatFileDatabaseManager.resetMobHealthSettings();
|
||||
for (McMMOPlayer player : pluginRef.getUserManager().getPlayers()) {
|
||||
player.getProfile().setMobHealthbarType(pluginRef.getConfigManager().getConfigMobs().getCombat().getHealthBars().getDisplayBarType());
|
||||
}
|
||||
sender.sendMessage("Mob health reset");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
return ImmutableList.of();
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,6 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.config.Config;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.util.commands.CommandUtils;
|
||||
import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -13,36 +10,43 @@ import org.bukkit.util.StringUtil;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class McscoreboardCommand implements TabExecutor {
|
||||
public class ScoreboardCommand implements TabExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public ScoreboardCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
private static final List<String> FIRST_ARGS = ImmutableList.of("keep", "time", "clear");
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (CommandUtils.noConsoleUsage(sender)) {
|
||||
if (pluginRef.getCommandTools().noConsoleUsage(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
if (args[0].equalsIgnoreCase("clear") || args[0].equalsIgnoreCase("reset")) {
|
||||
ScoreboardManager.clearBoard(sender.getName());
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Clear"));
|
||||
pluginRef.getScoreboardManager().clearBoard(sender.getName());
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.Clear"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("keep")) {
|
||||
if (!Config.getInstance().getAllowKeepBoard() || !Config.getInstance().getScoreboardsEnabled()) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Disabled"));
|
||||
if (!pluginRef.getScoreboardSettings().getScoreboardsEnabled()) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Disabled"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!ScoreboardManager.isBoardShown(sender.getName())) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.NoBoard"));
|
||||
if (!pluginRef.getScoreboardManager().isBoardShown(sender.getName())) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.NoBoard"));
|
||||
return true;
|
||||
}
|
||||
|
||||
ScoreboardManager.keepBoard(sender.getName());
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Keep"));
|
||||
pluginRef.getScoreboardManager().keepBoard(sender.getName());
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.Keep"));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -50,14 +54,14 @@ public class McscoreboardCommand implements TabExecutor {
|
||||
|
||||
case 2:
|
||||
if (args[0].equalsIgnoreCase("time") || args[0].equalsIgnoreCase("timer")) {
|
||||
if (CommandUtils.isInvalidInteger(sender, args[1])) {
|
||||
if (pluginRef.getCommandTools().isInvalidInteger(sender, args[1])) {
|
||||
return true;
|
||||
}
|
||||
|
||||
int time = Math.abs(Integer.parseInt(args[1]));
|
||||
|
||||
ScoreboardManager.setRevertTimer(sender.getName(), time);
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Timer", time));
|
||||
pluginRef.getScoreboardManager().setRevertTimer(sender.getName(), time);
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.Timer", time));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -72,17 +76,17 @@ public class McscoreboardCommand implements TabExecutor {
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
return StringUtil.copyPartialMatches(args[0], FIRST_ARGS, new ArrayList<String>(FIRST_ARGS.size()));
|
||||
return StringUtil.copyPartialMatches(args[0], FIRST_ARGS, new ArrayList<>(FIRST_ARGS.size()));
|
||||
default:
|
||||
return ImmutableList.of();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean help(CommandSender sender) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Help.0"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Help.1"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Help.2"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Help.3"));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.Help.0"));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.Help.1"));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.Help.2"));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Scoreboard.Help.3"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
package com.gmail.nossr50.commands;
|
||||
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.util.commands.CommandUtils;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -13,11 +12,18 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ToggleCommand implements TabExecutor {
|
||||
|
||||
protected mcMMO pluginRef;
|
||||
|
||||
public ToggleCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
switch (args.length) {
|
||||
case 0:
|
||||
if (CommandUtils.noConsoleUsage(sender)) {
|
||||
if (pluginRef.getCommandTools().noConsoleUsage(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -26,11 +32,11 @@ public abstract class ToggleCommand implements TabExecutor {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!CommandUtils.hasPlayerDataKey(sender)) {
|
||||
if (!pluginRef.getCommandTools().hasPlayerDataKey(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
applyCommandAction(UserManager.getPlayer(sender.getName()));
|
||||
applyCommandAction(pluginRef.getUserManager().getPlayer(sender.getName()));
|
||||
return true;
|
||||
|
||||
case 1:
|
||||
@@ -39,16 +45,17 @@ public abstract class ToggleCommand implements TabExecutor {
|
||||
return true;
|
||||
}
|
||||
|
||||
String playerName = CommandUtils.getMatchedPlayerName(args[0]);
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(playerName);
|
||||
String playerName = pluginRef.getCommandTools().getMatchedPlayerName(args[0]);
|
||||
McMMOPlayer mcMMOPlayer = pluginRef.getUserManager().getPlayer(playerName);
|
||||
|
||||
if (!CommandUtils.checkPlayerExistence(sender, playerName, mcMMOPlayer)) {
|
||||
if (!pluginRef.getCommandTools().checkPlayerExistence(sender, playerName, mcMMOPlayer)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (CommandUtils.isOffline(sender, mcMMOPlayer.getPlayer())) {
|
||||
//TODO: Does it matter if they are offline?
|
||||
/*if (pluginRef.getCommandTools().isOffline(sender, mcMMOPlayer.getPlayer())) {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
|
||||
applyCommandAction(mcMMOPlayer);
|
||||
sendSuccessMessage(sender, playerName);
|
||||
@@ -63,15 +70,18 @@ public abstract class ToggleCommand implements TabExecutor {
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
|
||||
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size()));
|
||||
List<String> playerNames = pluginRef.getCommandTools().getOnlinePlayerNames(sender);
|
||||
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
|
||||
default:
|
||||
return ImmutableList.of();
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract boolean hasOtherPermission(CommandSender sender);
|
||||
|
||||
protected abstract boolean hasSelfPermission(CommandSender sender);
|
||||
|
||||
protected abstract void applyCommandAction(McMMOPlayer mcMMOPlayer);
|
||||
|
||||
protected abstract void sendSuccessMessage(CommandSender sender, String playerName);
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.gmail.nossr50.commands.admin;
|
||||
|
||||
import co.aikar.commands.BaseCommand;
|
||||
import co.aikar.commands.annotation.*;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import net.kyori.text.TextComponent;
|
||||
import net.kyori.text.adapter.bukkit.TextAdapter;
|
||||
import net.kyori.text.format.TextColor;
|
||||
import net.kyori.text.serializer.gson.GsonComponentSerializer;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandAlias("nbttools")
|
||||
@Description("Read or Modify values of NBT on an item in-hand")
|
||||
public class NBTToolsCommand extends BaseCommand {
|
||||
|
||||
public static final String STYLE_TEXT_1 = "//////////";
|
||||
@Dependency
|
||||
private mcMMO plugin;
|
||||
|
||||
@Default
|
||||
@CommandPermission("mcmmo.commands.nbttools")
|
||||
public void onCommand(Player player) {
|
||||
//TODO: Add some help messages
|
||||
player.sendMessage("hi");
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the NBT tags of an item in hand
|
||||
*/
|
||||
@Subcommand("tags show")
|
||||
public void onShowTags(Player player) {
|
||||
final TextComponent textComponent = TextComponent.builder()
|
||||
.content(plugin.getLocaleManager().getString("mcMMO.Template.Prefix"))
|
||||
.append("NBT Tools")
|
||||
.color(TextColor.GOLD)
|
||||
.append(" - ")
|
||||
.append("Showing NBT Tags (")
|
||||
.append(player.getInventory().getItemInMainHand().getType().getKey().toString())
|
||||
.color(TextColor.GREEN)
|
||||
.append(")")
|
||||
.color(TextColor.GOLD)
|
||||
.append(TextComponent.newline())
|
||||
.build();
|
||||
|
||||
String json = GsonComponentSerializer.INSTANCE.serialize(textComponent);
|
||||
TextAdapter.sendMessage(player, textComponent);
|
||||
|
||||
//Show NBT tags to player
|
||||
player.sendMessage(STYLE_TEXT_1 + " NBT TOOLS " + STYLE_TEXT_1);
|
||||
player.sendMessage("NBT Analysis: " + player.getInventory().getItemInMainHand().getType().getKey().toString());
|
||||
player.sendMessage(STYLE_TEXT_1 + STYLE_TEXT_1);
|
||||
plugin.getNbtManager().printNBT(player.getInventory().getItemInMainHand(), player);
|
||||
player.sendMessage(ChatColor.GRAY + "NBT Analysis completed!");
|
||||
}
|
||||
|
||||
@Subcommand("tags add")
|
||||
public void onAddTags(Player player) {
|
||||
|
||||
}
|
||||
|
||||
@Subcommand("tags remove")
|
||||
public void onRemoveTags(Player player) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.gmail.nossr50.commands.admin;
|
||||
|
||||
import co.aikar.commands.BaseCommand;
|
||||
import co.aikar.commands.annotation.CommandAlias;
|
||||
import co.aikar.commands.annotation.Default;
|
||||
import co.aikar.commands.annotation.Dependency;
|
||||
import co.aikar.commands.annotation.Description;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
||||
@CommandAlias("mmodebug")
|
||||
@Description("Puts the player into debug mode, which helps problem solve bugs in mcMMO.")
|
||||
public class PlayerDebugCommand extends BaseCommand {
|
||||
|
||||
@Dependency
|
||||
private mcMMO plugin;
|
||||
|
||||
@Default
|
||||
public void onCommand(CommandSender sender) {
|
||||
if(sender instanceof Player) {
|
||||
McMMOPlayer mcMMOPlayer = plugin.getUserManager().getPlayer((Player) sender);
|
||||
mcMMOPlayer.toggleDebugMode(); //Toggle debug mode
|
||||
plugin.getNotificationManager().sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getPlayer(), "Commands.Mmodebug.Toggle", String.valueOf(mcMMOPlayer.isDebugMode()));
|
||||
} else {
|
||||
//TODO: Localize
|
||||
sender.sendMessage("Players only");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.gmail.nossr50.commands.admin;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
/**
|
||||
* @author Mark Vainomaa
|
||||
*/
|
||||
public final class ReloadLocaleCommand implements CommandExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public ReloadLocaleCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (args.length == 0) {
|
||||
if (!pluginRef.getPermissionTools().reloadlocale(sender)) {
|
||||
if(command.getPermissionMessage() != null)
|
||||
sender.sendMessage(command.getPermissionMessage());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
pluginRef.getLocaleManager().reloadLocale();
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Locale.Reloaded"));
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,16 @@
|
||||
package com.gmail.nossr50.commands.chat;
|
||||
|
||||
import com.gmail.nossr50.datatypes.chat.ChatMode;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class AdminChatCommand extends ChatCommand {
|
||||
public AdminChatCommand() {
|
||||
super(ChatMode.ADMIN);
|
||||
public AdminChatCommand(mcMMO pluginRef) {
|
||||
super(ChatMode.ADMIN, pluginRef);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleChatSending(CommandSender sender, String[] args) {
|
||||
chatManager.handleChat(sender.getName(), getDisplayName(sender), buildChatMessage(args, 0));
|
||||
pluginRef.getChatManager().processAdminChat(sender.getName(), getDisplayName(sender), buildChatMessage(args, 0));
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,10 @@
|
||||
package com.gmail.nossr50.commands.chat;
|
||||
|
||||
import com.gmail.nossr50.chat.ChatManager;
|
||||
import com.gmail.nossr50.chat.ChatManagerFactory;
|
||||
import com.gmail.nossr50.config.Config;
|
||||
import com.gmail.nossr50.commands.CommandConstants;
|
||||
import com.gmail.nossr50.datatypes.chat.ChatMode;
|
||||
import com.gmail.nossr50.datatypes.party.PartyFeature;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.commands.CommandUtils;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -22,11 +17,11 @@ import java.util.List;
|
||||
|
||||
public abstract class ChatCommand implements TabExecutor {
|
||||
private ChatMode chatMode;
|
||||
protected ChatManager chatManager;
|
||||
protected mcMMO pluginRef;
|
||||
|
||||
public ChatCommand(ChatMode chatMode) {
|
||||
ChatCommand(ChatMode chatMode, mcMMO pluginRef) {
|
||||
this.chatMode = chatMode;
|
||||
this.chatManager = ChatManagerFactory.getChatManager(mcMMO.p, chatMode);
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -35,47 +30,46 @@ public abstract class ChatCommand implements TabExecutor {
|
||||
|
||||
switch (args.length) {
|
||||
case 0:
|
||||
if (CommandUtils.noConsoleUsage(sender)) {
|
||||
if (pluginRef.getCommandTools().noConsoleUsage(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!CommandUtils.hasPlayerDataKey(sender)) {
|
||||
if (!pluginRef.getCommandTools().hasPlayerDataKey(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
mcMMOPlayer = UserManager.getPlayer(sender.getName());
|
||||
mcMMOPlayer = pluginRef.getUserManager().getPlayer(sender.getName());
|
||||
|
||||
if (mcMMOPlayer.isChatEnabled(chatMode)) {
|
||||
disableChatMode(mcMMOPlayer, sender);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
enableChatMode(mcMMOPlayer, sender);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
case 1:
|
||||
if (CommandUtils.shouldEnableToggle(args[0])) {
|
||||
if (CommandUtils.noConsoleUsage(sender)) {
|
||||
if (pluginRef.getCommandTools().shouldEnableToggle(args[0])) {
|
||||
if (pluginRef.getCommandTools().noConsoleUsage(sender)) {
|
||||
return true;
|
||||
}
|
||||
if (!CommandUtils.hasPlayerDataKey(sender)) {
|
||||
if (!pluginRef.getCommandTools().hasPlayerDataKey(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
enableChatMode(UserManager.getPlayer(sender.getName()), sender);
|
||||
enableChatMode(pluginRef.getUserManager().getPlayer(sender.getName()), sender);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (CommandUtils.shouldDisableToggle(args[0])) {
|
||||
if (CommandUtils.noConsoleUsage(sender)) {
|
||||
if (pluginRef.getCommandTools().shouldDisableToggle(args[0])) {
|
||||
if (pluginRef.getCommandTools().noConsoleUsage(sender)) {
|
||||
return true;
|
||||
}
|
||||
if (!CommandUtils.hasPlayerDataKey(sender)) {
|
||||
if (!pluginRef.getCommandTools().hasPlayerDataKey(sender)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
disableChatMode(UserManager.getPlayer(sender.getName()), sender);
|
||||
disableChatMode(pluginRef.getUserManager().getPlayer(sender.getName()), sender);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -91,7 +85,7 @@ public abstract class ChatCommand implements TabExecutor {
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
return StringUtil.copyPartialMatches(args[0], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<String>(CommandUtils.TRUE_FALSE_OPTIONS.size()));
|
||||
return StringUtil.copyPartialMatches(args[0], CommandConstants.TRUE_FALSE_OPTIONS, new ArrayList<>(CommandConstants.TRUE_FALSE_OPTIONS.size()));
|
||||
default:
|
||||
return ImmutableList.of();
|
||||
}
|
||||
@@ -110,33 +104,56 @@ public abstract class ChatCommand implements TabExecutor {
|
||||
}
|
||||
|
||||
protected String getDisplayName(CommandSender sender) {
|
||||
return (sender instanceof Player) ? ((Player) sender).getDisplayName() : LocaleLoader.getString("Commands.Chat.Console");
|
||||
return (sender instanceof Player) ? ((Player) sender).getDisplayName() : pluginRef.getLocaleManager().getString("Commands.Chat.Console");
|
||||
}
|
||||
|
||||
protected abstract void handleChatSending(CommandSender sender, String[] args);
|
||||
|
||||
private void enableChatMode(McMMOPlayer mcMMOPlayer, CommandSender sender) {
|
||||
if (chatMode == ChatMode.PARTY && mcMMOPlayer.getParty() == null) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.None"));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Party.None"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (chatMode == ChatMode.PARTY && (mcMMOPlayer.getParty().getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.CHAT))) {
|
||||
sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.1"));
|
||||
if (chatMode == ChatMode.PARTY && (mcMMOPlayer.getParty().getLevel() < pluginRef.getPartyManager().getPartyFeatureUnlockLevel(PartyFeature.CHAT))) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Party.Feature.Disabled.1"));
|
||||
return;
|
||||
}
|
||||
|
||||
mcMMOPlayer.enableChat(chatMode);
|
||||
sender.sendMessage(chatMode.getEnabledMessage());
|
||||
sender.sendMessage(getChatModeEnabledMessage(chatMode, true));
|
||||
}
|
||||
|
||||
private void disableChatMode(McMMOPlayer mcMMOPlayer, CommandSender sender) {
|
||||
if (chatMode == ChatMode.PARTY && mcMMOPlayer.getParty() == null) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.None"));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Party.None"));
|
||||
return;
|
||||
}
|
||||
|
||||
mcMMOPlayer.disableChat(chatMode);
|
||||
sender.sendMessage(chatMode.getDisabledMessage());
|
||||
sender.sendMessage(getChatModeEnabledMessage(chatMode, false));
|
||||
}
|
||||
|
||||
private String getChatModeEnabledMessage(ChatMode chatMode, boolean enabled) {
|
||||
switch(chatMode) {
|
||||
case ADMIN:
|
||||
return getAdminMessage(enabled);
|
||||
default:
|
||||
return getPartyMessage(enabled);
|
||||
}
|
||||
}
|
||||
|
||||
private String getAdminMessage(boolean enabled) {
|
||||
if(enabled)
|
||||
return pluginRef.getLocaleManager().getString("Commands.AdminChat.On");
|
||||
else
|
||||
return pluginRef.getLocaleManager().getString("Commands.AdminChat.Off");
|
||||
}
|
||||
|
||||
private String getPartyMessage(boolean enabled) {
|
||||
if(enabled)
|
||||
return pluginRef.getLocaleManager().getString("Commands.Party.Chat.On");
|
||||
else
|
||||
return pluginRef.getLocaleManager().getString("Commands.Party.Chat.Off");
|
||||
}
|
||||
}
|
||||
@@ -2,29 +2,33 @@ package com.gmail.nossr50.commands.chat;
|
||||
|
||||
import com.gmail.nossr50.commands.ToggleCommand;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.util.Permissions;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class McChatSpy extends ToggleCommand {
|
||||
public class ChatSpyCommand extends ToggleCommand {
|
||||
|
||||
public ChatSpyCommand(mcMMO pluginRef) {
|
||||
super(pluginRef);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasOtherPermission(CommandSender sender) {
|
||||
return Permissions.adminChatSpyOthers(sender);
|
||||
return pluginRef.getPermissionTools().adminChatSpyOthers(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean hasSelfPermission(CommandSender sender) {
|
||||
return Permissions.adminChatSpy(sender);
|
||||
return pluginRef.getPermissionTools().adminChatSpy(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyCommandAction(McMMOPlayer mcMMOPlayer) {
|
||||
mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.AdminChatSpy." + (mcMMOPlayer.isPartyChatSpying() ? "Disabled" : "Enabled")));
|
||||
mcMMOPlayer.getPlayer().sendMessage(pluginRef.getLocaleManager().getString("Commands.AdminChatSpy." + (mcMMOPlayer.isPartyChatSpying() ? "Disabled" : "Enabled")));
|
||||
mcMMOPlayer.togglePartyChatSpying();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendSuccessMessage(CommandSender sender, String playerName) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.AdminChatSpy.Toggle", playerName));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.AdminChatSpy.Toggle", playerName));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.gmail.nossr50.commands.chat;
|
||||
|
||||
import com.gmail.nossr50.datatypes.chat.ChatMode;
|
||||
import com.gmail.nossr50.datatypes.party.Party;
|
||||
import com.gmail.nossr50.datatypes.party.PartyFeature;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PartyChatCommand extends ChatCommand {
|
||||
public PartyChatCommand(mcMMO pluginRef) {
|
||||
super(ChatMode.PARTY, pluginRef);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleChatSending(CommandSender sender, String[] args) {
|
||||
Party party;
|
||||
String message;
|
||||
|
||||
if (sender instanceof Player) {
|
||||
//Check if player profile is loaded
|
||||
if (pluginRef.getUserManager().getPlayer((Player) sender) == null)
|
||||
return;
|
||||
|
||||
party = pluginRef.getUserManager().getPlayer((Player) sender).getParty();
|
||||
|
||||
if (party == null) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.Party.None"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (party.getLevel() < pluginRef.getPartyManager().getPartyFeatureUnlockLevel(PartyFeature.CHAT)) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Party.Feature.Disabled.1"));
|
||||
return;
|
||||
}
|
||||
|
||||
message = buildChatMessage(args, 0);
|
||||
} else {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Party.Specify"));
|
||||
return;
|
||||
}
|
||||
|
||||
party = pluginRef.getPartyManager().getParty(args[0]);
|
||||
|
||||
if (party == null) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Party.InvalidName"));
|
||||
return;
|
||||
}
|
||||
|
||||
message = buildChatMessage(args, 1);
|
||||
}
|
||||
|
||||
pluginRef.getChatManager().processPartyChat(party, getDisplayName(sender), message);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.gmail.nossr50.commands.database;
|
||||
|
||||
import com.gmail.nossr50.database.DatabaseManager;
|
||||
import com.gmail.nossr50.datatypes.database.DatabaseType;
|
||||
import com.gmail.nossr50.datatypes.player.PlayerProfile;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.runnables.database.DatabaseConversionTask;
|
||||
import com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ConvertDatabaseCommand implements CommandExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public ConvertDatabaseCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
switch (args.length) {
|
||||
case 2:
|
||||
DatabaseType previousType = getDatabaseType(args[1]);
|
||||
DatabaseType newType = pluginRef.getDatabaseManager().getDatabaseType();
|
||||
|
||||
if (previousType == newType || (newType == DatabaseType.CUSTOM && pluginRef.getDatabaseManagerFactory().getCustomDatabaseManagerClass().getSimpleName().equalsIgnoreCase(args[1]))) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcconvert.Database.Same", newType.toString()));
|
||||
return true;
|
||||
}
|
||||
|
||||
DatabaseManager oldDatabase = pluginRef.getDatabaseManagerFactory().createDatabaseManager(previousType);
|
||||
|
||||
if (previousType == DatabaseType.CUSTOM) {
|
||||
Class<?> clazz;
|
||||
|
||||
try {
|
||||
clazz = Class.forName(args[1]);
|
||||
|
||||
if (!DatabaseManager.class.isAssignableFrom(clazz)) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcconvert.Database.InvalidType", args[1]));
|
||||
return true;
|
||||
}
|
||||
|
||||
oldDatabase = pluginRef.getDatabaseManagerFactory().createCustomDatabaseManager((Class<? extends DatabaseManager>) clazz);
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcconvert.Database.InvalidType", args[1]));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcconvert.Database.Start", previousType.toString(), newType.toString()));
|
||||
|
||||
pluginRef.getUserManager().saveAll();
|
||||
pluginRef.getUserManager().clearAll();
|
||||
|
||||
for (Player player : pluginRef.getServer().getOnlinePlayers()) {
|
||||
PlayerProfile profile = oldDatabase.loadPlayerProfile(player.getUniqueId());
|
||||
|
||||
if (profile.isLoaded()) {
|
||||
pluginRef.getDatabaseManager().saveUser(profile);
|
||||
}
|
||||
|
||||
new PlayerProfileLoadingTask(pluginRef, player).runTaskLaterAsynchronously(pluginRef, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading
|
||||
}
|
||||
|
||||
new DatabaseConversionTask(pluginRef, oldDatabase, sender, previousType.toString(), newType.toString()).runTaskAsynchronously(pluginRef);
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public DatabaseType getDatabaseType(String typeName) {
|
||||
for (DatabaseType type : DatabaseType.values()) {
|
||||
if (type.name().equalsIgnoreCase(typeName)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeName.equalsIgnoreCase("file")) {
|
||||
return DatabaseType.FLATFILE;
|
||||
} else if (typeName.equalsIgnoreCase("mysql")) {
|
||||
return DatabaseType.SQL;
|
||||
}
|
||||
|
||||
return DatabaseType.CUSTOM;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.gmail.nossr50.commands.database;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.util.StringUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class McremoveCommand implements TabExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public McremoveCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (args.length == 1) {
|
||||
String playerName = pluginRef.getCommandTools().getMatchedPlayerName(args[0]);
|
||||
|
||||
if (pluginRef.getUserManager().getOfflinePlayer(playerName) == null && pluginRef.getCommandTools().unloadedProfile(sender, pluginRef.getDatabaseManager().loadPlayerProfile(playerName, false))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
UUID uuid = null;
|
||||
|
||||
if (Bukkit.getPlayer(playerName) != null) {
|
||||
uuid = Bukkit.getPlayer(playerName).getUniqueId();
|
||||
}
|
||||
|
||||
if (pluginRef.getDatabaseManager().removeUser(playerName, uuid)) {
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcremove.Success", playerName));
|
||||
} else {
|
||||
sender.sendMessage(playerName + " could not be removed from the database."); // Pretty sure this should NEVER happen.
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
List<String> playerNames = pluginRef.getCommandTools().getOnlinePlayerNames(sender);
|
||||
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
|
||||
default:
|
||||
return ImmutableList.of();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.gmail.nossr50.commands.database;
|
||||
|
||||
import com.gmail.nossr50.config.Config;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.command.Command;
|
||||
@@ -10,18 +8,25 @@ import org.bukkit.command.TabExecutor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class McpurgeCommand implements TabExecutor {
|
||||
public class PurgeCommand implements TabExecutor {
|
||||
|
||||
private final mcMMO pluginRef;
|
||||
|
||||
public PurgeCommand(mcMMO pluginRef) {
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
switch (args.length) {
|
||||
case 0:
|
||||
mcMMO.getDatabaseManager().purgePowerlessUsers();
|
||||
pluginRef.getDatabaseManager().purgePowerlessUsers();
|
||||
|
||||
if (Config.getInstance().getOldUsersCutoff() != -1) {
|
||||
mcMMO.getDatabaseManager().purgeOldUsers();
|
||||
if (pluginRef.getDatabaseCleaningSettings().getOldUserCutoffMonths() != -1) {
|
||||
pluginRef.getDatabaseManager().purgeOldUsers();
|
||||
}
|
||||
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.mcpurge.Success"));
|
||||
sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcpurge.Success"));
|
||||
return true;
|
||||
|
||||
default:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user