1
0
mirror of https://github.com/mcMMO-Dev/mcMMO.git synced 2026-02-18 01:42:32 +01:00

Compare commits

..

1068 Commits

Author SHA1 Message Date
nossr50
db70d56493 Merge branch 'master' of github.com:mcMMO-Dev/mcmmo into configurable 2020-02-24 16:05:34 -08:00
nossr50
eff1ce102f Merge branch 'master' of github.com:mcMMO-Dev/mcmmo 2020-02-24 16:01:18 -08:00
nossr50
705b57a30b dev mode 2020-02-24 16:01:10 -08:00
Shane Freeder
d4ba9d7605 Reduce mojang profile API call limit (Fixes #4121) 2020-02-22 11:12:52 +00:00
nossr50
3b3396ce2c Merge branch 'master' of github.com:mcMMO-Dev/mcmmo into configurable 2020-02-20 17:43:58 -08:00
nossr50
4cd91350db 2.1.116 2020-02-20 17:35:33 -08:00
nossr50
b3bea7833f Merge me daddy 2020-02-20 16:22:46 -08:00
nossr50
b0c7e0368a merge master + singleton removal on ParticleEffectUtils 2020-02-20 16:15:38 -08:00
nossr50
4e895b7361 Some kyori/text stuff 2020-02-20 15:23:58 -08:00
nossr50
6168309ec9 2.1.115 2020-02-19 17:41:47 -08:00
nossr50
95c403a467 More tweaks to GT 2020-02-19 17:31:00 -08:00
nossr50
a598796c99 More tweaks to GT 2020-02-19 17:20:05 -08:00
nossr50
a333f36fd8 Fix sneak check on GT 2020-02-19 16:19:19 -08:00
nossr50
7c6d5c476d Green Thumb requires a hoe, sneak to break with a hoe 2020-02-19 16:14:21 -08:00
nossr50
e2073ff9f7 Immature crop replanting, green thumb tweaks, replant accidental break
protection
2020-02-19 15:58:53 -08:00
nossr50
8f26544188 Immature plants will be replanted if weilding a hoe 2020-02-19 13:51:10 -08:00
nossr50
4e21f1a200 tweak and fix salvage result chance 2020-02-19 13:27:21 -08:00
nossr50
ab6dbe306d Fix potential NPE for salvage 2020-02-19 11:38:48 -08:00
nossr50
19a4c0238f add sonatype 2020-02-17 19:34:10 -08:00
nossr50
c071471bdf update for text libs 2020-02-17 19:27:21 -08:00
nossr50
85550c5750 Add kashike's text lib to dependencies 2020-02-17 18:46:48 -08:00
nossr50
3c382a11ed Add showtags subcommand to nbttools 2020-02-17 18:30:09 -08:00
nossr50
f45c70b694 More work on ACF integration 2020-02-12 15:20:21 -08:00
Shane Freeder
38d64f207d Fix default permission for Critical Strikes 2020-02-12 02:06:49 +00:00
nossr50
2d342f8a3d Missing default tag 2020-02-11 15:44:52 -08:00
nossr50
3b276b59cf Merge branch 'nbt' of github.com:mcMMO-Dev/mcmmo into configurable 2020-02-10 13:20:05 -08:00
nossr50
4ff4def56a Optimize imports 2020-02-10 13:19:14 -08:00
nossr50
63de093ebb Remove debug on swing 2020-02-10 13:18:42 -08:00
nossr50
b34f0d62d6 Fixing shadow dependencies (I hope) 2020-02-10 13:13:29 -08:00
nossr50
a74f33c96d Latest changes 2020-02-09 16:06:28 -08:00
Shane Freeder
8e8024e3e1 update changelog 2020-02-09 22:50:28 +00:00
Shane Freeder
4f161812aa Use minimum level of salvagable properly 2020-02-09 22:47:20 +00:00
nossr50
24ba3b1a01 New command 'nbttools' also integrating ACF 2020-02-07 15:06:00 -08:00
nossr50
359e3e34ad Unused import 2020-02-07 13:28:17 -08:00
nossr50
ab0fc06dc2 Merge branch 'configurable' of github.com:mcMMO-Dev/mcmmo into nbt 2020-02-07 11:32:26 -08:00
Shane Freeder
11ca0d9ff1 Fix 1.13.x archery compat 2020-02-04 23:36:54 +00:00
Shane Freeder
4eef4a3e41 Fix CCE from spectral arrows (Fixes #4114) 2020-02-04 23:29:51 +00:00
Shane Freeder
816b64cb70 Track spectral arrows for combat 2020-01-28 16:37:02 +00:00
Shane Freeder
dceee5554d Fix CombatUtils NPE due to arrows from unloaded players 2020-01-28 16:33:30 +00:00
nossr50
e3edc9a18f Fix faulty WG logic 2020-01-27 20:38:52 -08:00
nossr50
aaffafb88b No more Standard or Retro, use cosmetic scale modifier setting instead 2020-01-27 20:13:36 -08:00
nossr50
2e5a12a72b Add new Cosmetic Level Scaling setting to the leveling config 2020-01-27 19:11:00 -08:00
nossr50
769a26a911 Merge branch 'master' of github.com:mcMMO-Dev/mcmmo into configurable 2020-01-27 19:03:24 -08:00
nossr50
8094be46c8 Dev mode 2020-01-27 19:01:08 -08:00
nossr50
2525ce9abe 2.1.114 2020-01-27 18:53:39 -08:00
nossr50
47bcd1223b Merge branch 'master' of github.com:mcMMO-Dev/mcmmo into configurable 2020-01-27 18:47:06 -08:00
nossr50
ea70c937f2 Fix rank for new versions of MySQL 2020-01-27 18:45:19 -08:00
nossr50
3eb160a794 Missed a few merges 2020-01-27 18:40:46 -08:00
nossr50
4b6e2c35b2 Merge branch 'master' of github.com:mcMMO-Dev/mcmmo into configurable 2020-01-27 18:36:32 -08:00
Shane Freeder
550a3df616 place SnowGolemExcavation exploit fix under the correct section 2020-01-28 00:12:50 +00:00
apachezy
657abb76a7 "EndermanEndermiteFarms" does not work. (#4111)
This error causes the "ExploitFix.EndermanEndermiteFarms" option in ExperienceConfig to not work.
2020-01-28 00:11:57 +00:00
Shane Freeder
0ffcff53b3 Further address locale issues (Targets #4083) 2020-01-26 17:48:14 +00:00
nossr50
33f4ac14b5 Add toggle for snow golem exploit to experience.yml - SnowGolemExcavation 2020-01-24 18:28:41 -08:00
nossr50
15d3119627 Berserk now breaks a soft block if it was used to activate it 2020-01-24 01:25:55 -08:00
nossr50
4fd94bfe29 2.1.113 2020-01-24 01:11:23 -08:00
nossr50
ac731258c7 Berserk now breaks glass and makes noise when doing so 2020-01-24 01:09:19 -08:00
nossr50
7b8c90d362 BlockCracker fix for infested stone bricks 2020-01-24 00:56:16 -08:00
nossr50
055391e908 Hacky fix for spigot bug 2020-01-24 00:43:18 -08:00
nossr50
cd6ce5a19d Correct changelog 2020-01-23 20:34:54 -08:00
nossr50
7441d2d8d6 Merge branch 'master' of github.com:mcMMO-Dev/mcmmo 2020-01-23 20:34:13 -08:00
nossr50
7b941baa1c Update changelog 2020-01-23 20:34:00 -08:00
Lane
0c1fa07079 Fixed typo in config for potato (#4096) 2020-01-17 07:23:28 +00:00
andrewkm
539cd7290e Retro mode documentation. (#4104)
This commit will save lives, believe me.
2020-01-17 07:21:31 +00:00
Shane Freeder
406429f4e3 Use ThreadedLocalRandom for RNG utils 2020-01-16 18:21:35 +00:00
Shane Freeder
40802e6bae Merge branch 'master' into configurable 2020-01-16 04:50:50 +00:00
t00thpick1
421a394f68 Another check for PTP exploit 2020-01-15 13:49:11 -08:00
t00thpick1
d4adb490e2 Fixing PTP exploit 2020-01-15 13:32:10 -08:00
nossr50
de5a8babc5 dev mode 2020-01-15 13:21:33 -08:00
nossr50
d892bfe83a 2.1.112 2020-01-14 20:10:33 -08:00
nossr50
ceaff0c862 SkillShot tweaks 2020-01-14 20:09:41 -08:00
nossr50
a118d8465e Sweet Berry Bush nerf 2020-01-14 19:57:38 -08:00
nossr50
7c156319be Skill Shot is now multiplicative instead of additive 2020-01-14 19:53:37 -08:00
nossr50
24b3bf1100 NPE fix for combat on unloaded profiles 2020-01-14 19:44:17 -08:00
nossr50
41bdca948a Update POM for 1.15.1 2020-01-13 19:28:28 -08:00
Shane Freeder
5441a7eb96 Add doTranslation script for easing repetative migrations 2020-01-11 16:56:39 +00:00
Shane Freeder
c45f2ce406 Merge branch 'master' into configurable 2020-01-11 16:51:38 +00:00
Shane Freeder
3cbbf1bee0 Move valid check higher up, no need to set additional metadata 2019-12-31 12:17:03 +00:00
Shane Freeder
8fd1af4cbf Don't cache mob infomation in the updater task 2019-12-31 12:16:12 +00:00
Shane Freeder
601297799f Enforce locale usage for enums to ensure correct casing (Fixes #4086) 2019-12-16 01:05:47 +00:00
nossr50
da98be88ad Update changelog 2019-12-10 21:51:41 -08:00
nossr50
1104f48ad5 2.1.111 2019-12-10 21:46:09 -08:00
nossr50
af50699de1 1.15 changes 2019-12-10 21:35:44 -08:00
Shane Freeder
1c71f1daf5 Update changelog 2019-11-13 19:56:07 +00:00
Shane Freeder
b7dd491c01 Prevent nesting of bleed damage
This commit prevents the nesting of damage event processing in general in
regards to bleed, health related stuff will need a further glance over down
the line, however; This will fix a major problematic area
2019-11-13 19:53:02 +00:00
nossr50
3ce0d7b972 dev mode 2019-11-10 19:51:47 -08:00
Robert Alan Chapton
9dcbccb010 Merge pull request #4078 from Ineusia/master
Missing Section Error Messages (Repair & Salvage Config)
2019-11-10 18:18:12 -08:00
Ineusia
c5cbab39b6 Update RepairConfig.java
Removed accidental whitespace
2019-11-10 11:56:32 -06:00
Ineusia
ca1906fbc5 Added error message for missing Salvageables section (rather than throw NPE) 2019-11-08 01:15:32 -06:00
Ineusia
7eab20ef56 Added error message for missing Repairables section (rather than throw NPE) 2019-11-08 01:11:29 -06:00
nossr50
25a9c75a5a Flesh out NBT types 2019-10-31 20:15:36 -07:00
nossr50
9911c406f8 Refactor some Type names and javadocs 2019-10-30 14:56:30 -07:00
nossr50
fdb900ec5d PlatformManager to manage the platform adapters 2019-10-30 14:38:02 -07:00
nossr50
bf94073935 Work on NBT adapters 2019-10-29 19:00:16 -07:00
nossr50
bfcc167862 Flesh out NBT types 2019-10-29 12:23:39 -07:00
nossr50
2a606b1ed1 Our own basic NBT types 2019-10-28 19:47:38 -07:00
nossr50
edc8701e35 Some JavaDocs 2019-10-22 16:13:53 -07:00
nossr50
188b0f9813 2.1.110 2019-10-18 15:48:53 -07:00
nossr50
e6c9cc6fdd Actually fixed BlockCracker + One more type of block can be cracked 2019-10-18 15:48:12 -07:00
nossr50
76ca7cc88f Additional dupe failsafes 2019-10-18 15:37:36 -07:00
nossr50
335d708848 Bump version 2019-10-18 15:24:46 -07:00
nossr50
b4179cb9a6 Fixed a dupe bug 2019-10-18 15:23:15 -07:00
Robert Alan Chapton
8bbf95e9da Merge pull request #4065 from Vyciokazz/master
locale_lt_LT.properties
2019-10-18 01:10:09 -07:00
nossr50
dc805825de 2.1.109 2019-10-17 20:16:01 -07:00
Robert Alan Chapton
871ca744d9 Merge pull request #4070 from Fabrimat/patch-4
Update locale_it.properties
2019-10-17 10:01:26 -07:00
Fabrizio La Rosa
1b091bdbd5 Update locale_it.properties
Fixed definetly /mctop and fixed special characters.
2019-10-17 13:37:00 +02:00
Robert Alan Chapton
31dc7bf03f Update build.gradle.kts 2019-10-09 12:46:04 -07:00
Shane Freeder
7be849da2a Fix compilation warnings 2019-10-06 01:16:27 +01:00
Shane Freeder
b572494c9c Remove the other deprecated PlayerProfile constructor 2019-10-06 01:07:01 +01:00
Shane Freeder
143714c9eb Remove deprecated PlayerProfile constructor 2019-10-06 01:03:07 +01:00
Robert Alan Chapton
110d9a633b Update FUNDING.yml 2019-10-02 13:26:34 -07:00
Robert Alan Chapton
584859318b Create FUNDING.yml 2019-10-02 13:06:56 -07:00
nossr50
4bff07bd2b Target the tag compound 2019-10-01 16:52:35 -07:00
nossr50
365938f351 ItemMeta needed? 2019-10-01 16:33:31 -07:00
nossr50
7f6bbadc1c Less error prone Kappa 2019-10-01 16:28:46 -07:00
nossr50
ec1fdea40d Progress??? 2019-10-01 16:23:59 -07:00
nossr50
8febe2d0bd Progress?? 2019-10-01 16:19:15 -07:00
nossr50
6e0f8f99fa Progress? 2019-10-01 15:44:58 -07:00
Robert A. C
1eb2c7b2d7 Merge pull request #4068 from ethernetcat/master
Update locale_ja_JP.properties
2019-10-01 14:37:21 -04:00
SNAKE
3310a12a95 Update locale_ja_JP.properties 2019-10-02 01:43:51 +09:00
nossr50
433f6d085d Time for a break 2019-09-30 17:53:57 -07:00
nossr50
0509f4f63e Starting work on reading NBT 2019-09-30 16:47:47 -07:00
nossr50
d2028321d4 Fixing SuperAbility strings 2019-09-30 16:11:06 -07:00
nossr50
4437f419cb Fix our TamingSummon serializer 2019-09-30 15:44:22 -07:00
nossr50
a58d875d74 Cleaning up more runtime errors during load 2019-09-30 15:28:51 -07:00
nossr50
154d0a8d50 Completely disable all Repair code pending rewrite
Repair code will be handled in a sep branch, this is being done so the
configurable branch can compile and be semi-playable for testing
important in development features.
2019-09-30 15:10:59 -07:00
nossr50
9e01a07542 Removing the hocon package 2019-09-30 14:34:38 -07:00
nossr50
f13364eb04 You missed some stuff catboy :) 2019-09-30 14:18:59 -07:00
nossr50
b763a56d75 Ignore bash scripts + Update Changelog 2019-09-30 13:59:38 -07:00
Shane Freeder
c7d2631a79 Add maven central repo 2019-09-30 21:37:33 +01:00
Shane Freeder
0cea66a084 Set version back to 2.2.0-SNAPSHOT 2019-09-30 21:26:30 +01:00
Shane Freeder
15913c8cf0 Drop maven pom 2019-09-30 21:24:05 +01:00
Shane Freeder
ba5c24fa3c Merge branch 'configurable' into gradlelize 2019-09-30 21:18:56 +01:00
Shane Freeder
f53d4bde67 invoke shadowJar 2019-09-30 21:08:02 +01:00
Shane Freeder
83373275f7 Move mcmmo into submodule
Goal will be to slowly move out the bukkit* dependencies from -core,
but, we have our starting point
2019-09-30 20:55:35 +01:00
nossr50
90897c9ae1 I'll probably end up rewriting these serializers 2019-09-28 17:58:02 -07:00
nossr50
7385679ec5 Initialize SkillTools before DST 2019-09-28 17:21:46 -07:00
nossr50
075ccbf4da Add missing ConfigSerializable annotation 2019-09-28 17:16:13 -07:00
nossr50
8a4318ee1f Load locale manager after config manager 2019-09-28 17:14:28 -07:00
nossr50
8e1f002808 WG Manager now lives in WG Utils class, fixing the runtime errors for WG
hooks in mcMMO during start up
2019-09-28 16:50:55 -07:00
Shane Freeder
3700128b21 move locale files into their intended resource folder 2019-09-28 10:02:46 +01:00
Shane Freeder
c44ca47bfe Setup resource filtering
Also mark gradlew as executable
2019-09-28 09:43:33 +01:00
Shane Freeder
6125b3fbd2 Don't spam incompatible WG error 2019-09-27 18:57:25 +01:00
Gabriel Harris-Rouquette
2ee102b44f Migrate the project to use Gradle. Reproduces a build almost exactly as the maven shade, only changed version numbers for comparison.
Signed-off-by: Gabriel Harris-Rouquette <gabizou@me.com>
2019-09-26 10:05:42 -07:00
Shane Freeder
c0bfdd34b7 And it compiles again! 2019-09-26 08:50:58 +01:00
Shane Freeder
fd7bcc4a32 Merge branch 'master' into configurable 2019-09-26 08:46:24 +01:00
nossr50
7f94f3833d 2.2 compiles again :) 2019-09-25 19:21:54 -07:00
nossr50
df6386ec2f NBT Manager will be a static abusing class for now 2019-09-25 18:29:30 -07:00
nossr50
f1de5484ec Minor tweaks 2019-09-25 17:47:51 -07:00
nossr50
20b9b0d0fe WIP - Add default entries to Repairables 2019-09-25 17:30:32 -07:00
nossr50
8a4b1bf307 We cutting corners boys 2019-09-25 16:57:15 -07:00
nossr50
46b881e730 Add serializer for TamingSummon 2019-09-25 16:21:32 -07:00
nossr50
d484ccc15e Minor tweaks 2019-09-25 15:54:44 -07:00
nossr50
e8f14eece0 Squashing some final compiler errors from static abuse removal 2019-09-25 14:31:48 -07:00
nossr50
8ad08298d0 Fixing more breaks from the static abuse removal 2019-09-25 14:21:11 -07:00
nossr50
297ce64a24 Fixing some more classes broken in the static abuse removal edits 2019-09-25 14:08:49 -07:00
nossr50
32d9eaab3d Fixing some Acrobatics related classes 2019-09-25 13:57:13 -07:00
nossr50
e1656423c1 Static Abuse Removal - Various Chunklet classes 2019-09-25 13:48:37 -07:00
nossr50
f52144fb3e Static Abuse Removal PerkUtils 2019-09-24 17:01:08 -07:00
nossr50
f7aaf25d93 Static Abuse Removal - HardcoreManager 2019-09-24 16:53:57 -07:00
nossr50
3552457790 Static Abuse Removal - Misc (now MiscTools) 2019-09-24 16:44:23 -07:00
nossr50
564b8ceb94 More dependency injection fixes in many file 2019-09-24 16:34:12 -07:00
nossr50
4b1cdbf493 Remove Static Abuse - SoundManager 2019-09-24 15:06:49 -07:00
nossr50
f0636ef47e More fixes for serializers 2019-09-24 14:42:13 -07:00
nossr50
68f6fea66a Fix the serialized config loader 2019-09-24 14:35:55 -07:00
nossr50
bde66ee4e1 Remove static abuse - Chunklet stuff 2019-09-24 14:30:33 -07:00
nossr50
ec4fbe678e Static Abuse Removal - Motd ( now MessageOfTheDayUtils ) 2019-09-24 14:01:26 -07:00
nossr50
2735cb1666 ZipLibrary static abuse removal 2019-09-23 20:03:16 -07:00
nossr50
1c2d1fa56f Fixing TamingManager 2019-09-23 19:53:19 -07:00
nossr50
14fa243b69 Refactor McMMOAbilityEvent(s) and fix TextComponentFactory 2019-09-23 19:42:47 -07:00
nossr50
815131a013 Treasure code removed pending rewrite 2019-09-23 19:20:09 -07:00
nossr50
3aead73d07 Refactoring McMMOPlayer 2019-09-23 16:26:34 -07:00
nossr50
b0803df7c5 Fixing a few more things 2019-09-23 16:18:36 -07:00
nossr50
50e955d07e Normalizing parameter names / Fixing PlayerProfile 2019-09-23 15:54:08 -07:00
nossr50
67a2841705 Simplify the SuperAbilityType ENUM 2019-09-23 14:44:40 -07:00
nossr50
d4826eebd8 Fix TrackedTamingEntity 2019-09-23 13:54:47 -07:00
nossr50
12e3a5d222 Fix Roll class 2019-09-23 13:51:32 -07:00
nossr50
57c30bac98 Fix Salvage, Swords and Unarmed command 2019-09-23 13:30:21 -07:00
nossr50
efbd9d52c3 Fix mmoinfo command 2019-09-23 13:20:42 -07:00
nossr50
ef25385786 Fix Axes command class 2019-09-23 13:01:11 -07:00
nossr50
b399c415dc Fix Acrobatics and Archery command classes 2019-09-23 12:58:28 -07:00
nossr50
810a29cb9d time to cut some corners :sick: 2019-09-23 12:40:00 -07:00
nossr50
9b6e6d7861 Add missing limit break settings 2019-09-23 12:34:00 -07:00
nossr50
4e2d68908e What a pain in the ass 2019-09-23 12:23:47 -07:00
Robert A. C
0d6b5e2530 Merge pull request #4064 from Fabrimat/patch-3
Update locale_it.properties
2019-09-23 10:46:29 -07:00
Fabrizio La Rosa
d679101cfb Update locale_it.properties
Spaces doesn't work in commands like "/mctop Tiro con l'arco"
2019-09-23 18:40:56 +02:00
Shane Freeder
122c8b0faa Added missing 1.14 blocks to ability/tool activation blacklists (Fixes #4050) 2019-09-22 04:30:24 +01:00
nossr50
1a3832f117 Correct structure of Archery skill config to have parity with others 2019-09-20 17:00:58 -07:00
nossr50
a6a544f472 Add limit break setting to Axes 2019-09-20 16:54:23 -07:00
nossr50
1d7bfc615f I should just rewrite this, instead I do a band-aid fix. 2019-09-20 16:42:34 -07:00
nossr50
2165d1448e Treasures are being rewritten completely 2019-09-20 15:56:25 -07:00
nossr50
396926d970 Removing dead symbols from ConfigManager 2019-09-20 15:54:38 -07:00
nossr50
7c0d1f4e0a Remove Static Abuse - WorldGuardUtils 2019-09-20 15:07:37 -07:00
nossr50
3aa896cfc9 Cleaner TamingSummon initialization/checks 2019-09-19 19:29:27 -07:00
nossr50
43d60b6a7d The pain begins 2019-09-19 19:04:31 -07:00
nossr50
08d1ad4f6c Dev mode 2019-09-19 18:45:09 -07:00
nossr50
8e19e1de15 2.1.108 2019-09-19 18:33:33 -07:00
nossr50
101b0671fe compatibility with FAWE ( :| ) 2019-09-19 18:31:18 -07:00
nossr50
e14c53d3ca Load after worlds 2019-09-19 18:02:23 -07:00
nossr50
28c0215a93 Catch more exceptions when doing WG reflection checks 2019-09-19 17:21:25 -07:00
nossr50
51a373db4f Fixing an Acrobatics exploit 2019-09-17 18:59:44 -07:00
Vyciokazz
1b889b8177 locale_lt_LT.properties
I translated in Lithuanian language manny required info for player and player skils, in time i update this translation.
2019-09-18 00:14:14 +03:00
nossr50
4a4124d09f 2.1.107 2019-09-14 16:08:20 -07:00
nossr50
ceaf3d46cb Update changelog 2019-09-14 16:06:14 -07:00
Robert A. C
260d0f9b4a Merge pull request #4051 from Shrek5InTheatres2019/master
McMMOPlayerProfileLoadEvent for the api
2019-09-14 16:05:26 -07:00
Shane Freeder
d3a7ff8e8c Correctly encode Russian translation file (#4058) 2019-09-14 23:58:46 +01:00
nossr50
9154b3f083 Fixes #4056 2019-09-14 15:44:58 -07:00
Shrek5InTheatres2019
c3548be380 deleting one character variables for good 2019-09-09 17:56:06 -07:00
Shrek5InTheatres2019
67bfb40dd5 fixing the things 2019-09-09 16:50:05 -07:00
Robert A. C
777a9d4185 Merge pull request #4052 from andris155/patch-1
Update locale_hu_HU.properties
2019-09-09 15:06:02 -06:00
András Marczinkó
fcd45f3bc1 Update locale_hu_HU.properties 2019-09-07 13:24:05 +02:00
Shrek5InTheatres2019
478d542981 removing this task that i once thought i needed and now realize that it is completely unnecessary 2019-09-06 16:46:38 -07:00
Shrek5InTheatres2019
c6c1c39a98 player profile load event from issue request #4045 2019-09-06 16:44:58 -07:00
nossr50
0d6165c0f4 dev mode 2019-09-06 15:37:54 -06:00
nossr50
f45983949a 2.1.106 2019-09-06 15:21:13 -06:00
nossr50
cca0524441 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO 2019-09-05 18:59:08 -06:00
nossr50
e84e9a7dc8 more blacklisted blocks 2019-09-05 18:58:50 -06:00
Robert A. C
a3600e11a9 Merge pull request #4048 from ethernetcat/master
Update locale_ja_JP.properties
2019-09-03 14:10:50 -06:00
Robert A. C
483579503a Merge pull request #4047 from 89009332/patch-10
Update locale_zh_CN.properties
2019-09-03 14:10:37 -06:00
SNAKE
d89ff8b238 Update locale_ja_JP.properties 2019-09-04 01:05:33 +09:00
89009332
582ff48b6f Update locale_zh_CN.properties 2019-09-03 19:50:02 +08:00
nossr50
d6e14ca431 Dev mode 2019-09-02 17:10:40 -06:00
nossr50
0961351ba2 2.1.105 2019-09-02 16:56:16 -06:00
Robert A. C
0b93a74652 Merge pull request #4041 from Shrek5InTheatres2019/master
Implementing request from issue #3918
2019-09-02 16:53:50 -06:00
Robert A. C
2bc2e5bb32 Merge pull request #4042 from QuantumToasted/master
Support jump strength stats for horses in Beast Lore
2019-09-02 15:18:10 -06:00
Daniel Jarski
98f8e049f3 Update to Beast Lore
Removed movement speed information for llamas, and added jump strength info for horses. Also added another locale string to display this information.
2019-08-30 23:14:39 -05:00
Shrek5InTheatres2019
e27d299132 removing unnecessary code 2019-08-29 23:16:26 -07:00
Shrek5InTheatres2019
7cf40d9dbf Implementing request from issue #3918 2019-08-29 18:51:48 -07:00
Daniel Jarski
d6eefac065 Merge pull request #1 from mcMMO-Dev/master
update
2019-08-29 19:53:42 -05:00
nossr50
3036c4ef80 Update locale 2019-08-28 14:29:14 -06:00
Robert A. C
a81468ccfc Merge pull request #4040 from Leomixer17/patch-1
Update locale_it.properties
2019-08-28 14:00:05 -06:00
Leomixer17
2a2a4479ca Update locale_it.properties 2019-08-27 17:17:34 +02:00
Leomixer17
289276d987 Update locale_it.properties 2019-08-27 17:06:20 +02:00
Leomixer17
f771b777b9 Update locale_it.properties 2019-08-27 04:38:35 +02:00
Robert A. C
e4d081f14b Merge pull request #4039 from Mixpa/master
simply if code
2019-08-26 14:34:36 -06:00
nossr50
bba35f8a4e Set player scoreboards to main server scoreboard upon entering a blacklisted world 2019-08-26 14:15:42 -06:00
Shane Freeder
8a4410cde8 Add a configuration to print jdbc exceptions
By default, mcmmo tries to pretty print errors, which is fine for many cases,
however; deeper nested errors can lack information, e.g. networking related issues,
while the pretty print is less intimitating and provides useful information to users,
surpressing the trace can prevent debugging these deeper issues, this config option serves
as a compromise between scaring users and having a means to find these deeper issues.
2019-08-26 05:29:29 +01:00
Shane Freeder
8951c1fd21 Back in dev 2019-08-26 05:28:21 +01:00
nossr50
1f7f71e8b5 2.1.104 2019-08-25 12:06:07 -06:00
Robert A. C
88b056c38f Merge pull request #4035 from andris155/patch-2
Update locale_hu_HU.properties
2019-08-25 12:03:34 -06:00
Robert A. C
d408782acf Merge pull request #4037 from ethernetcat/master
Update locale_ja_JP.properties
2019-08-25 12:03:24 -06:00
Mixpa
dfeab6b558 simply if code 2019-08-25 21:51:19 +08:00
SNAKE
f4fe25009d Convert to UTF16 2019-08-25 05:37:58 +09:00
SNAKE
905010aacd Update locale_ja_JP.properties 2019-08-25 04:01:17 +09:00
Shane Freeder
5ea2c493e8 Don't process mcmmo damage for invuln (#4028) 2019-08-24 17:40:46 +01:00
András Marczinkó
734c6f9c62 Update locale_hu_HU.properties 2019-08-24 10:23:10 +02:00
nossr50
44a3238c79 Dev mode 2019-08-23 21:14:23 -06:00
nossr50
139975958f 2.1.103 2019-08-23 21:00:50 -06:00
nossr50
52f9273fa8 Fishing drops are no longer random amounts 2019-08-23 20:51:32 -06:00
nossr50
77ffee2515 Fixed a bug where Tree Feller only rewarded 1 XP per block 2019-08-23 13:08:04 -06:00
nossr50
40118d570c Update notes 2019-08-23 12:19:52 -06:00
Robert A. C
8109ecb0e0 Merge pull request #4032 from Leomixer17/patch-1
Update locale_it.properties
2019-08-22 19:17:28 -06:00
Leomixer17
1147dff4c3 Update locale_it.properties 2019-08-23 03:02:15 +02:00
Leomixer17
c274b21af1 Update locale_it.properties 2019-08-23 02:51:20 +02:00
nossr50
2b72e8e69f Making Limit Break code clearer to understand 2019-08-22 14:54:47 -06:00
Robert A. C
ca511ca0f5 Merge pull request #4029 from QuantumToasted/master
Fix spelling error in Guilds.Salvage.Section.0
2019-08-22 14:20:56 -06:00
Daniel Jarski
cafacc05ab Fix spelling error in Guilds.Salvage.Section.0
"...use an gold block" -> "...use a gold block"
2019-08-22 13:05:54 -05:00
Shane Freeder
2974ed0993 correct item salvage level check 2019-08-22 00:38:29 +01:00
Robert A. C
861552bcd8 Merge pull request #4027 from QuantumToasted/master
Add additional info about horse speed in Beast Lore
2019-08-21 14:06:15 -07:00
nossr50
7095ddb611 Dev mode 2019-08-21 14:17:27 -06:00
Daniel Jarski
f70f2321f2 Add additional info about horse speed in Beast Lore
An additional string containing info about the horse's movement speed (in blocks per second) is now concat'd to the end of the Beast Lore info. Also, added a Combat.BeastLoreHorseSpeed locale string to service this info.
2019-08-21 13:10:43 -05:00
nossr50
4bb8e20b59 2.1.102 2019-08-21 04:57:02 -07:00
Shane Freeder
e8165321e1 Fix bleed tasks invoking ruptures
Also, made the mcmmo custom damage checks handle nested calls
2019-08-21 01:05:01 +01:00
nossr50
9428ea395d Partially finished merge 2019-08-20 11:24:47 -04:00
nossr50
4f6706b664 Test 2019-08-19 15:01:45 -07:00
Robert Chapton
665a31fc85 Players moving to a blacklisted world will have scoreboards removed 2019-08-19 14:49:21 -07:00
nossr50
1221069854 Dev mode 2019-08-11 23:58:13 -04:00
Robert A. C
054f8ffe0a Merge pull request #4021 from ethernetcat/master
Update locale_ja_JP.properties
2019-08-11 23:57:22 -04:00
Shane Freeder
dbecd289b2 Check configuration for fishing spam prevention (#4010) 2019-08-12 03:54:45 +01:00
Shane Freeder
bb7989449e Do not allow additions of timer tasks while iterating
Follow up on:
e4d980b135
Should help debug #4019 (and let us know when this actually occurs)
2019-08-12 02:31:51 +01:00
SNAKE0053
296c2e99f7 Update locale_ja_JP.properties 2019-08-12 02:35:23 +09:00
nossr50
4246f59d44 2.1.101 2019-08-09 17:18:26 -04:00
nossr50
87ff69d5c4 Add fix to changelog 2019-08-07 15:30:48 -07:00
Shane Freeder
84cb40521b Don't unmark herbalism blocks early (Fixes #4015) 2019-08-06 00:52:23 +01:00
nossr50
dda894dd9a dev mode 2019-08-05 10:46:26 -04:00
nossr50
7853efc63d 2.1.100 2019-08-05 10:43:05 -04:00
nossr50
11409c07c0 Fixed a bug with herbalism double drops 2019-08-05 10:39:33 -04:00
Robert A. C
7c17126ffb Merge pull request #4012 from myfbone/master
Another portion of Russian translation
2019-08-04 19:19:59 -07:00
myfbone
05e19b2122 Small correction of xp desc 2019-08-03 08:25:57 +03:00
myfbone
3b8fee5134 Some color corrections and added missing translation 2019-08-03 08:10:31 +03:00
Shane Freeder
4735b2ff8f Use the full GPLv3 license file 2019-08-02 16:02:07 +01:00
Shane Freeder
ac29c51d6e Fixed an NPE that may occur with random chances on a player without loaded data
Also correct changelog version
2019-08-02 03:34:26 +01:00
myfbone
ad9fa2dd9f Add some missing translations 2019-08-01 14:51:14 +03:00
Robert A. C
1e2f11f4f9 Merge pull request #4009 from myfbone/master
some russian translation corrections
2019-07-31 06:26:34 -07:00
myfbone
3a1f297618 new available version message now points to spigot instead of bukkit 2019-07-30 02:37:58 +03:00
myfbone
8af3f41f12 Стрельба (shooting) was renamed to Луки (bows) to reflect that this skill is about bows, but not about tridens and crossbows 2019-07-30 02:36:01 +03:00
Shane Freeder
e4d980b135 Fixed some concurrency concerns around BleedTasks 2019-07-29 17:41:57 +01:00
Shane Freeder
62ce98c8a5 validate that mcnotify isn't being ran by the console 2019-07-29 17:23:21 +01:00
myfbone
31a1fd4ece Fixed records translation in fishing extra and drop rate 2019-07-28 20:04:56 +03:00
nossr50
51e22f7904 Dev mode 2019-07-27 18:47:38 -07:00
Robert A. C
106fd84b7f Merge pull request #4006 from myfbone/master
Small corrections. Also shorted two word skill names to one word in order to be able running /skillname command
2019-07-26 20:13:59 -07:00
myfbone
5f99a6cf19 Merge branch 'master' of https://github.com/myfbone/mcMMO 2019-07-26 21:46:45 +03:00
myfbone
aba465e1a8 Small corrections. Alse shorted two word skill names to one word in order to be able running /skillname command 2019-07-26 21:46:24 +03:00
nossr50
73500aae90 2.1.99 2019-07-25 21:53:45 -07:00
nossr50
c3ec6a0b80 Debug message color tweaks 2019-07-25 21:50:17 -07:00
nossr50
509ca5ae7f 毎日... 2019-07-25 21:47:11 -07:00
nossr50
9b3091add4 Debug mode will now dump info about XP perks and how they are modifying
incoming XP gains
2019-07-25 21:43:19 -07:00
nossr50
b503cb5d80 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO 2019-07-25 21:26:31 -07:00
Robert A. C
a631388e5a Merge pull request #4003 from myfbone/master
Updated Russian translation up to the last version
2019-07-25 20:15:25 -07:00
myfbone
d64b869695 Updated Russian translation up to the last version 2019-07-26 06:09:24 +03:00
nossr50
8e1c1c9ef4 2.1.98 2019-07-24 20:11:54 -07:00
nossr50
952ee9556a Fixing Taming XP 2019-07-24 19:57:58 -07:00
nossr50
3155550931 Dev Mode again 2019-07-23 23:04:11 -07:00
nossr50
7242a171dd Merge branch 'master' of github.com:mcMMO-Dev/mcMMO 2019-07-22 20:12:35 -07:00
nossr50
0dac5f6b3f 2.1.97 2019-07-22 20:12:10 -07:00
Robert A. C
ff3bbad68c Merge pull request #3991 from andris155/patch-7
Update locale_hu_HU.properties
2019-07-22 20:09:53 -07:00
Robert A. C
5cc473fd96 Merge pull request #3996 from Yukiiro-Nite/close-files-after-world-unload
Close all the files after unload instead of before
2019-07-22 20:08:51 -07:00
Yukiiro-Nite
c03907b5a3 Close all the files after unload instead of before
- This ensures that all file handles are closed after a world is
unloaded, since the unloadChunk function calls saveChunk, which
opens files.
- Should resolve issue #3995
2019-07-21 01:01:42 -04:00
András Marczinkó
f9c257b73a Update locale_hu_HU.properties 2019-07-13 12:43:07 +02:00
nossr50
fdc8e4b81d Actually I should merge from master before working on this further 2019-07-12 10:54:03 -07:00
Robert A. C
308e3a4b1f Merge pull request #3988 from EvilOlaf/patch-6
Update locale_de.properties
2019-07-11 08:33:47 -07:00
Werner
99f8f34529 Update locale_de.properties 2019-07-11 16:27:14 +02:00
nossr50
5f7f6fc55a Fixed a NPE with taming. 2019-07-10 05:03:33 -07:00
nossr50
36932e397d 2.1.96 2019-07-08 07:57:07 -07:00
nossr50
732e29f0a5 Add missing 's' to Nether_Bricks 2019-07-08 03:53:00 -07:00
nossr50
cd0ed4b385 Dev mode 2019-07-07 06:13:33 -07:00
nossr50
03fd558e1b Add toggle to allow piston cheating 2019-07-07 06:11:15 -07:00
nossr50
6bc57f184a 2.1.95 2019-07-07 02:48:17 -07:00
nossr50
6c58e8a243 Limit Break Nerfs 2019-07-07 02:33:39 -07:00
nossr50
c818bf82b0 Cap how much XP can be given for Roll based on damage 2019-07-07 02:07:55 -07:00
nossr50
67a687ee40 Fix Ender Pearls not preventing XP gains in offhand 2019-07-07 01:55:23 -07:00
nossr50
ec44c99076 Many Herbalism bug fixes 2019-07-07 01:42:57 -07:00
nossr50
39a1a07a7d Add missing Chorus_Flower xp entry for Herbalism to experience.yml 2019-07-05 06:20:44 -07:00
nossr50
0b2d0fa332 Make the last bug fix compatible with 1.13 2019-07-05 06:14:54 -07:00
nossr50
304a942f51 Fixed a bug preventing wandering traders from granting XP 2019-07-05 05:51:41 -07:00
nossr50
250753c064 Remove Static Abuse - ItemUtils -> ItemTools 2019-07-04 08:07:02 -07:00
nossr50
05f289e6e6 Static Abuse Removal - BlockUtils -> BlockTools 2019-07-04 08:03:11 -07:00
nossr50
c5a7c88e0c Static Abuse Removal - RandomChanceUtil -> RandomChanceTools 2019-07-04 06:13:29 -07:00
nossr50
8f540796ff Static Abuse Removal - PlayerLevelUtils -> PlayerLevelTools 2019-07-04 06:03:44 -07:00
nossr50
376e156646 Static Abuse Removal - Commands, Boss Bars 2019-07-04 06:01:34 -07:00
nossr50
e001dea4d7 Updating various classes for the new SkillTools class 2019-07-04 05:42:15 -07:00
nossr50
381eba8ddc Static Abuse Removal - ComatUtils -> CombatTools 2019-07-04 05:22:52 -07:00
nossr50
084b5edf1f Crimes were commited today.
PrimarySkillType was a mess... SkillTools is not much better though.
2019-07-04 04:41:08 -07:00
nossr50
8b39224cbc Removing Static Abuse - WorldBlackList -> WorldBlackListManager 2019-07-03 22:31:59 -07:00
nossr50
bd0a673838 Removing Static Abuse - CommandRegistrationManager 2019-07-03 22:01:30 -07:00
nossr50
900d3bb7fd Wire up woodcutting behaviour, adding missing dependency injection in a
few places
2019-07-03 03:16:22 -07:00
nossr50
5af09581e0 Convert or Tweaked Mining/Salvage/Smelting for behaviours 2019-07-03 02:40:41 -07:00
nossr50
cf6d28a1bd Wire up Excavation, Fishing, and Herbalism behaviours 2019-07-03 02:29:51 -07:00
nossr50
148a4fd555 Wire up Acrobatics, Archery, and Axes behaviour managers 2019-07-03 02:24:04 -07:00
nossr50
b756938fb1 Skill Behaviour Managers 2019-07-03 02:14:56 -07:00
nossr50
cf46ec7498 Static Abuse Removal - Misc Tasks 2019-07-03 01:36:46 -07:00
nossr50
3ea739d111 Static Abuse Removal - Skill Tasks 2019-07-03 01:33:53 -07:00
nossr50
997fac0d17 Remove Static Abuse - Player / Party Tasks 2019-07-03 01:17:06 -07:00
nossr50
35f3c5d585 Remove Static Abuse - CWing (Needs more work) 2019-07-03 01:12:47 -07:00
nossr50
982e67af70 Remove Static Abuse - Database Tasks 2019-07-03 00:56:25 -07:00
nossr50
4da455b9d2 Remove Static Abuse - Command Tasks 2019-07-03 00:40:28 -07:00
nossr50
40a3de76fb Static Abuse Removal - More events purged of static abuse, moved some
unwanted alchemy code into the dumpster
2019-07-03 00:27:09 -07:00
nossr50
3bddfed72f Remove Static Abuse - Level Events 2019-07-03 00:22:32 -07:00
nossr50
bc183cd4f9 Static Abuse Removal - TextComponentFactory 2019-07-02 21:45:42 -07:00
nossr50
5ec59536c7 Remove Static Abuse - Scoreboards... (Yuck) 2019-07-02 21:12:50 -07:00
nossr50
e7b80cbce5 Dependency inject Party in ShareHandler 2019-07-02 20:10:06 -07:00
nossr50
4815bd7d11 Remove Static Abuse - ShareHandler -> Moved into Party 2019-07-02 20:07:52 -07:00
nossr50
1260f4e57a Remove Static Abuse - Database package 2019-07-02 19:41:32 -07:00
nossr50
67afdd7efb Static Abuse Removal - Command package done for now 2019-07-02 19:27:51 -07:00
nossr50
a9207b6f38 Renamed a lot of Command classes 2019-07-02 19:19:43 -07:00
nossr50
57b7050a2c Static Abuse Removal - CommandUtils -> CommandTools 2019-07-02 19:00:06 -07:00
nossr50
762c3bd04e Static Abuse Removal - Party Commands 2019-07-02 18:55:05 -07:00
nossr50
5fd93cea19 Static Abuse Removal - PTP Commands 2019-07-02 18:38:22 -07:00
nossr50
4c4732695b Static Abuse Cleanup - EventUtils -> EventManager 2019-07-02 18:32:28 -07:00
nossr50
fc9942fdc4 Static Abuse Cleanup - MobHealthBarUtils (now MobHealthBarManager) 2019-07-02 18:27:17 -07:00
nossr50
02c1ce749c 2.1.94 2019-07-02 17:29:57 -07:00
nossr50
1307169d8b Debug Stick is now replaced by /mmodebug 2019-07-02 17:29:33 -07:00
nossr50
8eeebf63e9 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO 2019-07-02 16:23:14 -07:00
nossr50
f7c0c9beb7 Add new mcMMO devs to readme.md and plugin.yml 2019-07-02 16:22:56 -07:00
Robert A. C
9ec4f64c70 Merge pull request #3978 from snake0053/master
Fix spelling
2019-07-02 15:09:15 -07:00
SNAKE0053
9667eaf045 Fix spelling 2019-07-03 06:51:06 +09:00
nossr50
51ade5113f Adjust changelog 2019-07-02 14:50:34 -07:00
nossr50
0af3c82612 Fixed a bug that could prevent a Tree from being removed by Tree Feller
if 2 or more players were using Tree Feller simultaneously
2019-07-02 14:46:55 -07:00
Robert A. C
4c13c0ec31 Merge pull request #3977 from andris155/patch-1
Update locale_hu_HU.properties
2019-07-02 14:46:33 -07:00
Robert A. C
8ca5a5cdec Merge pull request #3976 from snake0053/update_japanese_local
Update locale_ja_JP.properties
2019-07-02 14:46:22 -07:00
András Marczinkó
43819605fa Update locale_hu_HU.properties 2019-07-02 23:44:23 +02:00
SNAKE0053
6e00f7eaa2 Update locale_ja_JP.properties 2019-07-03 06:41:29 +09:00
nossr50
5d0ce407b7 2.1.93 2019-07-02 13:47:37 -07:00
nossr50
bf70a42f6a Fix breeding sending incorrect messages 2019-07-02 12:45:25 -07:00
nossr50
6e70258f9a 2.1.92 2019-07-02 01:44:01 -07:00
nossr50
1ae9e80d96 Prevent spam from breeding events 2019-07-02 01:31:49 -07:00
nossr50
444edb209c Remove summoned entities on server shutdown 2019-07-02 01:14:11 -07:00
nossr50
8a9c836065 More locale tweaks for COTW 2019-07-02 00:45:08 -07:00
nossr50
a19ddb46b6 Fixing some bugs, tweaking some strings for COTW 2019-07-02 00:32:38 -07:00
nossr50
53d6065185 Numerous COTW tweaks 2019-07-01 23:50:30 -07:00
nossr50
a66940b2b8 Unarmed no longer uses a serverwide cooldown for all players for bonus
damage
2019-06-30 12:19:45 -07:00
nossr50
225045b49f Bad Design Removal WIP Part 3 2019-06-30 12:10:54 -07:00
nossr50
87af2419a3 Part 2 of removing bad design patterns 2019-06-27 03:04:34 -07:00
nossr50
5ee862effd Temporarily comment out the API since we're about to break everything 2019-06-27 00:01:58 -07:00
nossr50
6504e06b5f Part 1 of removing some bad design patterns 2019-06-27 00:00:41 -07:00
nossr50
1c9e5ba542 Apply changes from 2.1.90 to 2.2 2019-06-26 22:47:03 -07:00
nossr50
bc0a59d6fb Apply changes from 2.1.89 to 2.2 2019-06-26 22:40:05 -07:00
nossr50
b069480244 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-26 21:55:41 -07:00
nossr50
9092e70544 Check the projectile type instead of main hand item 2019-06-25 22:44:14 -07:00
nossr50
517ca6568f Increase compatiblility with crazy enchants 2019-06-25 22:29:02 -07:00
nossr50
3368625dde 2.1.90 2019-06-25 18:21:14 -07:00
nossr50
2eb330f070 Mining XP values tweaked 2019-06-25 18:20:56 -07:00
nossr50
74a2485cff Multiple tweaks to how salvaged items travel towards a player 2019-06-25 18:02:16 -07:00
nossr50
03efd14ff4 2.1.89 2019-06-24 23:33:17 -07:00
nossr50
e71c95139d RetroMode is now the default mode. 2019-06-24 23:31:31 -07:00
nossr50
d9b84b0ab3 Check mining rank before processing double drops 2019-06-24 23:25:15 -07:00
nossr50
421d6cff3b Tweak archaeology numbers 2019-06-24 22:48:22 -07:00
nossr50
ccb86264d9 Update excavation command 2019-06-24 22:31:21 -07:00
nossr50
ee2a1b332e tweak Archaeology rewards 2019-06-24 22:30:20 -07:00
nossr50
2dda0bf27a Fix some WG logic + Archaeology stat display 2019-06-24 21:25:51 -07:00
nossr50
d347fa9512 Add information about Archaeology to /excavation and tweak some locale
strings related to excavation
2019-06-24 20:54:26 -07:00
nossr50
913323245c Archaeology now does something 2019-06-24 20:27:50 -07:00
nossr50
68ad507be3 Skills which used to unlock at level 5 now unlock at level 1 and some
tweaks to  ranks of other skills, and length scaling for super
abilities. Early game boost has also been modified.
2019-06-24 20:17:35 -07:00
nossr50
764b4c20f5 Tools with durability enchant will be damaged properly by super
abilities again (at a reduced rated)
2019-06-24 17:49:02 -07:00
nossr50
a135e08e12 Improved WG compatibility + Tree Feller will now damage unbreaking
enchant tools again
2019-06-24 17:32:05 -07:00
Robert A. C
214974e3a3 Merge pull request #3968 from snake0053/master
Update locale_ja_JP.properties
2019-06-23 12:01:53 -07:00
nossr50
3673d3fb7b Tree Feller bug fix 2019-06-23 12:00:49 -07:00
nossr50
f6ad530660 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO 2019-06-23 11:56:41 -07:00
SNAKE0053
046daa43fa Update locale_ja_JP.properties 2019-06-24 00:11:24 +09:00
Robert A. C
cc1c5239dc Merge pull request #3967 from EvilOlaf/patch-5
Update locale_de.properties
2019-06-23 01:26:09 -07:00
Werner
4fafb5731e Update locale_de.properties 2019-06-23 10:00:07 +02:00
nossr50
9ab4d59cca mcMMO will ignore damage triggers for events with a value of zero 2019-06-22 22:35:25 -07:00
nossr50
89e988660d Tweaks 2019-06-22 20:18:14 -07:00
nossr50
121f881d59 More work on the new repair system 2019-06-22 19:21:57 -07:00
nossr50
68864dae2d 2.1.87 2019-06-22 15:06:24 -07:00
nossr50
ae6d377abb Fixing a mistake when grabbing level cap 2019-06-22 15:03:51 -07:00
nossr50
b479d45f14 Level Cap bugfixes and tweaks 2019-06-22 14:48:16 -07:00
nossr50
e17afe31a5 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO 2019-06-22 13:05:58 -07:00
nossr50
5c31bdbd49 Lets generify some of this stuff 2019-06-22 13:05:28 -07:00
Robert A. C
5f115d5e4a Merge pull request #3966 from EvilOlaf/patch-1
Update locale_de.properties
2019-06-22 08:28:33 -07:00
Werner
1984131874 Update locale_de.properties 2019-06-22 13:33:03 +02:00
nossr50
d843108164 More work on the repair rewrite, fleshing out more serializers 2019-06-21 18:26:02 -07:00
nossr50
d782d64750 Simplify the design of Repairable 2019-06-21 15:10:43 -07:00
nossr50
0b4e2b48c9 Dev mode 2019-06-21 12:45:31 -07:00
nossr50
0050a73be8 NBT WIP 2019-06-21 10:46:27 -07:00
nossr50
099dfcb0e5 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-21 09:19:03 -07:00
nossr50
6aa53823f1 Small changelog edits 2019-06-21 09:10:53 -07:00
nossr50
7f567585e2 2.1.86 2019-06-21 08:12:00 -07:00
nossr50
c6d604bbbc Inspect, Salvage, and Locale fixes 2019-06-21 08:05:57 -07:00
nossr50
c7fadf02e6 Repair rewrite continues 2019-06-21 05:50:37 -07:00
nossr50
55609249ed Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-20 00:09:50 -07:00
nossr50
5698d8282c 2.1.85 2019-06-20 00:02:48 -07:00
nossr50
b41a30fa26 Repair rewrite continues 2019-06-19 23:28:11 -07:00
nossr50
458e198fdb More work on new repair datatypes 2019-06-18 23:08:14 -07:00
nossr50
1e338e6aec Flesh out RepairCost some more 2019-06-18 23:02:20 -07:00
nossr50
8f04b83954 RepairableBuilder, ItemStackSerializer WIP 2019-06-18 22:14:32 -07:00
nossr50
c0685bd1eb PermissionWrapper WIP 2019-06-18 18:07:06 -07:00
nossr50
29670cd66f Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-18 15:46:20 -07:00
nossr50
83636644b1 2.1.84 2019-06-18 15:28:56 -07:00
nossr50
fa6995b9fd You can no longer set fire to party members 2019-06-18 14:04:42 -07:00
nossr50
c83d38b5c2 Arrow Retrieval will no longer work with piercing enchant 2019-06-18 13:06:26 -07:00
nossr50
27d25ad321 Taming config WIP 2019-06-18 09:33:31 -07:00
Robert A. C
31e9abd8eb Merge pull request #3960 from andris155/patch-1
Update locale_hu_HU.properties
2019-06-18 09:00:34 -07:00
András Marczinkó
43b7abafe7 Update locale_hu_HU.properties 2019-06-18 16:29:06 +02:00
András Marczinkó
483134df10 Update locale_hu_HU.properties 2019-06-18 16:22:48 +02:00
nossr50
a6a734befe Repair rewrite pt 2 WIP 2019-06-17 16:36:37 -07:00
nossr50
18fd9bbf9b Repair rewrite pt 1 - WIP 2019-06-17 14:01:44 -07:00
nossr50
bca1298918 Wire up swords config 2019-06-17 11:03:40 -07:00
nossr50
87f0171969 Add swords config values 2019-06-17 10:54:53 -07:00
nossr50
8b2d1eb1d8 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-17 10:37:57 -07:00
nossr50
b612a599de 2.1.82 2019-06-17 08:26:21 -07:00
nossr50
2cecc91026 WG Hardcore penalty flag 'mcmmo-hardcore' 2019-06-17 08:25:37 -07:00
nossr50
38bc60ba86 Inspecting offline players no longer requires permissions + fixing
errors when using mcrank on an offline player
2019-06-17 08:19:15 -07:00
nossr50
4e4d798b1d Add proper error handling to file loading 2019-06-17 07:38:30 -07:00
nossr50
218b2a1a75 Double check that a Player is not an NPC when loading profiles 2019-06-17 07:00:39 -07:00
nossr50
12964a816d RepairWildcard wip 2019-06-16 12:41:14 -07:00
nossr50
3a89ba2139 Wire up salvage config options 2019-06-16 09:12:42 -07:00
nossr50
303b12b79f Add Smelting config options 2019-06-16 09:10:59 -07:00
nossr50
84704007ac Fix abilities wearing off instantly 2019-06-16 06:55:51 -07:00
nossr50
5a48b568ef Fix sounds being disabled by default 2019-06-16 06:46:25 -07:00
Robert A. C
73ce7e729c Merge pull request #3958 from 89009332/patch-9
Update locale_zh_CN.properties
2019-06-16 06:15:34 -07:00
89009332
d67cbe2861 Update locale_zh_CN.properties 2019-06-16 21:09:34 +08:00
nossr50
726369077e Fixing some issues with reloading 2019-06-16 05:57:52 -07:00
nossr50
2d1472b913 Fix Blast Mining and /mining command 2019-06-16 05:17:12 -07:00
nossr50
a1e3bb18a4 Fix double drops for mining 2019-06-16 04:59:34 -07:00
nossr50
43ca43cc48 Fix repair command 2019-06-16 01:42:30 -07:00
nossr50
278efc8e37 Fix repair logic 2019-06-16 01:13:39 -07:00
nossr50
3cde1400d1 Skill Ceiling removed 2019-06-16 00:17:21 -07:00
nossr50
3e01b413b4 Fix Salvage section in exploit conf 2019-06-16 00:07:34 -07:00
nossr50
8320b89b9f Add Herbalism subskill properties to config 2019-06-16 00:05:36 -07:00
nossr50
fb08bbb79d Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-15 23:51:36 -07:00
nossr50
c3f38cdabd A few typos in javdocs 2019-06-15 21:22:21 -07:00
nossr50
8f55a6277a Fix Repair enchant logic 2019-06-14 20:44:33 -07:00
nossr50
ef71661db1 2.1.81 2019-06-14 20:39:57 -07:00
nossr50
4f2e3f4399 Update axes to the new naming scheme 2019-06-14 15:51:26 -07:00
nossr50
dac447f381 Add missing skill properties to archery config 2019-06-14 15:46:13 -07:00
nossr50
8eba1dda1f Add Set<?> serializer + fix some errors 2019-06-14 13:49:01 -07:00
nossr50
ffa35d0179 Fix leveling + Fix Roll 2019-06-14 12:00:47 -07:00
nossr50
e7e28ec3cb Wire up unarmed config 2019-06-14 11:36:21 -07:00
nossr50
ab56464bc4 Add disarm config settings 2019-06-14 11:16:46 -07:00
nossr50
43600ef800 Add and wire up Herbalism AFK exploit toggle 2019-06-13 18:12:10 -07:00
nossr50
b4e612b15b Fix skill property registration method 2019-06-13 16:48:49 -07:00
nossr50
9e336c8a6f Reduce console spam 2019-06-13 16:19:59 -07:00
nossr50
29a712ca80 Fixing some mistakes with FQNs 2019-06-13 16:14:59 -07:00
nossr50
18a28a87b1 Fix mistake when registering fully qualified names 2019-06-13 15:57:44 -07:00
nossr50
307bf8b332 SoundSettingSerializer 2019-06-13 15:28:06 -07:00
nossr50
86a4b74eb3 Wire up sound config 2019-06-13 14:02:15 -07:00
nossr50
6f3b90d0dd Sound Config 2019-06-13 13:43:10 -07:00
nossr50
f0cce29d71 Rewrite NotificationManager to handle more flexible config options 2019-06-13 12:43:51 -07:00
nossr50
8abccfc9cd Rewrite of McMMOPlayerNotificationEvent 2019-06-13 11:28:10 -07:00
nossr50
adefda42df Dev mode 2019-06-12 14:43:13 -07:00
nossr50
9c04054017 2.1.80 2019-06-12 12:23:58 -07:00
nossr50
bdd0335d0b Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-12 11:07:54 -07:00
nossr50
7ab70ba597 2.1.79 2019-06-12 11:05:16 -07:00
nossr50
a97f1b208f NotificationManager now uses a getter in mcMMO 2019-06-12 10:54:05 -07:00
Robert A. C
0abccd105d Merge pull request #3953 from snake0053/master
Update locale_ja_JP.properties
2019-06-12 10:43:08 -07:00
nossr50
473e4586c9 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-12 10:40:04 -07:00
SNAKE0053
15b34e2056 Update locale_ja_JP.properties 2019-06-13 02:35:39 +09:00
nossr50
ae551a6bc1 2.1.78 2019-06-12 10:22:20 -07:00
nossr50
98f6eac50c Super Abilities don't do extra durability damage to tools with the
unbreaking enchantment
2019-06-12 10:18:43 -07:00
nossr50
b0f09c8e7b Add PlayerNotificationSerializer 2019-06-12 10:01:18 -07:00
nossr50
b03abcdee8 Add notification settings 2019-06-12 09:51:22 -07:00
nossr50
963d0a1897 Fixed a bug where shovels took too many materials to repair 2019-06-12 06:20:20 -07:00
nossr50
b29d87df8c Add ScrapCollector and wire up profile loading message toggle 2019-06-12 05:44:25 -07:00
nossr50
a654762f4d Yikes that was a lot of merge conflicts. 2019-06-12 05:26:45 -07:00
nossr50
705285878f Diagnosing myself with dyslexia 2019-06-11 03:57:28 -07:00
nossr50
e1dcb65888 Add back in the comment about min quantity 2019-06-11 03:52:45 -07:00
nossr50
9062dbcaae Add minimum quantity back to the repair config 2019-06-11 03:50:13 -07:00
nossr50
97c98969ff 2.1.76 2019-06-10 22:49:47 -07:00
nossr50
3fe47c939a You can not salvage without 1 rank in Scrap Collector now (unlocks at
level 2)
2019-06-10 22:46:03 -07:00
nossr50
46dee3c9b6 Numerous tweaks to salvage + fixing repair bugs 2019-06-10 22:37:20 -07:00
nossr50
8e67e2d158 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO 2019-06-10 16:33:30 -07:00
nossr50
f5f4182a90 2.1.75 2019-06-10 16:14:24 -07:00
Robert A. C
05087e569a Merge pull request #3950 from 89009332/patch-8
Update locale_zh_CN.properties
2019-06-09 20:16:38 -07:00
89009332
77bde61f4b Update locale_zh_CN.properties 2019-06-10 09:17:07 +08:00
nossr50
1297b45ef8 2.1.74 2019-06-09 07:08:26 -07:00
nossr50
83b55db4f8 2.1.73 2019-06-09 05:53:39 -07:00
nossr50
caec01e9fa 2.1.72 2019-06-09 05:12:56 -07:00
nossr50
2be67bae19 Fixed a NPE that could occur if Roll was disabled in coreskills.yml 2019-06-09 05:10:30 -07:00
nossr50
a677450d50 Fix NPE on server shutdown with no user data 2019-06-09 05:07:34 -07:00
nossr50
1d7919c050 2.1.71 2019-06-08 10:21:12 -07:00
nossr50
a132172507 You can no longer repair/salvage item stacks with more than one item 2019-06-08 10:20:22 -07:00
nossr50
549ef5734e Repair now always requires confirmation 2019-06-07 10:32:55 -07:00
nossr50
77fbf7f51e Salvage always asks for confirmation before breaking an item 2019-06-07 10:26:49 -07:00
nossr50
e37820d25e 2.1.70 2019-06-07 05:14:51 -07:00
nossr50
00bee60151 Prevent tool ready messages on shulker boxes 2019-06-07 05:13:37 -07:00
nossr50
c58a36e604 Most the functionality of SkillPropertiesManager is in place, but not
yet complete
2019-06-07 04:07:43 -07:00
nossr50
3c3bc338f2 Add serializer for MaxBonusLevel 2019-06-07 01:24:11 -07:00
nossr50
80beb92a06 Rewrote how Arrow Retrieval subskill is handled 2019-06-07 01:18:14 -07:00
nossr50
39b5719e12 Fill in Daze/Skill Shot for Archery config 2019-06-07 00:31:59 -07:00
nossr50
7679afd3e0 Add new DatabaseAPI 2019-06-06 23:15:18 -07:00
nossr50
0b0408ef98 2.1.70 dev mode 2019-06-06 21:42:12 -07:00
nossr50
5eb80f9277 Add skill shot config settings 2019-06-06 08:09:27 -07:00
nossr50
d879575d5f Wire up PVP/PVE settings 2019-06-06 06:07:05 -07:00
nossr50
51a57429b6 Add PVP/PVE settings to core skill config 2019-06-06 05:58:44 -07:00
nossr50
3e75026281 Wire up Hardcore/Vampirism 2019-06-06 05:31:13 -07:00
nossr50
c698bed05e Setup the hardcore/vampirism config 2019-06-06 05:25:37 -07:00
nossr50
237311a98f Fix spelling mistake + Wire up ChimaeraWing 2019-06-06 04:19:01 -07:00
nossr50
240ab0a0af Add Chimaera Wing to the items config 2019-06-06 03:38:09 -07:00
nossr50
582c9a6726 Correct the name of FastFoodService for rank config 2019-06-06 02:03:31 -07:00
nossr50
fc2077ffdb Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-06 01:58:52 -07:00
nossr50
58cde322f5 Add shoutout to changelog 2019-06-06 01:53:59 -07:00
nossr50
0638f4c437 2.1.69 2019-06-05 23:50:39 -07:00
nossr50
426b2d27e7 Fix NPE for new data tracker 2019-06-05 21:43:07 -07:00
nossr50
3ce3ac5350 mcMMO should no longer lose a few minutes of player data from shutting
down the server
2019-06-05 21:11:44 -07:00
nossr50
94df19bdb4 Converting some remaining float literals to double literals 2019-06-04 21:18:51 -07:00
nossr50
fc6c6ed2c4 Using doubles in most places again to avoid precision loss 2019-06-04 21:12:10 -07:00
nossr50
32fa6cee96 Fix some issues with the CustomXPPerkSerializer 2019-06-04 20:00:25 -07:00
nossr50
ffe27326e3 Move serializers 2019-06-04 19:33:29 -07:00
nossr50
97b70ec2a1 Correcting issues with deserializing SkillRankProperty 2019-06-04 19:03:20 -07:00
nossr50
e5592919b7 Add SkillRankProperty serializer 2019-06-04 14:58:17 -07:00
nossr50
b2dc322a2b Remove the old rank config file 2019-06-04 13:13:41 -07:00
nossr50
cf6a4c804a Rewrote how SkillRanks were pulled for the new config system 2019-06-04 13:11:45 -07:00
nossr50
b62bd0e620 Fill in Excavation rank config 2019-06-03 06:13:35 -07:00
nossr50
86a46babc1 Fill in Woodcutting rank config 2019-06-03 06:09:20 -07:00
nossr50
0bafcb659b Fill in Unarmed rank config 2019-06-03 05:56:03 -07:00
nossr50
9db152ebc8 Fill in Swords rank config 2019-06-03 05:52:53 -07:00
nossr50
ef44a43bd2 Fill in rank configs for Fishing 2019-06-03 05:48:15 -07:00
nossr50
bdc44f6ede Fill in rank config for Herbalism 2019-06-03 05:44:22 -07:00
nossr50
0e70c9ce75 Fill in Mining rank info 2019-06-03 05:42:42 -07:00
nossr50
2d1d2693ed Fill in Salvage rank information 2019-06-03 04:44:16 -07:00
nossr50
c33d6e62b7 Fill in Smelting rank information 2019-06-03 04:39:50 -07:00
nossr50
fd78ce278e Fill in Taming subskill rank information 2019-06-03 04:34:54 -07:00
nossr50
5ca027650e Add ConfigRanks WIP (axes, acrobatics, archery so far) 2019-06-03 04:17:23 -07:00
nossr50
e05078b280 Some misc cleanup, including removing some leftover April Fools stuff 2019-06-03 02:36:29 -07:00
nossr50
12c0b19776 Stringify ConfigExperienceWoodcutting 2019-06-03 02:01:28 -07:00
nossr50
f898525362 Stringify ConfigExperienceMining 2019-06-03 01:57:25 -07:00
nossr50
f53bd1ab03 Stringify ConfigExperienceHerbalism 2019-06-03 01:51:58 -07:00
nossr50
c82f60e08b Custom serializer for SkillCeiling 2019-06-03 01:09:06 -07:00
nossr50
8c1c17fa17 Custom Serializer for DamageProperty 2019-06-03 01:02:45 -07:00
nossr50
7a0ef0d4ed Making the compiler happy 2019-06-03 00:31:46 -07:00
nossr50
29876b4a20 SkillProperty no longer has an identifier for SubSkillType 2019-06-02 23:24:30 -07:00
nossr50
fc7455354f Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-02 23:04:52 -07:00
nossr50
4048ecc764 Fixing some imports 2019-06-02 22:42:03 -07:00
nossr50
f93a1aa151 2.1.68 - You can use food in the off hand with the diet abilities now. 2019-06-02 22:41:13 -07:00
nossr50
f6dc76719a Update changelog 2019-06-02 20:10:40 -07:00
Robert A. C
3035af97a4 Merge pull request #3940 from snake0053/master
Update locale_ja_JP.properties
2019-06-02 20:08:26 -07:00
SNAKE0053
3832ef3547 Update locale_ja_JP.properties 2019-06-02 05:50:26 +09:00
nossr50
8b4cea5dab Chimaera Wing should not be disabled by default 2019-06-01 12:26:11 -07:00
nossr50
4e7e2daf3c Fix issues in the ExperienceBarWrapper 2019-06-01 03:23:08 -07:00
nossr50
9dfbb14c39 Wire up the new Axes config 2019-06-01 03:16:30 -07:00
nossr50
cb9a4e5e5d Greater Impact settings & some refactoring for Axes config 2019-06-01 02:11:31 -07:00
nossr50
5af60e2fe1 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-06-01 01:58:21 -07:00
nossr50
9111590dc2 2.1.67 2019-05-31 19:46:14 -07:00
nossr50
9d47234918 Add private keyword 2019-05-31 18:52:28 -07:00
nossr50
299c989dd4 Add Axes Critical Strikes to new configs 2019-05-31 18:49:24 -07:00
nossr50
00131bb412 DamageProperty for skills 2019-05-31 18:42:23 -07:00
nossr50
186ad2cd59 Add MaximumProgressLevel interface and implementation 2019-05-31 01:45:57 -07:00
nossr50
19acf47f1e Add Armor Impact settings to Axes config 2019-05-30 18:59:50 -07:00
nossr50
01bffc6670 Fixing a typo of sorts 2019-05-30 16:17:02 -07:00
nossr50
1532791c3f Still some work to do, but now the convert XP command is less clunky 2019-05-30 16:12:32 -07:00
nossr50
84b9b255aa Parties now use the same formula for leveling as players 2019-05-30 15:52:13 -07:00
nossr50
61e46b6f10 Fixing some tab completion bugs for mcconvert 2019-05-30 15:48:29 -07:00
nossr50
8d10f8053f Removing the clunky previous formula file design 2019-05-30 15:33:57 -07:00
nossr50
b27d46f0cc Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-29 14:06:55 -07:00
nossr50
ff1bb0deed 2.1.66 2019-05-29 11:01:02 -07:00
nossr50
4795143fca Fixed a memory leak in MySQL that would cause errors if users were
removed from the DB
2019-05-29 10:14:04 -07:00
nossr50
54eca5b8ba Fixed a bug where RetroMode would always use Linear formula 2019-05-27 20:13:22 -07:00
nossr50
11f669f8f4 2.1.64 2019-05-27 19:27:35 -07:00
nossr50
1cda612e86 Fixed a bug that would spam other players when someone used an ability 2019-05-27 19:25:36 -07:00
nossr50
50e4e971d9 Standard level scaling now mirrors RetroMode in a true 1:10 parity 2019-05-27 17:37:54 -07:00
nossr50
33dd34931c Add missing credits to snake for ja_JP 2019-05-21 15:24:45 -07:00
nossr50
ce230bf403 2.1.63 2019-05-21 13:28:22 -07:00
Robert A. C
d7b2a98723 Merge pull request #3934 from andris155/patch-6
Update locale_hu_HU.properties
2019-05-21 13:27:34 -07:00
nossr50
bfb48ccea3 Buffed Impact durability damage and fixed it 2019-05-21 13:13:17 -07:00
András Marczinkó
8cd39301a3 Update locale_hu_HU.properties 2019-05-21 19:11:28 +02:00
nossr50
321684e5f6 Fixed a bug where creative players could gain XP if they qualified for
early game XP boosts
2019-05-19 17:34:51 -07:00
nossr50
b6d11e655d Minor changelog edit 2019-05-19 17:29:22 -07:00
nossr50
04fb4c30fe Fix compiler errors 2019-05-18 16:25:52 -07:00
nossr50
04b4a8e069 Remove redundant operations on LimitedSizeList 2019-05-18 15:49:14 -07:00
nossr50
1e1b803cce Wire up mining exploit toggle 2019-05-18 15:47:36 -07:00
nossr50
3d576eaa6a Add mining exploit settings + delegate methods to exploit config 2019-05-18 15:45:43 -07:00
nossr50
087df05e77 Add wandering trader xp 2019-05-18 15:38:39 -07:00
nossr50
05936b3c75 Add missing chiseled_* xp values 2019-05-18 15:35:02 -07:00
nossr50
c10853def9 Add missing mossy_* xp values 2019-05-18 15:33:39 -07:00
nossr50
08baa5993e Remove duplicate mossy cobblestone entry 2019-05-18 15:02:02 -07:00
nossr50
0396039d50 Add missing stone_brick_* xp values 2019-05-18 14:57:42 -07:00
nossr50
4aa81f1023 Add bamboo XP 2019-05-18 14:55:17 -07:00
nossr50
4bd3f8d6bd Add wither rose XP 2019-05-18 14:54:07 -07:00
nossr50
4627df1160 Add lilly of the valley xp 2019-05-18 14:53:32 -07:00
nossr50
a72c45766f Add cornflower xp 2019-05-18 14:52:56 -07:00
nossr50
4ced61e4fc Add sweet berry bush 2019-05-18 14:52:02 -07:00
nossr50
c237601af6 Lower guardian XP 2019-05-18 14:48:41 -07:00
nossr50
3a88193459 Add magma block 2019-05-18 14:47:38 -07:00
nossr50
65a234c6b3 Wire up admin notification toggle 2019-05-18 14:46:48 -07:00
nossr50
9fb9228869 Wire up events config 2019-05-18 14:08:33 -07:00
nossr50
ca8293bc35 Add new config for events 2019-05-18 13:57:23 -07:00
nossr50
9c5ec234d9 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-18 13:21:36 -07:00
Robert A. C
0b247dfae7 Merge pull request #3932 from snake0053/japanese-translate
Update locale_ja_JP.properties
2019-05-18 11:55:19 -07:00
SNAKE0053
d46fae2d1a Update locale_ja_JP.properties 2019-05-19 03:46:48 +09:00
nossr50
5d6690fc1a 2.1.62 2019-05-18 11:06:48 -07:00
nossr50
66425ba48d Add UUID to admin notifications 2019-05-18 10:59:52 -07:00
nossr50
3b3a36c64d Updating changelog 2019-05-18 10:51:21 -07:00
nossr50
2433ef5db7 Move admin notification toggle check 2019-05-18 10:47:37 -07:00
nossr50
663757352a Tweak xp rate admin notification messages 2019-05-18 10:45:50 -07:00
nossr50
1ced5d8ffc Confirmation messages for admin commands are now moved into the
convenience methods in NotificationManager
2019-05-18 10:40:06 -07:00
nossr50
04c6bd8750 Admin notifications convenience methods handled by NotificationManager 2019-05-18 10:09:45 -07:00
nossr50
b0dc41b4d9 Encapsulate admin notifications + add prefix 2019-05-18 08:12:32 -07:00
nossr50
92e6cedb14 This is why you don't program when you haven't slept in 20 hours 2019-05-18 08:04:55 -07:00
nossr50
447ce97f24 Send message to correct player 2019-05-18 08:03:39 -07:00
nossr50
2a471e409c Fix mistake in new admin notification locale 2019-05-18 08:02:16 -07:00
nossr50
08223bd320 Hotfix for repairing diamond, nerf guardian xp rate 2019-05-18 08:01:15 -07:00
nossr50
90480ca626 Add missing Magma_Block xp value 2019-05-17 15:45:07 -07:00
Robert A. C
56b031b99d Merge pull request #3930 from andris155/patch-1
Update locale_hu_HU.properties
2019-05-17 04:28:15 -07:00
nossr50
f3cbd450d0 Admin chat now sends useful information to admins/adminchat permissible
players
2019-05-17 04:27:27 -07:00
András Marczinkó
b176fd9bca Update locale_hu_HU.properties 2019-05-17 13:08:49 +02:00
nossr50
1c130aad42 2.1.61 - Some fixes + Exploit prevention 2019-05-16 13:30:43 -07:00
nossr50
734dfcdec5 Add toggle to disable event information on player join 2019-05-16 11:40:47 -07:00
nossr50
c8a32b8b38 Add toggle for event broadcasts - General.EventBroadcasts 2019-05-16 11:34:26 -07:00
nossr50
ed3ec3aa40 Add note about JP locale update 2019-05-16 11:29:45 -07:00
nossr50
88d8d0e6bb Fix the Double Drop string in the mining command 2019-05-16 11:20:51 -07:00
nossr50
b532b42db3 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-15 16:39:49 -07:00
Robert A. C
a763f7f025 Merge pull request #3928 from snake0053/translate
Update locale_ja_JP.properties
2019-05-15 09:52:54 -07:00
SNAKE0053
357e9cc08f Update locale_ja_JP.properties 2019-05-16 01:11:25 +09:00
nossr50
f0d6f7077b Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-14 23:01:05 -07:00
nossr50
2746bac86a 2.1.60 2019-05-14 16:16:24 -07:00
nossr50
95652efbaa Fix bonus drops on multi-block crops 2019-05-14 16:14:01 -07:00
nossr50
e70e5b04b5 Remove unecessary parameter 2019-05-14 15:29:15 -07:00
nossr50
34869914c4 Wolfs no longer kill themselves + tamed mob heart death message bug 2019-05-14 15:14:30 -07:00
nossr50
a53505ee0b Raised overfishing limit + improved tips 2019-05-13 08:53:22 -07:00
nossr50
f0e64d992b Remove unecessary check 2019-05-13 08:45:00 -07:00
nossr50
c61c55031d Core skill config is now converted 2019-05-13 08:36:37 -07:00
nossr50
39d10855d8 Temporarily add them back in :juice: 2019-05-13 08:21:24 -07:00
nossr50
aeb518f38c Don't make unecessary folders 2019-05-13 08:18:28 -07:00
nossr50
d3a719eb8d Experience configs are now fully converted 2019-05-13 05:32:49 -07:00
nossr50
ab4b4edb1a Wire up Repair XP values 2019-05-13 05:31:34 -07:00
nossr50
591c9e67a3 Wire up XP bar settings 2019-05-13 05:25:40 -07:00
nossr50
59c8d16374 XP Bar settings 2019-05-13 05:17:00 -07:00
nossr50
3a6d94e682 Cleanup 2019-05-13 04:00:08 -07:00
nossr50
2b0931314a Wire up smelting XP values 2019-05-13 03:57:23 -07:00
nossr50
d1298c0cd2 Further cleanup 2019-05-13 03:49:33 -07:00
nossr50
3f6a33dea6 Refactoring experience manager 2019-05-13 03:39:24 -07:00
nossr50
d8841c6ae7 Add + Wire up Combat XP Multipliers 2019-05-13 03:33:33 -07:00
nossr50
2e3f9b4a96 Add + Wire DiminishingReturn config values
Removed the experience multiplier from the xp conversion task, it just
seems like something very unecessary
2019-05-13 02:55:20 -07:00
nossr50
6425cd18b8 Temporarily hold party settings in DSM (will be removed later) 2019-05-13 02:05:44 -07:00
nossr50
86b98368bc Move API checks into their own class 2019-05-13 01:58:27 -07:00
nossr50
b5eb942682 Catch all exceptions not just NPE 2019-05-13 01:40:54 -07:00
nossr50
f7e6e3adb6 Add notes about the API changes to changelog 2019-05-13 01:37:32 -07:00
nossr50
ca4f15df46 More refactoring, made the changelog less noisy 2019-05-13 01:32:52 -07:00
nossr50
2c8b8658a3 Update classes to use DSM over CM 2019-05-13 01:27:48 -07:00
nossr50
80163c0d8f Cleaning up mcMMO.java 2019-05-13 01:15:53 -07:00
nossr50
72fc3efa78 DynamicSettingsManager - Handles platform specific datasets
Converts datasets from the config into ready to use platform specific
ones
Currently only supports Bukkit, that will change later
Expect API breakages if you hook into this class
2019-05-13 00:53:29 -07:00
nossr50
d614df65a7 unbox some floats 2019-05-12 03:48:25 -07:00
nossr50
3123f69aec Setup combat XP map - Use float in more places 2019-05-12 03:46:23 -07:00
nossr50
1c6b0363ce Step 1 of rewriting Alchemy - Removing all the old code 2019-05-12 00:53:15 -07:00
nossr50
ddb92af400 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-11 20:54:29 -07:00
nossr50
ed1831da78 Fixed the wrong locale string being used for Mining DD 2019-05-11 12:45:00 -07:00
nossr50
774ee65677 Fixing Alchemy Part 1 2019-05-10 17:23:02 -07:00
nossr50
61ae372694 Collection manager init now handles mapping values from collections 2019-05-10 12:30:59 -07:00
nossr50
945359b408 Add failsafes to repairables 2019-05-10 12:17:31 -07:00
nossr50
06bf814fcf Add failsafes to Salvageables 2019-05-10 12:16:26 -07:00
nossr50
cc1eae150a Fixed salvage deserializer swapping signature parameters 2019-05-10 11:30:50 -07:00
nossr50
7ad0a61c53 Fix casting, remove unused mod configs 2019-05-10 11:20:16 -07:00
nossr50
48a3621ac6 Avoid race conditions 2019-05-10 09:49:43 -07:00
nossr50
4ab688b302 Add custom serializer registration for CustomXPPerk 2019-05-08 12:14:09 -07:00
nossr50
8cfeaf34f3 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-08 12:10:31 -07:00
nossr50
ad550759e6 Fixed an incredibly rare and difficult to perform dupe bug 2019-05-08 10:24:34 -07:00
nossr50
ca7cf5cc58 Unlimited custom XP perks part 2 2019-05-08 09:50:19 -07:00
nossr50
40598a0e96 Unlimited custom xp perks Part 1 2019-05-08 06:44:19 -07:00
Robert A. C
984518d9f5 Merge pull request #3925 from SpiderRobotMan/patch-1
Fix small grammar mistake in README
2019-05-07 06:40:19 -07:00
Daniel Bethel
e0055eeead Fix small grammar mistake in README 2019-05-07 09:37:08 -04:00
nossr50
0331c98c9b Add and wire up skill specific xp formula multipliers 2019-05-07 00:18:50 -07:00
nossr50
c968b9f94a Add and wire up Early Game Boost settings 2019-05-07 00:09:31 -07:00
nossr50
8033bc577c Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-06 19:46:58 -07:00
nossr50
fe07261846 Very large update to the chinese language 2.1.56 2019-05-06 03:52:22 -07:00
Robert A. C
0cbb9b22a5 Merge pull request #3922 from 89009332/patch-7
Update locale_zh_CN.properties
2019-05-06 00:29:28 -07:00
89009332
31ccf2ca02 Update locale_zh_CN.properties 2019-05-06 15:25:41 +08:00
nossr50
08269cab5b Add back in the UUID upgrade classes just in case anyone from 2014 shows
up
2019-05-06 00:19:42 -07:00
nossr50
71a2ea2a2e Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-05 23:50:40 -07:00
nossr50
23b7e11dd1 Fixed bugs that could occur while updating old DBs to have UUIDs 2019-05-05 16:41:42 -07:00
nossr50
ecac8d00ee Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-04 05:31:44 -07:00
nossr50
588b6f3692 Fixed the furnace XP bug 2019-05-04 04:08:56 -07:00
nossr50
620f2fc4f8 Revert some state changes 2019-05-04 01:09:25 -07:00
nossr50
3e61dc6c5f Some cleanup to BonusDrops & reducing expensive state calls 2019-05-04 00:48:35 -07:00
nossr50
a919c45b09 Fixing Java naming conventions for constants in mcMMO.java also added
some Javadocs
2019-05-03 23:39:49 -07:00
nossr50
8a312da0f5 Merge 2.1.53 2019-05-03 23:31:08 -07:00
nossr50
cdf6e607de 2.1.53 - Fixed critical XP bug 2019-05-03 15:04:40 -07:00
nossr50
29835a3316 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-05-03 03:46:28 -07:00
nossr50
f61917e8fe 2.1.52 2019-05-03 01:08:29 -07:00
Robert A. C
661564df36 Merge pull request #3914 from snake0053/master
Update locale_ja_JP.properties
2019-05-01 14:39:56 -07:00
SNAKE0053
0a7c852d89 Update locale_ja_JP.properties 2019-05-01 16:57:58 +09:00
nossr50
c1379f7ac6 2.1.51 - mikroskeem patch 2019-04-30 17:26:14 -07:00
nossr50
22ef134c84 Update changelog 2019-04-30 17:20:23 -07:00
nossr50
9157a08a3b Stashing changes.. oh wait 2019-04-30 17:02:08 -07:00
nossr50
3997a44fce Merge 2.1.51 2019-04-30 17:01:45 -07:00
Robert A. C
7f95956a01 Merge pull request #3911 from mikroskeem/feature/locale-reload-command
Add a command to reload locale
2019-04-30 11:33:08 -07:00
Mark Vainomaa
40ea101bf6 Add a command to reload locale 2019-04-30 21:19:55 +03:00
Robert A. C
0c8b001d05 Merge pull request #3910 from mikroskeem/feature/locales-in-plugin-data-folder
Try to load locale from plugin data folder first
2019-04-30 10:33:28 -07:00
Mark Vainomaa
5dc9c3f732 Note user that locale is loaded from locales directory 2019-04-30 20:14:42 +03:00
Mark Vainomaa
ec574a6b63 Cache raw messages from resource bundles
Should speed things up a bit as next message lookups are from single
hashmap instead
2019-04-30 17:58:37 +03:00
Mark Vainomaa
1ca48051ad Dedicated directory for locales 2019-04-30 14:08:43 +03:00
nossr50
4d8e4d0e70 Wire up Mining/Excavation/Herbalism/Woodcutting XP values 2019-04-30 02:08:11 -07:00
nossr50
2efa64ae17 wire up taming XP 2019-04-30 01:46:59 -07:00
nossr50
e5441f2a96 Taming XP values are now converted to an enum mpa and managed by ExperienceMapManager 2019-04-30 01:39:06 -07:00
nossr50
06016f4ada Wire up special combat XP multipliers 2019-04-30 00:57:50 -07:00
nossr50
6932abc9d8 Create fully qualified name : integer maps from user configs, wiring up some global xp settings 2019-04-30 00:42:09 -07:00
Mark Vainomaa
0f2e1ea740 Fall back to locale loaded from JAR when filesystem one doesn't have requested key 2019-04-30 09:29:04 +03:00
Mark Vainomaa
c2d4aeaf85 Try to load locale from plugin data folder first 2019-04-30 09:29:04 +03:00
nossr50
faed690602 Add mcMMO reload command "/mcmmoreload" 2019-04-29 22:55:39 -07:00
nossr50
7b3f69aee6 Add config reload 2019-04-29 22:37:46 -07:00
nossr50
6e173c0d4e Add per-skill global multiplier default values 2019-04-29 22:09:38 -07:00
nossr50
d0259d73c5 Gloabl XP multiplier is now tracked by the ExperienceMapManager
Added method to grab original value to ExperienceMapManager
Moved skill xp values/mults into their own section
2019-04-29 21:59:01 -07:00
nossr50
7f64fe11b8 Put special combat xp multipliers in their own section 2019-04-29 21:34:29 -07:00
nossr50
a496b1fd71 Dev mode 2019-04-29 18:54:00 -07:00
nossr50
ff8baecb54 Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into configurable 2019-04-28 06:56:22 -07:00
nossr50
ac8042f5d8 update gitignore 2019-04-28 06:52:16 -07:00
nossr50
437bac1324 Revert "Add missing XP tables to 2.2"
This reverts commit d1085aa8f8.
2019-04-28 06:15:08 -07:00
nossr50
7c4481f099 removing unused classes 2019-04-28 06:08:15 -07:00
nossr50
d1085aa8f8 Add missing XP tables to 2.2 2019-04-28 06:05:39 -07:00
nossr50
986162803b Merge 2.1.50 2019-04-28 05:46:49 -07:00
nossr50
f7eb06e80b 2.1.50 2019-04-27 06:39:06 -07:00
nossr50
f4214e2031 changelog update 2019-04-27 00:00:52 -07:00
Robert A. C
fd8712ee61 Merge pull request #3905 from Zed-I/patch-6
Added some missing blocks to Herbalism/Mining
2019-04-26 23:50:43 -07:00
BuildTools
f904ac7019 Fixing 1.13.2 bamboo material errors 2019-04-26 23:26:00 -07:00
Robert A. C
3c08af363f Merge pull request #3904 from OverCrave/master
Minor German Locale Update
2019-04-26 14:17:54 -07:00
Robert A. C
8295355a5d Merge pull request #3906 from Zed-I/patch-7
Added bamboo to the non-2 high plant blocks
2019-04-26 14:17:36 -07:00
Zed-I
aee81f87f5 Added bamboo to the non-2 high plant blocks 2019-04-26 18:16:42 +02:00
Zed-I
43d08ec21d Added some missing blocks to Herbalism/Mining
Added some missing entries to herbalism mining and one to combat.
Reasoning for each xp below:

bamboo - 10 Cant grow nearly as tall as kelp
cornflower - 150 same as the other 1 high tall flowers (excluding poppy, dandelion and allium)
lily_of_the_valley - 150 same as the other 1 high tall flowers (excluding poppy, dandelion and allium)
wither_rose - 500. Quite hard to harvest. You need a wither to kill a mob and have the block not get destroyed by the wither blast. If the block where to get destroyed the flower just drops instead and you dont get any xp.

The whole stone brick family get the same xp as nether brick, 50
stone_bricks
cracked_stone_bricks
mossy_stone_bricks
chiseled_stone_bricks

The rest of the prismarine family continue with the same xp as their main block, 70
prismarine_bricks
dark_prismarine
sea_lantern

wandering_trader  - 1.0 same as normal villagers
2019-04-26 18:08:12 +02:00
OverCrave
15e3ad8876 add missing translations 2019-04-26 17:58:23 +02:00
OverCrave
a583f557d7 remove unused translations 2019-04-26 17:49:35 +02:00
nossr50
0949931a61 2.1.49 2019-04-25 18:56:49 -07:00
nossr50
8efee39f7e Add sweet berrys to Herbalism XP tables (update configs) 2019-04-25 18:54:41 -07:00
Robert A. C
307b807b38 Merge pull request #3788 from LogGits/patch-5
Herbalism compatibility with PlayerAnimationEvent
2019-04-25 18:50:27 -07:00
nossr50
be8a2a4b07 Fixes #3902 - NPE in Inventory Listener 2019-04-25 18:49:18 -07:00
nossr50
30df57fa35 Fix async tool lower 2019-04-25 18:46:49 -07:00
nossr50
467025888c Fixed #3858 - Falling blocks in water not getting tracked 2019-04-25 18:28:24 -07:00
nossr50
02a69cbb05 Update code style 2019-04-24 22:52:53 -07:00
nossr50
dc758a6dfc Wire up XP formula settings 2019-04-24 22:44:24 -07:00
nossr50
989537366a Merge branch 'master' of https://github.com/mcMMO-dev/mcmmo into configurable 2019-04-24 22:14:02 -07:00
nossr50
21ecf959ea updating pom 2019-04-24 22:12:49 -07:00
nossr50
9fcedcad76 Add linear/exponential formula config options to defaults 2019-04-24 22:11:11 -07:00
nossr50
9d9b5464c3 fixing some serializer errors 2019-04-24 21:38:32 -07:00
nossr50
5fc416a457 Merge branch 'master' of https://github.com/mcMMO-dev/mcmmo into configurable 2019-04-24 21:12:07 -07:00
nossr50
d1401d0cba change targetted API 2019-04-24 21:11:27 -07:00
nossr50
63e905db6c use a custom collection of serializers instead of the default list 2019-04-24 21:01:33 -07:00
nossr50
e8ea502f77 Add delegates to player level conf and wire up xp formula setting 2019-04-24 19:46:06 -07:00
nossr50
ba8b73ad4d add some missing delegates to xp config 2019-04-24 19:36:46 -07:00
nossr50
df2a52984e add combat default xp values 2019-04-24 19:30:15 -07:00
nossr50
b8ad722e9e Taming default XP values + updated acrobatics XP values 2019-04-24 18:58:29 -07:00
nossr50
7928ababf6 add smelting default xp values 2019-04-24 18:51:52 -07:00
nossr50
0a63e6674a merge prs 2019-04-24 18:24:29 -07:00
Robert A. C
b5930fc35d Merge pull request #3897 from Zed-I/patch-4
Added excavation treasure to coarse dirt
2019-04-24 18:23:29 -07:00
Robert A. C
9a74ab77f4 Merge pull request #3900 from Leomixer17/patch-1
Update locale_it.properties
2019-04-24 18:22:45 -07:00
nossr50
7f233b8e77 Tweaking some merge mistakes / bugs 2019-04-24 17:19:04 -07:00
nossr50
17c193f984 Merge branch 'configurable' of https://github.com/mcMMO-dev/mcmmo into configurable 2019-04-24 17:17:26 -07:00
nossr50
176b5db83e 2.1.48 2019-04-24 17:17:14 -07:00
nossr50
18d698aad2 2.1.48 2019-04-24 16:40:28 -07:00
Leomixer17
3329a6c49e Update locale_it.properties 2019-04-24 23:09:03 +02:00
nossr50
c07a29ba86 mcMMO should work on both 1.13 and 1.14 now 2019-04-23 08:20:00 -07:00
nossr50
b36c4b56c3 first 5 levels in all skills are now much easier to level 2019-04-23 04:21:25 -07:00
nossr50
cee0025147 Bonus XP for early combat levels 2019-04-23 03:52:48 -07:00
nossr50
372ad1fac3 Experience settings for 114 are now under Experience_114 in experience.yml 2019-04-23 03:37:43 -07:00
nossr50
09cba965d3 Switch to GSON since mojang lib does not exist in 1.14 2019-04-23 02:12:22 -07:00
nossr50
d862f7f779 Tool lower task sync 2019-04-23 01:13:21 -07:00
nossr50
0adaa0ba66 PlayerNotification now marked async 2019-04-23 01:10:09 -07:00
nossr50
432a4aa330 1.14 is required for this version of mcMMO 2019-04-23 00:54:49 -07:00
nossr50
1c490cd463 1.14 Compatibility (this build won't run on 1.13 anymore) 2019-04-22 23:54:02 -07:00
Zed-I
570ab49e55 Added excavation treasure to coarse dirt
Added coarse dirt to all drops that dirt can drop.
Also added grass block to the quartz drop since there is no reason not to.
2019-04-20 16:35:01 +02:00
Robert A. C
9b08f9bc44 Merge pull request #3884 from jstnf/acro-fix
Check if a player has Absorption when calculating Acrobatics XP gain
2019-04-17 15:04:28 -07:00
jstnf
3973f9ec43 Check if a player has Absorption when calculating Acrobatics XP gain 2019-04-17 13:51:42 -07:00
Robert A. C
57bbde552a Merge pull request #3881 from jstnf/configurable
Removed more Kraken references - configurable branch
2019-04-16 11:19:01 -07:00
nossr50
30bc73be7d Repair no longer consumes items with item lore + Fixing logic errors in repair. 2019-04-16 11:17:56 -07:00
Justin
ae35da8e02 Arcane bypass readded 2019-04-16 11:07:46 -07:00
jstnf
3c6b694fb8 Removed more Kraken references - configurable branch 2019-04-16 10:03:37 -07:00
nossr50
bbd43e156a Fixing some mistakes in default values for Repair 2019-04-15 20:14:29 -07:00
nossr50
a9cb28a8f2 Default Repair XP config values 2019-04-15 19:04:20 -07:00
nossr50
3e2f2cd000 Setup default Mining XP config values 2019-04-15 18:44:33 -07:00
nossr50
c69a9fc299 fixing another compile error 2019-04-15 15:51:29 -07:00
nossr50
f09007b60c temporary fix to compile error 2019-04-15 15:49:35 -07:00
nossr50
6e62930b6a Wire up Dodge XP config setting 2019-04-15 15:48:39 -07:00
nossr50
28bf67f154 Add default Herbalism XP values to config, added missing WALL_FAN and DEAD_WALL_FAN blocks 2019-04-15 15:40:41 -07:00
nossr50
5d7d06831b Add default Woodcutting XP values to config, added missing stripped wood values 2019-04-15 12:29:15 -07:00
nossr50
e23aec7294 Add default Excavation XP values to config 2019-04-15 11:59:42 -07:00
nossr50
f90205f1ae Merge branch 'master' of https://github.com/mcMMO-dev/mcmmo into configurable 2019-04-15 10:43:26 -07:00
nossr50
7e039321e1 Merge 2.1.44 2019-04-15 10:40:57 -07:00
nossr50
7cf3b4e521 Wire up inspect command settings 2019-04-11 08:05:15 -07:00
nossr50
7e047aed59 Inspect Command Config 2019-04-11 07:39:59 -07:00
nossr50
86f62fba0b Wire up admin chat settings 2019-04-11 07:11:25 -07:00
nossr50
b64b8d0f8f Admin Chat config settings 2019-04-11 07:09:58 -07:00
nossr50
1fe4fef75a Merge master 2.1.40 2019-04-11 04:43:59 -07:00
nossr50
de3e2b79f7 add inner peace to permissions 2019-04-10 06:00:27 -07:00
nossr50
21e1d54ad5 Inner Peace added to /fishing 2019-04-10 05:54:19 -07:00
nossr50
9c1f38ce6d Inner Peace locale strings 2019-04-10 05:46:18 -07:00
nossr50
78aeb0679b new fishing skill Inner Peace 2019-04-10 05:29:35 -07:00
nossr50
c41a650415 Wiring up Fishing config values 2019-04-10 04:56:59 -07:00
nossr50
856e6f0447 Fishing now actually grants XP for caught fish (values in the config did nothing before... lol ) 2019-04-10 04:35:14 -07:00
nossr50
1f734582d4 Add delegates to exploit config 2019-04-10 04:34:27 -07:00
nossr50
75bb3f181d Fishing now always gives fish in addition to treasure (configurable)
Fixing salvage oopsies
2019-04-10 04:06:06 -07:00
nossr50
2170c6de24 Setup Fishing XP Methods 2019-04-10 03:32:49 -07:00
nossr50
e156d6d5ef Wire up Alchemy XP config values 2019-04-10 03:01:14 -07:00
nossr50
fb6e5e41ad Wire up Acrobatics XP config + PVP XP 2019-04-10 02:25:47 -07:00
nossr50
8ddbb3aa91 Setup Acrobatics/Alchemy XP methods 2019-04-10 02:03:01 -07:00
nossr50
ba180ebae3 xp config pt 4 2019-04-09 20:31:26 -07:00
nossr50
aecc90fa33 Correct Alchemy XP values in config defaults 2019-04-09 20:14:42 -07:00
nossr50
4394ac7049 xp config pt 3 + example fully qualified name map serializer 2019-04-09 20:12:52 -07:00
nossr50
a2279a58a5 xp config pt 2 2019-04-09 18:02:07 -07:00
nossr50
2ef10afce3 Merge branch 'master' of https://github.com/mcMMO-dev/mcmmo into configurable
# Conflicts:
#	Changelog.txt
#	pom.xml
#	src/main/java/com/gmail/nossr50/skills/salvage/SalvageManager.java
2019-04-09 17:49:56 -07:00
nossr50
4433ea7118 hocon exp config pt 1 2019-04-09 17:48:51 -07:00
nossr50
5facd8d412 Merge branch 'master' of https://github.com/mcMMO-dev/mcmmo into configurable
# Conflicts:
#	Changelog.txt
#	pom.xml
#	src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java
2019-04-09 14:38:49 -07:00
nossr50
b63280a2aa SkillProperty pt 1 2019-04-08 05:04:12 -07:00
nossr50
8c164749e2 Wire up salvageable serializer 2019-04-08 01:35:25 -07:00
nossr50
3806dcbd5d Salvageable serializer 2019-04-08 01:34:36 -07:00
nossr50
b67bc45e9a Finished default salvageables list for config 2019-04-08 01:04:13 -07:00
nossr50
737b95d538 Merge branch 'master' of https://github.com/mcMMO-dev/mcmmo into configurable 2019-04-07 18:31:59 -07:00
nossr50
ee90780d7b Multiple items can be specified as a detonator 2019-04-06 06:28:56 -07:00
nossr50
abda53641f Merging 2019-04-06 06:10:52 -07:00
nossr50
77eba76e13 This class is an abomination 2019-04-06 06:09:33 -07:00
nossr50
81d648f94d setup typed references to skill configs 2019-04-04 23:46:48 -07:00
nossr50
42a7673ad7 Init and register skill configs to a map to make traversing the root node for a specific skill given the same structure easier 2019-04-04 22:47:40 -07:00
nossr50
51291f7c49 more work on notifications config 2019-04-04 19:53:06 -07:00
nossr50
4068d61246 Merge master 2019-04-04 19:20:24 -07:00
nossr50
6cad982969 Merge conflicts 2019-04-04 00:24:34 -07:00
nossr50
5b2720a04f Taming Cleanup + Compiler Error fix 2019-04-03 21:07:12 -07:00
nossr50
0ca0140348 Code Cleanup pt 3 2019-04-03 19:55:52 -07:00
nossr50
43037f8c13 Code Cleanup Pt 2 2019-04-03 19:25:14 -07:00
nossr50
0e39656c88 Code cleanup and new settings for Database config 2019-04-03 18:42:58 -07:00
nossr50
8991c2bf2c Fixing merge conflicts 2019-04-03 17:25:18 -07:00
nossr50
7bbf1acd5d minor cleanup 2019-04-03 16:11:35 -07:00
nossr50
9acf597eb9 Fixing PlayerListener 2019-04-02 23:35:33 -07:00
nossr50
d2faac3b0d Code cleanup part 1 2019-04-02 23:28:12 -07:00
nossr50
ecce631527 Mining Bonus Drop registration 2019-04-02 21:52:07 -07:00
nossr50
5c6f0e8cbf BonusDrops (Double/Triple) are now managed by BonusDropManager 2019-04-02 18:59:48 -07:00
nossr50
ac67e006d8 Kill the MultiConfigs 2019-04-02 18:30:06 -07:00
nossr50
661c63a8aa Unnecessary factory... 2019-04-02 18:11:05 -07:00
nossr50
eb43dc4460 Refactoring Salvageables/Repairables, removing Simple from the naming schemes 2019-04-02 17:42:35 -07:00
nossr50
9514b200cd unnecessary interfaces 2019-04-02 16:35:05 -07:00
nossr50
c428aff251 Anti-Exploit config pt 1 2019-04-01 18:16:20 -07:00
nossr50
c6e8e63088 Scoreboard config part 1 2019-04-01 18:12:18 -07:00
nossr50
8f33b378bf mod configs are taking a break 2019-04-01 18:02:36 -07:00
nossr50
67f95d3343 child.yml was a mistake 2019-04-01 16:50:35 -07:00
nossr50
5e1c12d8ec new config pt 9 2019-04-01 16:44:59 -07:00
nossr50
09c91f3b4b 2.1.32 2019-04-01 16:22:43 -07:00
nossr50
8d9f6c14a7 Completely remove Fireworks from mcMMO 2019-04-01 16:21:50 -07:00
nossr50
dcd40d3ced 2.1.31 2019-04-01 16:17:40 -07:00
nossr50
456e64456d Fixing an issue with mmoedit triggering notifications for skills already unlocked 2019-04-01 16:15:53 -07:00
nossr50
f1ecef310c Fixed a bug involving SubSkill notifications
Fixes #3808, also fixed the notification timer
2019-04-01 16:15:52 -07:00
BuildTools
1f2eae0799 Don't load the players profile just to get their name 2019-04-01 16:10:49 -07:00
nossr50
0d3551c84b Adding missing Double Drop entries for Woodcutting 2019-04-01 16:06:16 -07:00
nossr50
dc4401ffb0 Add missing Herbalism entries to config 2019-04-01 16:04:30 -07:00
nossr50
9568c0f85c Fixing Mining Double Drops (update configs) 2019-04-01 16:04:29 -07:00
nossr50
3f30f6950b unused imports 2019-04-01 15:45:40 -07:00
OverCrave
8182249641 Update locale_de.properties 2019-04-01 15:41:24 -07:00
OverCrave
b36c1376cf Update locale_de.properties 2019-04-01 15:38:37 -07:00
OverCrave
e4c911869d Update locale_de.properties 2019-04-01 15:38:37 -07:00
OverCrave
457b7f9d14 Update locale_de.properties 2019-04-01 15:38:36 -07:00
nossr50
c5f87e17f6 import cleanup 2019-03-29 00:04:51 -07:00
nossr50
7d1cbe4c45 notifications pt 1 2019-03-29 00:03:51 -07:00
nossr50
dc5766035b one last set of tweaks to repair config... I swear 2019-03-29 00:03:51 -07:00
nossr50
d144409673 even more comment restyling on repair 2019-03-29 00:03:51 -07:00
nossr50
07ebf12ae2 Tweaking Repair Comments + Anvils now use Name ID 2019-03-29 00:03:50 -07:00
nossr50
6e83763f22 Finishing touches on Repair Config 2019-03-29 00:03:50 -07:00
nossr50
e232bb3699 finished default repairables, diamond armor gives less xp by default 2019-03-29 00:03:50 -07:00
nossr50
968636b8d4 Repairables can now specify multiple items that can be used for repairs 2019-03-29 00:03:50 -07:00
nossr50
0f98d9babe Add Serializer for Repairable 2019-03-29 00:03:49 -07:00
nossr50
bf8e3d5a08 Removing unecessary interfaces 2019-03-29 00:03:49 -07:00
nossr50
7aea4e1d92 Repair Config pt 5 2019-03-29 00:03:48 -07:00
nossr50
68b32e0b9e Repair Config Pt 4, Salvage Config pt 1 2019-03-29 00:03:11 -07:00
nossr50
ef6bec4ffc Repair Config Pt 3 2019-03-29 00:03:11 -07:00
nossr50
ff986ec97d parent node renamed to something more specific 2019-03-29 00:03:11 -07:00
nossr50
0c58f5073c Acrobatics config pt 1 2019-03-29 00:03:11 -07:00
nossr50
579109b2f5 Configurable XP cooldowns for Roll 2019-03-29 00:03:10 -07:00
nossr50
d4d8cbbc03 arcane forging config 2019-03-29 00:03:10 -07:00
nossr50
d8b540cad8 actual last try 2019-03-29 00:03:10 -07:00
nossr50
1ff3e55c7e one last try then I give up :D 2019-03-29 00:03:10 -07:00
nossr50
437bc264bc at this point I'm just taking wild guesses lol 2019-03-29 00:03:10 -07:00
nossr50
17cb2c2615 try this 2019-03-29 00:03:10 -07:00
nossr50
3d21591830 update assembly plugin 2019-03-29 00:03:10 -07:00
nossr50
1cea9830a6 rename artifact 2019-03-29 00:03:09 -07:00
nossr50
121c54b802 Repair Config Pt 2 2019-03-29 00:03:09 -07:00
nossr50
e709f04004 Skill Configs pt 1 2019-03-29 00:03:08 -07:00
nossr50
2cdb0395ee wire up alerting admins to over-fishing repeated abuse 2019-03-29 00:03:08 -07:00
nossr50
8f6f0e4a0f Expanding fishing exploit options 2019-03-29 00:03:07 -07:00
nossr50
133dadccec Custom Serializer Attempt #2 2019-03-29 00:01:39 -07:00
nossr50
c01b8e4ad4 Update changelog 2019-03-29 00:01:39 -07:00
nossr50
ac04ca5c27 Exploit Config Tweaks 2019-03-29 00:01:38 -07:00
nossr50
956b01a28e wire up creatures config 2019-03-29 00:01:38 -07:00
nossr50
7cd8099d3c new mob config "creatures.conf" 2019-03-29 00:01:38 -07:00
nossr50
bd0a4c75c0 Wire up backup config 2019-03-29 00:01:38 -07:00
nossr50
883fca3cf3 Wire up locale config 2019-03-29 00:01:37 -07:00
nossr50
45430d9c25 Wire up Super Ability config pt 1 2019-03-29 00:01:37 -07:00
nossr50
e933efcee0 Wire up Language config 2019-03-29 00:01:36 -07:00
nossr50
b9a37614b2 Add missing annotation 2019-03-29 00:01:36 -07:00
nossr50
7c0469dce1 Fix fishing exploit toggle 2019-03-29 00:01:36 -07:00
nossr50
7d2e76e464 Super Ability config pt 2 2019-03-29 00:00:26 -07:00
nossr50
3a21a913c6 Added toggle to disable party system 2019-03-29 00:00:26 -07:00
nossr50
b0b326d080 Convert Party data to HOCON serialization 2019-03-29 00:00:26 -07:00
nossr50
16d4c160c6 fix imports 2019-03-29 00:00:25 -07:00
nossr50
652291fee1 Tweaking changelog 2019-03-29 00:00:25 -07:00
nossr50
f299f84a6f Wire up party config pt 5 - Actually need to redo how I'm deserializing maps, gonna do that tomorrow 2019-03-29 00:00:25 -07:00
nossr50
80df1dd4bd Wire up party config pt 4 2019-03-29 00:00:24 -07:00
nossr50
8a6ed2f076 Party Config Pt 5 2019-03-29 00:00:24 -07:00
nossr50
d11f8fcdce Wire up Party Config pt 3 2019-03-29 00:00:24 -07:00
nossr50
6be936972f Party Config pt 4 2019-03-29 00:00:23 -07:00
nossr50
82dec38e5c Wire up Party Config pt 2 2019-03-29 00:00:23 -07:00
nossr50
70b3ca3094 Wire up Party Config pt 1 2019-03-29 00:00:23 -07:00
nossr50
f0455b28dc tweak Party Level unlocks 2019-03-29 00:00:23 -07:00
nossr50
f96c4bc063 Party Config pt 3 2019-03-29 00:00:22 -07:00
nossr50
a812ca42f7 Party config pt 2 2019-03-29 00:00:22 -07:00
nossr50
fb1467551f World Blacklist cleanup, metric config pt 2 2019-03-29 00:00:22 -07:00
nossr50
96b781ab0a Add super ability config 2019-03-29 00:00:22 -07:00
nossr50
a710893e2a Add chat and hud notification config 2019-03-29 00:00:21 -07:00
nossr50
0bed8898bf Add automated backup config 2019-03-29 00:00:21 -07:00
nossr50
4c78afc04b Add party config 2019-03-29 00:00:21 -07:00
nossr50
cb21c0bf24 Add particles config 2019-03-29 00:00:21 -07:00
nossr50
eb14d14e05 Add language config 2019-03-29 00:00:21 -07:00
nossr50
7c0a741b47 Add item config 2019-03-29 00:00:20 -07:00
nossr50
2acc230895 Add command config 2019-03-29 00:00:19 -07:00
nossr50
e57bf35e5e new settings for showing patreon, paypal 2019-03-29 00:00:19 -07:00
nossr50
2001ef30ee new config author_support_advertisements.conf 2019-03-29 00:00:19 -07:00
nossr50
b2c1358a84 Better config file organization for exploit prevention config 2019-03-29 00:00:19 -07:00
nossr50
efdd56684b Add options for Fishing exploit prevention 2019-03-29 00:00:18 -07:00
nossr50
0d8b4c5f5f Add Acrobatics exploit prevention config settings 2019-03-29 00:00:18 -07:00
nossr50
04fdd3270a MOTD Config 2019-03-29 00:00:18 -07:00
nossr50
094850ab85 Exploit Prevention config pt 2 2019-03-28 23:59:49 -07:00
nossr50
d272d60112 Anti-Exploit config pt 1 2019-03-28 23:59:48 -07:00
nossr50
f5c1e0952b World Blacklist Config 2019-03-28 23:59:26 -07:00
nossr50
0e61557812 Player Leveling config pt 3 2019-03-28 23:59:26 -07:00
nossr50
160f27b492 update changelog 2019-03-28 23:59:25 -07:00
nossr50
7a7dd7002e Hypens instead of Underscores because the serializer is a dumbo 2019-03-28 23:59:25 -07:00
nossr50
0046c47163 Expanded level cap settings, Player Leveling config pt 2 2019-03-28 23:59:25 -07:00
nossr50
1cdc59cfb1 updating version number 2019-03-28 23:58:28 -07:00
nossr50
8660d86306 Expanding DB cleanup settings, Player Leveling config pt 1 2019-03-28 23:57:21 -07:00
nossr50
d139d520e7 Move generic Scoreboard settings to General section 2019-03-28 23:57:21 -07:00
nossr50
8578d923d6 Fix imports 2019-03-28 23:57:21 -07:00
nossr50
307340bea3 Scoreboard config pt 2 2019-03-28 23:57:20 -07:00
nossr50
bbe9b92c15 Refactoring mistake 2019-03-28 23:57:20 -07:00
nossr50
f00601931d Scoreboard config part 1 2019-03-28 23:57:20 -07:00
nossr50
1c289cfcdf Refactoring SQL config class names again 2019-03-28 23:57:19 -07:00
nossr50
a8bf6357aa Fixed the loading of the Serialized configs 2019-03-28 23:57:19 -07:00
nossr50
77b4ade885 On second thought lets not use an empty class as a parent idk 2019-03-28 23:57:19 -07:00
nossr50
d3b437f6d3 Renaming config classes 2019-03-28 23:57:19 -07:00
nossr50
45e785bd1f Rewiring SQL to the new config pt 2 2019-03-28 23:57:19 -07:00
nossr50
707e6d0342 Update changelog 2019-03-28 23:57:18 -07:00
nossr50
be69f0d6a7 Rewiring the SQL code to the new configs 2019-03-28 23:57:18 -07:00
nossr50
e94005df34 Move user settings to new User category for MySQL 2019-03-28 23:57:18 -07:00
nossr50
88cd8e64bb Database Config getter boilerplate 2019-03-28 23:57:18 -07:00
nossr50
948837546a Move config loading outside of constructors 2019-03-28 23:57:17 -07:00
nossr50
8bc49e8bfb Add typesafe library to maven, cleanup config directory code 2019-03-28 23:57:17 -07:00
nossr50
55b1da0341 no more MultiConfigContainers, updating existing config classes for HOCON (WIP) 2019-03-28 23:57:16 -07:00
nossr50
132b908eee Added some more missing defaults to database config 2019-03-28 23:57:16 -07:00
nossr50
7d152794ba add missing defaults and constructor for database config 2019-03-28 23:57:16 -07:00
nossr50
e757dd10c8 import cleanup 2019-03-28 23:57:15 -07:00
nossr50
d5ea196840 added hocon configurate libs to maven 2019-03-28 23:57:14 -07:00
nossr50
f772b39eda add missing db config options 2019-03-28 23:57:14 -07:00
nossr50
493d6b0a67 Starting the conversion to HOCON, splitting up configs, and more 2019-03-28 23:57:14 -07:00
nossr50
76472a2b9f Most Experience related maps are now tracked via a new ExperienceMapManager to simplify loading/unloading of registered values 2019-03-28 23:56:27 -07:00
nossr50
f0e8eb35c4 Most Super Abilities which increase gathering speed now check both XP registers and new hardcoded lists to determine whether or not the block should be affected by the super ability, if the block is found on either the xp registers or our own internal list then it will be considered compatible with that super ability.
This prevents weird behavior from a server admin removing XP from something like Stone
2019-03-28 23:56:27 -07:00
nossr50
59f3835554 set configurate user file builder to dump block style formatting 2019-03-28 23:55:56 -07:00
nossr50
38c11d1601 Fixing zero initalize for entity xp + party share 2019-03-28 23:55:56 -07:00
nossr50
608a523996 Fix zero initialize for Swords config options 2019-03-28 23:55:55 -07:00
nossr50
a2e0ca0f84 Flux Mining Cleanup 2019-03-28 23:54:47 -07:00
nossr50
a3b8ab81be Fixed zero initialize for Smelting's Fuel Efficiency 2019-03-28 23:54:47 -07:00
nossr50
07db198a67 Whoops 2019-03-28 23:54:08 -07:00
nossr50
234a31d283 Fix Repair Mastery zero initialize 2019-03-28 23:50:11 -07:00
nossr50
f2945569fb Fixed zero initialize for SkullSplitter. config nodes 2019-03-28 23:47:26 -07:00
nossr50
72663ae2d3 Solved zero initialize for Party.Sharing.ExpSharing_bonus_base 2019-03-28 23:47:25 -07:00
nossr50
22eead18dd Add warning about 2.1.13 snapshot releases 2019-03-28 23:47:25 -07:00
nossr50
8101decef5 Updating changelog 2019-03-28 23:47:25 -07:00
nossr50
35d1e1ebd9 Removing test files 2019-03-28 23:47:25 -07:00
nossr50
4418d34930 add register to constructor of repair/salvage 2019-03-28 23:47:25 -07:00
nossr50
ed8611585f remove reflection code from MultiConfigContainer 2019-03-28 23:47:25 -07:00
nossr50
b3ed05eb09 forgot the other super constructor for configcollection 2019-03-28 23:47:24 -07:00
nossr50
9d0dd7ecd6 do not call register() in super 2019-03-28 23:47:24 -07:00
nossr50
e354e7b89b add unload to potion config 2019-03-28 23:47:24 -07:00
nossr50
714d9c0ca7 init potion ingredient lists in constructor 2019-03-28 23:47:24 -07:00
nossr50
53f06832f1 Locale NPE 2019-03-28 23:47:24 -07:00
nossr50
562066311b Always grab the Localized name of a skill 2019-03-28 23:47:23 -07:00
nossr50
b5b9a223a7 better error reporting on enabling mcMMO 2019-03-28 23:47:23 -07:00
nossr50
049b76f651 Only grab List<String> if it's a proper list 2019-03-28 23:47:23 -07:00
nossr50
4ab5e5e925 Changing iteration over a nodes children to be based on a list of its children rather than a returned type of String 2019-03-28 23:47:21 -07:00
nossr50
22ca1863fd fix NPE for anvil, salvage block, detonator item 2019-03-28 23:47:21 -07:00
nossr50
bdbda5587f fix NPE for ChimaeraWing 2019-03-28 23:47:21 -07:00
nossr50
a344e43e2e fix configManager NPE 2019-03-28 23:47:21 -07:00
nossr50
198b7e3f46 xpratemultiplier fix 2019-03-28 23:47:20 -07:00
nossr50
5647eebe99 Multiplier to camelcase 2019-03-28 23:47:20 -07:00
nossr50
367fabf70c fixing many compiler errors for configs 2019-03-28 23:47:19 -07:00
nossr50
2f804de36f fishing treasures pt 4 (enchantments) 2019-03-28 23:46:43 -07:00
nossr50
677e45a811 fishing treasures pt 3 (shake) 2019-03-28 23:46:43 -07:00
nossr50
99f0e029c2 fishing treasures pt 2 2019-03-28 23:46:43 -07:00
nossr50
3fc9f26b8b fishing treasures pt 1 2019-03-28 23:46:42 -07:00
nossr50
e75170f576 need to rewrite this mess 2019-03-28 23:46:42 -07:00
nossr50
3158ba591b Hylian Treasure pt 2 2019-03-28 23:46:42 -07:00
nossr50
31402d97c4 Hylian Treasure pt 1 2019-03-28 23:46:42 -07:00
nossr50
bef86f0e97 add CustomName and Lore fields to default treasure configs
the functionality for these keys has always been here but this change should help make it more obvious
2019-03-28 23:46:42 -07:00
nossr50
811b90bc31 fixing imports 2019-03-28 23:46:41 -07:00
nossr50
ef6b70f686 Some more comments 2019-03-28 23:46:41 -07:00
nossr50
2c752dc470 Removing the oopsies 2019-03-28 23:46:41 -07:00
nossr50
63a0598766 Check for changeme 2019-03-28 23:46:41 -07:00
nossr50
772ceddf65 ExcavationTreasureConfig pt 1 2019-03-28 23:46:41 -07:00
nossr50
15be278ee1 kill TreasureConfig.java 2019-03-28 23:46:40 -07:00
nossr50
349a714134 Treasure Config Split pt 2, Configs now register to be backed up with the config manager 2019-03-28 23:46:39 -07:00
nossr50
41bfba0c68 treasures.yml is now split into 3 treasure configs 2019-03-28 23:46:39 -07:00
nossr50
83ee9ca92c DefaultKeys refactored to UnsafeValueValidation 2019-03-28 23:46:39 -07:00
nossr50
18d8b84099 Set removeOldKeys in the Config parent class 2019-03-28 23:46:39 -07:00
nossr50
e6aee141fb Update config constructors to pass removeOldKeys boolean 2019-03-28 23:46:38 -07:00
nossr50
b0b0167ee2 Convert RankConfig to the new system 2019-03-28 23:46:38 -07:00
nossr50
26b66b550c potion config is now converted to the new system 2019-03-28 23:46:38 -07:00
nossr50
cef1bf6c8c potion config pt 1 (wip) 2019-03-28 23:46:38 -07:00
nossr50
bd74d6e4f1 Convert soundconfig to new system 2019-03-28 23:46:38 -07:00
nossr50
6152ac30b9 kill hidden.yml 2019-03-28 23:46:37 -07:00
nossr50
6604f98140 Updating constructors, updating node address helper methods 2019-03-28 23:46:37 -07:00
nossr50
b81ca84a99 don't always copy defaults 2019-03-28 23:46:37 -07:00
nossr50
4bfa790be9 Converting salvage config to the new system 2019-03-28 23:46:37 -07:00
nossr50
c14b949b0a Converting repair config to the new system 2019-03-28 23:46:37 -07:00
nossr50
5ce08a2294 Kill the upgrade manager 2019-03-28 23:46:36 -07:00
nossr50
c91255c474 converting mainconfig pt 3 2019-03-28 23:46:36 -07:00
nossr50
4bb513c2d1 hardcore and vampirism commands were a mistake 2019-03-28 23:46:11 -07:00
nossr50
9f9b456b0a converting mainconfig pt 2 2019-03-28 23:46:11 -07:00
nossr50
894b30660c converting mainconfig pt1 2019-03-28 23:46:11 -07:00
nossr50
a939f54b10 experience getInstance() had an oopsie 2019-03-28 23:46:11 -07:00
nossr50
3fc0bbb466 comment out contents of mod configs until we need them again 2019-03-28 23:46:10 -07:00
nossr50
e7d8e51722 mod configs are taking a break 2019-03-28 23:46:09 -07:00
nossr50
63aebd0454 rewire getInstance for experience config 2019-03-28 23:44:16 -07:00
nossr50
f08456b789 child.yml was a mistake 2019-03-28 23:44:16 -07:00
nossr50
d7e0c95984 rewire getInstance() for configs 2019-03-28 23:44:15 -07:00
nossr50
f4ba472403 new config pt 10 - All configs are now managed by ConfigManager (WIP) 2019-03-28 23:44:15 -07:00
nossr50
acf2bf362f Refactoring the oopsies 2019-03-28 23:43:20 -07:00
nossr50
9731b9cffb new config pt 9 2019-03-28 23:43:19 -07:00
nossr50
2de87f7189 Regex errors 2019-03-28 23:30:11 -07:00
nossr50
fb2eddd432 fixing NPE and IO errors 2019-03-28 23:30:10 -07:00
nossr50
bf63ce33c5 new config system pt 5 2019-03-28 23:30:10 -07:00
nossr50
e7b91f57ea Advanced Config is now on the new config system 2019-03-28 23:30:10 -07:00
nossr50
78f0a42ec1 new config system part 4 2019-03-28 23:30:10 -07:00
nossr50
fd8e44ef47 new config system part 3 2019-03-28 23:30:09 -07:00
nossr50
0f743a55b5 new config system pt 2 2019-03-28 23:30:09 -07:00
nossr50
69fa10559c New Config System pt 1 2019-03-28 23:30:09 -07:00
nossr50
c1cf246084 Setting up configurable 2019-03-28 23:30:08 -07:00
LogGits
3ed4228b72 Added imports 2019-02-16 05:40:49 +10:00
LogGits
93fefa031b Herbalism compatibility with PlayerAnimationEvent
This change in theory should make McMMO herbalism compatible with plugins that utilise PlayerAnimationEvent. The main reason that I want to add this is to fix `no swing` false positives in `AAC` (though didn't get to test this). 

I would appreciate if someone could test this PR and verify that its working without any issues. (I am busy for the next few days so I haven't been able to test it. In theory it looks like it should work. I could have checked if the event `isCancelled()` however, this doesn't seem necessary quite yet. Though, if it is needed I can add it 👍 

Please don't merge this unless it's confirmed completely working. I will find some time to test it out within the next few days.
2019-02-12 13:26:03 +10:00
990 changed files with 58774 additions and 46860 deletions

1
.gitattributes vendored
View File

@@ -2,3 +2,4 @@
*.png binary
*.wav binary
p

12
.github/FUNDING.yml vendored Normal file
View 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
View File

@@ -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

View File

@@ -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
View File

@@ -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>.

View File

@@ -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
[![nossr50](http://www.gravatar.com/avatar/f2ee41eedfd645fb4a3a2c8f6cb1b18c.png)](https://github.com/nossr50)
Other mcMMO Projects
#### mcMMO Devs
[![nossr50](http://www.gravatar.com/avatar/f2ee41eedfd645fb4a3a2c8f6cb1b18c.png)](https://github.com/nossr50)
[![kashike](https://secure.gravatar.com/avatar/b5e86d6d443b957fd5cdee55501f3799.png)](https://github.com/kashike)
[![electronicboy](https://secure.gravatar.com/avatar/44759c38d311ce09596de6a2d5b88036.png)](https://github.com/electronicboy)
### Classic Maintainer
#### Classic Maintainer
[![t00thpick1](http://www.gravatar.com/avatar/ee23c7794a0c40120c3474287c7bce06.png)](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
View 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
}
}

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
View 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

Binary file not shown.

View 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
View 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
View 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

View 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")
}

View 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>

View File

@@ -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);
// }
//}

View 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;
// }
//}

View File

@@ -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();
// }
//
//}

File diff suppressed because it is too large Load Diff

View 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;
// }
//}

View 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;
// }
//}

View File

@@ -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.");
}
}

View File

@@ -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);
}
}

View File

@@ -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());
}
}

View File

@@ -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()));
// }
//
//}

View 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));
}
}
}
}
}

View File

@@ -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));
}
}

View File

@@ -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;

View File

@@ -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");
}

View File

@@ -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();

View File

@@ -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();
}
}
}

View File

@@ -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));
}
}

View File

@@ -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"));
}
}
}
}

View File

@@ -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));
}
}

View File

@@ -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();
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}

View File

@@ -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) {
}
}

View File

@@ -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");
}
}
}

View File

@@ -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;
}
}

View File

@@ -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));
}
}

View File

@@ -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");
}
}

View File

@@ -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));
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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();
}
}
}

View File

@@ -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