diff options
139 files changed, 3170 insertions, 1223 deletions
diff --git a/Essentials/nb-configuration.xml b/Essentials/nb-configuration.xml new file mode 100644 index 000000000..3486bc9d7 --- /dev/null +++ b/Essentials/nb-configuration.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project-shared-configuration> + <!-- +This file contains additional configuration written by modules in the NetBeans IDE. +The configuration is intended to be shared among all the users of project and +therefore it is assumed to be part of version control checkout. +Without this configuration present, some functionality in the IDE may be limited or fail altogether. +--> + <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1"> + <!-- +Properties that influence various parts of the IDE, especially code formatting and the like. +You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up. +That way multiple projects can share the same settings (useful for formatting rules for example). +Any value defined here will override the pom.xml file value but is only applicable to the current project. +--> + <netbeans.compile.on.save>all</netbeans.compile.on.save> + </properties> +</project-shared-configuration> diff --git a/Essentials/pom.xml b/Essentials/pom.xml index 281a1449a..037bb6f11 100644 --- a/Essentials/pom.xml +++ b/Essentials/pom.xml @@ -36,7 +36,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>0.10.8</version> + <version>0.11.2</version> </dependency> <dependency> <groupId>ru.tehkode</groupId> diff --git a/Essentials/src/items.csv b/Essentials/src/items.csv index a3234c9aa..3fdba140b 100644 --- a/Essentials/src/items.csv +++ b/Essentials/src/items.csv @@ -9,9 +9,6 @@ grass,2,0 greendirt,2,0 greenearth,2,0 greenland,2,0 -gdirt,2,0 -gearth,2,0 -gland,2,0 dirt,3,0 earth,3,0 land,3,0 @@ -39,20 +36,20 @@ dwplank,5,1 dplankwooden,5,1 dplankwood,5,1 dplankw,5,1 -pineplank,5,1 -pinewoodenplank,5,1 -pinewoodplank,5,1 -pinewplank,5,1 -pineplankwooden,5,1 -pineplankwood,5,1 -pineplankw,5,1 -pplank,5,1 -pwoodenplank,5,1 -pwoodplank,5,1 -pwplank,5,1 -pplankwooden,5,1 -pplankwood,5,1 -pplankw,5,1 +spruceplank,5,1 +sprucewoodenplank,5,1 +sprucewoodplank,5,1 +sprucewplank,5,1 +spruceplankwooden,5,1 +spruceplankwood,5,1 +spruceplankw,5,1 +splank,5,1 +swoodenplank,5,1 +swoodplank,5,1 +swplank,5,1 +splankwooden,5,1 +splankwood,5,1 +splankw,5,1 lightplank,5,2 lightwoodenplank,5,2 lightwoodplank,5,2 @@ -60,13 +57,6 @@ lightwplank,5,2 lightplankwooden,5,2 lightplankwood,5,2 lightplankw,5,2 -liteplank,5,2 -litewoodenplank,5,2 -litewoodplank,5,2 -litewplank,5,2 -liteplankwooden,5,2 -liteplankwood,5,2 -liteplankw,5,2 birchplank,5,2 birchwoodenplank,5,2 birchwoodplank,5,2 @@ -126,25 +116,11 @@ oaktreesap,6,0 oaklogsap,6,0 oaktrunksap,6,0 oakwoodsap,6,0 -normaltreesap,6,0 -normallogsap,6,0 -normaltrunksap,6,0 -normalwoodsap,6,0 osap,6,0 otreesap,6,0 ologsap,6,0 otrunksap,6,0 owoodsap,6,0 -nsap,6,0 -ntreesap,6,0 -nlogsap,6,0 -ntrunksap,6,0 -nwoodsap,6,0 -redsapling,6,1 -redtreesapling,6,1 -redlogsapling,6,1 -redtrunksapling,6,1 -redwoodsapling,6,1 darksapling,6,1 darktreesapling,6,1 darklogsapling,6,1 @@ -155,21 +131,11 @@ blacktreesapling,6,1 blacklogsapling,6,1 blacktrunksapling,6,1 blackwoodsapling,6,1 -pinesapling,6,1 -pinetreesapling,6,1 -pinelogsapling,6,1 -pinetrunksapling,6,1 -pinewoodsapling,6,1 sprucesapling,6,1 sprucetreesapling,6,1 sprucelogsapling,6,1 sprucetrunksapling,6,1 sprucewoodsapling,6,1 -rsapling,6,1 -rtreesapling,6,1 -rlogsapling,6,1 -rtrunksapling,6,1 -rwoodsapling,6,1 dsapling,6,1 dtreesapling,6,1 dlogsapling,6,1 @@ -180,21 +146,11 @@ bltreesapling,6,1 bllogsapling,6,1 bltrunksapling,6,1 blwoodsapling,6,1 -psapling,6,1 -ptreesapling,6,1 -plogsapling,6,1 -ptrunksapling,6,1 -pwoodsapling,6,1 ssapling,6,1 streesapling,6,1 slogsapling,6,1 strunksapling,6,1 swoodsapling,6,1 -redsap,6,1 -redtreesap,6,1 -redlogsap,6,1 -redtrunksap,6,1 -redwoodsap,6,1 darksap,6,1 darktreesap,6,1 darklogsap,6,1 @@ -215,11 +171,6 @@ sprucetreesap,6,1 sprucelogsap,6,1 sprucetrunksap,6,1 sprucewoodsap,6,1 -rsap,6,1 -rtreesap,6,1 -rlogsap,6,1 -rtrunksap,6,1 -rwoodsap,6,1 dsap,6,1 dtreesap,6,1 dlogsap,6,1 @@ -230,11 +181,6 @@ bltreesap,6,1 bllogsap,6,1 bltrunksap,6,1 blwoodsap,6,1 -psap,6,1 -ptreesap,6,1 -plogsap,6,1 -ptrunksap,6,1 -pwoodsap,6,1 ssap,6,1 streesap,6,1 slogsap,6,1 @@ -245,11 +191,6 @@ birchtreesapling,6,2 birchlogsapling,6,2 birchtrunksapling,6,2 birchwoodsapling,6,2 -pandasapling,6,2 -pandatreesapling,6,2 -pandalogsapling,6,2 -pandatrunksapling,6,2 -pandawoodsapling,6,2 whitesapling,6,2 whitetreesapling,6,2 whitelogsapling,6,2 @@ -280,11 +221,6 @@ birchtreesap,6,2 birchlogsap,6,2 birchtrunksap,6,2 birchwoodsap,6,2 -pandasap,6,2 -pandatreesap,6,2 -pandalogsap,6,2 -pandatrunksap,6,2 -pandawoodsap,6,2 whitesap,6,2 whitetreesap,6,2 whitelogsap,6,2 @@ -359,22 +295,10 @@ oaktree,17,0 oaklog,17,0 oaktrunk,17,0 oakwood,17,0 -normaltree,17,0 -normallog,17,0 -normaltrunk,17,0 -normalwood,17,0 otree,17,0 olog,17,0 otrunk,17,0 owood,17,0 -ntree,17,0 -nlog,17,0 -ntrunk,17,0 -nwood,17,0 -redtree,17,1 -redlog,17,1 -redtrunk,17,1 -redwood,17,1 darktree,17,1 darklog,17,1 darktrunk,17,1 @@ -383,20 +307,11 @@ blacktree,17,1 blacklog,17,1 blacktrunk,17,1 blackwood,17,1 -pine,17,1 -pinetree,17,1 -pinelog,17,1 -pinetrunk,17,1 -pinewood,17,1 spruce,17,1 sprucetree,17,1 sprucelog,17,1 sprucetrunk,17,1 sprucewood,17,1 -rtree,17,1 -rlog,17,1 -rtrunk,17,1 -rwood,17,1 dtree,17,1 dlog,17,1 dtrunk,17,1 @@ -405,10 +320,6 @@ bltree,17,1 bllog,17,1 bltrunk,17,1 blwood,17,1 -ptree,17,1 -plog,17,1 -ptrunk,17,1 -pwood,17,1 stree,17,1 slog,17,1 strunk,17,1 @@ -418,10 +329,6 @@ birchtree,17,2 birchlog,17,2 birchtrunk,17,2 birchwood,17,2 -pandatree,17,2 -pandalog,17,2 -pandatrunk,17,2 -pandawood,17,2 whitetree,17,2 whitelog,17,2 whitetrunk,17,2 @@ -434,10 +341,6 @@ btree,17,2 blog,17,2 btrunk,17,2 bwood,17,2 -patree,17,2 -palog,17,2 -patrunk,17,2 -pawood,17,2 wtree,17,2 wlog,17,2 wtrunk,17,2 @@ -458,18 +361,10 @@ oaktreeleaves,18,4 oaklogleaves,18,4 oaktrunkleaves,18,4 oakwoodleaves,18,4 -normaltreeleaves,18,4 -normallogleaves,18,4 -normaltrunkleaves,18,4 -normalwoodleaves,18,4 otreeleaves,18,4 ologleaves,18,4 otrunkleaves,18,4 owoodleaves,18,4 -ntreeleaves,18,4 -nlogleaves,18,4 -ntrunkleaves,18,4 -nwoodleaves,18,4 treeleaf,18,4 logleaf,18,4 trunkleaf,18,4 @@ -478,44 +373,10 @@ oaktreeleaf,18,4 oaklogleaf,18,4 oaktrunkleaf,18,4 oakwoodleaf,18,4 -normaltreeleaf,18,4 -normallogleaf,18,4 -normaltrunkleaf,18,4 -normalwoodleaf,18,4 otreeleaf,18,4 ologleaf,18,4 otrunkleaf,18,4 owoodleaf,18,4 -ntreeleaf,18,4 -nlogleaf,18,4 -ntrunkleaf,18,4 -nwoodleaf,18,4 -pineleaves,18,5 -pineleaf,18,5 -pinetreeleaves,18,5 -pinelogleaves,18,5 -pinetrunkleaves,18,5 -pinewoodleaves,18,5 -ptreeleaves,18,5 -plogleaves,18,5 -ptrunkleaves,18,5 -pwoodleaves,18,5 -pitreeleaves,18,5 -pilogleaves,18,5 -pitrunkleaves,18,5 -piwoodleaves,18,5 -pinetreeleaf,18,5 -pinelogleaf,18,5 -pinetrunkleaf,18,5 -pinewoodleaf,18,5 -ptreeleaf,18,5 -plogleaf,18,5 -ptrunkleaf,18,5 -pwoodleaf,18,5 -pitreeleaf,18,5 -pilogleaf,18,5 -pitrunkleaf,18,5 -piwoodleaf,18,5 birchleaves,18,6 birchleaf,18,6 birchtreeleaves,18,6 @@ -643,9 +504,6 @@ grasswild,31,0 lgrass,31,0 tgrass,31,0 wgrass,31,0 -grassl,31,0 -grasst,31,0 -grassw,31,0 deadshrub,32,0 shrubdead,32,0 dshrub,32,0 @@ -666,28 +524,16 @@ pistonbase,33,7 piston,33,7 pistonblock,33,7 pistonextensionnormal,34,0 -pistonextensionnorm,34,0 -pistonextensionn,34,0 pistonextension,34,0 pistonextnormal,34,0 -pistonextnorm,34,0 -pistonextn,34,0 pistonext,34,0 pistonenormal,34,0 -pistonenorm,34,0 -pistonen,34,0 pistone,34,0 extensionpistonnormal,34,0 -extensionpistonnorm,34,0 -extensionpistonn,34,0 extensionpiston,34,0 extpistonnormal,34,0 -extpistonnorm,34,0 -extpistonn,34,0 extpiston,34,0 epistonnormal,34,0 -epistonnorm,34,0 -epistonn,34,0 episton,34,0 whitecloth,35,0 whitewool,35,0 @@ -888,19 +734,6 @@ dstonehalfblock,43,0 doubleshalfblock,43,0 doublehalfblock,43,0 dhalfblock,43,0 -smoothstonedoublehblock,43,0 -smoothstonedhblock,43,0 -stonedoublehblock,43,0 -stonedhblock,43,0 -sdoublehblock,43,0 -sdhblock,43,0 -doublesmoothstonehblock,43,0 -dsmoothstonehblock,43,0 -doublestonehblock,43,0 -dstonehblock,43,0 -doubleshblock,43,0 -doublehblock,43,0 -dhblock,43,0 sandstonedoublestep,43,1 sandstonedstep,43,1 sstonedoublestep,43,1 @@ -937,194 +770,90 @@ doublesstonehalfblock,43,1 dsstonehalfblock,43,1 doublesshalfblock,43,1 dsshalfblock,43,1 -sandstonedoublehblock,43,1 -sandstonedhblock,43,1 -sstonedoublehblock,43,1 -sstonedhblock,43,1 -ssdoublehblock,43,1 -ssdhblock,43,1 -doublesandstonehblock,43,1 -dsandstonehblock,43,1 -doublesstonehblock,43,1 -dsstonehblock,43,1 -doublesshblock,43,1 -dsshblock,43,1 -woodenplankdoublehalfblock,43,2 -woodenplankdhalfblock,43,2 -woodplankdoublehalfblock,43,2 -woodplankdhalfblock,43,2 -wplankdoublehalfblock,43,2 -wplankdhalfblock,43,2 -plankdoublehalfblock,43,2 -plankdhalfblock,43,2 -woodenpdoublehalfblock,43,2 -woodenpdhalfblock,43,2 -woodpdoublehalfblock,43,2 -woodpdhalfblock,43,2 -wpdoublehalfblock,43,2 -wpdhalfblock,43,2 -pdoublehalfblock,43,2 -pdhalfblock,43,2 -woodendoublehalfblock,43,2 -woodendhalfblock,43,2 -wooddoublehalfblock,43,2 -wooddhalfblock,43,2 -wdoublehalfblock,43,2 -wdhalfblock,43,2 -doublewoodenplankhalfblock,43,2 -dwoodenplankhalfblock,43,2 -doublewoodplankhalfblock,43,2 -dwoodplankhalfblock,43,2 -doublewplankhalfblock,43,2 -dwplankhalfblock,43,2 -doubleplankhalfblock,43,2 -dplankhalfblock,43,2 -doublewoodenphalfblock,43,2 -dwoodenphalfblock,43,2 -doublewoodphalfblock,43,2 -dwoodphalfblock,43,2 -doublewphalfblock,43,2 -dwphalfblock,43,2 -doublephalfblock,43,2 -dphalfblock,43,2 -doublewoodenhalfblock,43,2 -dwoodenhalfblock,43,2 -doublewoodhalfblock,43,2 -dwoodhalfblock,43,2 -doublewhalfblock,43,2 -dwhalfblock,43,2 -woodenplankdoublehblock,43,2 -woodenplankdhblock,43,2 -woodplankdoublehblock,43,2 -woodplankdhblock,43,2 -wplankdoublehblock,43,2 -wplankdhblock,43,2 -plankdoublehblock,43,2 -plankdhblock,43,2 -woodenpdoublehblock,43,2 -woodenpdhblock,43,2 -woodpdoublehblock,43,2 -woodpdhblock,43,2 -wpdoublehblock,43,2 -wpdhblock,43,2 -pdoublehblock,43,2 -pdhblock,43,2 -woodendoublehblock,43,2 -woodendhblock,43,2 -wooddoublehblock,43,2 -wooddhblock,43,2 -wdoublehblock,43,2 -wdhblock,43,2 -doublewoodenplankhblock,43,2 -dwoodenplankhblock,43,2 -doublewoodplankhblock,43,2 -dwoodplankhblock,43,2 -doublewplankhblock,43,2 -dwplankhblock,43,2 -doubleplankhblock,43,2 -dplankhblock,43,2 -doublewoodenphblock,43,2 -dwoodenphblock,43,2 -doublewoodphblock,43,2 -dwoodphblock,43,2 -doublewphblock,43,2 -dwphblock,43,2 -doublewoodenhblock,43,2 -dwoodenhblock,43,2 -doublewoodhblock,43,2 -dwoodhblock,43,2 -doublewhblock,43,2 -dwhblock,43,2 -doublephblock,43,2 -dphblock,43,2 -woodenplankdoublestep,43,2 -woodenplankdstep,43,2 -woodplankdoublestep,43,2 -woodplankdstep,43,2 -wplankdoublestep,43,2 -wplankdstep,43,2 -plankdoublestep,43,2 -plankdstep,43,2 -woodenpdoublestep,43,2 -woodenpdstep,43,2 -woodpdoublestep,43,2 -woodpdstep,43,2 -wpdoublestep,43,2 -wpdstep,43,2 -pdoublestep,43,2 -pdstep,43,2 -woodendoublestep,43,2 -woodendstep,43,2 -wooddoublestep,43,2 -wooddstep,43,2 -wdoublestep,43,2 -wdstep,43,2 -doublewoodenplankstep,43,2 -dwoodenplankstep,43,2 -doublewoodplankstep,43,2 -dwoodplankstep,43,2 -doublewplankstep,43,2 -dwplankstep,43,2 -doubleplankstep,43,2 -dplankstep,43,2 -doublewoodenpstep,43,2 -dwoodenpstep,43,2 -doublewoodpstep,43,2 -dwoodpstep,43,2 -doublewpstep,43,2 -dwpstep,43,2 -doublepstep,43,2 -dpstep,43,2 -doublewoodenstep,43,2 -dwoodenstep,43,2 -doublewoodstep,43,2 -dwoodstep,43,2 -doublewstep,43,2 -dwstep,43,2 -woodenplankdoubleslab,43,2 -woodenplankdslab,43,2 -woodplankdoubleslab,43,2 -woodplankdslab,43,2 -wplankdoubleslab,43,2 -wplankdslab,43,2 -plankdoubleslab,43,2 -plankdslab,43,2 -woodenpdoubleslab,43,2 -woodenpdslab,43,2 -woodpdoubleslab,43,2 -woodpdslab,43,2 -wpdoubleslab,43,2 -wpdslab,43,2 -pdoubleslab,43,2 -pdslab,43,2 -woodendoubleslab,43,2 -woodendslab,43,2 -wooddoubleslab,43,2 -wooddslab,43,2 -wdoubleslab,43,2 -wdslab,43,2 -doublewoodenplankslab,43,2 -dwoodenplankslab,43,2 -doublewoodplankslab,43,2 -dwoodplankslab,43,2 -doublewplankslab,43,2 -dwplankslab,43,2 -doubleplankslab,43,2 -dplankslab,43,2 -doublewoodenpslab,43,2 -dwoodenpslab,43,2 -doublewoodpslab,43,2 -dwoodpslab,43,2 -doublewpslab,43,2 -dwpslab,43,2 -doublewoodenslab,43,2 -dwoodenslab,43,2 -doublewoodslab,43,2 -dwoodslab,43,2 -doublewslab,43,2 -dwslab,43,2 -doublepslab,43,2 -dpslab,43,2 +woodenplankstonedoublehalfblock,43,2 +woodenplankstonedhalfblock,43,2 +woodplankstonedoublehalfblock,43,2 +woodplankstonedhalfblock,43,2 +wplankstonedoublehalfblock,43,2 +wplankstonedhalfblock,43,2 +plankstonedoublehalfblock,43,2 +planstonekdhalfblock,43,2 +woodenstonedoublehalfblock,43,2 +woodenstonedhalfblock,43,2 +woodstonedoublehalfblock,43,2 +woodstonedhalfblock,43,2 +wstonedoublehalfblock,43,2 +wstonedhalfblock,43,2 +doublewoodenplankstonehalfblock,43,2 +dwoodenplankstonehalfblock,43,2 +doublewoodplankstonehalfblock,43,2 +dwoodplankstonehalfblock,43,2 +doublewplankstonehalfblock,43,2 +dwplankstonehalfblock,43,2 +doubleplankstonehalfblock,43,2 +dplankstonehalfblock,43,2 +doublewoodenstonehalfblock,43,2 +dwoodenstonehalfblock,43,2 +doublewoodstonehalfblock,43,2 +dwoodstonehalfblock,43,2 +doublewstonehalfblock,43,2 +dwstonehalfblock,43,2 +woodenplankstonedoublestep,43,2 +woodenplankstonedstep,43,2 +woodplankstonedoublestep,43,2 +woodplankstonedstep,43,2 +wplankstonedoublestep,43,2 +wplankstonedstep,43,2 +plankstonedoublestep,43,2 +plankstonedstep,43,2 +woodenstonedoublestep,43,2 +woodenstonedstep,43,2 +woodstonedoublestep,43,2 +woodstonedstep,43,2 +wstonedoublestep,43,2 +wstonedstep,43,2 +doublewoodenplankstonestep,43,2 +dwoodenplankstonestep,43,2 +doublewoodplankstonestep,43,2 +dwoodplankstonestep,43,2 +doublewplankstonestep,43,2 +dwplankstonestep,43,2 +doubleplankstonestep,43,2 +dplankstonestep,43,2 +doublewoodenstonestep,43,2 +dwoodenstonestep,43,2 +doublewoodstonestep,43,2 +dwoodstonestep,43,2 +doublewstonestep,43,2 +dwstonestep,43,2 +woodenplankstonedoubleslab,43,2 +woodenplankstonedslab,43,2 +woodplankstonedoubleslab,43,2 +woodplankstonedslab,43,2 +wplankstonedoubleslab,43,2 +wplankstonedslab,43,2 +plankstonedoubleslab,43,2 +plankstonedslab,43,2 +woodenstonedoubleslab,43,2 +woodenstonedslab,43,2 +woodstonedoubleslab,43,2 +woodstonedslab,43,2 +wstonedoubleslab,43,2 +wstonedslab,43,2 +doublewoodenplankstoneslab,43,2 +dwoodenplankstoneslab,43,2 +doublewoodplankstoneslab,43,2 +dwoodplankstoneslab,43,2 +doublewplankstoneslab,43,2 +dwplankstoneslab,43,2 +doubleplankstoneslab,43,2 +dplankstoneslab,43,2 +doublewoodenstoneslab,43,2 +dwoodenstoneslab,43,2 +doublewoodstoneslab,43,2 +dwoodstoneslab,43,2 +doublewstoneslab,43,2 +dwstoneslab,43,2 cobblestonedoublestep,43,3 cobblestonedstep,43,3 cobbledoublestep,43,3 @@ -1173,22 +902,6 @@ doublecstonehalfblock,43,3 dcstonehalfblock,43,3 doublecshalfblock,43,3 dcshalfblock,43,3 -cobblestonedoublehblock,43,3 -cobblestonedhblock,43,3 -cobbledoublehblock,43,3 -cobbledhblock,43,3 -cstonedoublehblock,43,3 -cstonedhblock,43,3 -csdoublehblock,43,3 -csdhblock,43,3 -doublecobblestonehblock,43,3 -dcobblestonehblock,43,3 -doublecobblehblock,43,3 -dcobblehblock,43,3 -doublecstonehblock,43,3 -dcstonehblock,43,3 -doublecshblock,43,3 -dcshblock,43,3 brickblockdoublestep,43,4 brickblockdstep,43,4 brickbdoublestep,43,4 @@ -1229,14 +942,6 @@ brickdoublehalfblock,43,4 brickdhalfblock,43,4 bdoublehalfblock,43,4 bdhalfblock,43,4 -brickblockdoublehblock,43,4 -brickblockdhblock,43,4 -brickbdoublehblock,43,4 -brickbdhblock,43,4 -brickdoublehblock,43,4 -brickdhblock,43,4 -bdoublehblock,43,4 -bdhblock,43,4 doublebrickblockhalfblock,43,4 dbrickblockhalfblock,43,4 doublebrickbhalfblock,43,4 @@ -1245,14 +950,6 @@ doublebrickhalfblock,43,4 dbrickhalfblock,43,4 doublebhalfblock,43,4 dbhalfblock,43,4 -doublebrickblockhblock,43,4 -dbrickblockhblock,43,4 -doublebrickbhblock,43,4 -dbrickbhblock,43,4 -doublebrickhblock,43,4 -dbrickhblock,43,4 -doublebhblock,43,4 -dbhblock,43,4 stonebrickdoublestep,43,5 stonebrickdstep,43,5 stonebdoublestep,43,5 @@ -1293,14 +990,6 @@ sbrickdoublehalfblock,43,5 sbrickdhalfblock,43,5 sbdoublehalfblock,43,5 sbdhalfblock,43,5 -stonebrickdoublehblock,43,5 -stonebrickdhblock,43,5 -stonebdoublehblock,43,5 -stonebdhblock,43,5 -sbrickdoublehblock,43,5 -sbrickdhblock,43,5 -sbdoublehblock,43,5 -sbdhblock,43,5 doublestonebrickhalfblock,43,5 dstonebrickhalfblock,43,5 doublestonebhalfblock,43,5 @@ -1309,14 +998,6 @@ doublesbrickhalfblock,43,5 dsbrickhalfblock,43,5 doublesbhalfblock,43,5 dsbhalfblock,43,5 -doublestonebrickhblock,43,5 -dstonebrickhblock,43,5 -doublestonebhblock,43,5 -dstonebhblock,43,5 -doublesbrickhblock,43,5 -dsbrickdhblock,43,5 -doublesbhblock,43,5 -dsbhblock,43,5 adminslab,43,6 magicslab,43,6 adslab,43,6 @@ -1332,10 +1013,6 @@ smoothstonehalfblock,44,0 stonehalfblock,44,0 shalfblock,44,0 halfblock,44,0 -smoothstonehblock,44,0 -stonehblock,44,0 -shblock,44,0 -hblock,44,0 sanddstonestep,44,1 sstonestep,44,1 ssstep,44,1 @@ -1345,51 +1022,27 @@ ssslab,44,1 sanddstonehalfblock,44,1 sstonehalfblock,44,1 sshalfblock,44,1 -sanddstonehblock,44,1 -sstonehblock,44,1 -sshblock,44,1 -woodenplankstep,44,2 -woodplankstep,44,2 -wplankstep,44,2 -plankstep,44,2 -woodenpstep,44,2 -woodpstep,44,2 -wpstep,44,2 -woodenstep,44,2 -woodstep,44,2 -wstep,44,2 -pstep,44,2 -woodplankslab,44,2 -wplankslab,44,2 -plankslab,44,2 -woodenpslab,44,2 -woodpslab,44,2 -wpslab,44,2 -woodenslab,44,2 -woodslab,44,2 -wslab,44,2 -pslab,44,2 -woodenplankhalfblock,44,2 -woodplankhalfblock,44,2 -wplankhalfblock,44,2 -plankhalfblock,44,2 -woodenphalfblock,44,2 -woodphalfblock,44,2 -wphalfblock,44,2 -woodenhalfblock,44,2 -woodhalfblock,44,2 -whalfblock,44,2 -phalfblock,44,2 -woodplankhblock,44,2 -wplankhblock,44,2 -plankhblock,44,2 -woodenphblock,44,2 -woodphblock,44,2 -wphblock,44,2 -woodenhblock,44,2 -woodhblock,44,2 -whblock,44,2 -phblock,44,2 +woodenplankstonestep,44,2 +woodplankstonestep,44,2 +wplankstonestep,44,2 +plankstonestep,44,2 +woodenstonestep,44,2 +woodstonestep,44,2 +wstonestep,44,2 +woodenplankstoneslab,44,2 +woodplankstoneslab,44,2 +wplankstoneslab,44,2 +plankstoneslab,44,2 +woodenstoneslab,44,2 +woodstoneslab,44,2 +wstoneslab,44,2 +woodenplankstonehalfblock,44,2 +woodplankstonehalfblock,44,2 +wplankstonehalfblock,44,2 +plankstonehalfblock,44,2 +woodenstonehalfblock,44,2 +woodstonehalfblock,44,2 +wstonehalfblock,44,2 cobblestonestep,44,3 cobblestep,44,3 cstonestep,44,3 @@ -1402,10 +1055,6 @@ cobblestonehalfblock,44,3 cobblehalfblock,44,3 cstonehalfblock,44,3 cshalfblock,44,3 -cobblestonehblock,44,3 -cobblehblock,44,3 -cstonehblock,44,3 -cshblock,44,3 brickblockstep,44,4 brickbstep,44,4 brickstep,44,4 @@ -1418,10 +1067,6 @@ brickblockhalfblock,44,4 brickbhalfblock,44,4 brickhalfblock,44,4 bhalfblock,44,4 -brickblockhblock,44,4 -brickbhblock,44,4 -brickhblock,44,4 -bhblock,44,4 stonebrickstep,44,5 stonebstep,44,5 sbrickstep,44,5 @@ -1434,10 +1079,6 @@ stonebrickhalfblock,44,5 stonebhalfblock,44,5 sbrickhalfblock,44,5 sbhalfblock,44,5 -stonebrickhblock,44,5 -stonebhblock,44,5 -sbrickhblock,44,5 -sbhblock,44,5 brickblock,45,0 blockbrick,45,0 bblock,45,0 @@ -1469,12 +1110,6 @@ obby,49,0 torch,50,0 burningstick,50,0 burnstick,50,0 -coalonstick,50,0 -coalonastick,50,0 -charcoalonstick,50,0 -charcoalonastick,50,0 -ccoalonstick,50,0 -ccoalonastick,50,0 fire,51,0 flame,51,0 flames,51,0 @@ -1492,13 +1127,8 @@ wstairs,53,0 woodenstair,53,0 woodstair,53,0 wstair,53,0 -stairswooden,53,0 -stairswood,53,0 -stairsw,53,0 -stairwooden,53,0 -stairwood,53,0 -stairw,53,0 chest,54,0 +container,54,0 redstonewireblock,55,0 rstonewireblock,55,0 redswireblock,55,0 @@ -1578,20 +1208,6 @@ cobblestair,67,0 csstair,67,0 sstair,67,0 cstair,67,0 -stairscobblestone,67,0 -stairscstone,67,0 -stairsstone,67,0 -stairscobble,67,0 -stairscs,67,0 -stairss,67,0 -stairsc,67,0 -staircobblestone,67,0 -staircstone,67,0 -stairstone,67,0 -staircobble,67,0 -staircs,67,0 -stairs,67,0 -stairc,67,0 wallsign,68,0 wsign,68,0 lever,69,0 @@ -1983,19 +1599,6 @@ redbstair,108,0 rbrickstair,108,0 bstair,108,0 redstair,108,0 -stairsbrick,108,0 -stairsredbrick,108,0 -stairsredb,108,0 -stairsrbrick,108,0 -stairsb,108,0 -stairsred,108,0 -stairbrick,108,0 -stairredbrick,108,0 -stairredb,108,0 -stairrbrick,108,0 -stairb,108,0 -stairred,108,0 -stairsstonebrick,109,0 stonebrickstairs,109,0 stonebstairs,109,0 sbstairs,109,0 @@ -2136,6 +1739,8 @@ endrock,121,0 enderrock,121,0 erock,121,0 estone,121,0 +enderdragonegg,122,0 +endegg,122,0 dragonegg,122,0 degg,122,0 bossegg,122,0 @@ -2149,6 +1754,1045 @@ rslampoff,123,0 redstonelampon,124,0 redlampon,124,0 rslampon,124,0 +woodenplankdoublehalfblock,125,0 +woodenplankdhalfblock,125,0 +woodplankdoublehalfblock,125,0 +woodplankdhalfblock,125,0 +wplankdoublehalfblock,125,0 +wplankdhalfblock,125,0 +plankdoublehalfblock,125,0 +plankdhalfblock,125,0 +woodendoublehalfblock,125,0 +woodendhalfblock,125,0 +wooddoublehalfblock,125,0 +wooddhalfblock,125,0 +wdoublehalfblock,125,0 +wdhalfblock,125,0 +doublewoodenplankhalfblock,125,0 +dwoodenplankhalfblock,125,0 +doublewoodplankhalfblock,125,0 +dwoodplankhalfblock,125,0 +doublewplankhalfblock,125,0 +dwplankhalfblock,125,0 +doubleplankhalfblock,125,0 +dplankhalfblock,125,0 +doublewoodenhalfblock,125,0 +dwoodenhalfblock,125,0 +doublewoodhalfblock,125,0 +dwoodhalfblock,125,0 +doublewhalfblock,125,0 +dwhalfblock,125,0 +woodenplankdoublestep,125,0 +woodenplankdstep,125,0 +woodplankdoublestep,125,0 +woodplankdstep,125,0 +wplankdoublestep,125,0 +wplankdstep,125,0 +plankdoublestep,125,0 +plankdstep,125,0 +woodendoublestep,125,0 +woodendstep,125,0 +wooddoublestep,125,0 +wooddstep,125,0 +wdoublestep,125,0 +wdstep,125,0 +doublewoodenplankstep,125,0 +dwoodenplankstep,125,0 +doublewoodplankstep,125,0 +dwoodplankstep,125,0 +doublewplankstep,125,0 +dwplankstep,125,0 +doubleplankstep,125,0 +dplankstep,125,0 +doublewoodenstep,125,0 +dwoodenstep,125,0 +doublewoodstep,125,0 +dwoodstep,125,0 +doublewstep,125,0 +dwstep,125,0 +woodenplankdoubleslab,125,0 +woodenplankdslab,125,0 +woodplankdoubleslab,125,0 +woodplankdslab,125,0 +wplankdoubleslab,125,0 +wplankdslab,125,0 +plankdoubleslab,125,0 +plankdslab,125,0 +woodendoubleslab,125,0 +woodendslab,125,0 +wooddoubleslab,125,0 +wooddslab,125,0 +wdoubleslab,125,0 +wdslab,125,0 +doublewoodenplankslab,125,0 +dwoodenplankslab,125,0 +doublewoodplankslab,125,0 +dwoodplankslab,125,0 +doublewplankslab,125,0 +dwplankslab,125,0 +doubleplankslab,125,0 +dplankslab,125,0 +doublewoodenslab,125,0 +dwoodenslab,125,0 +doublewoodslab,125,0 +dwoodslab,125,0 +doublewslab,125,0 +dwslab,125,0 +oakwoodenplankdoublehalfblock,125,0 +oakwoodenplankdhalfblock,125,0 +oakwoodplankdoublehalfblock,125,0 +oakwoodplankdhalfblock,125,0 +oakwplankdoublehalfblock,125,0 +oakwplankdhalfblock,125,0 +oakplankdoublehalfblock,125,0 +oakplankdhalfblock,125,0 +oakwoodendoublehalfblock,125,0 +oakwoodendhalfblock,125,0 +oakwooddoublehalfblock,125,0 +oakwooddhalfblock,125,0 +oakwdoublehalfblock,125,0 +oakwdhalfblock,125,0 +oakdoublewoodenplankhalfblock,125,0 +oakdwoodenplankhalfblock,125,0 +oakdoublewoodplankhalfblock,125,0 +oakdwoodplankhalfblock,125,0 +oakdoublewplankhalfblock,125,0 +oakdwplankhalfblock,125,0 +oakdoubleplankhalfblock,125,0 +oakdplankhalfblock,125,0 +oakdoublewoodenhalfblock,125,0 +oakdwoodenhalfblock,125,0 +oakdoublewoodhalfblock,125,0 +oakdwoodhalfblock,125,0 +oakdoublewhalfblock,125,0 +oakdwhalfblock,125,0 +oakdoublehalfblock,125,0 +oakdhalfblock,125,0 +oakwoodenplankdoublestep,125,0 +oakwoodenplankdstep,125,0 +oakwoodplankdoublestep,125,0 +oakwoodplankdstep,125,0 +oakwplankdoublestep,125,0 +oakwplankdstep,125,0 +oakplankdoublestep,125,0 +oakplankdstep,125,0 +oakwoodendoublestep,125,0 +oakwoodendstep,125,0 +oakwooddoublestep,125,0 +oakwooddstep,125,0 +oakwdoublestep,125,0 +oakwdstep,125,0 +oakdoublewoodenplankstep,125,0 +oakdwoodenplankstep,125,0 +oakdoublewoodplankstep,125,0 +oakdwoodplankstep,125,0 +oakdoublewplankstep,125,0 +oakdwplankstep,125,0 +oakdoubleplankstep,125,0 +oakdplankstep,125,0 +oakdoublewoodenstep,125,0 +oakdwoodenstep,125,0 +oakdoublewoodstep,125,0 +oakdwoodstep,125,0 +oakdoublewstep,125,0 +oakdwstep,125,0 +oakdoublestep,125,0 +oakdstep,125,0 +oakwoodenplankdoubleslab,125,0 +oakwoodenplankdslab,125,0 +oakwoodplankdoubleslab,125,0 +oakwoodplankdslab,125,0 +oakwplankdoubleslab,125,0 +oakwplankdslab,125,0 +oakplankdoubleslab,125,0 +oakplankdslab,125,0 +oakwoodendoubleslab,125,0 +oakwoodendslab,125,0 +oakwooddoubleslab,125,0 +oakwooddslab,125,0 +oakwdoubleslab,125,0 +oakwdslab,125,0 +oakdoublewoodenplankslab,125,0 +oakdwoodenplankslab,125,0 +oakdoublewoodplankslab,125,0 +oakdwoodplankslab,125,0 +oakdoublewplankslab,125,0 +oakdwplankslab,125,0 +oakdoubleplankslab,125,0 +oakdplankslab,125,0 +oakdoublewoodenslab,125,0 +oakdwoodenslab,125,0 +oakdoublewoodslab,125,0 +oakdwoodslab,125,0 +oakdoublewslab,125,0 +oakdwslab,125,0 +oakdoubleslab,125,0 +oakdslab,125,0 +sprucewoodenplankdoublehalfblock,125,1 +sprucewoodenplankdhalfblock,125,1 +sprucewoodplankdoublehalfblock,125,1 +sprucewoodplankdhalfblock,125,1 +sprucewplankdoublehalfblock,125,1 +sprucewplankdhalfblock,125,1 +spruceplankdoublehalfblock,125,1 +spruceplankdhalfblock,125,1 +sprucewoodendoublehalfblock,125,1 +sprucewoodendhalfblock,125,1 +sprucewooddoublehalfblock,125,1 +sprucewooddhalfblock,125,1 +sprucewdoublehalfblock,125,1 +sprucewdhalfblock,125,1 +sprucedoublewoodenplankhalfblock,125,1 +sprucedwoodenplankhalfblock,125,1 +sprucedoublewoodplankhalfblock,125,1 +sprucedwoodplankhalfblock,125,1 +sprucedoublewplankhalfblock,125,1 +sprucedwplankhalfblock,125,1 +sprucedoubleplankhalfblock,125,1 +sprucedplankhalfblock,125,1 +sprucedoublewoodenhalfblock,125,1 +sprucedwoodenhalfblock,125,1 +sprucedoublewoodhalfblock,125,1 +sprucedwoodhalfblock,125,1 +sprucedoublewhalfblock,125,1 +sprucedwhalfblock,125,1 +sprucedoublehalfblock,125,1 +sprucedhalfblock,125,1 +sprucewoodenplankdoublestep,125,1 +sprucewoodenplankdstep,125,1 +sprucewoodplankdoublestep,125,1 +sprucewoodplankdstep,125,1 +sprucewplankdoublestep,125,1 +sprucewplankdstep,125,1 +spruceplankdoublestep,125,1 +spruceplankdstep,125,1 +sprucewoodendoublestep,125,1 +sprucewoodendstep,125,1 +sprucewooddoublestep,125,1 +sprucewooddstep,125,1 +sprucewdoublestep,125,1 +sprucewdstep,125,1 +sprucedoublewoodenplankstep,125,1 +sprucedwoodenplankstep,125,1 +sprucedoublewoodplankstep,125,1 +sprucedwoodplankstep,125,1 +sprucedoublewplankstep,125,1 +sprucedwplankstep,125,1 +sprucedoubleplankstep,125,1 +sprucedplankstep,125,1 +sprucedoublewoodenstep,125,1 +sprucedwoodenstep,125,1 +sprucedoublewoodstep,125,1 +sprucedwoodstep,125,1 +sprucedoublewstep,125,1 +sprucedwstep,125,1 +sprucedoublestep,125,1 +sprucedstep,125,1 +sprucewoodenplankdoubleslab,125,1 +sprucewoodenplankdslab,125,1 +sprucewoodplankdoubleslab,125,1 +sprucewoodplankdslab,125,1 +sprucewplankdoubleslab,125,1 +sprucewplankdslab,125,1 +spruceplankdoubleslab,125,1 +spruceplankdslab,125,1 +sprucewoodendoubleslab,125,1 +sprucewoodendslab,125,1 +sprucewooddoubleslab,125,1 +sprucewooddslab,125,1 +sprucewdoubleslab,125,1 +sprucewdslab,125,1 +sprucedoublewoodenplankslab,125,1 +sprucedwoodenplankslab,125,1 +sprucedoublewoodplankslab,125,1 +sprucedwoodplankslab,125,1 +sprucedoublewplankslab,125,1 +sprucedwplankslab,125,1 +sprucedoubleplankslab,125,1 +sprucedplankslab,125,1 +sprucedoublewoodenslab,125,1 +sprucedwoodenslab,125,1 +sprucedoublewoodslab,125,1 +sprucedwoodslab,125,1 +sprucedoublewslab,125,1 +sprucedwslab,125,1 +sprucedoubleslab,125,1 +sprucedslab,125,1 +darkwoodenplankdoublehalfblock,125,1 +darkwoodenplankdhalfblock,125,1 +darkwoodplankdoublehalfblock,125,1 +darkwoodplankdhalfblock,125,1 +darkwplankdoublehalfblock,125,1 +darkwplankdhalfblock,125,1 +darkplankdoublehalfblock,125,1 +darkplankdhalfblock,125,1 +darkwoodendoublehalfblock,125,1 +darkwoodendhalfblock,125,1 +darkwooddoublehalfblock,125,1 +darkwooddhalfblock,125,1 +darkwdoublehalfblock,125,1 +darkwdhalfblock,125,1 +darkdoublewoodenplankhalfblock,125,1 +darkdwoodenplankhalfblock,125,1 +darkdoublewoodplankhalfblock,125,1 +darkdwoodplankhalfblock,125,1 +darkdoublewplankhalfblock,125,1 +darkdwplankhalfblock,125,1 +darkdoubleplankhalfblock,125,1 +darkdplankhalfblock,125,1 +darkdoublewoodenhalfblock,125,1 +darkdwoodenhalfblock,125,1 +darkdoublewoodhalfblock,125,1 +darkdwoodhalfblock,125,1 +darkdoublewhalfblock,125,1 +darkdwhalfblock,125,1 +darkdoublehalfblock,125,1 +darkdhalfblock,125,1 +darkwoodenplankdoublestep,125,1 +darkwoodenplankdstep,125,1 +darkwoodplankdoublestep,125,1 +darkwoodplankdstep,125,1 +darkwplankdoublestep,125,1 +darkwplankdstep,125,1 +darkplankdoublestep,125,1 +darkplankdstep,125,1 +darkwoodendoublestep,125,1 +darkwoodendstep,125,1 +darkwooddoublestep,125,1 +darkwooddstep,125,1 +darkwdoublestep,125,1 +darkwdstep,125,1 +darkdoublewoodenplankstep,125,1 +darkdwoodenplankstep,125,1 +darkdoublewoodplankstep,125,1 +darkdwoodplankstep,125,1 +darkdoublewplankstep,125,1 +darkdwplankstep,125,1 +darkdoubleplankstep,125,1 +darkdplankstep,125,1 +darkdoublewoodenstep,125,1 +darkdwoodenstep,125,1 +darkdoublewoodstep,125,1 +darkdwoodstep,125,1 +darkdoublewstep,125,1 +darkdwstep,125,1 +darkdoublestep,125,1 +darkdstep,125,1 +darkwoodenplankdoubleslab,125,1 +darkwoodenplankdslab,125,1 +darkwoodplankdoubleslab,125,1 +darkwoodplankdslab,125,1 +darkwplankdoubleslab,125,1 +darkwplankdslab,125,1 +darkplankdoubleslab,125,1 +darkplankdslab,125,1 +darkwoodendoubleslab,125,1 +darkwoodendslab,125,1 +darkwooddoubleslab,125,1 +darkwooddslab,125,1 +darkwdoubleslab,125,1 +darkwdslab,125,1 +darkdoublewoodenplankslab,125,1 +darkdwoodenplankslab,125,1 +darkdoublewoodplankslab,125,1 +darkdwoodplankslab,125,1 +darkdoublewplankslab,125,1 +darkdwplankslab,125,1 +darkdoubleplankslab,125,1 +darkdplankslab,125,1 +darkdoublewoodenslab,125,1 +darkdwoodenslab,125,1 +darkdoublewoodslab,125,1 +darkdwoodslab,125,1 +darkdoublewslab,125,1 +darkdwslab,125,1 +darkdoubleslab,125,1 +darkdslab,125,1 +birchwoodenplankdoublehalfblock,125,2 +birchwoodenplankdhalfblock,125,2 +birchwoodplankdoublehalfblock,125,2 +birchwoodplankdhalfblock,125,2 +birchwplankdoublehalfblock,125,2 +birchwplankdhalfblock,125,2 +birchplankdoublehalfblock,125,2 +birchplankdhalfblock,125,2 +birchwoodendoublehalfblock,125,2 +birchwoodendhalfblock,125,2 +birchwooddoublehalfblock,125,2 +birchwooddhalfblock,125,2 +birchwdoublehalfblock,125,2 +birchwdhalfblock,125,2 +birchdoublewoodenplankhalfblock,125,2 +birchdwoodenplankhalfblock,125,2 +birchdoublewoodplankhalfblock,125,2 +birchdwoodplankhalfblock,125,2 +birchdoublewplankhalfblock,125,2 +birchdwplankhalfblock,125,2 +birchdoubleplankhalfblock,125,2 +birchdplankhalfblock,125,2 +birchdoublewoodenhalfblock,125,2 +birchdwoodenhalfblock,125,2 +birchdoublewoodhalfblock,125,2 +birchdwoodhalfblock,125,2 +birchdoublewhalfblock,125,2 +birchdwhalfblock,125,2 +birchdoublehalfblock,125,2 +birchdhalfblock,125,2 +birchwoodenplankdoublestep,125,2 +birchwoodenplankdstep,125,2 +birchwoodplankdoublestep,125,2 +birchwoodplankdstep,125,2 +birchwplankdoublestep,125,2 +birchwplankdstep,125,2 +birchplankdoublestep,125,2 +birchplankdstep,125,2 +birchwoodendoublestep,125,2 +birchwoodendstep,125,2 +birchwooddoublestep,125,2 +birchwooddstep,125,2 +birchwdoublestep,125,2 +birchwdstep,125,2 +birchdoublewoodenplankstep,125,2 +birchdwoodenplankstep,125,2 +birchdoublewoodplankstep,125,2 +birchdwoodplankstep,125,2 +birchdoublewplankstep,125,2 +birchdwplankstep,125,2 +birchdoubleplankstep,125,2 +birchdplankstep,125,2 +birchdoublewoodenstep,125,2 +birchdwoodenstep,125,2 +birchdoublewoodstep,125,2 +birchdwoodstep,125,2 +birchdoublewstep,125,2 +birchdwstep,125,2 +birchdoublestep,125,2 +birchdstep,125,2 +birchwoodenplankdoubleslab,125,2 +birchwoodenplankdslab,125,2 +birchwoodplankdoubleslab,125,2 +birchwoodplankdslab,125,2 +birchwplankdoubleslab,125,2 +birchwplankdslab,125,2 +birchplankdoubleslab,125,2 +birchplankdslab,125,2 +birchwoodendoubleslab,125,2 +birchwoodendslab,125,2 +birchwooddoubleslab,125,2 +birchwooddslab,125,2 +birchwdoubleslab,125,2 +birchwdslab,125,2 +birchdoublewoodenplankslab,125,2 +birchdwoodenplankslab,125,2 +birchdoublewoodplankslab,125,2 +birchdwoodplankslab,125,2 +birchdoublewplankslab,125,2 +birchdwplankslab,125,2 +birchdoubleplankslab,125,2 +birchdplankslab,125,2 +birchdoublewoodenslab,125,2 +birchdwoodenslab,125,2 +birchdoublewoodslab,125,2 +birchdwoodslab,125,2 +birchdoublewslab,125,2 +birchdwslab,125,2 +birchdoubleslab,125,2 +birchdslab,125,2 +lightwoodenplankdoublehalfblock,125,2 +lightwoodenplankdhalfblock,125,2 +lightwoodplankdoublehalfblock,125,2 +lightwoodplankdhalfblock,125,2 +lightwplankdoublehalfblock,125,2 +lightwplankdhalfblock,125,2 +lightplankdoublehalfblock,125,2 +lightplankdhalfblock,125,2 +lightwoodendoublehalfblock,125,2 +lightwoodendhalfblock,125,2 +lightwooddoublehalfblock,125,2 +lightwooddhalfblock,125,2 +lightwdoublehalfblock,125,2 +lightwdhalfblock,125,2 +lightdoublewoodenplankhalfblock,125,2 +lightdwoodenplankhalfblock,125,2 +lightdoublewoodplankhalfblock,125,2 +lightdwoodplankhalfblock,125,2 +lightdoublewplankhalfblock,125,2 +lightdwplankhalfblock,125,2 +lightdoubleplankhalfblock,125,2 +lightdplankhalfblock,125,2 +lightdoublewoodenhalfblock,125,2 +lightdwoodenhalfblock,125,2 +lightdoublewoodhalfblock,125,2 +lightdwoodhalfblock,125,2 +lightdoublewhalfblock,125,2 +lightdwhalfblock,125,2 +lightdoublehalfblock,125,2 +lightdhalfblock,125,2 +lightwoodenplankdoublestep,125,2 +lightwoodenplankdstep,125,2 +lightwoodplankdoublestep,125,2 +lightwoodplankdstep,125,2 +lightwplankdoublestep,125,2 +lightwplankdstep,125,2 +lightplankdoublestep,125,2 +lightplankdstep,125,2 +lightwoodendoublestep,125,2 +lightwoodendstep,125,2 +lightwooddoublestep,125,2 +lightwooddstep,125,2 +lightwdoublestep,125,2 +lightwdstep,125,2 +lightdoublewoodenplankstep,125,2 +lightdwoodenplankstep,125,2 +lightdoublewoodplankstep,125,2 +lightdwoodplankstep,125,2 +lightdoublewplankstep,125,2 +lightdwplankstep,125,2 +lightdoubleplankstep,125,2 +lightdplankstep,125,2 +lightdoublewoodenstep,125,2 +lightdwoodenstep,125,2 +lightdoublewoodstep,125,2 +lightdwoodstep,125,2 +lightdoublewstep,125,2 +lightdwstep,125,2 +lightdoublestep,125,2 +lightdstep,125,2 +lightwoodenplankdoubleslab,125,2 +lightwoodenplankdslab,125,2 +lightwoodplankdoubleslab,125,2 +lightwoodplankdslab,125,2 +lightwplankdoubleslab,125,2 +lightwplankdslab,125,2 +lightplankdoubleslab,125,2 +lightplankdslab,125,2 +lightwoodendoubleslab,125,2 +lightwoodendslab,125,2 +lightwooddoubleslab,125,2 +lightwooddslab,125,2 +lightwdoubleslab,125,2 +lightwdslab,125,2 +lightdoublewoodenplankslab,125,2 +lightdwoodenplankslab,125,2 +lightdoublewoodplankslab,125,2 +lightdwoodplankslab,125,2 +lightdoublewplankslab,125,2 +lightdwplankslab,125,2 +lightdoubleplankslab,125,2 +lightdplankslab,125,2 +lightdoublewoodenslab,125,2 +lightdwoodenslab,125,2 +lightdoublewoodslab,125,2 +lightdwoodslab,125,2 +lightdoublewslab,125,2 +lightdwslab,125,2 +lightdoubleslab,125,2 +lightdslab,125,2 +junglewoodenplankdoublehalfblock,125,3 +junglewoodenplankdhalfblock,125,3 +junglewoodplankdoublehalfblock,125,3 +junglewoodplankdhalfblock,125,3 +junglewplankdoublehalfblock,125,3 +junglewplankdhalfblock,125,3 +jungleplankdoublehalfblock,125,3 +jungleplankdhalfblock,125,3 +junglewoodendoublehalfblock,125,3 +junglewoodendhalfblock,125,3 +junglewooddoublehalfblock,125,3 +junglewooddhalfblock,125,3 +junglewdoublehalfblock,125,3 +junglewdhalfblock,125,3 +jungledoublewoodenplankhalfblock,125,3 +jungledwoodenplankhalfblock,125,3 +jungledoublewoodplankhalfblock,125,3 +jungledwoodplankhalfblock,125,3 +jungledoublewplankhalfblock,125,3 +jungledwplankhalfblock,125,3 +jungledoubleplankhalfblock,125,3 +jungledplankhalfblock,125,3 +jungledoublewoodenhalfblock,125,3 +jungledwoodenhalfblock,125,3 +jungledoublewoodhalfblock,125,3 +jungledwoodhalfblock,125,3 +jungledoublewhalfblock,125,3 +jungledwhalfblock,125,3 +jungledoublehalfblock,125,3 +jungledhalfblock,125,3 +junglewoodenplankdoublestep,125,3 +junglewoodenplankdstep,125,3 +junglewoodplankdoublestep,125,3 +junglewoodplankdstep,125,3 +junglewplankdoublestep,125,3 +junglewplankdstep,125,3 +jungleplankdoublestep,125,3 +jungleplankdstep,125,3 +junglewoodendoublestep,125,3 +junglewoodendstep,125,3 +junglewooddoublestep,125,3 +junglewooddstep,125,3 +junglewdoublestep,125,3 +junglewdstep,125,3 +jungledoublewoodenplankstep,125,3 +jungledwoodenplankstep,125,3 +jungledoublewoodplankstep,125,3 +jungledwoodplankstep,125,3 +jungledoublewplankstep,125,3 +jungledwplankstep,125,3 +jungledoubleplankstep,125,3 +jungledplankstep,125,3 +jungledoublewoodenstep,125,3 +jungledwoodenstep,125,3 +jungledoublewoodstep,125,3 +jungledwoodstep,125,3 +jungledoublewstep,125,3 +jungledwstep,125,3 +jungledoublestep,125,3 +jungledstep,125,3 +junglewoodenplankdoubleslab,125,3 +junglewoodenplankdslab,125,3 +junglewoodplankdoubleslab,125,3 +junglewoodplankdslab,125,3 +junglewplankdoubleslab,125,3 +junglewplankdslab,125,3 +jungleplankdoubleslab,125,3 +jungleplankdslab,125,3 +junglewoodendoubleslab,125,3 +junglewoodendslab,125,3 +junglewooddoubleslab,125,3 +junglewooddslab,125,3 +junglewdoubleslab,125,3 +junglewdslab,125,3 +jungledoublewoodenplankslab,125,3 +jungledwoodenplankslab,125,3 +jungledoublewoodplankslab,125,3 +jungledwoodplankslab,125,3 +jungledoublewplankslab,125,3 +jungledwplankslab,125,3 +jungledoubleplankslab,125,3 +jungledplankslab,125,3 +jungledoublewoodenslab,125,3 +jungledwoodenslab,125,3 +jungledoublewoodslab,125,3 +jungledwoodslab,125,3 +jungledoublewslab,125,3 +jungledwslab,125,3 +jungledoubleslab,125,3 +jungledslab,125,3 +forestwoodenplankdoublehalfblock,125,3 +forestwoodenplankdhalfblock,125,3 +forestwoodplankdoublehalfblock,125,3 +forestwoodplankdhalfblock,125,3 +forestwplankdoublehalfblock,125,3 +forestwplankdhalfblock,125,3 +forestplankdoublehalfblock,125,3 +forestplankdhalfblock,125,3 +forestwoodendoublehalfblock,125,3 +forestwoodendhalfblock,125,3 +forestwooddoublehalfblock,125,3 +forestwooddhalfblock,125,3 +forestwdoublehalfblock,125,3 +forestwdhalfblock,125,3 +forestdoublewoodenplankhalfblock,125,3 +forestdwoodenplankhalfblock,125,3 +forestdoublewoodplankhalfblock,125,3 +forestdwoodplankhalfblock,125,3 +forestdoublewplankhalfblock,125,3 +forestdwplankhalfblock,125,3 +forestdoubleplankhalfblock,125,3 +forestdplankhalfblock,125,3 +forestdoublewoodenhalfblock,125,3 +forestdwoodenhalfblock,125,3 +forestdoublewoodhalfblock,125,3 +forestdwoodhalfblock,125,3 +forestdoublewhalfblock,125,3 +forestdwhalfblock,125,3 +forestdoublehalfblock,125,3 +forestdhalfblock,125,3 +forestwoodenplankdoublestep,125,3 +forestwoodenplankdstep,125,3 +forestwoodplankdoublestep,125,3 +forestwoodplankdstep,125,3 +forestwplankdoublestep,125,3 +forestwplankdstep,125,3 +forestplankdoublestep,125,3 +forestplankdstep,125,3 +forestwoodendoublestep,125,3 +forestwoodendstep,125,3 +forestwooddoublestep,125,3 +forestwooddstep,125,3 +forestwdoublestep,125,3 +forestwdstep,125,3 +forestdoublewoodenplankstep,125,3 +forestdwoodenplankstep,125,3 +forestdoublewoodplankstep,125,3 +forestdwoodplankstep,125,3 +forestdoublewplankstep,125,3 +forestdwplankstep,125,3 +forestdoubleplankstep,125,3 +forestdplankstep,125,3 +forestdoublewoodenstep,125,3 +forestdwoodenstep,125,3 +forestdoublewoodstep,125,3 +forestdwoodstep,125,3 +forestdoublewstep,125,3 +forestdwstep,125,3 +forestdoublestep,125,3 +forestdstep,125,3 +forestwoodenplankdoubleslab,125,3 +forestwoodenplankdslab,125,3 +forestwoodplankdoubleslab,125,3 +forestwoodplankdslab,125,3 +forestwplankdoubleslab,125,3 +forestwplankdslab,125,3 +forestplankdoubleslab,125,3 +forestplankdslab,125,3 +forestwoodendoubleslab,125,3 +forestwoodendslab,125,3 +forestwooddoubleslab,125,3 +forestwooddslab,125,3 +forestwdoubleslab,125,3 +forestwdslab,125,3 +forestdoublewoodenplankslab,125,3 +forestdwoodenplankslab,125,3 +forestdoublewoodplankslab,125,3 +forestdwoodplankslab,125,3 +forestdoublewplankslab,125,3 +forestdwplankslab,125,3 +forestdoubleplankslab,125,3 +forestdplankslab,125,3 +forestdoublewoodenslab,125,3 +forestdwoodenslab,125,3 +forestdoublewoodslab,125,3 +forestdwoodslab,125,3 +forestdoublewslab,125,3 +forestdwslab,125,3 +forestdoubleslab,125,3 +forestdslab,125,3 +woodenplankstep,126,0 +woodplankstep,126,0 +wplankstep,126,0 +plankstep,126,0 +woodenstep,126,0 +woodstep,126,0 +wstep,126,0 +woodenplankslab,126,0 +woodplankslab,126,0 +wplankslab,126,0 +plankslab,126,0 +woodenslab,126,0 +woodslab,126,0 +wslab,126,0 +woodenplankhalfblock,126,0 +woodplankhalfblock,126,0 +wplankhalfblock,126,0 +plankhalfblock,126,0 +woodenhalfblock,126,0 +woodhalfblock,126,0 +whalfblock,126,0 +oakwoodenplankstep,126,0 +oakwoodplankstep,126,0 +oakwplankstep,126,0 +oakplankstep,126,0 +oakwoodenstep,126,0 +oakwoodstep,126,0 +oakwstep,126,0 +oakstep,126,0 +oakwoodenplankslab,126,0 +oakwoodplankslab,126,0 +oakwplankslab,126,0 +oakplankslab,126,0 +oakwoodenslab,126,0 +oakwoodslab,126,0 +oakwslab,126,0 +oakslab,126,0 +oakwoodenplankhalfblock,126,0 +oakwoodplankhalfblock,126,0 +oakwplankhalfblock,126,0 +oakplankhalfblock,126,0 +oakwoodenhalfblock,126,0 +oakwoodhalfblock,126,0 +oakwhalfblock,126,0 +oakhalfblock,126,0 +sprucewoodenplankstep,126,1 +sprucewoodplankstep,126,1 +sprucewplankstep,126,1 +spruceplankstep,126,1 +sprucewoodenstep,126,1 +sprucewoodstep,126,1 +sprucewstep,126,1 +sprucestep,126,1 +sprucewoodenplankslab,126,1 +sprucewoodplankslab,126,1 +sprucewplankslab,126,1 +spruceplankslab,126,1 +sprucewoodenslab,126,1 +sprucewoodslab,126,1 +sprucewslab,126,1 +spruceslab,126,1 +sprucewoodenplankhalfblock,126,1 +sprucewoodplankhalfblock,126,1 +sprucewplankhalfblock,126,1 +spruceplankhalfblock,126,1 +sprucewoodenhalfblock,126,1 +sprucewoodhalfblock,126,1 +sprucewhalfblock,126,1 +sprucehalfblock,126,1 +darkwoodenplankstep,126,1 +darkwoodplankstep,126,1 +darkwplankstep,126,1 +darkplankstep,126,1 +darkwoodenstep,126,1 +darkwoodstep,126,1 +darkwstep,126,1 +darkstep,126,1 +darkwoodenplankslab,126,1 +darkwoodplankslab,126,1 +darkwplankslab,126,1 +darkplankslab,126,1 +darkwoodenslab,126,1 +darkwoodslab,126,1 +darkwslab,126,1 +darkslab,126,1 +darkwoodenplankhalfblock,126,1 +darkwoodplankhalfblock,126,1 +darkwplankhalfblock,126,1 +darkplankhalfblock,126,1 +darkwoodenhalfblock,126,1 +darkwoodhalfblock,126,1 +darkwhalfblock,126,1 +darkhalfblock,126,1 +birchwoodenplankstep,126,2 +birchwoodplankstep,126,2 +birchwplankstep,126,2 +birchplankstep,126,2 +birchwoodenstep,126,2 +birchwoodstep,126,2 +birchwstep,126,2 +birchstep,126,2 +birchwoodenplankslab,126,2 +birchwoodplankslab,126,2 +birchwplankslab,126,2 +birchplankslab,126,2 +birchwoodenslab,126,2 +birchwoodslab,126,2 +birchwslab,126,2 +birchslab,126,2 +birchwoodenplankhalfblock,126,2 +birchwoodplankhalfblock,126,2 +birchwplankhalfblock,126,2 +birchplankhalfblock,126,2 +birchwoodenhalfblock,126,2 +birchwoodhalfblock,126,2 +birchwhalfblock,126,2 +birchhalfblock,126,2 +lightwoodenplankstep,126,2 +lightwoodplankstep,126,2 +lightwplankstep,126,2 +lightplankstep,126,2 +lightwoodenstep,126,2 +lightwoodstep,126,2 +lightwstep,126,2 +lightstep,126,2 +lightwoodenplankslab,126,2 +lightwoodplankslab,126,2 +lightwplankslab,126,2 +lightplankslab,126,2 +lightwoodenslab,126,2 +lightwoodslab,126,2 +lightwslab,126,2 +lightslab,126,2 +lightwoodenplankhalfblock,126,2 +lightwoodplankhalfblock,126,2 +lightwplankhalfblock,126,2 +lightplankhalfblock,126,2 +lightwoodenhalfblock,126,2 +lightwoodhalfblock,126,2 +lightwhalfblock,126,2 +lighthalfblock,126,2 +junglewoodenplankstep,126,3 +junglewoodplankstep,126,3 +junglewplankstep,126,3 +jungleplankstep,126,3 +junglewoodenstep,126,3 +junglewoodstep,126,3 +junglewstep,126,3 +junglestep,126,3 +junglewoodenplankslab,126,3 +junglewoodplankslab,126,3 +junglewplankslab,126,3 +jungleplankslab,126,3 +junglewoodenslab,126,3 +junglewoodslab,126,3 +junglewslab,126,3 +jungleslab,126,3 +junglewoodenplankhalfblock,126,3 +junglewoodplankhalfblock,126,3 +junglewplankhalfblock,126,3 +jungleplankhalfblock,126,3 +junglewoodenhalfblock,126,3 +junglewoodhalfblock,126,3 +junglewhalfblock,126,3 +junglehalfblock,126,3 +forestwoodenplankstep,126,3 +forestwoodplankstep,126,3 +forestwplankstep,126,3 +forestplankstep,126,3 +forestwoodenstep,126,3 +forestwoodstep,126,3 +forestwstep,126,3 +foreststep,126,3 +forestwoodenplankslab,126,3 +forestwoodplankslab,126,3 +forestwplankslab,126,3 +forestplankslab,126,3 +forestwoodenslab,126,3 +forestwoodslab,126,3 +forestwslab,126,3 +forestslab,126,3 +forestwoodenplankhalfblock,126,3 +forestwoodplankhalfblock,126,3 +forestwplankhalfblock,126,3 +forestplankhalfblock,126,3 +forestwoodenhalfblock,126,3 +forestwoodhalfblock,126,3 +forestwhalfblock,126,3 +foresthalfblock,126,3 +cocoaplant,127,0 +cocopant,127,0 +cocoafruit,127,0 +cocofruit,127,0 +sandstairs,128,0 +sandstonestairs,128,0 +sandsstairs,128,0 +sstonestairs,128,0 +ssstairs,128,0 +sandstair,128,0 +sandstonestair,128,0 +sandsstair,128,0 +sstonestair,128,0 +ssstair,128,0 +emeraldore,129,0 +eore,129,0 +oreemerald,129,0 +oree,129,0 +enderchest,130,0 +endchest,130,0 +echest,130,0 +chestender,130,0 +chestend,130,0 +cheste,130,0 +endercontainer,130,0 +endcontainer,130,0 +econtainer,130,0 +tripwirehook,131,0 +tripwire,131,0 +trip,131,0 +tripwirelever,131,0 +triphook,131,0 +tripwireblock,132,0 +tripblock,132,0 +blocktrip,132,0 +blocktripwire,132,0 +emeraldblock,133,0 +blockemerald,133,0 +eblock,133,0 +blocke,133,0 +sprucewoodenplankstairs,134,0 +sprucewoodplankstairs,134,0 +sprucewplankstairs,134,0 +spruceplankstairs,134,0 +sprucewoodenstairs,134,0 +sprucewoodstairs,134,0 +sprucewstairs,134,0 +sprucestairs,134,0 +darkwoodenplankstairs,134,0 +darkwoodplankstairs,134,0 +darkwplankstairs,134,0 +darkplankstairs,134,0 +darkwoodenstairs,134,0 +darkwoodstairs,134,0 +darkwstairs,134,0 +darkstairs,134,0 +sprucewoodenplankstair,134,0 +sprucewoodplankstair,134,0 +sprucewplankstair,134,0 +spruceplankstair,134,0 +sprucewoodenstair,134,0 +sprucewoodstair,134,0 +sprucewstair,134,0 +sprucestair,134,0 +darkwoodenplankstair,134,0 +darkwoodplankstair,134,0 +darkwplankstair,134,0 +darkplankstair,134,0 +darkwoodenstair,134,0 +darkwoodstair,134,0 +darkwstair,134,0 +darkstair,134,0 +birchwoodenplankstairs,135,0 +birchwoodplankstairs,135,0 +birchwplankstairs,135,0 +birchplankstairs,135,0 +birchwoodenstairs,135,0 +birchwoodstairs,135,0 +birchwstairs,135,0 +birchstairs,135,0 +lightwoodenplankstairs,135,0 +lightwoodplankstairs,135,0 +lightwplankstairs,135,0 +lightplankstairs,135,0 +lightwoodenstairs,135,0 +lightwoodstairs,135,0 +lightwstairs,135,0 +lightstairs,135,0 +birchwoodenplankstair,135,0 +birchwoodplankstair,135,0 +birchwplankstair,135,0 +birchplankstair,135,0 +birchwoodenstair,135,0 +birchwoodstair,135,0 +birchwstair,135,0 +birchstair,135,0 +lightwoodenplankstair,135,0 +lightwoodplankstair,135,0 +lightwplankstair,135,0 +lightplankstair,135,0 +lightwoodenstair,135,0 +lightwoodstair,135,0 +lightwstair,135,0 +lightstair,135,0 +junglewoodenplankstairs,136,0 +junglewoodplankstairs,136,0 +junglewplankstairs,136,0 +jungleplankstairs,136,0 +junglewoodenstairs,136,0 +junglewoodstairs,136,0 +junglewstairs,136,0 +junglestairs,136,0 +forestwoodenplankstairs,136,0 +forestwoodplankstairs,136,0 +forestwplankstairs,136,0 +forestplankstairs,136,0 +forestwoodenstairs,136,0 +forestwoodstairs,136,0 +forestwstairs,136,0 +foreststairs,136,0 +junglewoodenplankstair,136,0 +junglewoodplankstair,136,0 +junglewplankstair,136,0 +jungleplankstair,136,0 +junglewoodenstair,136,0 +junglewoodstair,136,0 +junglewstair,136,0 +junglestair,136,0 +forestwoodenplankstair,136,0 +forestwoodplankstair,136,0 +forestwplankstair,136,0 +forestplankstair,136,0 +forestwoodenstair,136,0 +forestwoodstair,136,0 +forestwstair,136,0 +foreststair,136,0 ironshovel,256,0 ironspade,256,0 ishovel,256,0 @@ -2975,10 +3619,6 @@ sugar,353,0 whitedust,353,0 cake,354,0 bed,355,0 -sleepingtable,355,0 -sleeptable,355,0 -tablesleeping,355,0 -tablesleep,355,0 repeater,356,0 repeat,356,0 delayer,356,0 @@ -3096,6 +3736,750 @@ hstalk,372,0 potion,373,0 mixture,373,0 potions,373,0 +waterbottle,373,0 +fullbottle,373,0 +watervase,373,0 +fullvase,373,0 +awkwardpotion,373,16 +awkwardpot,373,16 +thickpotion,373,32 +thickpot,373,32 +mundaneexpotion,373,64 +mundaneextendedpotion,373,64 +mundaneexpot,373,64 +mundaneextendedpot,373,64 +mundanepotion,373,8192 +mundanepot,373,8192 +regenerationpotion,373,8193 +regeneratepotion,373,8193 +regenpotion,373,8193 +regenerationpot,373,8193 +regeneratepot,373,8193 +regenpot,373,8193 +rpot,373,8193 +swiftnesspotion,373,8194 +swiftpotion,373,8194 +swiftnesspot,373,8194 +swiftpot,373,8194 +swpot,373,8194 +fireresistancepotion,373,8195 +fireresistpotion,373,8195 +firerespotion,373,8195 +fireresistancepot,373,8195 +fireresistpot,373,8195 +firerespot,373,8195 +fpot,373,8195 +posionpotion,373,8196 +acidpotion,373,8196 +posionpot,373,8196 +acidpot,373,8196 +ppot,373,8196 +healingpotion,373,8197 +healpotion,373,8197 +lifepotion,373,8197 +healingpot,373,8197 +healpot,373,8197 +lifepot,373,8197 +hpot,373,8197 +weaknesspotion,373,8200 +weakpotion,373,8200 +weaknesspot,373,8200 +weakpot,373,8200 +wpot,373,8200 +strengthpotion,373,8201 +strongpotion,373,8201 +strpotion,373,8201 +strengthpot,373,8201 +strongpot,373,8201 +strpot,373,8201 +spot,373,8201 +slownesspotion,373,8202 +slowpotion,373,8202 +slownesspot,373,8202 +slowpot,373,8202 +slpot,373,8202 +harmingpotion,373,8204 +damagepotion,373,8204 +dmgpotion,373,8204 +harmingpot,373,8204 +damagepot,373,8204 +dmgpot,373,8204 +dpot,373,8204 +regenerationleveliipotion,373,8225 +regenerateleveliipotion,373,8225 +regenleveliipotion,373,8225 +regenerationlevel2potion,373,8225 +regeneratelevel2potion,373,8225 +regenlevel2potion,373,8225 +regenerationiipotion,373,8225 +regenerateiipotion,373,8225 +regeniipotion,373,8225 +regenerationleveliipot,373,8225 +regenerateleveliipot,373,8225 +regenleveliipot,373,8225 +regenerationlevel2pot,373,8225 +regeneratelevel2pot,373,8225 +regenlevel2pot,373,8225 +regenerationiipot,373,8225 +regenerateiipot,373,8225 +regeniipot,373,8225 +r2pot,373,8225 +swiftnessleveliipotion,373,8226 +swiftleveliipotion,373,8226 +swiftnesslevel2potion,373,8226 +swiftlevel2potion,373,8226 +swiftnessiipotion,373,8226 +swiftiipotion,373,8226 +swiftnessleveliipot,373,8226 +swiftleveliipot,373,8226 +swiftnesslevel2pot,373,8226 +swiftlevel2pot,373,8226 +swiftnessiipot,373,8226 +swiftiipot,373,8226 +sw2pot,373,8226 +posionleveliipotion,373,8228 +acidleveliipotion,373,8228 +posionlevel2potion,373,8228 +acidlevel2potion,373,8228 +posioniipotion,373,8228 +acidiipotion,373,8228 +posionleveliipot,373,8228 +acidleveliipot,373,8228 +posionlevel2pot,373,8228 +acidlevel2pot,373,8228 +posioniipot,373,8228 +acidiipot,373,8228 +p2pot,373,8228 +healingleveliipotion,373,8229 +healleveliipotion,373,8229 +healinglevel2potion,373,8229 +heallevel2potion,373,8229 +healingiipotion,373,8229 +healiipotion,373,8229 +healingleveliipot,373,8229 +healleveliipot,373,8229 +healinglevel2pot,373,8229 +heallevel2pot,373,8229 +healingiipot,373,8229 +healiipot,373,8229 +h2potpot,373,8229 +strengthleveliipotion,373,8233 +strongleveliipotion,373,8233 +strleveliipotion,373,8233 +strengthlevel2potion,373,8233 +stronglevel2potion,373,8233 +strlevel2potion,373,8233 +strengthiipotion,373,8233 +strongiipotion,373,8233 +striipotion,373,8233 +strengthleveliipot,373,8233 +strongleveliipot,373,8233 +strleveliipot,373,8233 +strengthlevel2pot,373,8233 +stronglevel2pot,373,8233 +strlevel2pot,373,8233 +strengthiipot,373,8233 +strongiipot,373,8233 +striipot,373,8233 +s2pot,373,8233 +harmingleveliipotion,373,8236 +damageleveliipotion,373,8236 +dmgleveliipotion,373,8236 +harminglevel2potion,373,8236 +damagelevel2potion,373,8236 +dmglevel2potion,373,8236 +harmingiipotion,373,8236 +damageiipotion,373,8236 +dmgiipotion,373,8236 +harmingleveliipot,373,8236 +damageleveliipot,373,8236 +dmgleveliipot,373,8236 +harminglevel2pot,373,8236 +damagelevel2pot,373,8236 +dmglevel2pot,373,8236 +harmingiipot,373,8236 +damageiipot,373,8236 +dmgiipot,373,8236 +d2pot,373,8236 +regenerationextendedpotion,373,8257 +regenerateextendedpotion,373,8257 +regenextendepotion,373,8257 +regenerationexpotion,373,8257 +regenerateexpotion,373,8257 +regenexpotion,373,8257 +regenerationextendedpot,373,8257 +regenerateextendedpot,373,8257 +regenextendepot,373,8257 +regenerationexpot,373,8257 +regenerateexpot,373,8257 +regenexpot,373,8257 +repot,373,8257 +swiftnessextendedpotion,373,8258 +swiftextendedpotion,373,8258 +swiftnessexpotion,373,8258 +swiftexpotion,373,8258 +swiftnessextendedpot,373,8258 +swiftextendedpot,373,8258 +swiftnessexpot,373,8258 +swiftexpot,373,8258 +swepot,373,8258 +fireresistanceextendedpotion,373,8259 +fireresistextendedpotion,373,8259 +fireresextendedpotion,373,8259 +fireresistanceexpotion,373,8259 +fireresistexpotion,373,8259 +fireresexpotion,373,8259 +fireresistanceextendedpot,373,8259 +fireresistextendedpot,373,8259 +fireresextendedpot,373,8259 +fireresistanceexpot,373,8259 +fireresistexpot,373,8259 +fireresexpot,373,8259 +fepot,373,8259 +posionextendedpotion,373,8260 +acidextendedpotion,373,8260 +posionexpotion,373,8260 +acidexpotion,373,8260 +posionextendedpot,373,8260 +acidextendedpot,373,8260 +posionexpot,373,8260 +acidexpot,373,8260 +pepot,373,8260 +weaknessextendedpotion,373,8264 +weakextendedpotion,373,8264 +weaknessexpotion,373,8264 +weakexpotion,373,8264 +weaknessextendedpot,373,8264 +weakextendedpot,373,8264 +weaknessexpot,373,8264 +weakexpot,373,8264 +wepot,373,8264 +strengthextendedpotion,373,8265 +strongextendedpotion,373,8265 +strextendedpotion,373,8265 +strengthexpotion,373,8265 +strongexpotion,373,8265 +strexpotion,373,8265 +strengthextendedpot,373,8265 +strongextendedpot,373,8265 +strextendedpot,373,8265 +strengthexpot,373,8265 +strongexpot,373,8265 +strexpot,373,8265 +sepot,373,8265 +slownessextendedpotion,373,8266 +slowextenedpotion,373,8266 +slownessexpotion,373,8266 +slowexpotion,373,8266 +slownessextendedpot,373,8266 +slowextenedpot,373,8266 +slownessexpot,373,8266 +slowexpot,373,8266 +slepot,373,8266 +regenerationdualbitpotion,373,8289 +regeneratedualbitpotion,373,8289 +regendualbitpotion,373,8289 +regenerationdualbitpot,373,8289 +regeneratedualbitpot,373,8289 +regendualbitpot,373,8289 +rdbpot,373,8289 +swiftnessdualbitpotion,373,8290 +swiftdualbitpotion,373,8290 +swiftnessdualbitpot,373,8290 +swiftdualbitpot,373,8290 +swdbpot,373,8290 +poisondualbitpotion,373,8292 +aciddualbitpotion,373,8292 +poisondualbitpot,373,8292 +aciddualbitpot,373,8292 +pdbpot,373,8292 +strengthdualbitpotion,373,8297 +strongdualbitpotion,373,8297 +strdualbitpotion,373,8297 +strengthdualbitpot,373,8297 +strongdualbitpot,373,8297 +strdualbitpot,373,8297 +sdbpot,373,8297 +splashmundanepotion,373,16384 +splmundanepotion,373,16384 +splashregenerationpotion,373,16385 +splashregeneratepotion,373,16385 +splashregenpotion,373,16385 +splashregenerationpot,373,16385 +splashregeneratepot,373,16385 +splashregenpot,373,16385 +regenerationsplashpotion,373,16385 +regeneratesplashpotion,373,16385 +regensplashpotion,373,16385 +splregenerationpotion,373,16385 +splregeneratepotion,373,16385 +splregenpotion,373,16385 +splregenerationpot,373,16385 +splregeneratepot,373,16385 +splregenpot,373,16385 +sprpot,373,16385 +splashswiftnesspotion,373,16386 +splashswiftpotion,373,16386 +splashswiftnesspot,373,16386 +splashswiftpot,373,16386 +splswiftnesspotion,373,16386 +splswiftpotion,373,16386 +splswiftnesspot,373,16386 +splswiftpot,373,16386 +spswpot,373,16386 +splashfireresistancepotion,373,16387 +splashfireresistpotion,373,16387 +splashfirerespotion,373,16387 +splashfireresistancepot,373,16387 +splashfireresistpot,373,16387 +splashfirerespot,373,16387 +splfireresistancepotion,373,16387 +splfireresistpotion,373,16387 +splfirerespotion,373,16387 +splfireresistancepot,373,16387 +splfireresistpot,373,16387 +splfirerespot,373,16387 +spfpot,373,16387 +splashposionpotion,373,16388 +splashacidpotion,373,16388 +splashposionpot,373,16388 +splashacidpot,373,16388 +splposionpotion,373,16388 +splacidpotion,373,16388 +splposionpot,373,16388 +splacidpot,373,16388 +spppot,373,16388 +splashhealingpotion,373,16389 +splashhealpotion,373,16389 +splashlifepotion,373,16389 +splashhealingpot,373,16389 +splashhealpot,373,16389 +splashlifepot,373,16389 +splhealingpotion,373,16389 +splhealpotion,373,16389 +spllifepotion,373,16389 +splhealingpot,373,16389 +splhealpot,373,16389 +spllifepot,373,16389 +sphpot,373,16389 +splashweaknesspotion,373,16392 +splashweakpotion,373,16392 +splashweaknesspot,373,16392 +splashweakpot,373,16392 +splweaknesspotion,373,16392 +splweakpotion,373,16392 +splweaknesspot,373,16392 +splweakpot,373,16392 +spwpot,373,16392 +splashstrengthpotion,373,16393 +splashstrongpotion,373,16393 +splashstrpotion,373,16393 +splashstrengthpot,373,16393 +splashstrongpot,373,16393 +splashstrpot,373,16393 +splstrengthpotion,373,16393 +splstrongpotion,373,16393 +splstrpotion,373,16393 +splstrengthpot,373,16393 +splstrongpot,373,16393 +splstrpot,373,16393 +spspot,373,16393 +splashslownesspotion,373,16394 +splashslowpotion,373,16394 +splashslownesspot,373,16394 +splashslowpot,373,16394 +splslownesspotion,373,16394 +splslowpotion,373,16394 +splslownesspot,373,16394 +splslowpot,373,16394 +spslpot,373,16394 +splashharmingpotion,373,16396 +splashdamagepotion,373,16396 +splashdmgpotion,373,16396 +splashharmingpot,373,16396 +splashdamagepot,373,16396 +splashdmgpot,373,16396 +dmgsplashpot,373,16396 +splharmingpotion,373,16396 +spldamagepotion,373,16396 +spldmgpotion,373,16396 +splharmingpot,373,16396 +spldamagepot,373,16396 +spldmgpot,373,16396 +sdpot,373,16396 +splashregenerationleveliipotion,373,16417 +splashregenerateleveliipotion,373,16417 +splashregenleveliipotion,373,16417 +splashregenerationlevel2potion,373,16417 +splashregeneratelevel2potion,373,16417 +splashregenlevel2potion,373,16417 +splashregenerationiipotion,373,16417 +splashregenerateiipotion,373,16417 +splashregeniipotion,373,16417 +splashregenerationleveliipot,373,16417 +splashregenerateleveliipot,373,16417 +splashregenleveliipot,373,16417 +splashregenerationlevel2pot,373,16417 +splashregeneratelevel2pot,373,16417 +splashregenlevel2pot,373,16417 +splashregenerationiipot,373,16417 +splashregenerateiipot,373,16417 +splashregeniipot,373,16417 +splregenerationleveliipotion,373,16417 +splregenerateleveliipotion,373,16417 +splregenleveliipotion,373,16417 +splregenerationlevel2potion,373,16417 +splregeneratelevel2potion,373,16417 +splregenlevel2potion,373,16417 +splregenerationiipotion,373,16417 +splregenerateiipotion,373,16417 +splregeniipotion,373,16417 +splregenerationleveliipot,373,16417 +splregenerateleveliipot,373,16417 +splregenleveliipot,373,16417 +splregenerationlevel2pot,373,16417 +splregeneratelevel2pot,373,16417 +splregenlevel2pot,373,16417 +splregenerationiipot,373,16417 +splregenerateiipot,373,16417 +splregeniipot,373,16417 +spr2pot,373,16417 +splashswiftnessleveliipotion,373,16418 +splashswiftleveliipotion,373,16418 +splashswiftnesslevel2potion,373,16418 +splashswiftlevel2potion,373,16418 +splashswiftnessiipotion,373,16418 +splashswiftiipotion,373,16418 +splashswiftnessleveliipot,373,16418 +splashswiftleveliipot,373,16418 +splashswiftnesslevel2pot,373,16418 +splashswiftlevel2pot,373,16418 +splashswiftnessiipot,373,16418 +splashswiftiipot,373,16418 +splswiftnessleveliipotion,373,16418 +splswiftleveliipotion,373,16418 +splswiftnesslevel2potion,373,16418 +splswiftlevel2potion,373,16418 +splswiftnessiipotion,373,16418 +splswiftiipotion,373,16418 +splswiftnessleveliipot,373,16418 +splswiftleveliipot,373,16418 +splswiftnesslevel2pot,373,16418 +splswiftlevel2pot,373,16418 +splswiftnessiipot,373,16418 +splswiftiipot,373,16418 +spsw2pot,373,16418 +splashposionleveliipotion,373,16420 +splashacidleveliipotion,373,16420 +splashposionlevel2potion,373,16420 +splashacidlevel2potion,373,16420 +splashposioniipotion,373,16420 +splashacidiipotion,373,16420 +splashposionleveliipot,373,16420 +splashacidleveliipot,373,16420 +splashposionlevel2pot,373,16420 +splashacidlevel2pot,373,16420 +splashposioniipot,373,16420 +splashacidiipot,373,16420 +splposionleveliipotion,373,16420 +splacidleveliipotion,373,16420 +splposionlevel2potion,373,16420 +splcidlevel2potion,373,16420 +splposioniipotion,373,16420 +splacidiipotion,373,16420 +splposionleveliipot,373,16420 +splacidleveliipot,373,16420 +splposionlevel2pot,373,16420 +splacidlevel2pot,373,16420 +splposioniipot,373,16420 +splacidiipot,373,16420 +spp2pot,373,16420 +splashhealingleveliipotion,373,16421 +splashhealleveliipotion,373,16421 +splashhealinglevel2potion,373,16421 +splashheallevel2potion,373,16421 +splashhealingiipotion,373,16421 +splashhealiipotion,373,16421 +splashhealingleveliipot,373,16421 +splashhealleveliipot,373,16421 +splashhealinglevel2pot,373,16421 +splashheallevel2pot,373,16421 +splashhealingiipot,373,16421 +splashhealiipot,373,16421 +splhealingleveliipotion,373,16421 +splhealleveliipotion,373,16421 +splhealinglevel2potion,373,16421 +splheallevel2potion,373,16421 +splhealingiipotion,373,16421 +splhealiipotion,373,16421 +splhealingleveliipot,373,16421 +splhealleveliipot,373,16421 +splhealinglevel2pot,373,16421 +splheallevel2pot,373,16421 +splhealingiipot,373,16421 +splhealiipot,373,16421 +sph2pot,373,16421 +splashstrengthleveliipotion,373,16425 +splashstrongleveliipotion,373,16425 +splashstrleveliipotion,373,16425 +splashstrengthlevel2potion,373,16425 +splashstronglevel2potion,373,16425 +splashstrlevel2potion,373,16425 +splashstrengthiipotion,373,16425 +splashstrongiipotion,373,16425 +splashstriipotion,373,16425 +splashstrengthleveliipot,373,16425 +splashstrongleveliipot,373,16425 +splashstrleveliipot,373,16425 +splashstrengthlevel2pot,373,16425 +splashstronglevel2pot,373,16425 +splashstrlevel2pot,373,16425 +splashstrengthiipot,373,16425 +splashstrongiipot,373,16425 +splashstriipot,373,16425 +splstrengthleveliipotion,373,16425 +splstrongleveliipotion,373,16425 +splstrleveliipotion,373,16425 +splstrengthlevel2potion,373,16425 +splstronglevel2potion,373,16425 +splstrlevel2potion,373,16425 +splstrengthiipotion,373,16425 +splstrongiipotion,373,16425 +splstriipotion,373,16425 +splstrengthleveliipot,373,16425 +splstrongleveliipot,373,16425 +splstrleveliipot,373,16425 +splstrengthlevel2pot,373,16425 +splstronglevel2pot,373,16425 +splstrlevel2pot,373,16425 +splstrengthiipot,373,16425 +splstrongiipot,373,16425 +splstriipot,373,16425 +sps2pot,373,16425 +splashharmingleveliipotion,373,16428 +splashdamageleveliipotion,373,16428 +splashdmgleveliipotion,373,16428 +splashharminglevel2potion,373,16428 +splashdamagelevel2potion,373,16428 +splashdmglevel2potion,373,16428 +splashharmingiipotion,373,16428 +splashdamageiipotion,373,16428 +splashdmgiipotion,373,16428 +splashharmingleveliipot,373,16428 +splashdamageleveliipot,373,16428 +splashdmgleveliipot,373,16428 +splashharminglevel2pot,373,16428 +splashdamagelevel2pot,373,16428 +splashdmglevel2pot,373,16428 +splashharmingiipot,373,16428 +splashdamageiipot,373,16428 +splashdmgiipot,373,16428 +splharmingleveliipotion,373,16428 +spldamageleveliipotion,373,16428 +spldmgleveliipotion,373,16428 +splharminglevel2potion,373,16428 +spldamagelevel2potion,373,16428 +spldmglevel2potion,373,16428 +splharmingiipotion,373,16428 +spldamageiipotion,373,16428 +spldmgiipotion,373,16428 +splharmingleveliipot,373,16428 +spldamageleveliipot,373,16428 +spldmgleveliipot,373,16428 +splharminglevel2pot,373,16428 +spldamagelevel2pot,373,16428 +spldmglevel2pot,373,16428 +splharmingiipot,373,16428 +spldamageiipot,373,16428 +spldmgiipot,373,16428 +spd2pot,373,16428 +splashregenerationextendedpotion,373,16449 +splashregenerateextendedpotion,373,16449 +splashregenextendepotion,373,16449 +splashregenerationexpotion,373,16449 +splashregenerateexpotion,373,16449 +splashregenexpotion,373,16449 +splashregenerationextendedpot,373,16449 +splashregenerateextendedpot,373,16449 +splashregenextendepot,373,16449 +splashregenerationexpot,373,16449 +splashregenerateexpot,373,16449 +splashregenexpot,373,16449 +splregenerationextendedpotion,373,16449 +splregenerateextendedpotion,373,16449 +splregenextendepotion,373,16449 +splregenerationexpotion,373,16449 +splregenerateexpotion,373,16449 +splregenexpotion,373,16449 +splregenerationextendedpot,373,16449 +splregenerateextendedpot,373,16449 +splregenextendepot,373,16449 +splregenerationexpot,373,16449 +splregenerateexpot,373,16449 +splregenexpot,373,16449 +sprepot,373,16449 +splashswiftnessextendedpotion,373,16450 +splashswiftextendedpotion,373,16450 +splashswiftnessexpotion,373,16450 +splashswiftexpotion,373,16450 +splashswiftnessextendedpot,373,16450 +splashswiftextendedpot,373,16450 +splashswiftnessexpot,373,16450 +splashswiftexpot,373,16450 +splswiftnessextendedpotion,373,16450 +splswiftextendedpotion,373,16450 +splswiftnessexpotion,373,16450 +splswiftexpotion,373,16450 +splswiftnessextendedpot,373,16450 +splswiftextendedpot,373,16450 +splswiftnessexpot,373,16450 +splswiftexpot,373,16450 +spswepot,373,16450 +splashfireresistanceextendedpotion,373,16451 +splashfireresistextendedpotion,373,16451 +splashfireresextendedpotion,373,16451 +splashfireresistanceexpotion,373,16451 +splashfireresistexpotion,373,16451 +splashfireresexpotion,373,16451 +splashfireresistanceextendedpot,373,16451 +splashfireresistextendedpot,373,16451 +splashfireresextendedpot,373,16451 +splashfireresistanceexpot,373,16451 +splashfireresistexpot,373,16451 +splashfireresexpot,373,16451 +splfireresistanceextendedpotion,373,16451 +splfireresistextendedpotion,373,16451 +splfireresextendedpotion,373,16451 +splfireresistanceexpotion,373,16451 +splfireresistexpotion,373,16451 +splfireresexpotion,373,16451 +splfireresistanceextendedpot,373,16451 +splfireresistextendedpot,373,16451 +splfireresextendedpot,373,16451 +splfireresistanceexpot,373,16451 +splfireresistexpot,373,16451 +splfireresexpot,373,16451 +spfepot,373,16451 +splashposionextendedpotion,373,16452 +splashacidextendedpotion,373,16452 +splashposionexpotion,373,16452 +splashacidexpotion,373,16452 +splashposionextendedpot,373,16452 +splashacidextendedpot,373,16452 +splashposionexpot,373,16452 +splashacidexpot,373,16452 +splposionextendedpotion,373,16452 +splacidextendedpotion,373,16452 +splposionexpotion,373,16452 +splacidexpotion,373,16452 +splposionextendedpot,373,16452 +splacidextendedpot,373,16452 +splposionexpot,373,16452 +splacidexpot,373,16452 +sppepot,373,16452 +splashweaknessextendedpotion,373,16456 +splashweakextendedpotion,373,16456 +splashweaknessexpotion,373,16456 +splashweakexpotion,373,16456 +splashweaknessextendedpot,373,16456 +splashweakextendedpot,373,16456 +splashweaknessexpot,373,16456 +splashweakexpot,373,16456 +splweaknessextendedpotion,373,16456 +sphweakextendedpotion,373,16456 +splweaknessexpotion,373,16456 +splweakexpotion,373,16456 +splweaknessextendedpot,373,16456 +splweakextendedpot,373,16456 +splweaknessexpot,373,16456 +splweakexpot,373,16456 +spwepot,373,16456 +splashstrengthextendedpotion,373,16457 +splashstrongextendedpotion,373,16457 +splashstrextendedpotion,373,16457 +splashstrengthexpotion,373,16457 +splashstrongexpotion,373,16457 +splashstrexpotion,373,16457 +splashstrengthextendedpot,373,16457 +splashstrongextendedpot,373,16457 +splashstrextendedpot,373,16457 +splashstrengthexpot,373,16457 +splashstrongexpot,373,16457 +splashstrexpot,373,16457 +splstrengthextendedpotion,373,16457 +splstrongextendedpotion,373,16457 +splstrextendedpotion,373,16457 +splstrengthexpotion,373,16457 +splstrongexpotion,373,16457 +splstrexpotion,373,16457 +splstrengthextendedpot,373,16457 +splstrongextendedpot,373,16457 +splstrextendedpot,373,16457 +splstrengthexpot,373,16457 +splstrongexpot,373,16457 +splstrexpot,373,16457 +spsepot,373,16457 +splashslownessextendedpotion,373,16458 +splashslowextenedpotion,373,16458 +splashslownessexpotion,373,16458 +splashslowexpotion,373,16458 +splashslownessextendedpot,373,16458 +splashslowextenedpot,373,16458 +splashslownessexpot,373,16458 +splashslowexpot,373,16458 +splslownessextendedpotion,373,16458 +splslowextenedpotion,373,16458 +splslownessexpotion,373,16458 +splslowexpotion,373,16458 +splslownessextendedpot,373,16458 +splslowextenedpot,373,16458 +splslownessexpot,373,16458 +splslowexpot,373,16458 +spslepot,373,16458 +splashregenerationdualbitpotion,373,16481 +splashregeneratedualbitpotion,373,16481 +splashregendualbitpotion,373,16481 +splashregenerationdualbitpot,373,16481 +splashregeneratedualbitpot,373,16481 +splashregendualbitpot,373,16481 +splregenerationdualbitpotion,373,16481 +splregeneratedualbitpotion,373,16481 +splregendualbitpotion,373,16481 +splregenerationdualbitpot,373,16481 +splregeneratedualbitpot,373,16481 +splregendualbitpot,373,16481 +sprdbpot,373,16481 +splashswiftnessdualbitpotion,373,16482 +splashswiftdualbitpotion,373,16482 +splashswiftnessdualbitpot,373,16482 +splashswiftdualbitpot,373,16482 +splswiftnessdualbitpotion,373,16482 +splswiftdualbitpotion,373,16482 +splswiftnessdualbitpot,373,16482 +splswiftdualbitpot,373,16482 +spswdbpot,373,16482 +splashpoisondualbitpotion,373,16484 +splashaciddualbitpotion,373,16484 +splashpoisondualbitpot,373,16484 +splashaciddualbitpot,373,16484 +splpoisondualbitpotion,373,16484 +splaciddualbitpotion,373,16484 +splpoisondualbitpot,373,16484 +splaciddualbitpot,373,16484 +sppdbpot,373,16484 +splashstrengthdualbitpotion,373,16489 +splashstrongdualbitpotion,373,16489 +splashstrdualbitpotion,373,16489 +splashstrengthdualbitpot,373,16489 +splashstrongdualbitpot,373,16489 +splashstrdualbitpot,373,16489 +splstrengthdualbitpotion,373,16489 +splstrongdualbitpotion,373,16489 +splstrdualbitpotion,373,16489 +splstrengthdualbitpot,373,16489 +splstrongdualbitpot,373,16489 +splstrdualbitpot,373,16489 +spsdbpot,373,16489 glassbottle,374,0 bottle,374,0 gbottle,374,0 @@ -3256,9 +4640,26 @@ bottleofenchanting,384,0 enchantingbottle,384,0 expbottle,384,0 xpbottle,384,0 +bottleexp,384,0 +bottlexp,384,0 +enchantbottle,384,0 +bottleenchanting,384,0 +bottleenchant,384,0 +bottleoenchanting,384,0 firecharge,385,0 fireball,385,0 grenade,385,0 +bookandquill,386,0 +booknquill,386,0 +bookandfeather,386,0 +booknfeather,386,0 +writeablebook,386,0 +writtenbook,387,0 +readablebook,387,0 +sealedbook,387,0 +diary,387,0 +ownedbook,387,0 +emerald,388,0 goldmusicrecord,2256,0 goldmusicdisk,2256,0 goldmusicdisc,2256,0 diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties index 5f90dba67..70cec0bd0 100644 --- a/Essentials/src/messages_nl.properties +++ b/Essentials/src/messages_nl.properties @@ -393,7 +393,7 @@ unvanished=\u00a7aYou are once again visible. unvanishedReload=\u00a7cEen herlading heeft je geforceerd om zichtbaar te worden. upgradingFilesError=Fout tijdens het upgraden van de bestanden userDoesNotExist=Speler {0} bestaat niet. -userIsAway={0} is nu afwezing. +userIsAway={0} is nu afwezig. userIsNotAway={0} is niet meer afwezig. userJailed=\u00a77Je bent in de gevangenis gezet. userUsedPortal={0} gebruikte een bestaande uitgangs portal. diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/messages_pl.properties index c84d4b1b4..7d55bd58e 100644 --- a/Essentials/src/messages_pl.properties +++ b/Essentials/src/messages_pl.properties @@ -54,7 +54,7 @@ creative=Kreatywny currency={0}{1} currentWorld=Biezacy swiat: {0} day=dzien -days=dnie +days=dni defaultBanReason=Admin ma zawsze racje! deleteFileError=Nie mozna usunac pliku: {0} deleteHome=\u00a77Posterunek {0} zostal usuniety diff --git a/Essentials/src/net/ess3/Essentials.java b/Essentials/src/net/ess3/Essentials.java index 3e38a123e..f99604076 100644 --- a/Essentials/src/net/ess3/Essentials.java +++ b/Essentials/src/net/ess3/Essentials.java @@ -18,8 +18,8 @@ package net.ess3; import net.ess3.api.server.Player; -import net.ess3.api.server.IPlugin; -import net.ess3.api.server.IServer; +import net.ess3.api.server.Plugin; +import net.ess3.api.server.Server; import net.ess3.api.server.World; import java.io.File; import java.io.IOException; @@ -45,7 +45,6 @@ import net.ess3.settings.SettingsHolder; import net.ess3.settings.SpawnsHolder; import net.ess3.user.UserMap; import net.ess3.utils.ExecuteTimer; -import org.bukkit.Server; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -57,7 +56,6 @@ import org.yaml.snakeyaml.error.YAMLException; public class Essentials implements IEssentials { private transient ISettings settings; - private final transient TntExplodeListener tntListener = new TntExplodeListener(this); private transient IJails jails; private transient IKits kits; private transient IWarps warps; @@ -76,11 +74,11 @@ public class Essentials implements IEssentials private transient ICommandHandler commandHandler; private transient Economy economy; @Getter - private final IServer server; + private final Server server; @Getter private final Logger logger; @Getter - private final IPlugin plugin; + private final Plugin plugin; public static boolean testing; private transient Metrics metrics; @Getter @@ -88,7 +86,7 @@ public class Essentials implements IEssentials @Getter private transient List<String> vanishedPlayers = new ArrayList<String>(); - public Essentials(final IServer server, final Logger logger, final IPlugin plugin) + public Essentials(final Server server, final Logger logger, final Plugin plugin) { this.server = server; this.logger = logger; @@ -214,8 +212,6 @@ public class Essentials implements IEssentials jails = new Jails(this); reloadList.add(jails); - pm.registerEvents(tntListener, this); - timer = new EssentialsTimer(this); getPlugin().scheduleSyncRepeatingTask(timer, 1, 100); @@ -372,12 +368,6 @@ public class Essentials implements IEssentials return getServer().getOnlinePlayers().size(); } - @Override - public TntExplodeListener getTNTListener() - { - return tntListener; - } - /* * @Override public PermissionsHandler getPermissionsHandler() { return permissionsHandler; } */ diff --git a/Essentials/src/net/ess3/EssentialsTimer.java b/Essentials/src/net/ess3/EssentialsTimer.java index 82e708047..9066e2f0c 100644 --- a/Essentials/src/net/ess3/EssentialsTimer.java +++ b/Essentials/src/net/ess3/EssentialsTimer.java @@ -2,10 +2,10 @@ package net.ess3; import java.util.*; import java.util.logging.Level; -import static net.ess3.I18n._; import net.ess3.api.IEssentials; import net.ess3.api.ISettings; import net.ess3.api.IUser; +import net.ess3.api.server.Player; import net.ess3.permissions.Permissions; import net.ess3.user.UserData.TimestampType; diff --git a/Essentials/src/net/ess3/Jails.java b/Essentials/src/net/ess3/Jails.java index 2c3f31bca..e2dfec477 100644 --- a/Essentials/src/net/ess3/Jails.java +++ b/Essentials/src/net/ess3/Jails.java @@ -164,7 +164,7 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp public void onBlockBreak(final BlockBreakEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (user.getData().isJailed()) { @@ -176,7 +176,7 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp public void onBlockPlace(final BlockPlaceEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (user.getData().isJailed()) { @@ -188,7 +188,7 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp public void onBlockDamage(final BlockDamageEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (user.getData().isJailed()) { @@ -204,7 +204,7 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp public void onPlayerInteract(final PlayerInteractEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (user.getData().isJailed()) { @@ -216,7 +216,7 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp public void onPlayerRespawn(final PlayerRespawnEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty()) { @@ -244,7 +244,7 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp public void onPlayerTeleport(final PlayerTeleportEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty()) { @@ -273,7 +273,7 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp public void onPlayerJoin(final PlayerJoinEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty()) { diff --git a/Essentials/src/net/ess3/api/IEssentials.java b/Essentials/src/net/ess3/api/IEssentials.java index c6cdc8739..fba576dfc 100644 --- a/Essentials/src/net/ess3/api/IEssentials.java +++ b/Essentials/src/net/ess3/api/IEssentials.java @@ -1,15 +1,12 @@ package net.ess3.api; -import net.ess3.api.server.IPlugin; -import net.ess3.api.server.IServer; -import net.ess3.api.server.World; -import net.ess3.economy.register.Methods; -import net.ess3.listener.TntExplodeListener; -import java.util.logging.Logger; import java.util.List; +import java.util.logging.Logger; import net.ess3.EssentialsTimer; +import net.ess3.api.server.Plugin; +import net.ess3.api.server.Server; +import net.ess3.api.server.World; import net.ess3.economy.register.Methods; -import net.ess3.listener.TntExplodeListener; import net.ess3.metrics.Metrics; @@ -51,7 +48,6 @@ public interface IEssentials extends IComponent //int scheduleSyncRepeatingTask(Runnable run, long delay, long period); //IPermissionsHandler getPermissionsHandler(); //void reload(); - TntExplodeListener getTNTListener(); void setRanks(IRanks groups); @@ -59,11 +55,11 @@ public interface IEssentials extends IComponent IEconomy getEconomy(); - IServer getServer(); + Server getServer(); Logger getLogger(); - IPlugin getPlugin(); + Plugin getPlugin(); List<String> getVanishedPlayers(); diff --git a/Essentials/src/net/ess3/api/IUserMap.java b/Essentials/src/net/ess3/api/IUserMap.java index 887791f7b..63cbb7340 100644 --- a/Essentials/src/net/ess3/api/IUserMap.java +++ b/Essentials/src/net/ess3/api/IUserMap.java @@ -22,7 +22,7 @@ public interface IUserMap extends IReload File getUserFile(final String name) throws InvalidNameException; - IUser matchUser(final String name, final boolean includeHidden, final boolean onlineOnly) throws TooManyMatchesException; + IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException; - Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean onlineOnly); + Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline); } diff --git a/Essentials/src/net/ess3/api/ondemand/OnDemand.java b/Essentials/src/net/ess3/api/ondemand/OnDemand.java new file mode 100644 index 000000000..a2ec8e246 --- /dev/null +++ b/Essentials/src/net/ess3/api/ondemand/OnDemand.java @@ -0,0 +1,22 @@ +package net.ess3.api.ondemand; + +import java.lang.ref.WeakReference; + + +public abstract class OnDemand<T> +{ + protected WeakReference<T> reference = null; + + public final T get() + { + T obj = reference == null ? null : reference.get(); + if (obj == null) + { + obj = getNew(); + reference = new WeakReference<T>(obj); + } + return obj; + } + + protected abstract T getNew(); +} diff --git a/Essentials/src/net/ess3/api/ondemand/UserOnDemand.java b/Essentials/src/net/ess3/api/ondemand/UserOnDemand.java new file mode 100644 index 000000000..b4805fb9d --- /dev/null +++ b/Essentials/src/net/ess3/api/ondemand/UserOnDemand.java @@ -0,0 +1,29 @@ +package net.ess3.api.ondemand; + +import net.ess3.api.IUser; +import net.ess3.api.server.Player; +import net.ess3.api.server.Server; + + +public class UserOnDemand extends OnDemand<IUser> +{ + private final String name; + private final Server server; + + public UserOnDemand(String name, Server server) + { + this.name = name; + this.server = server; + } + + @Override + protected IUser getNew() + { + Player player = server.getPlayer(name); + if (player == null) + { + return null; + } + return player.getUser(); + } +} diff --git a/Essentials/src/net/ess3/api/server/Block.java b/Essentials/src/net/ess3/api/server/Block.java new file mode 100644 index 000000000..52bc440f9 --- /dev/null +++ b/Essentials/src/net/ess3/api/server/Block.java @@ -0,0 +1,24 @@ +package net.ess3.api.server; + +import lombok.Delegate; + +public class Block { + + public Block(ItemStack stack, Location location) + { + this.stack = stack; + this.location = location; + } + + + @Delegate + private final ItemStack stack; + @Delegate + private final Location location; + + public ItemStack convertToItem() + { + final ItemStack is = ItemStack.create(this.getType(), 1, this.getDurability()); + return this.getType().convertToItem(is); + } +} diff --git a/Essentials/src/net/ess3/api/server/IPlayer.java b/Essentials/src/net/ess3/api/server/IPlayer.java deleted file mode 100644 index 4ae44a480..000000000 --- a/Essentials/src/net/ess3/api/server/IPlayer.java +++ /dev/null @@ -1,5 +0,0 @@ -package net.ess3.api.server; - -public interface IPlayer { - -} diff --git a/Essentials/src/net/ess3/api/server/ItemStack.java b/Essentials/src/net/ess3/api/server/ItemStack.java index d8315974c..b383f4fd7 100644 --- a/Essentials/src/net/ess3/api/server/ItemStack.java +++ b/Essentials/src/net/ess3/api/server/ItemStack.java @@ -26,12 +26,18 @@ public abstract class ItemStack implements Cloneable } public abstract Material getType(); + + public abstract void setType(Material mat); + + public abstract void setType(int id); public abstract int getAmount(); public abstract void setAmount(int value); - public abstract short getDurability(); + public abstract short getDurability(); + + public abstract void setDurability(short value); public abstract int getMaxStackSize(); diff --git a/Essentials/src/net/ess3/api/server/Material.java b/Essentials/src/net/ess3/api/server/Material.java index bfda30775..5c41f8302 100644 --- a/Essentials/src/net/ess3/api/server/Material.java +++ b/Essentials/src/net/ess3/api/server/Material.java @@ -34,4 +34,6 @@ public abstract class Material { public abstract int getMaxDurability(); protected abstract Material matchMaterial(String string); + + public abstract ItemStack convertToItem(ItemStack is); } diff --git a/Essentials/src/net/ess3/api/server/Player.java b/Essentials/src/net/ess3/api/server/Player.java index 152c3f0c8..d8928c4d1 100644 --- a/Essentials/src/net/ess3/api/server/Player.java +++ b/Essentials/src/net/ess3/api/server/Player.java @@ -58,4 +58,6 @@ public interface Player extends CommandSender void setCompassTarget(Location loc); void damage(int value); + + boolean isInSurvivalMode(); } diff --git a/Essentials/src/net/ess3/api/server/IPlugin.java b/Essentials/src/net/ess3/api/server/Plugin.java index d1f8719f1..f0d10740c 100644 --- a/Essentials/src/net/ess3/api/server/IPlugin.java +++ b/Essentials/src/net/ess3/api/server/Plugin.java @@ -2,9 +2,10 @@ package net.ess3.api.server; import java.io.File; import java.io.InputStream; +import java.util.logging.Logger; -public interface IPlugin +public interface Plugin { int scheduleAsyncDelayedTask(final Runnable run); @@ -13,6 +14,8 @@ public interface IPlugin int scheduleSyncDelayedTask(final Runnable run, final long delay); int scheduleSyncRepeatingTask(final Runnable run, final long delay, final long period); + + int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period); File getRootFolder(); @@ -29,4 +32,8 @@ public interface IPlugin Location callRespawnEvent(Player player, Location loc, boolean bedSpawn); void callSuicideEvent(Player player); + + Logger getLogger(); + + Server getServer(); } diff --git a/Essentials/src/net/ess3/api/server/IServer.java b/Essentials/src/net/ess3/api/server/Server.java index 8bd23bb9d..5a2f14431 100644 --- a/Essentials/src/net/ess3/api/server/IServer.java +++ b/Essentials/src/net/ess3/api/server/Server.java @@ -4,7 +4,7 @@ import java.util.Collection; import java.util.List; -public interface IServer +public interface Server { List<World> getWorlds(); @@ -25,4 +25,6 @@ public interface IServer String getVersion(); public void unbanIP(String string); + + public Player getPlayer(String name); } diff --git a/Essentials/src/net/ess3/api/server/World.java b/Essentials/src/net/ess3/api/server/World.java index 9f1487635..5648ea7ac 100644 --- a/Essentials/src/net/ess3/api/server/World.java +++ b/Essentials/src/net/ess3/api/server/World.java @@ -24,5 +24,5 @@ public interface World { long getTime(); - void setSpawnLocation(int blockX, int blockY, int blockZ); + boolean setSpawnLocation(int blockX, int blockY, int blockZ); } diff --git a/Essentials/src/net/ess3/api/server/events/EventFactory.java b/Essentials/src/net/ess3/api/server/events/EventFactory.java new file mode 100644 index 000000000..fdaf8199f --- /dev/null +++ b/Essentials/src/net/ess3/api/server/events/EventFactory.java @@ -0,0 +1,7 @@ +package net.ess3.api.server.events; + + +public interface EventFactory +{ + public void register(EventListener listener, EventType type, EventPriority priority, boolean ignoreCancelled); +} diff --git a/Essentials/src/net/ess3/api/server/events/EventListener.java b/Essentials/src/net/ess3/api/server/events/EventListener.java new file mode 100644 index 000000000..975a10357 --- /dev/null +++ b/Essentials/src/net/ess3/api/server/events/EventListener.java @@ -0,0 +1,21 @@ +package net.ess3.api.server.events; + +import net.ess3.api.IUser; +import net.ess3.api.ondemand.OnDemand; +import net.ess3.api.server.Block; + + +public abstract class EventListener +{ + private static EventFactory eventFactory; + + public final void register(EventType type, EventPriority priority, boolean ignoreCancelled) + { + eventFactory.register(this, type, priority, ignoreCancelled); + } + + public boolean onBlockPlace(Block block, OnDemand<IUser> user) + { + return true; + } +} diff --git a/Essentials/src/net/ess3/api/server/events/EventPriority.java b/Essentials/src/net/ess3/api/server/events/EventPriority.java new file mode 100644 index 000000000..76c4d891b --- /dev/null +++ b/Essentials/src/net/ess3/api/server/events/EventPriority.java @@ -0,0 +1,12 @@ +package net.ess3.api.server.events; + + +public enum EventPriority +{ + LOWEST, + LOW, + NORMAL, + HIGH, + HIGHEST, + MONITOR +} diff --git a/Essentials/src/net/ess3/api/server/events/EventType.java b/Essentials/src/net/ess3/api/server/events/EventType.java new file mode 100644 index 000000000..694ad04ee --- /dev/null +++ b/Essentials/src/net/ess3/api/server/events/EventType.java @@ -0,0 +1,7 @@ +package net.ess3.api.server.events; + + +public enum EventType +{ + PLACE_BLOCK +} diff --git a/Essentials/src/net/ess3/backup/Backup.java b/Essentials/src/net/ess3/backup/Backup.java index 3aea269e4..534b5655e 100644 --- a/Essentials/src/net/ess3/backup/Backup.java +++ b/Essentials/src/net/ess3/backup/Backup.java @@ -5,7 +5,7 @@ import net.ess3.api.IBackup; import net.ess3.api.IEssentials; import net.ess3.api.ISettings; import net.ess3.api.server.CommandSender; -import net.ess3.api.server.IServer; +import net.ess3.api.server.Server; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -16,7 +16,7 @@ import lombok.Cleanup; public class Backup implements Runnable, IBackup { - private transient final IServer server; + private transient final Server server; private transient final IEssentials ess; private transient final AtomicBoolean running = new AtomicBoolean(false); private transient int taskId = -1; diff --git a/Essentials/src/net/ess3/bukkit/BukkitBlockFactory.java b/Essentials/src/net/ess3/bukkit/BukkitBlockFactory.java new file mode 100644 index 000000000..e39e0c9a2 --- /dev/null +++ b/Essentials/src/net/ess3/bukkit/BukkitBlockFactory.java @@ -0,0 +1,13 @@ +package net.ess3.bukkit; + +import net.ess3.api.server.Block; +import net.ess3.api.server.ItemStack; +import net.ess3.api.server.Location; + +public class BukkitBlockFactory { + + public static Block convert(org.bukkit.block.Block block) { + Location loc = Location.create(block.getWorld().getName(), block.getX(), block.getY(), block.getZ()); + return new Block(ItemStack.create(block.getTypeId(), 1, block.getData()), loc); + } +} diff --git a/Essentials/src/net/ess3/bukkit/BukkitItemStack.java b/Essentials/src/net/ess3/bukkit/BukkitItemStack.java index 819cc734b..2cec7023c 100644 --- a/Essentials/src/net/ess3/bukkit/BukkitItemStack.java +++ b/Essentials/src/net/ess3/bukkit/BukkitItemStack.java @@ -53,6 +53,18 @@ public class BukkitItemStack extends net.ess3.api.server.ItemStack { return Material.get(itemStack.getTypeId()); } + + @Override + public void setType(Material type) + { + itemStack.setTypeId(type.getId()); + } + + @Override + public void setType(int id) + { + itemStack.setTypeId(id); + } @Override public boolean isAir() diff --git a/Essentials/src/net/ess3/bukkit/BukkitMaterial.java b/Essentials/src/net/ess3/bukkit/BukkitMaterial.java index b01d68754..ee0391eaa 100644 --- a/Essentials/src/net/ess3/bukkit/BukkitMaterial.java +++ b/Essentials/src/net/ess3/bukkit/BukkitMaterial.java @@ -1,8 +1,9 @@ package net.ess3.bukkit; -import net.ess3.api.server.Material; import java.util.EnumMap; import lombok.Delegate; +import net.ess3.api.server.ItemStack; +import net.ess3.api.server.Material; public class BukkitMaterial extends Material @@ -16,6 +17,7 @@ public class BukkitMaterial extends Material materials.put(material, new BukkitMaterial(material)); } } + private interface Excludes { short getMaxDurability(); } @@ -59,4 +61,86 @@ public class BukkitMaterial extends Material { return (short)this.material.getMaxDurability(); } + + @Override + public ItemStack convertToItem(ItemStack is) + { + switch (org.bukkit.Material.getMaterial(is.getType().getId())) + { + case WOODEN_DOOR: + is.setType(org.bukkit.Material.WOOD_DOOR.getId()); + is.setDurability((short)0); + break; + case IRON_DOOR_BLOCK: + is.setType(org.bukkit.Material.IRON_DOOR.getId()); + is.setDurability((short)0); + break; + case SIGN_POST: + case WALL_SIGN: + is.setType(org.bukkit.Material.SIGN.getId()); + is.setDurability((short)0); + break; + case CROPS: + is.setType(org.bukkit.Material.SEEDS.getId()); + is.setDurability((short)0); + break; + case CAKE_BLOCK: + is.setType(org.bukkit.Material.CAKE.getId()); + is.setDurability((short)0); + break; + case BED_BLOCK: + is.setType(org.bukkit.Material.BED.getId()); + is.setDurability((short)0); + break; + case REDSTONE_WIRE: + is.setType(org.bukkit.Material.REDSTONE.getId()); + is.setDurability((short)0); + break; + case REDSTONE_TORCH_OFF: + case REDSTONE_TORCH_ON: + is.setType(org.bukkit.Material.REDSTONE_TORCH_ON.getId()); + is.setDurability((short)0); + break; + case DIODE_BLOCK_OFF: + case DIODE_BLOCK_ON: + is.setType(org.bukkit.Material.DIODE.getId()); + is.setDurability((short)0); + break; + case DOUBLE_STEP: + is.setType(org.bukkit.Material.STEP.getId()); + break; + case TORCH: + case RAILS: + case LADDER: + case WOOD_STAIRS: + case COBBLESTONE_STAIRS: + case LEVER: + case STONE_BUTTON: + case FURNACE: + case DISPENSER: + case PUMPKIN: + case JACK_O_LANTERN: + case WOOD_PLATE: + case STONE_PLATE: + case PISTON_STICKY_BASE: + case PISTON_BASE: + case IRON_FENCE: + case THIN_GLASS: + case TRAP_DOOR: + case FENCE: + case FENCE_GATE: + case NETHER_FENCE: + is.setDurability((short)0); + break; + case FIRE: + return null; + case PUMPKIN_STEM: + is.setType(org.bukkit.Material.PUMPKIN_SEEDS.getId()); + break; + case MELON_STEM: + is.setType(org.bukkit.Material.MELON_SEEDS.getId()); + break; + } + return is; + } } diff --git a/Essentials/src/net/ess3/bukkit/BukkitPermission.java b/Essentials/src/net/ess3/bukkit/BukkitPermission.java index 49f705ccc..9c60a10e2 100644 --- a/Essentials/src/net/ess3/bukkit/BukkitPermission.java +++ b/Essentials/src/net/ess3/bukkit/BukkitPermission.java @@ -1,9 +1,9 @@ package net.ess3.bukkit; -import net.ess3.api.server.Permission; import java.util.regex.Pattern; import lombok.Delegate; import lombok.Getter; +import net.ess3.api.server.Permission; import org.bukkit.Bukkit; import org.bukkit.permissions.PermissionDefault; import org.bukkit.plugin.PluginManager; diff --git a/Essentials/src/net/ess3/bukkit/BukkitPlayer.java b/Essentials/src/net/ess3/bukkit/BukkitPlayer.java index 588ad242d..7b357e278 100644 --- a/Essentials/src/net/ess3/bukkit/BukkitPlayer.java +++ b/Essentials/src/net/ess3/bukkit/BukkitPlayer.java @@ -1,11 +1,14 @@ package net.ess3.bukkit; -import net.ess3.api.IUser; -import net.ess3.api.server.*; import lombok.Delegate; import lombok.Getter; +import net.ess3.api.IUser; +import net.ess3.api.server.IInventory; +import net.ess3.api.server.Location; +import net.ess3.api.server.Player; +import net.ess3.api.server.World; +import org.bukkit.GameMode; import org.bukkit.OfflinePlayer; -import org.bukkit.entity.LivingEntity; public class BukkitPlayer extends BukkitCommandSender implements Player @@ -30,7 +33,7 @@ public class BukkitPlayer extends BukkitCommandSender implements Player } @Delegate(types = { - org.bukkit.entity.Player.class, LivingEntity.class + org.bukkit.entity.Player.class, org.bukkit.entity.LivingEntity.class }, excludes = { OfflinePlayer.class, org.bukkit.command.CommandSender.class, Excludes.class @@ -46,9 +49,10 @@ public class BukkitPlayer extends BukkitCommandSender implements Player }) @Getter private transient OfflinePlayer safePlayer; - private final transient IServer server; + private final transient BukkitServer server; + private transient IUser user = null; - public BukkitPlayer(final OfflinePlayer player, final IServer server) + public BukkitPlayer(final OfflinePlayer player, final BukkitServer server) { super(player.getPlayer()); this.server = server; @@ -82,7 +86,7 @@ public class BukkitPlayer extends BukkitCommandSender implements Player @Override public IUser getUser() { - throw new UnsupportedOperationException("Not supported yet."); + return user; } @Override @@ -157,10 +161,10 @@ public class BukkitPlayer extends BukkitCommandSender implements Player } } - private int getExpToLevel() + /*private int getExpToLevel() { return getExpToLevel(onlinePlayer.getLevel()); - } + }*/ private static int getExpToLevel(final int level) { @@ -199,4 +203,11 @@ public class BukkitPlayer extends BukkitCommandSender implements Player { onlinePlayer.setCompassTarget(((BukkitLocation)loc).getBukkitLocation()); } + + + @Override + public boolean isInSurvivalMode() + { + return onlinePlayer.getGameMode() == GameMode.SURVIVAL; + } } diff --git a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java new file mode 100644 index 000000000..0d60bee19 --- /dev/null +++ b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java @@ -0,0 +1,106 @@ +package net.ess3.bukkit; + +import net.ess3.api.server.Player; +import net.ess3.api.server.Plugin; +import net.ess3.api.server.Location; +import java.io.File; +import lombok.Delegate; +import lombok.Getter; +import net.ess3.api.server.Server; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.player.PlayerRespawnEvent; +import org.bukkit.plugin.java.JavaPluginLoader; + + +public class BukkitPlugin implements Plugin +{ + private interface Excludes { + public org.bukkit.Server getServer(); + } + @Delegate(excludes={Excludes.class}) + @Getter + private final org.bukkit.plugin.Plugin bukkitPlugin; + @Getter + private final Server server; + + public BukkitPlugin(final org.bukkit.plugin.Plugin plugin, final Server server) + { + this.bukkitPlugin = plugin; + this.server = server; + } + + @Override + public int scheduleAsyncDelayedTask(final Runnable run) + { + return bukkitPlugin.getServer().getScheduler().scheduleAsyncDelayedTask(bukkitPlugin, run); + } + + @Override + public int scheduleSyncDelayedTask(final Runnable run) + { + return bukkitPlugin.getServer().getScheduler().scheduleSyncDelayedTask(bukkitPlugin, run); + } + + @Override + public int scheduleSyncDelayedTask(final Runnable run, final long delay) + { + return bukkitPlugin.getServer().getScheduler().scheduleSyncDelayedTask(bukkitPlugin, run, delay); + } + + @Override + public int scheduleSyncRepeatingTask(final Runnable run, final long delay, final long period) + { + return bukkitPlugin.getServer().getScheduler().scheduleSyncRepeatingTask(bukkitPlugin, run, delay, period); + } + + @Override + public int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period) + { + return bukkitPlugin.getServer().getScheduler().scheduleAsyncRepeatingTask(bukkitPlugin, run, delay, period); + } + + @Override + public File getRootFolder() + { + return bukkitPlugin.getDataFolder().getParentFile().getParentFile(); + } + + @Override + public void cancelTask(final int taskId) + { + bukkitPlugin.getServer().getScheduler().cancelTask(taskId); + } + + @Override + public String getVersion() + { + return bukkitPlugin.getDescription().getVersion(); + } + + @Override + public Class getClassByName(final String name) + { + final JavaPluginLoader jpl = (JavaPluginLoader)bukkitPlugin.getPluginLoader(); + return jpl.getClassByName(name); + } + + @Override + public Location callRespawnEvent(Player player, Location loc, boolean bedSpawn) + { + final PlayerRespawnEvent pre = new PlayerRespawnEvent(((BukkitPlayer)player).getOnlinePlayer(), ((BukkitLocation)loc).getBukkitLocation() , bedSpawn); + getBukkitServer().getPluginManager().callEvent(pre); + return new BukkitLocation(pre.getRespawnLocation()); + } + + @Override + public void callSuicideEvent(Player player) + { + EntityDamageEvent ede = new EntityDamageEvent(((BukkitPlayer)player).getOnlinePlayer(), EntityDamageEvent.DamageCause.SUICIDE, 1000); + getBukkitServer().getPluginManager().callEvent(ede); + } + + public org.bukkit.Server getBukkitServer() + { + return bukkitPlugin.getServer(); + } +} diff --git a/Essentials/src/net/ess3/bukkit/Server.java b/Essentials/src/net/ess3/bukkit/BukkitServer.java index e59d7d4f9..d0f548f09 100644 --- a/Essentials/src/net/ess3/bukkit/Server.java +++ b/Essentials/src/net/ess3/bukkit/BukkitServer.java @@ -1,13 +1,13 @@ package net.ess3.bukkit; +import java.util.*; +import lombok.Delegate; +import lombok.Getter; import net.ess3.api.IEssentials; import net.ess3.api.server.CommandSender; import net.ess3.api.server.Player; -import net.ess3.api.server.IServer; +import net.ess3.api.server.Server; import net.ess3.api.server.World; -import java.util.*; -import lombok.Delegate; -import lombok.Getter; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -18,7 +18,7 @@ import org.bukkit.event.world.WorldUnloadEvent; import org.bukkit.plugin.RegisteredServiceProvider; -public class Server implements IServer, Listener +public class BukkitServer implements Server, Listener { private IEssentials ess; private interface Excludes @@ -30,6 +30,8 @@ public class Server implements IServer, Listener org.bukkit.entity.Player[] getOnlinePlayers(); BukkitCommandSender getConsoleSender(); + + org.bukkit.entity.Player getPlayer(String name); } @Delegate(excludes = Excludes.class) private final org.bukkit.Server server; @@ -38,11 +40,11 @@ public class Server implements IServer, Listener private Map<String, World> worldsMap; @Getter private Collection<Player> onlinePlayers; - private Map<org.bukkit.entity.Player, Player> onlinePlayersMap; + private Map<String, Player> onlinePlayersMap; @Getter private CommandSender consoleSender; - public Server(final org.bukkit.Server server) + public BukkitServer(final org.bukkit.Server server) { this.server = server; consoleSender = new BukkitCommandSender(server.getConsoleSender()); @@ -79,9 +81,10 @@ public class Server implements IServer, Listener @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public synchronized void onPlayerLoginEvent(final PlayerLoginEvent event) { - final HashMap<org.bukkit.entity.Player, Player> oplayersMap = new HashMap<org.bukkit.entity.Player, Player>(onlinePlayersMap); + final HashMap<String, Player> oplayersMap = new HashMap<String, Player>(onlinePlayersMap); BukkitPlayer p = new BukkitPlayer(event.getPlayer(), this); - oplayersMap.put(event.getPlayer(), p); + + oplayersMap.put(event.getPlayer().getName(), p); onlinePlayersMap = Collections.unmodifiableMap(oplayersMap); onlinePlayers = Collections.unmodifiableCollection(oplayersMap.values()); } @@ -90,8 +93,8 @@ public class Server implements IServer, Listener public synchronized void onPlayerQuitEvent(final PlayerQuitEvent event) { final ArrayList<Player> oplayers = new ArrayList<Player>(onlinePlayers); - final HashMap<org.bukkit.entity.Player, Player> oplayersMap = new HashMap<org.bukkit.entity.Player, Player>(onlinePlayersMap); - oplayersMap.remove(event.getPlayer()); + final HashMap<String, Player> oplayersMap = new HashMap<String, Player>(onlinePlayersMap); + oplayersMap.remove(event.getPlayer().getName()); onlinePlayersMap = Collections.unmodifiableMap(oplayersMap); onlinePlayers = Collections.unmodifiableCollection(oplayersMap.values()); } @@ -121,6 +124,11 @@ public class Server implements IServer, Listener } public Player getPlayer(final org.bukkit.entity.Player player) { - return onlinePlayersMap.get(player); + return onlinePlayersMap.get(player.getName()); + } + + @Override + public Player getPlayer(final String playerName) { + return onlinePlayersMap.get(playerName); } } diff --git a/Essentials/src/net/ess3/bukkit/BukkitWorld.java b/Essentials/src/net/ess3/bukkit/BukkitWorld.java index d754de4c9..894a40f85 100644 --- a/Essentials/src/net/ess3/bukkit/BukkitWorld.java +++ b/Essentials/src/net/ess3/bukkit/BukkitWorld.java @@ -1,21 +1,30 @@ package net.ess3.bukkit; -import net.ess3.api.server.World; -import net.ess3.api.server.ItemStack; -import net.ess3.api.server.Location; import lombok.Delegate; import lombok.Getter; +import net.ess3.api.server.ItemStack; +import net.ess3.api.server.Location; +import net.ess3.api.server.World; import org.bukkit.TreeType; public class BukkitWorld implements World { - @Delegate + private interface Excludes + { + boolean generateTree(Location safeLocation, TreeType tree); + + ItemStack dropItem(Location loc, ItemStack stack); + + Location getSpawnLocation(); + + void dropItemNaturally(Location location, ItemStack overflowStack); + } + @Delegate(excludes = Excludes.class) @Getter private final org.bukkit.World bukkitWorld; public BukkitWorld(final org.bukkit.World world) { this.bukkitWorld = world; - world.getT } @Override @@ -41,5 +50,4 @@ public class BukkitWorld implements World { { throw new UnsupportedOperationException("Not supported yet."); } - } diff --git a/Essentials/src/net/ess3/bukkit/EssentialsPlugin.java b/Essentials/src/net/ess3/bukkit/EssentialsPlugin.java index 4f262f329..b198fef87 100644 --- a/Essentials/src/net/ess3/bukkit/EssentialsPlugin.java +++ b/Essentials/src/net/ess3/bukkit/EssentialsPlugin.java @@ -1,9 +1,9 @@ package net.ess3.bukkit; +import java.util.logging.Level; import net.ess3.Essentials; import static net.ess3.I18n._; import net.ess3.api.server.*; -import java.util.logging.Level; import org.bukkit.command.Command; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -30,10 +30,10 @@ public class EssentialsPlugin extends JavaPlugin public void onEnable() { - Server server = new Server(getServer()); + BukkitServer server = new BukkitServer(getServer()); final PluginManager pm = this.getServer().getPluginManager(); pm.registerEvents(server, this); - ess = new Essentials(server, getLogger(), new Plugin(this)); + ess = new Essentials(server, getLogger(), new BukkitPlugin(this, server)); if (VersionCheck.checkVersion(this)) { try @@ -86,7 +86,7 @@ public class EssentialsPlugin extends JavaPlugin { CommandSender commandSender; if (sender instanceof org.bukkit.entity.Player) { - commandSender = ((Server)ess.getServer()).getPlayer((org.bukkit.entity.Player)sender); + commandSender = ((BukkitServer)ess.getServer()).getPlayer((org.bukkit.entity.Player)sender); } else { commandSender = new BukkitCommandSender(sender); } diff --git a/Essentials/src/net/ess3/bukkit/Inventory.java b/Essentials/src/net/ess3/bukkit/Inventory.java index 30ddaae52..47e05f979 100644 --- a/Essentials/src/net/ess3/bukkit/Inventory.java +++ b/Essentials/src/net/ess3/bukkit/Inventory.java @@ -45,4 +45,10 @@ public class Inventory implements IInventory { throw new UnsupportedOperationException("Not supported yet."); } + @Override + public Map<Integer, ItemStack> addItem(ItemStack itemStack) + { + throw new UnsupportedOperationException("Not supported yet."); + } + } diff --git a/Essentials/src/net/ess3/bukkit/Plugin.java b/Essentials/src/net/ess3/bukkit/Plugin.java deleted file mode 100644 index ea3f85366..000000000 --- a/Essentials/src/net/ess3/bukkit/Plugin.java +++ /dev/null @@ -1,87 +0,0 @@ -package net.ess3.bukkit; - -import net.ess3.api.server.Player; -import net.ess3.api.server.IPlugin; -import net.ess3.api.server.Location; -import java.io.File; -import lombok.Delegate; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.player.PlayerRespawnEvent; -import org.bukkit.plugin.java.JavaPluginLoader; - - -public class Plugin implements IPlugin -{ - @Delegate - private final org.bukkit.plugin.Plugin plugin; - - public Plugin(final org.bukkit.plugin.Plugin plugin) - { - this.plugin = plugin; - } - - @Override - public int scheduleAsyncDelayedTask(final Runnable run) - { - return plugin.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, run); - } - - @Override - public int scheduleSyncDelayedTask(final Runnable run) - { - return plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, run); - } - - @Override - public int scheduleSyncDelayedTask(final Runnable run, final long delay) - { - return plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, run, delay); - } - - @Override - public int scheduleSyncRepeatingTask(final Runnable run, final long delay, final long period) - { - return plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, run, delay, period); - } - - @Override - public File getRootFolder() - { - return plugin.getDataFolder().getParentFile().getParentFile(); - } - - @Override - public void cancelTask(final int taskId) - { - plugin.getServer().getScheduler().cancelTask(taskId); - } - - @Override - public String getVersion() - { - return plugin.getDescription().getVersion(); - } - - @Override - public Class getClassByName(final String name) - { - final JavaPluginLoader jpl = (JavaPluginLoader)plugin.getPluginLoader(); - return jpl.getClassByName(name); - } - - @Override - public Location callRespawnEvent(Player player, Location loc, boolean bedSpawn) - { - final PlayerRespawnEvent pre = new PlayerRespawnEvent(((BukkitPlayer)player).getOnlinePlayer(), ((BukkitLocation)loc).getBukkitLocation() , bedSpawn); - getServer().getPluginManager().callEvent(pre); - return new BukkitLocation(pre.getRespawnLocation()); - } - - @Override - public void callSuicideEvent(Player player) - { - EntityDamageEvent ede = new EntityDamageEvent(((BukkitPlayer)player).getOnlinePlayer(), EntityDamageEvent.DamageCause.SUICIDE, 1000); - getServer().getPluginManager().callEvent(ede); - } - -} diff --git a/Essentials/src/net/ess3/bukkit/events/BaseEventExecutor.java b/Essentials/src/net/ess3/bukkit/events/BaseEventExecutor.java new file mode 100644 index 000000000..16397d373 --- /dev/null +++ b/Essentials/src/net/ess3/bukkit/events/BaseEventExecutor.java @@ -0,0 +1,21 @@ +package net.ess3.bukkit.events; + +import net.ess3.api.server.events.EventListener; +import org.bukkit.event.Event; +import org.bukkit.event.EventException; +import org.bukkit.event.Listener; +import org.bukkit.plugin.EventExecutor; + + +public abstract class BaseEventExecutor implements EventExecutor +{ + protected final EventListener listener; + + public BaseEventExecutor(final EventListener listener) + { + this.listener = listener; + } + + @Override + public abstract void execute(Listener ll, Event event) throws EventException; +} diff --git a/Essentials/src/net/ess3/bukkit/events/BukkitEventFactory.java b/Essentials/src/net/ess3/bukkit/events/BukkitEventFactory.java new file mode 100644 index 000000000..cc36c272d --- /dev/null +++ b/Essentials/src/net/ess3/bukkit/events/BukkitEventFactory.java @@ -0,0 +1,25 @@ +package net.ess3.bukkit.events; + +import net.ess3.api.server.Plugin; +import net.ess3.api.server.events.EventFactory; +import net.ess3.api.server.events.EventListener; +import net.ess3.api.server.events.EventPriority; +import net.ess3.api.server.events.EventType; + + +public class BukkitEventFactory implements EventFactory +{ + private Plugin plugin; + + public BukkitEventFactory(Plugin plugin) + { + this.plugin = plugin; + } + + @Override + public void register(EventListener listener, EventType type, EventPriority priority, boolean ignoreCancelled) + { + BukkitListener bukkitListener = new BukkitListener(plugin); + bukkitListener.register(listener, type, priority, ignoreCancelled); + } +} diff --git a/Essentials/src/net/ess3/bukkit/events/BukkitListener.java b/Essentials/src/net/ess3/bukkit/events/BukkitListener.java new file mode 100644 index 000000000..2bce6e31c --- /dev/null +++ b/Essentials/src/net/ess3/bukkit/events/BukkitListener.java @@ -0,0 +1,70 @@ +package net.ess3.bukkit.events; + +import net.ess3.api.server.Plugin; +import net.ess3.api.server.events.EventListener; +import net.ess3.api.server.events.EventPriority; +import net.ess3.api.server.events.EventType; +import net.ess3.bukkit.BukkitPlugin; +import org.bukkit.event.Event; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.plugin.EventExecutor; + + +public class BukkitListener implements Listener +{ + private Plugin plugin; + + public BukkitListener(final Plugin plugin) + { + this.plugin = plugin; + } + + public void register(EventListener listener, EventType type, EventPriority priority, boolean ignoreCancelled) + { + Class<? extends Event> event = getEventClass(type); + org.bukkit.event.EventPriority bukkitPriority = getEventPriority(priority); + EventExecutor executor = getEventExecutor(type, listener); + ((BukkitPlugin)plugin).getBukkitServer().getPluginManager().registerEvent(event, this, bukkitPriority, executor, ((BukkitPlugin)plugin).getBukkitPlugin(), ignoreCancelled); + } + + private static Class<? extends Event> getEventClass(final EventType type) + { + switch (type) + { + case PLACE_BLOCK: + return BlockPlaceEvent.class; + } + throw new RuntimeException("Missing Event Class"); + } + + private static org.bukkit.event.EventPriority getEventPriority(final EventPriority priority) + { + switch (priority) + { + case LOWEST: + return org.bukkit.event.EventPriority.LOWEST; + case LOW: + return org.bukkit.event.EventPriority.LOW; + case NORMAL: + return org.bukkit.event.EventPriority.NORMAL; + case HIGH: + return org.bukkit.event.EventPriority.HIGH; + case HIGHEST: + return org.bukkit.event.EventPriority.HIGHEST; + case MONITOR: + return org.bukkit.event.EventPriority.MONITOR; + } + throw new RuntimeException("Missing Event Priority"); + } + + private EventExecutor getEventExecutor(final EventType type, final EventListener listener) + { + switch (type) + { + case PLACE_BLOCK: + return new PlaceBlockExecutor(listener, plugin.getServer()); + } + throw new RuntimeException("Missing Event Executor"); + } +} diff --git a/Essentials/src/net/ess3/bukkit/events/PlaceBlockExecutor.java b/Essentials/src/net/ess3/bukkit/events/PlaceBlockExecutor.java new file mode 100644 index 000000000..4216da9f3 --- /dev/null +++ b/Essentials/src/net/ess3/bukkit/events/PlaceBlockExecutor.java @@ -0,0 +1,32 @@ +package net.ess3.bukkit.events; + +import net.ess3.api.ondemand.UserOnDemand; +import net.ess3.api.server.Block; +import net.ess3.api.server.Server; +import net.ess3.api.server.events.EventListener; +import net.ess3.bukkit.BukkitBlockFactory; +import org.bukkit.event.Event; +import org.bukkit.event.EventException; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockPlaceEvent; + + +public class PlaceBlockExecutor extends BaseEventExecutor +{ + private final Server server; + public PlaceBlockExecutor(EventListener listener, Server server) + { + super(listener); + this.server = server; + } + + @Override + public void execute(Listener ll, Event event) throws EventException + { + org.bukkit.block.Block bukkitBlock = ((BlockPlaceEvent)event).getBlockPlaced(); + Block block = BukkitBlockFactory.convert(bukkitBlock); + String playername = ((BlockPlaceEvent)event).getPlayer().getName(); + boolean success = listener.onBlockPlace(block, new UserOnDemand(playername, server)); + ((BlockPlaceEvent)event).setCancelled(!success); + } +} diff --git a/Essentials/src/net/ess3/commands/Commandafk.java b/Essentials/src/net/ess3/commands/Commandafk.java index 9bd3662c7..1daa5b46c 100644 --- a/Essentials/src/net/ess3/commands/Commandafk.java +++ b/Essentials/src/net/ess3/commands/Commandafk.java @@ -2,8 +2,6 @@ package net.ess3.commands; import static net.ess3.I18n._; import net.ess3.api.IUser; -import net.ess3.api.server.Permission; -import net.ess3.api.server.Player; import net.ess3.permissions.Permissions; @@ -14,7 +12,7 @@ public class Commandafk extends EssentialsCommand { if (args.length > 0 && Permissions.AFK_OTHERS.isAuthorized(user)) { - IUser afkUser = ess.getUser((Player)ess.getServer().matchPlayer(args[0])); + IUser afkUser = ess.getUserMap().matchUser(args[0], false, false); if (afkUser != null) { toggleAfk(afkUser); @@ -46,11 +44,5 @@ public class Commandafk extends EssentialsCommand ess.broadcastMessage(user, _("userIsAway", user.getDisplayName())); } } - } - - @Override - public Permission.Default getPermissionDefault() - { - return Permission.Default.TRUE; - } + } } diff --git a/Essentials/src/net/ess3/commands/Commandantioch.java b/Essentials/src/net/ess3/commands/Commandantioch.java deleted file mode 100644 index 7dd8e2b41..000000000 --- a/Essentials/src/net/ess3/commands/Commandantioch.java +++ /dev/null @@ -1,24 +0,0 @@ -package net.ess3.commands; - -import net.ess3.api.IUser; -import net.ess3.api.server.Location; -import net.ess3.utils.LocationUtil; - -import org.bukkit.entity.TNTPrimed; - - -public class Commandantioch extends EssentialsCommand -{ - @Override - public void run(final IUser user, final String commandLabel, final String[] args) throws Exception - { - if (args.length > 0) - { - ess.broadcastMessage(user, "...lobbest thou thy Holy Hand Grenade of Antioch towards thy foe,"); - ess.broadcastMessage(user, "who being naughty in My sight, shall snuff it."); - } - - final Location loc = LocationUtil.getTarget(user); - loc.getWorld().spawn(loc, TNTPrimed.class); - } -} diff --git a/Essentials/src/net/ess3/commands/Commandbalance.java b/Essentials/src/net/ess3/commands/Commandbalance.java index a35b86182..c5bdaab15 100644 --- a/Essentials/src/net/ess3/commands/Commandbalance.java +++ b/Essentials/src/net/ess3/commands/Commandbalance.java @@ -1,10 +1,10 @@ package net.ess3.commands; import static net.ess3.I18n._; -import net.ess3.utils.Util; import net.ess3.api.IUser; import net.ess3.api.server.CommandSender; import net.ess3.permissions.Permissions; +import net.ess3.utils.Util; public class Commandbalance extends EssentialsCommand @@ -16,7 +16,7 @@ public class Commandbalance extends EssentialsCommand { throw new NotEnoughArgumentsException(); } - sender.sendMessage(_("balance", Util.displayCurrency(getPlayer(args, 0, true).getMoney(), ess))); + sender.sendMessage(_("balance", Util.displayCurrency(ess.getUserMap().matchUser(args[0], true, true).getMoney(), ess))); } @Override @@ -25,7 +25,7 @@ public class Commandbalance extends EssentialsCommand final double bal = (args.length < 1 || !Permissions.BALANCE_OTHERS.isAuthorized(user) ? user - : getPlayer(args, 0, true)).getMoney(); + : ess.getUserMap().matchUser(args[0], true, true)).getMoney(); user.sendMessage(_("balance", Util.displayCurrency(bal, ess))); } } diff --git a/Essentials/src/net/ess3/commands/Commandban.java b/Essentials/src/net/ess3/commands/Commandban.java index 959904b4f..85b7ffc1b 100644 --- a/Essentials/src/net/ess3/commands/Commandban.java +++ b/Essentials/src/net/ess3/commands/Commandban.java @@ -7,6 +7,7 @@ import net.ess3.permissions.Permissions; import net.ess3.user.Ban; import lombok.Cleanup; import net.ess3.api.server.CommandSender; +import net.ess3.api.server.Player; public class Commandban extends EssentialsCommand @@ -19,7 +20,7 @@ public class Commandban extends EssentialsCommand throw new NotEnoughArgumentsException(); } @Cleanup - final IUser user = getPlayer(args, 0, true); + final IUser user = ess.getUserMap().matchUser(args[0], false, true); if (!user.isOnline()) { if (sender instanceof Player && Permissions.BAN_OFFLINE.isAuthorized(user)) @@ -55,7 +56,7 @@ public class Commandban extends EssentialsCommand user.setBanned(true); user.kickPlayer(banReason); - for (IPlayer onlinePlayer : server.getOnlinePlayers()) + for (Player onlinePlayer : server.getOnlinePlayers()) { final IUser player = onlinePlayer.getUser(); if (Permissions.BAN_NOTIFY.isAuthorized(player)) diff --git a/Essentials/src/net/ess3/commands/Commandbanip.java b/Essentials/src/net/ess3/commands/Commandbanip.java index 66ff37eb5..0b74e2c66 100644 --- a/Essentials/src/net/ess3/commands/Commandbanip.java +++ b/Essentials/src/net/ess3/commands/Commandbanip.java @@ -17,7 +17,7 @@ public class Commandbanip extends EssentialsCommand } @Cleanup - final IUser player = ess.getUser(args[0]); + final IUser player = ess.getUserMap().getUser(args[0]); player.acquireReadLock(); if (player == null) diff --git a/Essentials/src/net/ess3/commands/Commandbreak.java b/Essentials/src/net/ess3/commands/Commandbreak.java index 78e58ce0e..2ff282708 100644 --- a/Essentials/src/net/ess3/commands/Commandbreak.java +++ b/Essentials/src/net/ess3/commands/Commandbreak.java @@ -1,10 +1,9 @@ package net.ess3.commands; -import net.ess3.api.IUser; -import net.ess3.permissions.Permissions; import static net.ess3.I18n._; +import net.ess3.api.IUser; import net.ess3.api.server.Material; -//TODO: remove bukkit +import net.ess3.permissions.Permissions; import org.bukkit.block.Block; import org.bukkit.event.block.BlockBreakEvent; diff --git a/Essentials/src/net/ess3/commands/Commandburn.java b/Essentials/src/net/ess3/commands/Commandburn.java index 24f0e5f87..d4fe4f5ec 100644 --- a/Essentials/src/net/ess3/commands/Commandburn.java +++ b/Essentials/src/net/ess3/commands/Commandburn.java @@ -15,7 +15,7 @@ public class Commandburn extends EssentialsCommand throw new NotEnoughArgumentsException(); } - for (Player p : server.matchPlayer(args[0])) + for (Player p : ess.getUserMap().matchUsers(args[0], false, false)) { p.setFireTicks(Integer.parseInt(args[1]) * 20); sender.sendMessage(_("burnMsg", p.getDisplayName(), Integer.parseInt(args[1]))); diff --git a/Essentials/src/net/ess3/commands/Commandclearinventory.java b/Essentials/src/net/ess3/commands/Commandclearinventory.java index ae0977907..3c91f38a9 100644 --- a/Essentials/src/net/ess3/commands/Commandclearinventory.java +++ b/Essentials/src/net/ess3/commands/Commandclearinventory.java @@ -34,7 +34,7 @@ public class Commandclearinventory extends EssentialsCommand } else { - Player p = server.getPlayer(args[0]); + Player p = ess.getUserMap().matchUser(args[0], false, false); if (p != null) { p.getInventory().clear(); diff --git a/Essentials/src/net/ess3/commands/Commanddelhome.java b/Essentials/src/net/ess3/commands/Commanddelhome.java index 4856bd824..fc3e220bc 100644 --- a/Essentials/src/net/ess3/commands/Commanddelhome.java +++ b/Essentials/src/net/ess3/commands/Commanddelhome.java @@ -20,7 +20,7 @@ public class Commanddelhome extends EssentialsCommand } @Cleanup - IUser user = sender instanceof Player ? ess.getUser((Player)sender) : null; + IUser user = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null; String name; String[] expandedArg; @@ -37,7 +37,7 @@ public class Commanddelhome extends EssentialsCommand if (expandedArg.length > 1 && (user == null || Permissions.DELHOME_OTHERS.isAuthorized(user))) { - user = getPlayer(expandedArg, 0, true); + user = ess.getUserMap().matchUser(expandedArg[1], false, true); name = expandedArg[1]; } else if (user == null) diff --git a/Essentials/src/net/ess3/commands/Commandeco.java b/Essentials/src/net/ess3/commands/Commandeco.java index 571f695df..b82ac04e7 100644 --- a/Essentials/src/net/ess3/commands/Commandeco.java +++ b/Essentials/src/net/ess3/commands/Commandeco.java @@ -35,7 +35,7 @@ public class Commandeco extends EssentialsCommand { for (String sUser : ess.getUserMap().getAllUniqueUsers()) { - final IUser player = ess.getUser(sUser); + final IUser player = ess.getUserMap().getUser(sUser); switch (cmd) { case GIVE: @@ -88,7 +88,7 @@ public class Commandeco extends EssentialsCommand } else { - final IUser player = getPlayer(args, 1, true); + final IUser player = ess.getUserMap().matchUser(args[1], true, true); switch (cmd) { case GIVE: diff --git a/Essentials/src/net/ess3/commands/Commandenchant.java b/Essentials/src/net/ess3/commands/Commandenchant.java index 4c4a4bffa..c84acdb66 100644 --- a/Essentials/src/net/ess3/commands/Commandenchant.java +++ b/Essentials/src/net/ess3/commands/Commandenchant.java @@ -68,7 +68,7 @@ public class Commandenchant extends EssentialsCommand { stack.addEnchantment(enchantment, level); } - user.getInventory().setItemInHand(stack); + user.getInventory().setxItemInHand(stack); user.updateInventory(); final String enchantmentName = enchantment.getName().toLowerCase(Locale.ENGLISH); if (level == 0) diff --git a/Essentials/src/net/ess3/commands/Commandexp.java b/Essentials/src/net/ess3/commands/Commandexp.java index 4c0b0054c..0150126b7 100644 --- a/Essentials/src/net/ess3/commands/Commandexp.java +++ b/Essentials/src/net/ess3/commands/Commandexp.java @@ -88,11 +88,10 @@ public class Commandexp extends EssentialsCommand private void showMatch(final CommandSender sender, final String match) throws NotEnoughArgumentsException { boolean foundUser = false; - for (Player matchPlayer : server.matchPlayer(match)) + for (IUser matchPlayer : ess.getUserMap().matchUsers(match, false, false)) { - foundUser = true; - final IUser target = ess.getUser(matchPlayer); - showExp(sender, target); + foundUser = true; + showExp(sender, matchPlayer); } if (!foundUser) { @@ -103,10 +102,9 @@ public class Commandexp extends EssentialsCommand private void expMatch(final CommandSender sender, final String match, final String amount, final boolean toggle) throws NotEnoughArgumentsException { boolean foundUser = false; - for (Player matchPlayer : server.matchPlayer(match)) - { - final IUser target = ess.getUser(matchPlayer); - setExp(sender, target, amount, toggle); + for (IUser matchPlayer : ess.getUserMap().matchUsers(match, false, false)) + { + setExp(sender, matchPlayer, amount, toggle); foundUser = true; } if (!foundUser) diff --git a/Essentials/src/net/ess3/commands/Commandext.java b/Essentials/src/net/ess3/commands/Commandext.java index da2bd29f5..61d5cc317 100644 --- a/Essentials/src/net/ess3/commands/Commandext.java +++ b/Essentials/src/net/ess3/commands/Commandext.java @@ -34,7 +34,7 @@ public class Commandext extends EssentialsCommand private void extinguishPlayers(final CommandSender sender, final String name) throws Exception { - for (Player matchPlayer : server.matchPlayer(name)) + for (Player matchPlayer : ess.getUserMap().matchUsers(name, false, false)) { matchPlayer.setFireTicks(0); sender.sendMessage(_("extinguishOthers", matchPlayer.getDisplayName())); diff --git a/Essentials/src/net/ess3/commands/Commandfeed.java b/Essentials/src/net/ess3/commands/Commandfeed.java index b2340ef60..0f8867ae4 100644 --- a/Essentials/src/net/ess3/commands/Commandfeed.java +++ b/Essentials/src/net/ess3/commands/Commandfeed.java @@ -1,10 +1,12 @@ package net.ess3.commands; +import java.util.List; +import java.util.Set; import static net.ess3.I18n._; import net.ess3.api.IUser; -import net.ess3.permissions.Permissions; -import java.util.List; +import net.ess3.api.server.CommandSender; import net.ess3.api.server.Player; +import net.ess3.permissions.Permissions; public class Commandfeed extends EssentialsCommand @@ -24,21 +26,16 @@ public class Commandfeed extends EssentialsCommand } } - private void feedOtherPlayers(final ICommandSender sender, final String name) - // shouldn't this be CommandSender? ^ + private void feedOtherPlayers(final CommandSender sender, final String name) { - final List<Player> players = server.matchPlayer(name); - if (players.isEmpty()) + final Set<IUser> users = ess.getUserMap().matchUsers(name, false, false); + if (users.isEmpty()) { sender.sendMessage(_("playerNotFound")); return; } - for (Player player : players) - { - if (ess.getUser(player).isHidden()) - { - continue; - } + for (Player player : users) + { player.setFoodLevel(20); player.setSaturation(10); sender.sendMessage(_("feedOther", player.getDisplayName())); diff --git a/Essentials/src/net/ess3/commands/Commandfly.java b/Essentials/src/net/ess3/commands/Commandfly.java index 54e6dec42..82f5023fc 100644 --- a/Essentials/src/net/ess3/commands/Commandfly.java +++ b/Essentials/src/net/ess3/commands/Commandfly.java @@ -4,7 +4,7 @@ import static net.ess3.I18n._; import net.ess3.api.IUser; import net.ess3.api.server.CommandSender; import net.ess3.api.server.Player; -import net.ess3.api.IServer +import net.ess3.api.server.Server; import net.ess3.permissions.Permissions; @@ -41,34 +41,29 @@ public class Commandfly extends EssentialsCommand private void flyOtherPlayers(final Server server, final CommandSender sender, final String[] args) { - for (Player matchPlayer : server.matchPlayer(args[0])) - { - final IUser player = ess.getUser(matchPlayer); - if (player.isHidden()) - { - continue; - } + for (Player matchPlayer : ess.getUserMap().matchUsers(args[0],false,false)) + { if (args.length > 1) { if (args[1].contains("on") || args[1].contains("ena") || args[1].equalsIgnoreCase("1")) { - player.setAllowFlight(true); + matchPlayer.setAllowFlight(true); } else { - player.setAllowFlight(false); + matchPlayer.setAllowFlight(false); } } else { - player.setAllowFlight(!player.getAllowFlight()); + matchPlayer.setAllowFlight(!matchPlayer.getAllowFlight()); } - if (!player.getAllowFlight()) + if (!matchPlayer.getAllowFlight()) { - player.setFlying(false); + matchPlayer.setFlying(false); } - sender.sendMessage(_("flyMode", _(player.getAllowFlight() ? "enabled" : "disabled"), player.getDisplayName())); + sender.sendMessage(_("flyMode", _(matchPlayer.getAllowFlight() ? "enabled" : "disabled"), matchPlayer.getDisplayName())); } } } diff --git a/Essentials/src/net/ess3/commands/Commandgamemode.java b/Essentials/src/net/ess3/commands/Commandgamemode.java index 4a4cac437..2e0705303 100644 --- a/Essentials/src/net/ess3/commands/Commandgamemode.java +++ b/Essentials/src/net/ess3/commands/Commandgamemode.java @@ -37,14 +37,8 @@ public class Commandgamemode extends EssentialsCommand private void gamemodeOtherPlayers(final CommandSender sender, final String args[]) { - for (Player matchPlayer : server.matchPlayer(args[0])) - { - final IUser player = ess.getUser(matchPlayer); - if (player.isHidden()) - { - continue; - } - + for (Player player : ess.getUserMap().matchUsers(args[0], false, false)) + { if (args.length > 1) { if (args[1].contains("creat") || args[1].equalsIgnoreCase("1")) diff --git a/Essentials/src/net/ess3/commands/Commandgetpos.java b/Essentials/src/net/ess3/commands/Commandgetpos.java index c5141eca2..5c0273742 100644 --- a/Essentials/src/net/ess3/commands/Commandgetpos.java +++ b/Essentials/src/net/ess3/commands/Commandgetpos.java @@ -15,7 +15,7 @@ public class Commandgetpos extends EssentialsCommand if (args.length > 0 && Permissions.GETPOS_OTHERS.isAuthorized(user)) { //todo permissions - final IUser otherUser = getPlayer(args, 0); + final IUser otherUser = ess.getUserMap().matchUser(args[0], false, false); if (!otherUser.isHidden() || Permissions.LIST_HIDDEN.isAuthorized(user)) { outputPosition(user, otherUser.getLocation(), user.getLocation()); @@ -33,7 +33,7 @@ public class Commandgetpos extends EssentialsCommand { throw new NotEnoughArgumentsException(); } - final IUser user = getPlayer(args, 0); + final IUser user = ess.getUserMap().matchUser(args[0], false, false); outputPosition(sender, user.getLocation(), null); } diff --git a/Essentials/src/net/ess3/commands/Commandgive.java b/Essentials/src/net/ess3/commands/Commandgive.java index eb326748e..6cbc178f3 100644 --- a/Essentials/src/net/ess3/commands/Commandgive.java +++ b/Essentials/src/net/ess3/commands/Commandgive.java @@ -53,7 +53,7 @@ public class Commandgive extends EssentialsCommand { continue; } - final Enchantment enchantment = Commandenchant.getEnchantment(split[0], sender instanceof Player ? ess.getUser((Player)sender) : null); + final Enchantment enchantment = Commandenchant.getEnchantment(split[0], sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null); int level; if (split.length > 1) { diff --git a/Essentials/src/net/ess3/commands/Commandgod.java b/Essentials/src/net/ess3/commands/Commandgod.java index 97c04ca23..0f74689d3 100644 --- a/Essentials/src/net/ess3/commands/Commandgod.java +++ b/Essentials/src/net/ess3/commands/Commandgod.java @@ -38,7 +38,7 @@ public class Commandgod extends EssentialsCommand { for (Player matchPlayer : server.matchPlayer(args[0])) { - final IUser player = ess.getUser(matchPlayer); + final IUser player = ess.getUserMap().getUser(matchPlayer); if (player.isHidden()) { continue; diff --git a/Essentials/src/net/ess3/commands/Commandheal.java b/Essentials/src/net/ess3/commands/Commandheal.java index d5c18149c..946583a19 100644 --- a/Essentials/src/net/ess3/commands/Commandheal.java +++ b/Essentials/src/net/ess3/commands/Commandheal.java @@ -1,6 +1,7 @@ package net.ess3.commands; import java.util.List; +import java.util.Set; import static net.ess3.I18n._; import net.ess3.api.IUser; import net.ess3.api.server.CommandSender; @@ -9,7 +10,6 @@ import net.ess3.permissions.Permissions; import net.ess3.user.UserData.TimestampType; - public class Commandheal extends EssentialsCommand { @Override @@ -45,18 +45,14 @@ public class Commandheal extends EssentialsCommand private void healOtherPlayers(final CommandSender sender, final String name) { - final List<Player> players = server.matchPlayer(name); - if (players.isEmpty()) + final Set<IUser> users = ess.getUserMap().matchUsers(name, false, false); + if (users.isEmpty()) { sender.sendMessage(_("playerNotFound")); return; } - for (Player p : players) - { - if (ess.getUser(p).isHidden()) - { - continue; - } + for (Player p : users) + { p.setHealth(20); p.setFoodLevel(20); p.sendMessage(_("heal")); diff --git a/Essentials/src/net/ess3/commands/Commandhelpop.java b/Essentials/src/net/ess3/commands/Commandhelpop.java index 542d89b10..5ca9a5386 100644 --- a/Essentials/src/net/ess3/commands/Commandhelpop.java +++ b/Essentials/src/net/ess3/commands/Commandhelpop.java @@ -1,9 +1,11 @@ package net.ess3.commands; import java.util.logging.Level; +import static net.ess3.I18n._; import net.ess3.api.IUser; import net.ess3.api.server.Player; import net.ess3.permissions.Permissions; +import net.ess3.utils.Util; public class Commandhelpop extends EssentialsCommand diff --git a/Essentials/src/net/ess3/commands/Commandhome.java b/Essentials/src/net/ess3/commands/Commandhome.java index 70a2e9870..afcac8979 100644 --- a/Essentials/src/net/ess3/commands/Commandhome.java +++ b/Essentials/src/net/ess3/commands/Commandhome.java @@ -33,7 +33,7 @@ public class Commandhome extends EssentialsCommand } else { - player = getPlayer(nameParts, 0, true); + player = ess.getUserMap().matchUser(nameParts[0], false, true); if (nameParts.length > 1) { homeName = nameParts[1]; diff --git a/Essentials/src/net/ess3/commands/Commandignore.java b/Essentials/src/net/ess3/commands/Commandignore.java index af9f2b710..d421e62f2 100644 --- a/Essentials/src/net/ess3/commands/Commandignore.java +++ b/Essentials/src/net/ess3/commands/Commandignore.java @@ -16,11 +16,11 @@ public class Commandignore extends EssentialsCommand IUser player; try { - player = getPlayer(args, 0); + player = ess.getUserMap().matchUser(args[0], false, false); } catch (NoSuchFieldException ex) { - player = ess.getUser(args[0]); + player = ess.getUserMap().getUser(args[0]); } if (player == null) { diff --git a/Essentials/src/net/ess3/commands/Commandinvsee.java b/Essentials/src/net/ess3/commands/Commandinvsee.java index 04b3eb215..41f031cef 100644 --- a/Essentials/src/net/ess3/commands/Commandinvsee.java +++ b/Essentials/src/net/ess3/commands/Commandinvsee.java @@ -21,7 +21,7 @@ public class Commandinvsee extends EssentialsCommand IUser invUser = user; if (args.length == 1) { - invUser = getPlayer(args, 0); + invUser = ess.getUserMap().matchUser(args[0], false, false); } user.acquireWriteLock(); if (invUser == user && user.getData().getInventory() != null) diff --git a/Essentials/src/net/ess3/commands/Commandkick.java b/Essentials/src/net/ess3/commands/Commandkick.java index 68ce363bc..de6495be0 100644 --- a/Essentials/src/net/ess3/commands/Commandkick.java +++ b/Essentials/src/net/ess3/commands/Commandkick.java @@ -18,7 +18,7 @@ public class Commandkick extends EssentialsCommand throw new NotEnoughArgumentsException(); } - final IUser user = getPlayer(args, 0); + final IUser user = ess.getUserMap().matchUser(args[0], false, false); if (Permissions.KICK_EXEMPT.isAuthorized(user)) { throw new Exception(_("kickExempt")); diff --git a/Essentials/src/net/ess3/commands/Commandkill.java b/Essentials/src/net/ess3/commands/Commandkill.java index 7611ef7e3..1b1ed1055 100644 --- a/Essentials/src/net/ess3/commands/Commandkill.java +++ b/Essentials/src/net/ess3/commands/Commandkill.java @@ -18,7 +18,7 @@ public class Commandkill extends EssentialsCommand throw new NotEnoughArgumentsException(); } - for (Player matchPlayer : server.matchPlayer(args[0])) + for (Player matchPlayer : ess.getUserMap().matchUsers(args[0], false, false)) { final EntityDamageEvent ede = new EntityDamageEvent(matchPlayer, sender instanceof Player && ((Player)sender).getName().equals(matchPlayer.getName()) ? EntityDamageEvent.DamageCause.SUICIDE : EntityDamageEvent.DamageCause.CUSTOM, Short.MAX_VALUE); server.getPluginManager().callEvent(ede); diff --git a/Essentials/src/net/ess3/commands/Commandlightning.java b/Essentials/src/net/ess3/commands/Commandlightning.java index 646adadcd..fd7d62db4 100644 --- a/Essentials/src/net/ess3/commands/Commandlightning.java +++ b/Essentials/src/net/ess3/commands/Commandlightning.java @@ -20,7 +20,7 @@ public class Commandlightning extends EssentialsCommand IUser user = null; if (sender instanceof Player) { - user = ess.getUser(((Player)sender)); + user = ess.getUserMap().getUser(((Player)sender)); } if ((args.length < 1 || !Permissions.LIGHTNING_OTHERS.isAuthorized(user)) && user != null) { @@ -28,7 +28,7 @@ public class Commandlightning extends EssentialsCommand return; } - if (server.matchPlayer(args[0]).isEmpty()) + if (ess.getUserMap().matchUsers(args[0], false, false).isEmpty()) { throw new Exception(_("playerNotFound")); } @@ -45,11 +45,11 @@ public class Commandlightning extends EssentialsCommand } } - for (Player matchPlayer : server.matchPlayer(args[0])) + for (Player matchPlayer : ess.getUserMap().matchUsers(args[0], false, false)) { sender.sendMessage(_("lightningUse", matchPlayer.getDisplayName())); final LightningStrike strike = matchPlayer.getWorld().strikeLightningEffect(matchPlayer.getLocation()); - if (!ess.getUser(matchPlayer).isGodModeEnabled()) + if (!ess.getUserMap().getUser(matchPlayer).isGodModeEnabled()) { matchPlayer.damage(power, strike); } diff --git a/Essentials/src/net/ess3/commands/Commandmail.java b/Essentials/src/net/ess3/commands/Commandmail.java index 25893cb4c..8685133f6 100644 --- a/Essentials/src/net/ess3/commands/Commandmail.java +++ b/Essentials/src/net/ess3/commands/Commandmail.java @@ -1,13 +1,12 @@ package net.ess3.commands; +import java.util.List; import static net.ess3.I18n._; -import net.ess3.utils.Util; import net.ess3.api.IUser; import net.ess3.api.server.CommandSender; -import net.ess3.permissions.Permissions; -import java.util.List; import net.ess3.api.server.Player; - +import net.ess3.permissions.Permissions; +import net.ess3.utils.Util; public class Commandmail extends EssentialsCommand @@ -38,15 +37,15 @@ public class Commandmail extends EssentialsCommand throw new Exception(_("noPerm", "essentials.mail.send")); } - Player player = server.getPlayer(args[1]); + Player player = ess.getUserMap().matchUser(args[1], true, true); IUser u; if (player != null) { - u = ess.getUser(player); + u = player.getUser(); } else { - u = ess.getUser(args[1]); + u = ess.getUserMap().matchUser(args[1], true, true); } if (u == null) { @@ -93,15 +92,15 @@ public class Commandmail extends EssentialsCommand } else if (args.length >= 3 && "send".equalsIgnoreCase(args[0])) { - Player player = server.getPlayer(args[1]); + Player player = ess.getUserMap().matchUser(args[1], true, true); IUser u; if (player != null) { - u = ess.getUser(player); + u = player.getUser(); } else { - u = ess.getUser(args[1]); + u = ess.getUserMap().matchUser(args[1], true, true); } if (u == null) { @@ -118,15 +117,15 @@ public class Commandmail extends EssentialsCommand else if (args.length >= 2) { //allow sending from console without "send" argument, since it's the only thing the console can do - Player player = server.getPlayer(args[0]); + Player player = ess.getUserMap().matchUser(args[0], true, true); IUser u; if (player != null) { - u = ess.getUser(player); + u = player.getUser(); } else { - u = ess.getUser(args[0]); + u = ess.getUserMap().matchUser(args[0], true, true); } if (u == null) { diff --git a/Essentials/src/net/ess3/commands/Commandmsg.java b/Essentials/src/net/ess3/commands/Commandmsg.java index 3a2e8b297..ce29ed5b9 100644 --- a/Essentials/src/net/ess3/commands/Commandmsg.java +++ b/Essentials/src/net/ess3/commands/Commandmsg.java @@ -27,7 +27,7 @@ public class Commandmsg extends EssentialsCommand if (sender instanceof Player) { @Cleanup - IUser user = ess.getUser((Player)sender); + IUser user = ess.getUserMap().getUser((Player)sender); user.acquireReadLock(); if (user.getData().isMuted()) { @@ -49,7 +49,7 @@ public class Commandmsg extends EssentialsCommand final String translatedMe = _("me"); - final IReplyTo replyTo = sender instanceof Player ? ess.getUser((Player)sender) : Console.getConsoleReplyTo(); + final IReplyTo replyTo = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : Console.getConsoleReplyTo(); final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; if (args[0].equalsIgnoreCase(Console.NAME)) @@ -62,7 +62,7 @@ public class Commandmsg extends EssentialsCommand return; } - final List<Player> matchedPlayers = server.matchPlayer(args[0]); + final List<Player> matchedPlayers = ess.getUserMap().matchUser(args[0], false, false); if (matchedPlayers.isEmpty()) { @@ -72,7 +72,7 @@ public class Commandmsg extends EssentialsCommand int i = 0; for (Player matchedPlayer : matchedPlayers) { - final IUser u = ess.getUser(matchedPlayer); + final IUser u = ess.getUserMap().getUser(matchedPlayer); if (u.isHidden()) { i++; @@ -86,14 +86,14 @@ public class Commandmsg extends EssentialsCommand for (Player matchedPlayer : matchedPlayers) { sender.sendMessage(_("msgFormat", translatedMe, matchedPlayer.getDisplayName(), message)); - final IUser matchedUser = ess.getUser(matchedPlayer); - if (sender instanceof Player && (matchedUser.isIgnoringPlayer(ess.getUser((Player)sender)) || matchedUser.isHidden())) + final IUser matchedUser = ess.getUserMap().getUser(matchedPlayer); + if (sender instanceof Player && (matchedUser.isIgnoringPlayer(ess.getUserMap().getUser((Player)sender)) || matchedUser.isHidden())) { continue; } matchedPlayer.sendMessage(_("msgFormat", senderName, translatedMe, message)); - replyTo.setReplyTo(ess.getUser(matchedPlayer)); - ess.getUser(matchedPlayer).setReplyTo(sender); + replyTo.setReplyTo(ess.getUserMap().getUser(matchedPlayer)); + ess.getUserMap().getUser(matchedPlayer).setReplyTo(sender); } } } diff --git a/Essentials/src/net/ess3/commands/Commandmute.java b/Essentials/src/net/ess3/commands/Commandmute.java index 30043b95d..fe3ae21b5 100644 --- a/Essentials/src/net/ess3/commands/Commandmute.java +++ b/Essentials/src/net/ess3/commands/Commandmute.java @@ -20,7 +20,7 @@ public class Commandmute extends EssentialsCommand } @Cleanup - final IUser player = getPlayer(args, 0, true); + final IUser player = ess.getUserMap().matchUser(args[0], false, true); player.acquireReadLock(); if (!player.getData().isMuted() && Permissions.MUTE_EXEMPT.isAuthorized(player)) { diff --git a/Essentials/src/net/ess3/commands/Commandnear.java b/Essentials/src/net/ess3/commands/Commandnear.java index fd3db71f9..86aa0bc03 100644 --- a/Essentials/src/net/ess3/commands/Commandnear.java +++ b/Essentials/src/net/ess3/commands/Commandnear.java @@ -22,7 +22,7 @@ public class Commandnear extends EssentialsCommand { try { - otherUser = getPlayer(args, 0); + otherUser = ess.getUserMap().matchUser(args[0], false, false); } catch (Exception ex) { @@ -62,7 +62,7 @@ public class Commandnear extends EssentialsCommand { throw new NotEnoughArgumentsException(); } - final IUser otherUser = getPlayer(args, 0); + final IUser otherUser = ess.getUserMap().matchUser(args[0], false, false); long radius = 200; if (args.length > 1) { @@ -86,7 +86,7 @@ public class Commandnear extends EssentialsCommand for (Player onlinePlayer : server.getOnlinePlayers()) { - final IUser player = ess.getUser(onlinePlayer); + final IUser player = ess.getUserMap().getUser(onlinePlayer); if (!player.equals(user) && !player.isHidden()) { final Location playerLoc = player.getLocation(); diff --git a/Essentials/src/net/ess3/commands/Commandnick.java b/Essentials/src/net/ess3/commands/Commandnick.java index 07a251f14..a0ec13c91 100644 --- a/Essentials/src/net/ess3/commands/Commandnick.java +++ b/Essentials/src/net/ess3/commands/Commandnick.java @@ -7,7 +7,7 @@ import net.ess3.api.ISettings; import net.ess3.api.IUser; import net.ess3.api.server.CommandSender; import net.ess3.api.server.Player; -import net.ess3.api.IServer +import net.ess3.api.server.Server; import net.ess3.permissions.Permissions; import net.ess3.utils.Util; @@ -34,7 +34,7 @@ public class Commandnick extends EssentialsCommand { throw new Exception(_("nickOthersPermission")); } - setNickname(getPlayer(args, 0), formatNickname(user, args[1])); + setNickname(ess.getUserMap().matchUser(args[0], false, false), formatNickname(user, args[1])); user.sendMessage(_("nickChanged")); return; } @@ -61,7 +61,7 @@ public class Commandnick extends EssentialsCommand } else { - setNickname(getPlayer(args, 0), formatNickname(null, args[1])); + setNickname(ess.getUserMap().matchUser(args[0], false, false), formatNickname(null, args[1])); } sender.sendMessage(_("nickChanged")); } @@ -84,7 +84,7 @@ public class Commandnick extends EssentialsCommand { try { - setNickname(ess.getUser(player), "off"); + setNickname(ess.getUserMap().getUser(player), "off"); } catch (Exception ex) { diff --git a/Essentials/src/net/ess3/commands/Commandnuke.java b/Essentials/src/net/ess3/commands/Commandnuke.java deleted file mode 100644 index 94b60cd77..000000000 --- a/Essentials/src/net/ess3/commands/Commandnuke.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.ess3.commands; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import static net.ess3.I18n._; -import net.ess3.api.server.CommandSender; -import net.ess3.api.server.Location; -import net.ess3.api.server.Player; -import net.ess3.api.server.World; -import org.bukkit.entity.TNTPrimed; - - -public class Commandnuke extends EssentialsCommand -{ - @Override - protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws NoSuchFieldException, NotEnoughArgumentsException - { - List<Player> targets; - if (args.length > 0) - { - targets = new ArrayList<Player>(); - int pos = 0; - for (String arg : args) - { - targets.add(getPlayer(args, pos)); - pos++; - } - } - else - { - targets = Arrays.asList(server.getOnlinePlayers()); - } - ess.getTNTListener().enable(); - for (Player player : targets) - { - if (player == null) - { - continue; - } - player.sendMessage(_("nuke")); - final Location loc = player.getLocation(); - final World world = loc.getWorld(); - for (int x = -10; x <= 10; x += 5) - { - for (int z = -10; z <= 10; z += 5) - { - final Location tntloc = new Location(world, loc.getBlockX() + x, world.getMaxHeight(), loc.getBlockZ() + z); - final TNTPrimed tnt = world.spawn(tntloc, TNTPrimed.class); - } - } - } - } -} diff --git a/Essentials/src/net/ess3/commands/Commandpay.java b/Essentials/src/net/ess3/commands/Commandpay.java index c1f331fca..a4f2e0682 100644 --- a/Essentials/src/net/ess3/commands/Commandpay.java +++ b/Essentials/src/net/ess3/commands/Commandpay.java @@ -25,15 +25,10 @@ public class Commandpay extends EssentialsCommand double amount = Double.parseDouble(args[1].replaceAll("[^0-9\\.]", "")); boolean foundUser = false; - for (Player p : server.matchPlayer(args[0])) + for (Player p : ess.getUserMap().matchUsers(args[0], false, true)) { - IUser u = ess.getUser(p); - if (u.isHidden()) - { - continue; - } - user.payUser(u, amount); - Trade.log("Command", "Pay", "Player", user.getName(), new Trade(amount, ess), u.getName(), new Trade(amount, ess), user.getLocation(), ess); + user.payUser(p.getUser(), amount); + Trade.log("Command", "Pay", "Player", user.getName(), new Trade(amount, ess), p.getName(), new Trade(amount, ess), user.getLocation(), ess); foundUser = true; } diff --git a/Essentials/src/net/ess3/commands/Commandptime.java b/Essentials/src/net/ess3/commands/Commandptime.java index 7a0f27b1f..396497618 100644 --- a/Essentials/src/net/ess3/commands/Commandptime.java +++ b/Essentials/src/net/ess3/commands/Commandptime.java @@ -41,7 +41,7 @@ public class Commandptime extends EssentialsCommand return; } - IUser user = sender instanceof Player ? ess.getUser((Player)sender) : null; + IUser user = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null; if ((!users.contains(user) || users.size() > 1) && user != null && !Permissions.PTIME_OTHERS.isAuthorized(user)) { user.sendMessage(_("pTimeOthersPermission")); @@ -183,12 +183,12 @@ public class Commandptime extends EssentialsCommand // If there is no selector we want the sender itself. Or all users if sender isn't a user. if (selector == null) { - final IUser user = sender instanceof Player ? ess.getUser((Player)sender) : null; + final IUser user = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null; if (user == null) { for (Player player : server.getOnlinePlayers()) { - users.add(ess.getUser(player)); + users.add(ess.getUserMap().getUser(player)); } } else @@ -203,7 +203,7 @@ public class Commandptime extends EssentialsCommand final List<Player> matchedPlayers = server.matchPlayer(selector); if (!matchedPlayers.isEmpty()) { - user = ess.getUser(matchedPlayers.get(0)); + user = ess.getUserMap().getUser(matchedPlayers.get(0)); } if (user != null) @@ -215,7 +215,7 @@ public class Commandptime extends EssentialsCommand { for (Player player : server.getOnlinePlayers()) { - users.add(ess.getUser(player)); + users.add(ess.getUserMap().getUser(player)); } } // We failed to understand the world target... diff --git a/Essentials/src/net/ess3/commands/Commandr.java b/Essentials/src/net/ess3/commands/Commandr.java index 1b2e42dcb..1e0b5750e 100644 --- a/Essentials/src/net/ess3/commands/Commandr.java +++ b/Essentials/src/net/ess3/commands/Commandr.java @@ -26,7 +26,7 @@ public class Commandr extends EssentialsCommand if (sender instanceof Player) { - IUser user = ess.getUser((Player)sender); + IUser user = ess.getUserMap().getUser((Player)sender); if (Permissions.MSG_COLOR.isAuthorized(user)) { message = Util.replaceFormat(message); @@ -56,8 +56,8 @@ public class Commandr extends EssentialsCommand sender.sendMessage(_("msgFormat", _("me"), targetName, message)); if (target instanceof Player) { - IUser player = ess.getUser((Player)target); - if (sender instanceof Player && player.isIgnoringPlayer(ess.getUser((Player)sender))) + IUser player = ess.getUserMap().getUser((Player)target); + if (sender instanceof Player && player.isIgnoringPlayer(ess.getUserMap().getUser((Player)sender))) { return; } @@ -68,7 +68,7 @@ public class Commandr extends EssentialsCommand { if (target instanceof Player) { - ess.getUser((Player)target).setReplyTo(sender); + ess.getUserMap().getUser((Player)target).setReplyTo(sender); } else { diff --git a/Essentials/src/net/ess3/commands/Commandrealname.java b/Essentials/src/net/ess3/commands/Commandrealname.java index 85430b90d..f21c7e2c5 100644 --- a/Essentials/src/net/ess3/commands/Commandrealname.java +++ b/Essentials/src/net/ess3/commands/Commandrealname.java @@ -24,7 +24,7 @@ public class Commandrealname extends EssentialsCommand final String whois = args[0].toLowerCase(Locale.ENGLISH); for (Player onlinePlayer : server.getOnlinePlayers()) { - final IUser u = ess.getUser(onlinePlayer); + final IUser u = ess.getUserMap().getUser(onlinePlayer); if (u.isHidden()) { continue; diff --git a/Essentials/src/net/ess3/commands/Commandseen.java b/Essentials/src/net/ess3/commands/Commandseen.java index a508b16e3..9dbb6a7f9 100644 --- a/Essentials/src/net/ess3/commands/Commandseen.java +++ b/Essentials/src/net/ess3/commands/Commandseen.java @@ -31,13 +31,13 @@ public class Commandseen extends EssentialsCommand } try { - IUser u = getPlayer(args, 0); + IUser u = ess.getUserMap().matchUser(args[0], false, false); sender.sendMessage(_("seenOnline", u.getDisplayName(), DateUtil.formatDateDiff(u.getTimestamp(TimestampType.LOGIN)))); } catch (NoSuchFieldException e) { @Cleanup - IUser u = ess.getUser(args[0]); + IUser u = ess.getUserMap().getUser(args[0]); u.acquireReadLock(); if (u == null) { diff --git a/Essentials/src/net/ess3/commands/Commandsethome.java b/Essentials/src/net/ess3/commands/Commandsethome.java index 00e3a0170..511d05487 100644 --- a/Essentials/src/net/ess3/commands/Commandsethome.java +++ b/Essentials/src/net/ess3/commands/Commandsethome.java @@ -56,7 +56,7 @@ public class Commandsethome extends EssentialsCommand if (Permissions.SETHOME_OTHERS.isAuthorized(user)) { @Cleanup - IUser usersHome = ess.getUser(ess.getServer().getPlayer(args[0])); + IUser usersHome = ess.getUserMap().getUser(ess.getServer().getPlayer(args[0])); if (usersHome == null) { throw new Exception(_("playerNotFound")); diff --git a/Essentials/src/net/ess3/commands/Commandspawn.java b/Essentials/src/net/ess3/commands/Commandspawn.java index 213f14211..bb177ae79 100644 --- a/Essentials/src/net/ess3/commands/Commandspawn.java +++ b/Essentials/src/net/ess3/commands/Commandspawn.java @@ -20,7 +20,7 @@ public class Commandspawn extends EssentialsCommand charge.isAffordableFor(user); if (args.length > 0 && Permissions.SPAWN_OTHERS.isAuthorized(user)) { - final IUser otherUser = getPlayer(args, 0); + final IUser otherUser = ess.getUserMap().matchUser(args[0], false, false); respawn(otherUser, null); if (!otherUser.equals(user)) { @@ -41,7 +41,7 @@ public class Commandspawn extends EssentialsCommand { throw new NotEnoughArgumentsException(); } - final IUser user = getPlayer(args, 0); + final IUser user = ess.getUserMap().matchUser(args[0], false, false); respawn(user, null); user.sendMessage(_("teleportAtoB", user.getDisplayName(), "spawn")); sender.sendMessage(_("teleporting")); diff --git a/Essentials/src/net/ess3/commands/Commandsudo.java b/Essentials/src/net/ess3/commands/Commandsudo.java index d77241348..84d5d9b36 100644 --- a/Essentials/src/net/ess3/commands/Commandsudo.java +++ b/Essentials/src/net/ess3/commands/Commandsudo.java @@ -16,7 +16,7 @@ public class Commandsudo extends EssentialsCommand throw new NotEnoughArgumentsException(); } - final IUser user = getPlayer(args, 0, false); + final IUser user = ess.getUserMap().matchUser(args[0], false, false); final String command = args[1]; final String[] arguments = new String[args.length - 2]; if (arguments.length > 0) diff --git a/Essentials/src/net/ess3/commands/Commandtempban.java b/Essentials/src/net/ess3/commands/Commandtempban.java index d41dbac37..fe3f01b1f 100644 --- a/Essentials/src/net/ess3/commands/Commandtempban.java +++ b/Essentials/src/net/ess3/commands/Commandtempban.java @@ -20,7 +20,7 @@ public class Commandtempban extends EssentialsCommand { throw new NotEnoughArgumentsException(); } - final IUser user = getPlayer(args, 0, true); + final IUser user = ess.getUserMap().matchUser(args[0], false, true); if (!user.isOnline()) { if (Permissions.TEMPBAN_OFFLINE.isAuthorized(sender)) @@ -51,7 +51,7 @@ public class Commandtempban extends EssentialsCommand for (Player onlinePlayer : server.getOnlinePlayers()) { - final IUser player = ess.getUser(onlinePlayer); + final IUser player = ess.getUserMap().getUser(onlinePlayer); if (Permissions.BAN_NOTIFY.isAuthorized(player)) { onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason)); diff --git a/Essentials/src/net/ess3/commands/Commandtime.java b/Essentials/src/net/ess3/commands/Commandtime.java index f48b31cd7..c0ea66898 100644 --- a/Essentials/src/net/ess3/commands/Commandtime.java +++ b/Essentials/src/net/ess3/commands/Commandtime.java @@ -122,7 +122,7 @@ public class Commandtime extends EssentialsCommand // If there is no selector we want the world the user is currently in. Or all worlds if it isn't a user. if (selector == null) { - final IUser user = sender instanceof Player ? ess.getUser((Player)sender) : null; + final IUser user = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null; if (user == null) { worlds.addAll(server.getWorlds()); diff --git a/Essentials/src/net/ess3/commands/Commandtogglejail.java b/Essentials/src/net/ess3/commands/Commandtogglejail.java index bc1c3d127..8cd17d683 100644 --- a/Essentials/src/net/ess3/commands/Commandtogglejail.java +++ b/Essentials/src/net/ess3/commands/Commandtogglejail.java @@ -21,7 +21,7 @@ public class Commandtogglejail extends EssentialsCommand } @Cleanup - final IUser player = getPlayer(args, 0, true); + final IUser player = ess.getUserMap().matchUser(args[0], false, true); player.acquireReadLock(); if (args.length >= 2 && !player.getData().isJailed()) diff --git a/Essentials/src/net/ess3/commands/Commandtp.java b/Essentials/src/net/ess3/commands/Commandtp.java index 45cdf5870..a9b4873d6 100644 --- a/Essentials/src/net/ess3/commands/Commandtp.java +++ b/Essentials/src/net/ess3/commands/Commandtp.java @@ -5,6 +5,7 @@ import net.ess3.Console; import static net.ess3.I18n._; import net.ess3.api.ISettings; import net.ess3.api.IUser; +import net.ess3.api.server.CommandSender; import net.ess3.economy.Trade; import net.ess3.permissions.Permissions; import net.ess3.permissions.WorldPermissions; @@ -27,7 +28,7 @@ public class Commandtp extends EssentialsCommand case 1: @Cleanup - final IUser player = getPlayer(args, 0); + final IUser player = ess.getUserMap().matchUser(args[0], false, false); player.acquireReadLock(); if (!player.getData().isTeleportEnabled()) { @@ -51,9 +52,9 @@ public class Commandtp extends EssentialsCommand } user.sendMessage(_("teleporting")); @Cleanup - final IUser target = getPlayer(args, 0); + final IUser target = ess.getUserMap().matchUser(args[0], false, false); @Cleanup - final IUser toPlayer = getPlayer(args, 1); + final IUser toPlayer = ess.getUserMap().matchUser(args[1], false, false); target.acquireReadLock(); toPlayer.acquireReadLock(); diff --git a/Essentials/src/net/ess3/commands/Commandtpa.java b/Essentials/src/net/ess3/commands/Commandtpa.java index 999b57ec3..db78e27e7 100644 --- a/Essentials/src/net/ess3/commands/Commandtpa.java +++ b/Essentials/src/net/ess3/commands/Commandtpa.java @@ -18,7 +18,7 @@ public class Commandtpa extends EssentialsCommand } @Cleanup - IUser player = getPlayer(args, 0); + IUser player = ess.getUserMap().matchUser(args[0], false, false); player.acquireReadLock(); if (!player.getData().isTeleportEnabled()) { diff --git a/Essentials/src/net/ess3/commands/Commandtpaall.java b/Essentials/src/net/ess3/commands/Commandtpaall.java index 717a55cc1..79bc2a5fd 100644 --- a/Essentials/src/net/ess3/commands/Commandtpaall.java +++ b/Essentials/src/net/ess3/commands/Commandtpaall.java @@ -18,13 +18,13 @@ public class Commandtpaall extends EssentialsCommand { if (sender instanceof Player) { - teleportAAllPlayers(sender, ess.getUser((Player)sender)); + teleportAAllPlayers(sender, ess.getUserMap().getUser((Player)sender)); return; } throw new NotEnoughArgumentsException(); } - final IUser player = getPlayer(args, 0); + final IUser player = ess.getUserMap().matchUser(args[0], false, false); teleportAAllPlayers(sender, player); } @@ -34,7 +34,7 @@ public class Commandtpaall extends EssentialsCommand for (Player onlinePlayer : server.getOnlinePlayers()) { @Cleanup - final IUser player = ess.getUser(onlinePlayer); + final IUser player = ess.getUserMap().getUser(onlinePlayer); player.acquireReadLock(); if (user == player) { diff --git a/Essentials/src/net/ess3/commands/Commandtpahere.java b/Essentials/src/net/ess3/commands/Commandtpahere.java index 01e3dd29b..6ae1c036a 100644 --- a/Essentials/src/net/ess3/commands/Commandtpahere.java +++ b/Essentials/src/net/ess3/commands/Commandtpahere.java @@ -18,7 +18,7 @@ public class Commandtpahere extends EssentialsCommand } @Cleanup - final IUser player = getPlayer(args, 0); + final IUser player = ess.getUserMap().matchUser(args[0], false, false); player.acquireReadLock(); if (!player.getData().isTeleportEnabled()) { diff --git a/Essentials/src/net/ess3/commands/Commandtpall.java b/Essentials/src/net/ess3/commands/Commandtpall.java index 0a08f88b7..107db6bcd 100644 --- a/Essentials/src/net/ess3/commands/Commandtpall.java +++ b/Essentials/src/net/ess3/commands/Commandtpall.java @@ -20,13 +20,13 @@ public class Commandtpall extends EssentialsCommand { if (sender instanceof Player) { - teleportAllPlayers(sender, ess.getUser((Player)sender)); + teleportAllPlayers(sender, ess.getUserMap().getUser((Player)sender)); return; } throw new NotEnoughArgumentsException(); } - final IUser player = getPlayer(args, 0); + final IUser player = ess.getUserMap().matchUser(args[0], false, false); teleportAllPlayers(sender, player); } @@ -35,7 +35,7 @@ public class Commandtpall extends EssentialsCommand sender.sendMessage(_("teleportAll")); for (Player onlinePlayer : server.getOnlinePlayers()) { - final IUser player = ess.getUser(onlinePlayer); + final IUser player = ess.getUserMap().getUser(onlinePlayer); if (user == player) { continue; diff --git a/Essentials/src/net/ess3/commands/Commandtphere.java b/Essentials/src/net/ess3/commands/Commandtphere.java index 78d571423..7b26f53d4 100644 --- a/Essentials/src/net/ess3/commands/Commandtphere.java +++ b/Essentials/src/net/ess3/commands/Commandtphere.java @@ -14,7 +14,7 @@ public class Commandtphere extends EssentialsCommand public void run(final IUser user, final String commandLabel, final String[] args) throws Exception { @Cleanup - final IUser player = getPlayer(args, 0); + final IUser player = ess.getUserMap().matchUser(args[0], false, false); player.acquireReadLock(); if (!player.getData().isTeleportEnabled()) { diff --git a/Essentials/src/net/ess3/commands/Commandtpo.java b/Essentials/src/net/ess3/commands/Commandtpo.java index 2a90fa045..8cef5bb81 100644 --- a/Essentials/src/net/ess3/commands/Commandtpo.java +++ b/Essentials/src/net/ess3/commands/Commandtpo.java @@ -18,7 +18,7 @@ public class Commandtpo extends EssentialsCommand } //Just basically the old tp command - final IUser player = getPlayer(args, 0, true); + final IUser player = ess.getUserMap().matchUser(args[0], false, true); // Check if user is offline if (!player.isOnline()) { diff --git a/Essentials/src/net/ess3/commands/Commandtpohere.java b/Essentials/src/net/ess3/commands/Commandtpohere.java index e9a392591..d58384144 100644 --- a/Essentials/src/net/ess3/commands/Commandtpohere.java +++ b/Essentials/src/net/ess3/commands/Commandtpohere.java @@ -21,7 +21,7 @@ public class Commandtpohere extends EssentialsCommand } //Just basically the old tphere command - final IUser player = getPlayer(args, 0, true); + final IUser player = ess.getUserMap().matchUser(args[0], false, true); // Check if user is offline if (!player.isOnline()) diff --git a/Essentials/src/net/ess3/commands/Commandtppos.java b/Essentials/src/net/ess3/commands/Commandtppos.java index 29350cc60..3cf658f71 100644 --- a/Essentials/src/net/ess3/commands/Commandtppos.java +++ b/Essentials/src/net/ess3/commands/Commandtppos.java @@ -2,6 +2,7 @@ package net.ess3.commands; import static net.ess3.I18n._; import net.ess3.api.IUser; +import net.ess3.api.server.CommandSender; import net.ess3.api.server.Location; import net.ess3.economy.Trade; //TODO: remove bukkit @@ -45,7 +46,7 @@ public class Commandtppos extends EssentialsCommand throw new NotEnoughArgumentsException(); } - IUser user = ess.getUser(server.getPlayer(args[0])); + IUser user = ess.getUserMap().getUser(server.getPlayer(args[0])); final int x = Integer.parseInt(args[1]); final int y = Integer.parseInt(args[2]); final int z = Integer.parseInt(args[3]); diff --git a/Essentials/src/net/ess3/commands/Commandunban.java b/Essentials/src/net/ess3/commands/Commandunban.java index cd82ba509..75d9081bd 100644 --- a/Essentials/src/net/ess3/commands/Commandunban.java +++ b/Essentials/src/net/ess3/commands/Commandunban.java @@ -19,7 +19,7 @@ public class Commandunban extends EssentialsCommand try { @Cleanup - final IUser player = getPlayer(args, 0, true); + final IUser player = ess.getUserMap().matchUser(args[0], false, true); player.acquireWriteLock(); player.getData().setBan(null); player.setBanned(false); diff --git a/Essentials/src/net/ess3/commands/Commandunbanip.java b/Essentials/src/net/ess3/commands/Commandunbanip.java index 03c8fcb75..7243eb370 100644 --- a/Essentials/src/net/ess3/commands/Commandunbanip.java +++ b/Essentials/src/net/ess3/commands/Commandunbanip.java @@ -18,7 +18,7 @@ public class Commandunbanip extends EssentialsCommand try { @Cleanup - final IUser user = getPlayer(args, 0, true); + final IUser user = ess.getUserMap().matchUser(args[0], false, true); user.acquireReadLock(); ess.getServer().unbanIP(user.getData().getIpAddress()); } diff --git a/Essentials/src/net/ess3/commands/Commandunlimited.java b/Essentials/src/net/ess3/commands/Commandunlimited.java index 88115ab64..9f182a6a7 100644 --- a/Essentials/src/net/ess3/commands/Commandunlimited.java +++ b/Essentials/src/net/ess3/commands/Commandunlimited.java @@ -26,7 +26,7 @@ public class Commandunlimited extends EssentialsCommand if (args.length > 1 && Permissions.UNLIMITED_OTHERS.isAuthorized(user)) { - target = getPlayer(args, 1); + target = ess.getUserMap().matchUser(args[1], false, false); target.acquireReadLock(); } diff --git a/Essentials/src/net/ess3/commands/Commandwarp.java b/Essentials/src/net/ess3/commands/Commandwarp.java index 2d56a0cb9..ff5e0af99 100644 --- a/Essentials/src/net/ess3/commands/Commandwarp.java +++ b/Essentials/src/net/ess3/commands/Commandwarp.java @@ -12,6 +12,7 @@ import java.util.Iterator; import java.util.List; import java.util.Locale; //TODO: remove bukkit +import net.ess3.api.server.CommandSender; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -36,7 +37,7 @@ public class Commandwarp extends EssentialsCommand IUser otherUser = null; if (args.length == 2 && Permissions.WARP_OTHERS.isAuthorized(user)) { - otherUser = ess.getUser(server.getPlayer(args[1])); + otherUser = ess.getUserMap().matchUser(args[1],Permissions.WARP_HIDDEN.isAuthorized(user), false); if (otherUser == null) { throw new Exception(_("playerNotFound")); @@ -57,7 +58,7 @@ public class Commandwarp extends EssentialsCommand warpList(sender, args); throw new NoChargeException(); } - IUser otherUser = ess.getUser(server.getPlayer(args[1])); + IUser otherUser = ess.getUserMap().matchUser(args[1],Permissions.WARP_HIDDEN.isAuthorized(sender), false); if (otherUser == null) { throw new Exception(_("playerNotFound")); diff --git a/Essentials/src/net/ess3/commands/Commandworth.java b/Essentials/src/net/ess3/commands/Commandworth.java index 9b0939f8f..deda51c6c 100644 --- a/Essentials/src/net/ess3/commands/Commandworth.java +++ b/Essentials/src/net/ess3/commands/Commandworth.java @@ -5,6 +5,7 @@ import net.ess3.utils.Util; import net.ess3.api.IUser; import net.ess3.api.server.ItemStack; import java.util.Locale; +import net.ess3.api.server.CommandSender; public class Commandworth extends EssentialsCommand diff --git a/Essentials/src/net/ess3/commands/EssentialsCommand.java b/Essentials/src/net/ess3/commands/EssentialsCommand.java index d54e3d309..6afd42f01 100644 --- a/Essentials/src/net/ess3/commands/EssentialsCommand.java +++ b/Essentials/src/net/ess3/commands/EssentialsCommand.java @@ -5,7 +5,7 @@ import net.ess3.api.IEssentials; import net.ess3.api.IEssentialsModule; import net.ess3.api.IUser; import net.ess3.api.server.CommandSender; -import net.ess3.api.server.IServer; +import net.ess3.api.server.Server; import net.ess3.api.server.Player; import net.ess3.economy.Trade; import net.ess3.permissions.AbstractSuperpermsPermission; @@ -19,7 +19,7 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp protected transient String commandName; protected transient IEssentials ess; protected transient IEssentialsModule module; - protected transient IServer server; + protected transient Server server; protected transient Logger logger; private transient String permission; @@ -38,7 +38,7 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp this.module = module; } - protected IUser getPlayer(final String[] args, final int pos) throws NoSuchFieldException, NotEnoughArgumentsException + /*protected IUser getPlayer(final String[] args, final int pos) throws NoSuchFieldException, NotEnoughArgumentsException { return getPlayer(args, pos, false); } @@ -53,7 +53,7 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp { throw new NoSuchFieldException(_("playerNotFound")); } - final IUser user = ess.getUser(args[pos]); + final IUser user = ess.getUserMap().getUser(args[pos]); if (user != null) { if (!getOffline && (!user.isOnline() || user.isHidden())) @@ -81,7 +81,7 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp } } throw new NoSuchFieldException(_("playerNotFound")); - } + }*/ @Override public final void run(final IUser user, final Command cmd, final String commandLabel, final String[] args) throws Exception diff --git a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java index db2b63c3e..3d026d5c1 100644 --- a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java +++ b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java @@ -5,13 +5,14 @@ import java.util.logging.Level; import java.util.logging.Logger; import static net.ess3.I18n._; import net.ess3.api.*; +import net.ess3.api.server.CommandSender; +import net.ess3.api.server.Player; +import net.ess3.api.server.Plugin; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.PluginCommand; import org.bukkit.command.PluginCommandYamlParser; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; public class EssentialsCommandHandler implements ICommandHandler @@ -63,6 +64,7 @@ public class EssentialsCommandHandler implements ICommandHandler { settings.unlock(); } + // TODO: Move this stuff to bukkit workarounds // Allow plugins to override the command via onCommand if (!overridden && (!commandLabel.startsWith("e") || commandLabel.equalsIgnoreCase(command.getName()))) { @@ -102,7 +104,7 @@ public class EssentialsCommandHandler implements ICommandHandler IUser user = null; if (sender instanceof Player) { - user = ess.getUser((Player)sender); + user = ((Player)sender).getUser(); LOGGER.log(Level.INFO, String.format("[PLAYER_COMMAND] %s: /%s %s ", ((Player)sender).getName(), commandLabel, EssentialsCommand.getFinalArg(args, 0))); } @@ -202,6 +204,7 @@ public class EssentialsCommandHandler implements ICommandHandler { } + //TODO: Move this stuff to bukkit workarounds public final void addPlugin(final Plugin plugin) { if (plugin.getDescription().getMain().contains("com.earth2me.essentials")) diff --git a/Essentials/src/net/ess3/economy/Economy.java b/Essentials/src/net/ess3/economy/Economy.java index c818dbf75..cfd1f899e 100644 --- a/Essentials/src/net/ess3/economy/Economy.java +++ b/Essentials/src/net/ess3/economy/Economy.java @@ -90,7 +90,7 @@ public class Economy implements IEconomy @Override public double getMoney(String name) throws UserDoesNotExistException { - IUser user = ess.getUser(name); + IUser user = ess.getUserMap().getUser(name); if (user == null) { return getNPCBalance(name); @@ -101,7 +101,7 @@ public class Economy implements IEconomy @Override public void setMoney(String name, double balance) throws NoLoanPermittedException, UserDoesNotExistException { - IUser user = ess.getUser(name); + IUser user = ess.getUserMap().getUser(name); if (user == null) { setNPCBalance(name, balance, true); @@ -143,7 +143,7 @@ public class Economy implements IEconomy @Override public boolean isNPC(String name) throws UserDoesNotExistException { - boolean result = ess.getUser(name) == null; + boolean result = ess.getUserMap().getUser(name) == null; if (result) { getNPCBalance(name); diff --git a/Essentials/src/net/ess3/economy/Trade.java b/Essentials/src/net/ess3/economy/Trade.java index 85d8e53f3..5dc5322e8 100644 --- a/Essentials/src/net/ess3/economy/Trade.java +++ b/Essentials/src/net/ess3/economy/Trade.java @@ -1,14 +1,5 @@ package net.ess3.economy; -import static net.ess3.I18n._; -import net.ess3.api.ChargeException; -import net.ess3.api.IEssentials; -import net.ess3.api.ISettings; -import net.ess3.api.IUser; -import net.ess3.api.server.ItemStack; -import net.ess3.api.server.Location; -import net.ess3.permissions.NoCommandCostPermissions; -import net.ess3.permissions.Permissions; import java.io.File; import java.io.FileWriter; import java.io.IOException; @@ -19,6 +10,15 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import lombok.Cleanup; +import static net.ess3.I18n._; +import net.ess3.api.ChargeException; +import net.ess3.api.IEssentials; +import net.ess3.api.ISettings; +import net.ess3.api.IUser; +import net.ess3.api.server.ItemStack; +import net.ess3.api.server.Location; +import net.ess3.permissions.NoCommandCostPermissions; +import net.ess3.permissions.Permissions; diff --git a/Essentials/src/net/ess3/listener/EssentialsBlockListener.java b/Essentials/src/net/ess3/listener/EssentialsBlockListener.java index 5faaeeb3b..9d69aff04 100644 --- a/Essentials/src/net/ess3/listener/EssentialsBlockListener.java +++ b/Essentials/src/net/ess3/listener/EssentialsBlockListener.java @@ -2,16 +2,15 @@ package net.ess3.listener; import net.ess3.api.IEssentials; import net.ess3.api.IUser; -import net.ess3.utils.Util; -import org.bukkit.GameMode; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.inventory.ItemStack; +import net.ess3.api.ondemand.OnDemand; +import net.ess3.api.server.Block; +import net.ess3.api.server.ItemStack; +import net.ess3.api.server.events.EventListener; +import net.ess3.api.server.events.EventPriority; +import net.ess3.api.server.events.EventType; -public class EssentialsBlockListener implements Listener +public class EssentialsBlockListener extends EventListener { private final transient IEssentials ess; @@ -19,21 +18,20 @@ public class EssentialsBlockListener implements Listener { super(); this.ess = ess; + register(EventType.PLACE_BLOCK, EventPriority.LOW, true); } - @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) - public void onBlockPlace(final BlockPlaceEvent event) + @Override + public boolean onBlockPlace(final Block placedBlock, final OnDemand<IUser> user) { - // Do not rely on getItemInHand(); - // http://leaky.bukkit.org/issues/663 - final ItemStack itemstack = Util.convertBlockToItem(event.getBlockPlaced()); - if (itemstack == null) + final ItemStack itemstack = placedBlock.convertToItem(); + if (placedBlock == null) { - return; + return true; } - final IUser user = ess.getUser(event.getPlayer()); - final boolean unlimitedForUser = user.getData().hasUnlimited(itemstack.getType()); - if (unlimitedForUser && user.getGameMode() == GameMode.SURVIVAL) + + final boolean unlimitedForUser = user.get().getData().hasUnlimited(itemstack.getType()); + if (unlimitedForUser && user.get().isInSurvivalMode()) { ess.getPlugin().scheduleSyncDelayedTask( new Runnable() @@ -41,10 +39,11 @@ public class EssentialsBlockListener implements Listener @Override public void run() { - user.getInventory().addItem(itemstack); - user.updateInventory(); + user.get().getInventory().addItem(itemstack); + user.get().updateInventory(); } }); } + return true; } } diff --git a/Essentials/src/net/ess3/listener/EssentialsEntityListener.java b/Essentials/src/net/ess3/listener/EssentialsEntityListener.java index 6677005bd..f25376f62 100644 --- a/Essentials/src/net/ess3/listener/EssentialsEntityListener.java +++ b/Essentials/src/net/ess3/listener/EssentialsEntityListener.java @@ -44,9 +44,9 @@ public class EssentialsEntityListener implements Listener if (eDefend instanceof Player && eAttack instanceof Player) { @Cleanup - final IUser attacker = ess.getUser((Player)eAttack); + final IUser attacker = ess.getUserMap().getUser((Player)eAttack); @Cleanup - final IUser defender = ess.getUser((Player)eDefend); + final IUser defender = ess.getUserMap().getUser((Player)eDefend); @Cleanup ISettings settings = ess.getSettings(); settings.acquireReadLock(); @@ -104,7 +104,7 @@ public class EssentialsEntityListener implements Listener @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onEntityDamage(final EntityDamageEvent event) { - if (event.getEntity() instanceof Player && ess.getUser((Player)event.getEntity()).isGodModeEnabled()) + if (event.getEntity() instanceof Player && ess.getUserMap().getUser((Player)event.getEntity()).isGodModeEnabled()) { final Player player = (Player)event.getEntity(); player.setFireTicks(0); @@ -116,7 +116,7 @@ public class EssentialsEntityListener implements Listener @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onEntityCombust(final EntityCombustEvent event) { - if (event.getEntity() instanceof Player && ess.getUser((Player)event.getEntity()).isGodModeEnabled()) + if (event.getEntity() instanceof Player && ess.getUserMap().getUser((Player)event.getEntity()).isGodModeEnabled()) { event.setCancelled(true); } @@ -125,7 +125,7 @@ public class EssentialsEntityListener implements Listener @EventHandler(priority = EventPriority.LOWEST) public void onPlayerDeathEvent(final PlayerDeathEvent event) { - final IUser user = ess.getUser((Player)event.getEntity()); + final IUser user = ess.getUserMap().getUser((Player)event.getEntity()); @Cleanup final ISettings settings = ess.getSettings(); settings.acquireReadLock(); @@ -143,7 +143,7 @@ public class EssentialsEntityListener implements Listener @EventHandler(priority = EventPriority.LOW) public void onPlayerDeathExpEvent(final PlayerDeathEvent event) { - final IUser user = ess.getUser(event.getEntity()); + final IUser user = ess.getUserMap().getUser(event.getEntity()); if (Permissions.KEEPXP.isAuthorized(user)) { event.setKeepLevel(true); @@ -154,7 +154,7 @@ public class EssentialsEntityListener implements Listener @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onFoodLevelChange(final FoodLevelChangeEvent event) { - if (event.getEntity() instanceof Player && ess.getUser((Player)event.getEntity()).isGodModeEnabled()) + if (event.getEntity() instanceof Player && ess.getUserMap().getUser((Player)event.getEntity()).isGodModeEnabled()) { event.setCancelled(true); } @@ -170,7 +170,7 @@ public class EssentialsEntityListener implements Listener final ISettings settings = ess.getSettings(); settings.acquireReadLock(); @Cleanup - final IUser user = ess.getUser((Player)event.getEntity()); + final IUser user = ess.getUserMap().getUser((Player)event.getEntity()); user.acquireReadLock(); if (user.getData().isAfk() && settings.getData().getCommands().getAfk().isFreezeAFKPlayers()) { diff --git a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java index 564a75f34..04a12aada 100644 --- a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java +++ b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java @@ -52,7 +52,7 @@ public class EssentialsPlayerListener implements Listener @EventHandler(priority = EventPriority.NORMAL) public void onPlayerRespawn(final PlayerRespawnEvent event) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.updateCompass(); user.updateDisplayName(); } @@ -61,7 +61,7 @@ public class EssentialsPlayerListener implements Listener public void onPlayerChat(final PlayerChatEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (user.getData().isMuted()) { @@ -72,7 +72,7 @@ public class EssentialsPlayerListener implements Listener final Iterator<Player> it = event.getRecipients().iterator(); while (it.hasNext()) { - final IUser player = ess.getUser(it.next()); + final IUser player = ess.getUserMap().getUser(it.next()); if (player.isIgnoringPlayer(user)) { it.remove(); @@ -86,7 +86,7 @@ public class EssentialsPlayerListener implements Listener public void onPlayerMove(final PlayerMoveEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); @Cleanup final ISettings settings = ess.getSettings(); @@ -121,7 +121,7 @@ public class EssentialsPlayerListener implements Listener public void onPlayerQuit(final PlayerQuitEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); @Cleanup final ISettings settings = ess.getSettings(); @@ -152,7 +152,7 @@ public class EssentialsPlayerListener implements Listener } ess.getBackup().startTask(); @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireWriteLock(); user.updateDisplayName(); @@ -163,7 +163,7 @@ public class EssentialsPlayerListener implements Listener { if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(user)) { - user.hidePlayer(ess.getUser(p).getBase()); + user.hidePlayer(ess.getUserMap().getUser(p).getBase()); } } @@ -225,7 +225,7 @@ public class EssentialsPlayerListener implements Listener return; } @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireWriteLock(); user.getData().setNpc(false); @@ -261,7 +261,7 @@ public class EssentialsPlayerListener implements Listener //There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports. if ((event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND) && settings.getData().getCommands().getBack().isRegisterBackInListener()) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.setLastLocation(); } @@ -271,7 +271,7 @@ public class EssentialsPlayerListener implements Listener public void onPlayerEggThrow(final PlayerEggThrowEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); final ItemStack hand = new ItemStack(Material.EGG, 1); if (user.getData().hasUnlimited(hand.getType())) @@ -285,7 +285,7 @@ public class EssentialsPlayerListener implements Listener public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (user.getData().hasUnlimited(event.getBucket())) { @@ -304,7 +304,7 @@ public class EssentialsPlayerListener implements Listener @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); final String cmd = event.getMessage().toLowerCase(Locale.ENGLISH).split(" ")[0].replace("/", "").toLowerCase(Locale.ENGLISH); final List<String> commands = Arrays.asList("msg", "r", "mail", "m", "t", "emsg", "tell", "er", "reply", "ereply", "email"); if (commands.contains(cmd)) @@ -312,7 +312,7 @@ public class EssentialsPlayerListener implements Listener for (Player player : ess.getServer().getOnlinePlayers()) { @Cleanup - IUser spyer = ess.getUser(player); + IUser spyer = ess.getUserMap().getUser(player); spyer.acquireReadLock(); if (spyer.getData().isSocialspy() && !user.equals(spyer)) { @@ -333,7 +333,7 @@ public class EssentialsPlayerListener implements Listener final ISettings settings = ess.getSettings(); settings.acquireReadLock(); @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (settings.getData().getChat().getChangeDisplayname()) { @@ -360,7 +360,7 @@ public class EssentialsPlayerListener implements Listener public void onPlayerInteract(final PlayerInteractEvent event) { @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); user.updateActivity(true); switch (event.getAction()) @@ -449,7 +449,7 @@ public class EssentialsPlayerListener implements Listener return; } @Cleanup - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); user.acquireReadLock(); if (user.getData().isAfk()) { @@ -462,11 +462,11 @@ public class EssentialsPlayerListener implements Listener { if (event.getView().getTopInventory().getType() == InventoryType.PLAYER) { - final IUser user = ess.getUser((Player)event.getWhoClicked()); + final IUser user = ess.getUserMap().getUser((Player)event.getWhoClicked()); final InventoryHolder invHolder = event.getView().getTopInventory().getHolder(); if (invHolder != null && invHolder instanceof Player) { - final IUser invOwner = ess.getUser((Player)invHolder); + final IUser invOwner = ess.getUserMap().getUser((Player)invHolder); if (user.isInvSee() && (!Permissions.INVSEE_MODIFY.isAuthorized(user) || Permissions.INVSEE_PREVENT_MODIFY.isAuthorized(invOwner) || !invOwner.isOnline())) @@ -482,7 +482,7 @@ public class EssentialsPlayerListener implements Listener { if (event.getView().getTopInventory().getType() == InventoryType.PLAYER) { - final IUser user = ess.getUser((Player)event.getPlayer()); + final IUser user = ess.getUserMap().getUser((Player)event.getPlayer()); user.setInvSee(false); } } diff --git a/Essentials/src/net/ess3/listener/TntExplodeListener.java b/Essentials/src/net/ess3/listener/TntExplodeListener.java deleted file mode 100644 index 66ef5c284..000000000 --- a/Essentials/src/net/ess3/listener/TntExplodeListener.java +++ /dev/null @@ -1,62 +0,0 @@ -package net.ess3.listener; - -import java.util.concurrent.atomic.AtomicBoolean; -import net.ess3.api.IEssentials; -import org.bukkit.entity.LivingEntity; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.EntityExplodeEvent; - - -public class TntExplodeListener implements Listener, Runnable -{ - private final transient IEssentials ess; - private transient AtomicBoolean enabled = new AtomicBoolean(false); - private transient int timer = -1; - - public TntExplodeListener(final IEssentials ess) - { - super(); - this.ess = ess; - } - - public void enable() - { - if (enabled.compareAndSet(false, true)) - { - timer = ess.scheduleSyncDelayedTask(this, 1000); - return; - } - if (timer != -1) - { - ess.getServer().getScheduler().cancelTask(timer); - timer = ess.scheduleSyncDelayedTask(this, 1000); - } - } - - @EventHandler(priority = EventPriority.LOW) - public void onEntityExplode(final EntityExplodeEvent event) - { - if (!enabled.get()) - { - return; - } - if (event.getEntity() instanceof LivingEntity) - { - return; - } - if (event.blockList().size() < 1) - { - return; - } - event.setCancelled(true); - event.getLocation().getWorld().createExplosion(event.getLocation(), 0F); - } - - @Override - public void run() - { - enabled.set(false); - } -} diff --git a/Essentials/src/net/ess3/metrics/Metrics.java b/Essentials/src/net/ess3/metrics/Metrics.java index 415938dea..643d86d30 100644 --- a/Essentials/src/net/ess3/metrics/Metrics.java +++ b/Essentials/src/net/ess3/metrics/Metrics.java @@ -30,11 +30,7 @@ import java.net.URLConnection; import java.net.URLEncoder; import java.util.*; import java.util.logging.Level; -import org.bukkit.Bukkit; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginDescriptionFile; +import net.ess3.api.server.Plugin; /** @@ -193,7 +189,7 @@ public class Metrics } // Begin hitting the server with glorious data - taskId = plugin.getServer().getScheduler().scheduleAsyncRepeatingTask(plugin, new Runnable() + taskId = plugin.scheduleAsyncRepeatingTask(new Runnable() { private boolean firstPost = true; @@ -207,7 +203,7 @@ public class Metrics // Disable Task, if it is running and the server owner decided to opt-out if (isOptOut() && taskId > 0) { - plugin.getServer().getScheduler().cancelTask(taskId); + plugin.cancelTask(taskId); taskId = -1; } } @@ -223,7 +219,7 @@ public class Metrics } catch (IOException e) { - Bukkit.getLogger().log(Level.INFO, "[Metrics] " + e.getMessage()); + plugin.getLogger().log(Level.INFO, "[Metrics] " + e.getMessage()); } } }, 0, PING_INTERVAL * 1200); @@ -246,12 +242,12 @@ public class Metrics } catch (IOException ex) { - Bukkit.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage()); + plugin.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage()); return true; } catch (InvalidConfigurationException ex) { - Bukkit.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage()); + plugin.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage()); return true; } return configuration.getBoolean("opt-out", false); @@ -304,7 +300,7 @@ public class Metrics // Disable Task, if it is running if (taskId >= 0) { - this.plugin.getServer().getScheduler().cancelTask(taskId); + this.plugin.cancelTask(taskId); taskId = -1; } } @@ -323,7 +319,7 @@ public class Metrics data.append(encode("guid")).append('=').append(encode(guid)); encodeDataPair(data, "version", description.getVersion()); encodeDataPair(data, "server", Bukkit.getVersion()); - encodeDataPair(data, "players", Integer.toString(Bukkit.getServer().getOnlinePlayers().length)); + encodeDataPair(data, "players", Integer.toString(plugin.getServer().getOnlinePlayers().length)); encodeDataPair(data, "revision", String.valueOf(REVISION)); // If we're pinging, append it diff --git a/Essentials/src/net/ess3/metrics/MetricsListener.java b/Essentials/src/net/ess3/metrics/MetricsListener.java index 1db463a46..0a6ff6628 100644 --- a/Essentials/src/net/ess3/metrics/MetricsListener.java +++ b/Essentials/src/net/ess3/metrics/MetricsListener.java @@ -24,7 +24,7 @@ public class MetricsListener implements Listener @EventHandler(priority = EventPriority.MONITOR) public void onPlayerJoin(final PlayerJoinEvent event) { - /*final IUser player = ess.getUser(event.getPlayer()); + /*final IUser player = ess.getUserMap().getUser(event.getPlayer()); if (ess.getSettings().isMetricsEnabled() == false && (player.isAuthorized("essentials.essentials") || player.isAuthorized("bukkit.broadcast.admin"))) { player.sendMessage("PluginMetrics collects minimal statistic data, starting in about 5 minutes."); diff --git a/Essentials/src/net/ess3/permissions/Permissions.java b/Essentials/src/net/ess3/permissions/Permissions.java index f80a79f8d..1571b1107 100644 --- a/Essentials/src/net/ess3/permissions/Permissions.java +++ b/Essentials/src/net/ess3/permissions/Permissions.java @@ -85,6 +85,7 @@ public enum Permissions implements IPermission TPOHERE, UNLIMITED_OTHERS, WARP_LIST(Permission.Default.TRUE), + WARP_HIDDEN, WARP_OTHERS, VANISH_SEE_OTHERS; private static final String base = "essentials."; diff --git a/Essentials/src/net/ess3/ranks/GMGroups.java b/Essentials/src/net/ess3/ranks/GMGroups.java index 650ebac11..ef5ff0a60 100644 --- a/Essentials/src/net/ess3/ranks/GMGroups.java +++ b/Essentials/src/net/ess3/ranks/GMGroups.java @@ -6,6 +6,7 @@ import net.ess3.api.IEssentials; import net.ess3.api.IRanks; import net.ess3.api.ISettings; import net.ess3.api.IUser; +import net.ess3.bukkit.BukkitPlayer; import net.ess3.utils.Util; import org.anjocaido.groupmanager.GroupManager; import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler; @@ -24,7 +25,7 @@ public class GMGroups implements IRanks { @Override public double getHealCooldown(IUser player) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return 0; @@ -35,7 +36,7 @@ public class GMGroups implements IRanks { @Override public double getTeleportCooldown(IUser player) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return 0; @@ -46,7 +47,7 @@ public class GMGroups implements IRanks { @Override public double getTeleportDelay(IUser player) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return 0; @@ -57,7 +58,7 @@ public class GMGroups implements IRanks { @Override public String getPrefix(IUser player) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return null; @@ -68,7 +69,7 @@ public class GMGroups implements IRanks { @Override public String getSuffix(IUser player) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return null; @@ -79,7 +80,7 @@ public class GMGroups implements IRanks { @Override public int getHomeLimit(IUser player) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return 0; @@ -104,7 +105,7 @@ public class GMGroups implements IRanks { private String getRawChatFormat(final IUser player) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler != null) { String chatformat = handler.getPermissionString(player.getName(), "chatformat"); @@ -122,7 +123,7 @@ public class GMGroups implements IRanks { @Override public String getMainGroup(IUser player) { - final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return null; @@ -133,7 +134,7 @@ public class GMGroups implements IRanks { @Override public boolean inGroup(IUser player, String groupname) { - AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase()); + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer()); if (handler == null) { return false; diff --git a/Essentials/src/net/ess3/ranks/VaultGroups.java b/Essentials/src/net/ess3/ranks/VaultGroups.java index d9558d62f..ab0a32755 100644 --- a/Essentials/src/net/ess3/ranks/VaultGroups.java +++ b/Essentials/src/net/ess3/ranks/VaultGroups.java @@ -6,6 +6,7 @@ import net.ess3.api.IEssentials; import net.ess3.api.IRanks; import net.ess3.api.ISettings; import net.ess3.api.IUser; +import net.ess3.bukkit.BukkitPlayer; import net.ess3.utils.Util; import net.milkbowl.vault.chat.Chat; @@ -23,42 +24,42 @@ public class VaultGroups implements IRanks public double getHealCooldown(IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - return chat.getPlayerInfoDouble(player.getBase(), "healcooldown", 0); + return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "healcooldown", 0); } @Override public double getTeleportCooldown(IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - return chat.getPlayerInfoDouble(player.getBase(), "teleportcooldown", 0); + return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "teleportcooldown", 0); } @Override public double getTeleportDelay(IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - return chat.getPlayerInfoDouble(player.getBase(), "teleportdelay", 0); + return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "teleportdelay", 0); } @Override public String getPrefix(IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - return chat.getPlayerPrefix(player.getBase()); + return chat.getPlayerPrefix(((BukkitPlayer)player.getBase()).getPlayer()); } @Override public String getSuffix(IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - return chat.getPlayerSuffix(player.getBase()); + return chat.getPlayerSuffix(((BukkitPlayer)player.getBase()).getPlayer()); } @Override public int getHomeLimit(IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - return chat.getPlayerInfoInteger(player.getBase(), "homes", 0); + return chat.getPlayerInfoInteger(((BukkitPlayer)player.getBase()).getPlayer(), "homes", 0); } @Override @@ -79,7 +80,7 @@ public class VaultGroups implements IRanks private String getRawChatFormat(final IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - String chatformat = chat.getPlayerInfoString(player.getBase(), "chatformat", ""); + String chatformat = chat.getPlayerInfoString(((BukkitPlayer)player.getBase()).getPlayer(), "chatformat", ""); if (chatformat != null && !chatformat.isEmpty()) { return chatformat; @@ -95,14 +96,14 @@ public class VaultGroups implements IRanks public String getMainGroup(IUser player) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - return chat.getPrimaryGroup(player.getBase()); + return chat.getPrimaryGroup(((BukkitPlayer)player.getBase()).getPlayer()); } @Override public boolean inGroup(IUser player, String groupname) { Chat chat = ess.getServer().getServiceProvider(Chat.class); - for (String group : chat.getPlayerGroups(player.getBase())) + for (String group : chat.getPlayerGroups(((BukkitPlayer)player.getBase()).getPlayer())) { if (group.equalsIgnoreCase(groupname)) { diff --git a/Essentials/src/net/ess3/settings/SpawnsHolder.java b/Essentials/src/net/ess3/settings/SpawnsHolder.java index 4f43e5ab9..bca2e8815 100644 --- a/Essentials/src/net/ess3/settings/SpawnsHolder.java +++ b/Essentials/src/net/ess3/settings/SpawnsHolder.java @@ -224,7 +224,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE public void onPlayerRespawn(final PlayerRespawnEvent event) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); boolean respawnAtHome = false; final ISettings settings = ess.getSettings(); @@ -264,7 +264,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE public void onPlayerJoin(final PlayerJoinEvent event) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); if (user.hasPlayedBefore()) { diff --git a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java index 47d6bf85a..9dc010640 100644 --- a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java +++ b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java @@ -83,7 +83,7 @@ public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> imp catch (IOException ex) { onException(ex); - if (plugin.getSettings() == null || plugin.getSettings().isDebug()) + if (ess.getSettings() == null || ess.getSettings().isDebug()) { Bukkit.getLogger().log(Level.INFO, "File not found: " + file.toString()); } diff --git a/Essentials/src/net/ess3/storage/BukkitConstructor.java b/Essentials/src/net/ess3/storage/BukkitConstructor.java index 81fe3daa2..23a88325f 100644 --- a/Essentials/src/net/ess3/storage/BukkitConstructor.java +++ b/Essentials/src/net/ess3/storage/BukkitConstructor.java @@ -5,8 +5,11 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; +import net.ess3.Essentials; +import net.ess3.api.server.ItemStack; +import net.ess3.api.server.Material; +import net.ess3.api.server.Plugin; import org.bukkit.enchantments.Enchantment; -import org.bukkit.inventory.ItemStack; import org.bukkit.material.MaterialData; import org.yaml.snakeyaml.TypeDescription; import org.yaml.snakeyaml.constructor.Constructor; @@ -18,9 +21,9 @@ import org.yaml.snakeyaml.nodes.*; public class BukkitConstructor extends Constructor { private final transient Pattern NUMPATTERN = Pattern.compile("\\d+"); - private final transient IPlugin plugin; + private final transient Plugin plugin; - public BukkitConstructor(final Class clazz, final IPlugin plugin) + public BukkitConstructor(final Class clazz, final Plugin plugin) { super(clazz); this.plugin = plugin; @@ -41,11 +44,11 @@ public class BukkitConstructor extends Constructor if (NUMPATTERN.matcher(val).matches()) { final int typeId = Integer.parseInt(val); - mat = Material.getMaterial(typeId); + mat = Material.get(typeId); } else { - mat = Material.matchMaterial(val); + mat = Material.match(val); } return mat; } @@ -103,11 +106,11 @@ public class BukkitConstructor extends Constructor if (NUMPATTERN.matcher(split2[0]).matches()) { final int typeId = Integer.parseInt(split2[0]); - mat = Material.getMaterial(typeId); + mat = Material.get(typeId); } else { - mat = Material.matchMaterial(split2[0]); + mat = Material.match(split2[0]); } if (mat == null) { @@ -123,7 +126,7 @@ public class BukkitConstructor extends Constructor { size = Integer.parseInt(split1[1]); } - final ItemStack stack = new ItemStack(mat, size, data); + final ItemStack stack = ItemStack.create(mat, size, data); if (split1.length > 2) { for (int i = 2; i < split1.length; i++) diff --git a/Essentials/src/net/ess3/storage/StoredLocation.java b/Essentials/src/net/ess3/storage/StoredLocation.java index 00ace6791..974204bf6 100644 --- a/Essentials/src/net/ess3/storage/StoredLocation.java +++ b/Essentials/src/net/ess3/storage/StoredLocation.java @@ -1,16 +1,14 @@ package net.ess3.storage; -import net.ess3.api.server.World; -import net.ess3.api.server.Location; import java.lang.ref.WeakReference; -import java.util.UUID; +import net.ess3.api.server.Location; +import net.ess3.api.server.World; public class StoredLocation { private WeakReference<Location> location; private final String worldname; - private UUID worldUID = null; private final double x; private final double y; private final double z; @@ -21,7 +19,6 @@ public class StoredLocation { location = new WeakReference<Location>(loc); worldname = loc.getWorld().getName(); - worldUID = loc.getWorld().getUID(); x = loc.getX(); y = loc.getY(); z = loc.getZ(); @@ -55,20 +52,7 @@ public class StoredLocation Location loc = location == null ? null : location.get(); if (loc == null) { - World world = null; - if (worldUID != null) - { - world = Bukkit.getWorld(worldUID); - } - if (world == null) - { - world = Bukkit.getWorld(worldname); - } - if (world == null) - { - throw new WorldNotLoadedException(worldname); - } - loc = Location.create(world, getX(), getY(), getZ(), getYaw(), getPitch()); + loc = Location.create(worldname, getX(), getY(), getZ(), getYaw(), getPitch()); location = new WeakReference<Location>(loc); } return loc; diff --git a/Essentials/src/net/ess3/storage/YamlStorageReader.java b/Essentials/src/net/ess3/storage/YamlStorageReader.java index dc5c24d91..603765e69 100644 --- a/Essentials/src/net/ess3/storage/YamlStorageReader.java +++ b/Essentials/src/net/ess3/storage/YamlStorageReader.java @@ -1,6 +1,6 @@ package net.ess3.storage; -import net.ess3.api.server.IPlugin; +import net.ess3.api.server.Plugin; import java.io.Reader; import java.lang.reflect.Field; import java.util.*; @@ -15,9 +15,9 @@ public class YamlStorageReader implements IStorageReader private transient static final Map<Class, Yaml> PREPARED_YAMLS = Collections.synchronizedMap(new HashMap<Class, Yaml>()); private transient static final Map<Class, ReentrantLock> LOCKS = new HashMap<Class, ReentrantLock>(); private transient final Reader reader; - private transient final IPlugin plugin; + private transient final Plugin plugin; - public YamlStorageReader(final Reader reader, final IPlugin plugin) + public YamlStorageReader(final Reader reader, final Plugin plugin) { this.reader = reader; this.plugin = plugin; diff --git a/Essentials/src/net/ess3/user/User.java b/Essentials/src/net/ess3/user/User.java index 061f006db..b959e36bc 100644 --- a/Essentials/src/net/ess3/user/User.java +++ b/Essentials/src/net/ess3/user/User.java @@ -718,7 +718,7 @@ public class User extends UserBase implements IUser { for (Player p : ess.getServer().getOnlinePlayers()) { - if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(ess.getUser(p))) + if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(ess.getUserMap().getUser(p))) { p.hidePlayer(getBase()); } @@ -750,6 +750,4 @@ public class User extends UserBase implements IUser final boolean set = !vanished; this.setVanished(set); } - - } diff --git a/Essentials/src/net/ess3/user/UserData.java b/Essentials/src/net/ess3/user/UserData.java index 3582eaa89..20fb9abb7 100644 --- a/Essentials/src/net/ess3/user/UserData.java +++ b/Essentials/src/net/ess3/user/UserData.java @@ -1,10 +1,10 @@ package net.ess3.user; -import net.ess3.api.server.Material; -import net.ess3.storage.*; import java.util.*; import lombok.Data; import lombok.EqualsAndHashCode; +import net.ess3.api.server.Material; +import net.ess3.storage.*; diff --git a/Essentials/src/net/ess3/user/UserMap.java b/Essentials/src/net/ess3/user/UserMap.java index cc34536b3..3a8e3684b 100644 --- a/Essentials/src/net/ess3/user/UserMap.java +++ b/Essentials/src/net/ess3/user/UserMap.java @@ -1,15 +1,17 @@ package net.ess3.user; import java.io.File; +import java.util.Collections; +import java.util.LinkedHashSet; import java.util.Locale; import java.util.Set; import net.ess3.api.IEssentials; import net.ess3.api.IUser; import net.ess3.api.IUserMap; import net.ess3.api.InvalidNameException; +import net.ess3.api.server.Player; import net.ess3.storage.StorageObjectMap; -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; +import net.ess3.utils.Util; public class UserMap extends StorageObjectMap<IUser> implements IUserMap @@ -94,4 +96,158 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap } return user; } + + @Override + public IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException + { + final Set<IUser> users = matchUsers(name, includeHidden, includeOffline); + if (users == null || users.isEmpty()) + { + return null; + } + else + { + if (users.size() > 1) + { + throw new TooManyMatchesException(); + } + else + { + return users.iterator().next(); + } + } + } + + @Override + public Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline) + { + final String colorlessName = Util.stripColor(name); + final String[] search = colorlessName.split(","); + final boolean multisearch = search.length > 1; + final Set<IUser> result = new LinkedHashSet<IUser>(); + final String nicknamePrefix = Util.stripColor(getNickNamePrefix()); + for (String searchString : search) + { + if (searchString.isEmpty()) + { + continue; + } + + if (searchString.startsWith(nicknamePrefix)) + { + searchString = searchString.substring(nicknamePrefix.length()); + } + searchString = searchString.toLowerCase(Locale.ENGLISH); + final boolean multimatching = searchString.endsWith("*"); + if (multimatching) + { + searchString = searchString.substring(0, searchString.length() - 1); + } + Player match = null; + for (Player player : ess.getServer().getOnlinePlayers()) + { + if (player.getName().equalsIgnoreCase(searchString) + && (includeHidden || (includeOffline && player.getUser().isHidden()))) + { + match = player; + break; + } + } + if (match != null) + { + if (multimatching || multisearch) + { + result.add(match.getUser()); + } + else + { + return Collections.singleton(match.getUser()); + } + } + for (Player player : ess.getServer().getOnlinePlayers()) + { + final String nickname = player.getUser().getData().getNickname(); + if (nickname != null && !nickname.isEmpty() + && nickname.equalsIgnoreCase(searchString) + && (includeHidden || (includeOffline && player.getUser().isHidden()))) + { + if (multimatching || multisearch) + { + result.add(player.getUser()); + } + else + { + return Collections.singleton(player.getUser()); + } + } + } + if (includeOffline) + { + for (String playerName : getAllUniqueUsers()) + { + if (playerName.equals(searchString)) + { + match = getUser(playerName); + break; + } + } + if (match != null) + { + if (multimatching || multisearch) + { + result.add(match.getUser()); + } + else + { + return Collections.singleton(match.getUser()); + } + } + } + if (multimatching || match == null) + { + for (Player player : ess.getServer().getOnlinePlayers()) + { + if (player.getName().toLowerCase(Locale.ENGLISH).startsWith(searchString) + && (includeHidden || (includeOffline && player.getUser().isHidden()))) + { + result.add(player.getUser()); + break; + } + final String nickname = player.getUser().getData().getNickname(); + if (nickname != null && !nickname.isEmpty() + && nickname.toLowerCase(Locale.ENGLISH).startsWith(searchString) + && (includeHidden || (includeOffline && player.getUser().isHidden()))) + { + result.add(player.getUser()); + break; + } + } + if (includeOffline) + { + for (String playerName : getAllUniqueUsers()) + { + if (playerName.startsWith(searchString)) + { + result.add(getUser(playerName)); + break; + } + } + } + } + } + return result; + } + + private String getNickNamePrefix() + { + ess.getSettings().acquireReadLock(); + try + { + return ess.getSettings().getData().getChat().getNicknamePrefix(); + } + finally + { + ess.getSettings().unlock(); + } + } } diff --git a/Essentials/src/net/ess3/utils/textreader/TextPager.java b/Essentials/src/net/ess3/utils/textreader/TextPager.java index c1ca8e939..099d9bbb7 100644 --- a/Essentials/src/net/ess3/utils/textreader/TextPager.java +++ b/Essentials/src/net/ess3/utils/textreader/TextPager.java @@ -3,6 +3,9 @@ package net.ess3.utils.textreader; import java.util.List; import java.util.Locale; import java.util.Map; +import net.ess3.I18n; +import static net.ess3.I18n._; +import net.ess3.api.server.CommandSender; public class TextPager diff --git a/Essentials/test/com/earth2me/essentials/testserver/World.java b/Essentials/test/com/earth2me/essentials/testserver/World.java deleted file mode 100644 index d1994c479..000000000 --- a/Essentials/test/com/earth2me/essentials/testserver/World.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.earth2me.essentials.testserver; - -import net.ess3.api.server.Location; -import org.bukkit.TreeType; - -public class World implements World { - - @Override - public String getName() - { - return "TestWorld"; - } - - @Override - public boolean generateTree(Location safeLocation, TreeType tree) - { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public int getHighestBlockYAt(int topX, int topZ) - { - throw new UnsupportedOperationException("Not supported yet."); - } - -} diff --git a/Essentials/test/net/ess3/EconomyTest.java b/Essentials/test/net/ess3/EconomyTest.java index 21669d7e6..74554a698 100644 --- a/Essentials/test/net/ess3/EconomyTest.java +++ b/Essentials/test/net/ess3/EconomyTest.java @@ -24,7 +24,7 @@ public class EconomyTest extends EssentialsTest assertFalse("NPC does not exists", ess.getEconomy().playerExists(NPCNAME)); assertTrue("Create NPC", ess.getEconomy().createNPC(NPCNAME)); assertTrue("NPC exists", ess.getEconomy().playerExists(NPCNAME)); - assertNull("NPC can not be accessed", ess.getUser(NPCNAME)); + assertNull("NPC can not be accessed", ess.getUserMap().getUser(NPCNAME)); try { ess.getEconomy().removeNPC(NPCNAME); diff --git a/Essentials/test/com/earth2me/essentials/EssentialsTest.java b/Essentials/test/net/ess3/EssentialsTest.java index 39ce92d25..7257a33ad 100644 --- a/Essentials/test/com/earth2me/essentials/EssentialsTest.java +++ b/Essentials/test/net/ess3/EssentialsTest.java @@ -1,14 +1,15 @@ -package com.earth2me.essentials; +package net.ess3; -import com.earth2me.essentials.testserver.Plugin; -import com.earth2me.essentials.testserver.Server; import java.util.logging.Logger; import junit.framework.TestCase; -import net.ess3.Essentials; +import net.ess3.testserver.TestPlugin; +import net.ess3.testserver.TestServer; +import net.ess3.testserver.TestWorld; public abstract class EssentialsTest extends TestCase { - protected final transient Server server; - protected final transient Plugin plugin; + protected final transient TestServer server; + protected final transient TestPlugin plugin; + protected final transient TestWorld world; protected final transient Logger logger; protected final transient Essentials ess; @@ -17,8 +18,9 @@ public abstract class EssentialsTest extends TestCase { { super(testName); logger = Logger.getLogger(this.getName()); - server = new Server(); - plugin = new Plugin(); + server = new TestServer(); + world = (TestWorld)server.getWorlds().get(0); + plugin = new TestPlugin(); ess = new Essentials(server, logger, plugin); Essentials.testing = true; ess.onEnable(); diff --git a/Essentials/test/net/ess3/StorageTest.java b/Essentials/test/net/ess3/StorageTest.java index aac394bf6..4ba1e6400 100644 --- a/Essentials/test/net/ess3/StorageTest.java +++ b/Essentials/test/net/ess3/StorageTest.java @@ -1,16 +1,13 @@ package net.ess3; import java.io.*; - +import net.ess3.api.server.Location; import net.ess3.settings.Settings; import net.ess3.storage.ObjectLoadException; import net.ess3.storage.StorageObject; import net.ess3.storage.YamlStorageReader; import net.ess3.storage.YamlStorageWriter; import net.ess3.utils.ExecuteTimer; -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.World.Environment; import org.junit.Test; @@ -65,8 +62,6 @@ public class StorageTest extends EssentialsTest { try { - FakeServer server = new FakeServer(); - World world = server.createWorld("testWorld", Environment.NORMAL); ExecuteTimer ext = new ExecuteTimer(); ext.start(); final ByteArrayInputStream bais = new ByteArrayInputStream(new byte[0]); @@ -80,7 +75,7 @@ public class StorageTest extends EssentialsTest for (int j = 0; j < 10000; j++) { - userdata.getHomes().put("home", new net.ess3.storage.StoredLocation(new Location(world, j, j, j))); + userdata.getHomes().put("home", new net.ess3.storage.StoredLocation(Location.create(world, j, j, j))); } ext.mark("change home 10000 times"); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); @@ -123,7 +118,7 @@ public class StorageTest extends EssentialsTest OfflinePlayer base1 = server.createPlayer("testPlayer1", ess); server.addPlayer(base1); ext.mark("fake user created"); - UserData user = (UserData)ess.getUser(base1); + UserData user = (UserData)ess.getUserMap().getUser(base1); ext.mark("load empty user"); for (int j = 0; j < 1; j++) { diff --git a/Essentials/test/net/ess3/UserTest.java b/Essentials/test/net/ess3/UserTest.java index 3baa420df..220f56f3c 100644 --- a/Essentials/test/net/ess3/UserTest.java +++ b/Essentials/test/net/ess3/UserTest.java @@ -17,7 +17,7 @@ public class UserTest extends EssentialsTest super(testName); server.addPlayer("testPlayer1"); - base1 = ess.getUser("testPlayer1"); + base1 = ess.getUserMap().getUser("testPlayer1"); } private void should(String what) @@ -28,16 +28,16 @@ public class UserTest extends EssentialsTest /*public void testUpdate() { OfflinePlayer base1alt = server.createPlayer(base1.getName(), ess); - assertEquals(base1alt, ess.getUser(base1alt).getBase()); + assertEquals(base1alt, ess.getUserMap().getUser(base1alt).getBase()); } public void testHome() { - IUser user = ess.getUser(base1); + IUser user = ess.getUserMap().getUser(base1); Location loc = base1.getLocation(); user.setHome(); OfflinePlayer base2 = server.createPlayer(base1.getName(), ess); - IUser user2 = ess.getUser(base2); + IUser user2 = ess.getUserMap().getUser(base2); Location home = user2.getHome(loc); assertNotNull(home); @@ -52,7 +52,7 @@ public class UserTest extends EssentialsTest /*public void testMoney() { should("properly set, take, give, and get money"); - IUser user = ess.getUser(base1); + IUser user = ess.getUserMap().getUser(base1); double i; user.setMoney(i = 100.5); user.takeMoney(50); @@ -65,7 +65,7 @@ public class UserTest extends EssentialsTest /*public void testGetGroup() { should("return the default group"); - IUser user = ess.getUser(base1); + IUser user = ess.getUserMap().getUser(base1); //assertEquals(user.getGroup(), "default"); }*/ diff --git a/Essentials/test/com/earth2me/essentials/testserver/Player.java b/Essentials/test/net/ess3/testserver/TestPlayer.java index 6e18abb88..70b8d0e11 100644 --- a/Essentials/test/com/earth2me/essentials/testserver/Player.java +++ b/Essentials/test/net/ess3/testserver/TestPlayer.java @@ -1,9 +1,9 @@ -package com.earth2me.essentials.testserver; +package net.ess3.testserver; import net.ess3.api.IUser; import net.ess3.api.server.*; -public class Player implements Player { +public class TestPlayer implements Player { @Override public IUser getUser() @@ -42,7 +42,7 @@ public class Player implements Player { } @Override - public World getWorld() + public TestWorld getWorld() { throw new UnsupportedOperationException("Not supported yet."); } @@ -149,4 +149,52 @@ public class Player implements Player { throw new UnsupportedOperationException("Not supported yet."); } + @Override + public void setTotalExperience(int exp) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getTotalExperience() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDisplayName(String name) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPlayerListName(String name) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSleepingIgnored(boolean b) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isBanned() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCompassTarget(Location loc) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void damage(int value) + { + throw new UnsupportedOperationException("Not supported yet."); + } + } diff --git a/Essentials/test/com/earth2me/essentials/testserver/Plugin.java b/Essentials/test/net/ess3/testserver/TestPlugin.java index cb5334da5..9645c7902 100644 --- a/Essentials/test/com/earth2me/essentials/testserver/Plugin.java +++ b/Essentials/test/net/ess3/testserver/TestPlugin.java @@ -1,10 +1,13 @@ -package com.earth2me.essentials.testserver; +package net.ess3.testserver; -import net.ess3.api.server.IPlugin; import java.io.File; import java.io.InputStream; +import java.util.logging.Logger; +import net.ess3.api.server.Location; +import net.ess3.api.server.Player; +import net.ess3.api.server.Plugin; -public class Plugin implements IPlugin { +public class TestPlugin implements Plugin { @Override public int scheduleAsyncDelayedTask(Runnable run) @@ -66,4 +69,28 @@ public class Plugin implements IPlugin { throw new UnsupportedOperationException("Not supported yet."); } + @Override + public int scheduleAsyncRepeatingTask(Runnable run, long delay, long period) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Location callRespawnEvent(Player player, Location loc, boolean bedSpawn) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void callSuicideEvent(Player player) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Logger getLogger() + { + throw new UnsupportedOperationException("Not supported yet."); + } + } diff --git a/Essentials/test/com/earth2me/essentials/testserver/Server.java b/Essentials/test/net/ess3/testserver/TestServer.java index eb9a74bdb..b46d13dd8 100644 --- a/Essentials/test/com/earth2me/essentials/testserver/Server.java +++ b/Essentials/test/net/ess3/testserver/TestServer.java @@ -1,16 +1,16 @@ -package com.earth2me.essentials.testserver; +package net.ess3.testserver; -import net.ess3.api.server.CommandSender; -import net.ess3.api.server.Player; -import net.ess3.api.server.IServer; -import net.ess3.api.server.World; import java.util.Collection; import java.util.Collections; import java.util.List; +import net.ess3.api.server.CommandSender; +import net.ess3.api.server.Player; +import net.ess3.api.server.Server; +import net.ess3.api.server.World; -public class Server implements IServer { +public class TestServer implements Server { - public Server() + public TestServer() { } @@ -19,7 +19,7 @@ public class Server implements IServer { @Override public List<World> getWorlds() { - return Collections.<World>singletonList(new World()); + return Collections.<World>singletonList(new TestWorld()); } @Override diff --git a/Essentials/test/net/ess3/testserver/TestWorld.java b/Essentials/test/net/ess3/testserver/TestWorld.java new file mode 100644 index 000000000..ce258004d --- /dev/null +++ b/Essentials/test/net/ess3/testserver/TestWorld.java @@ -0,0 +1,77 @@ +package net.ess3.testserver; + +import java.util.UUID; +import net.ess3.api.server.ItemStack; +import net.ess3.api.server.Location; +import net.ess3.api.server.World; +import org.bukkit.TreeType; + +public class TestWorld implements World { + + @Override + public String getName() + { + return "TestWorld"; + } + + @Override + public boolean generateTree(Location safeLocation, TreeType tree) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getHighestBlockYAt(int topX, int topZ) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ItemStack dropItem(Location loc, ItemStack stack) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public UUID getUID() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Location getSpawnLocation() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void dropItemNaturally(Location location, ItemStack overflowStack) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setStorm(boolean b) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setWeatherDuration(int i) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getTime() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean setSpawnLocation(int blockX, int blockY, int blockZ) + { + throw new UnsupportedOperationException("Not supported yet."); + } + +} diff --git a/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java b/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java index ae8fce4a1..f3ce3abaf 100644 --- a/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java +++ b/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java @@ -71,7 +71,7 @@ public abstract class EssentialsChatPlayer implements Listener { if (sender instanceof Player) { - charge.charge(ess.getUser((Player)sender)); + charge.charge(ess.getUserMap().getUser((Player)sender)); } } diff --git a/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java b/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java index be7b20ba6..f248a21a4 100644 --- a/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java +++ b/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java @@ -35,8 +35,8 @@ public class EssentialsLocalChatEventListener implements Listener for (Player onlinePlayer : server.getOnlinePlayers()) { String type = _("chatTypeLocal"); - final IUser user = ess.getUser(onlinePlayer); - if (user.isIgnoringPlayer(ess.getUser(sender))) + final IUser user = ess.getUserMap().getUser(onlinePlayer); + if (user.isIgnoringPlayer(ess.getUserMap().getUser(sender))) { continue; } diff --git a/EssentialsChat/src/net/ess3/chat/listenerlevel/EssentialsChatPlayerListenerLowest.java b/EssentialsChat/src/net/ess3/chat/listenerlevel/EssentialsChatPlayerListenerLowest.java index dfe96df35..5c2fa1d7e 100644 --- a/EssentialsChat/src/net/ess3/chat/listenerlevel/EssentialsChatPlayerListenerLowest.java +++ b/EssentialsChat/src/net/ess3/chat/listenerlevel/EssentialsChatPlayerListenerLowest.java @@ -28,7 +28,7 @@ public class EssentialsChatPlayerListenerLowest extends EssentialsChatPlayer { return; } - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); final ChatStore chatStore = new ChatStore(ess, user, getChatType(event.getMessage())); setChatStore(event, chatStore); formatChat(event, chatStore); diff --git a/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java b/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java index 14554e3a9..5c12f09c6 100644 --- a/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java +++ b/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java @@ -45,7 +45,7 @@ public class EssentialsGeoIPPlayerListener implements Listener, IReload @EventHandler(priority = EventPriority.MONITOR) public void onPlayerJoin(final PlayerJoinEvent event) { - final IUser u = ess.getUser(event.getPlayer()); + final IUser u = ess.getUserMap().getUser(event.getPlayer()); if (Permissions.GEOIP_HIDE.isAuthorized(u)) { return; @@ -97,7 +97,7 @@ public class EssentialsGeoIPPlayerListener implements Listener, IReload { for (Player player : event.getPlayer().getServer().getOnlinePlayers()) { - final IUser user = ess.getUser(player); + final IUser user = ess.getUserMap().getUser(player); if (Permissions.GEOIP_SHOW.isAuthorized(user)) { user.sendMessage(_("geoipJoinFormat", user.getDisplayName(), builder.toString())); diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java b/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java index c3fcfe441..b500c3ea3 100644 --- a/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java +++ b/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java @@ -48,7 +48,7 @@ public class EssentialsConnect LOGGER.log(Level.WARNING, warnMessage); for (Player p : ess.getServer().getOnlinePlayers()) { - final IUser alertUser = ess.getUser(p); + final IUser alertUser = ess.getUserMap().getUser(p); if (Permissions.ALERTS.isAuthorized(alertUser)) { alertUser.sendMessage(warnMessage); diff --git a/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java b/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java index 59c733981..3a9f9f903 100644 --- a/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java +++ b/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java @@ -1,8 +1,5 @@ -<<<<<<< HEAD:EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java -package com.earth2me.essentials.signs; -======= package net.ess3.signs; ->>>>>>> master:EssentialsSigns/src/net/ess3/signs/EssentialsSign.java + import net.ess3.api.ChargeException; import static net.ess3.I18n._; @@ -35,7 +32,7 @@ public class EssentialsSign public final boolean onSignCreate(final SignChangeEvent event, final IEssentials ess) { final ISign sign = new EventSign(event); - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); if (!SignsPermissions.getCreatePermission(signName).isAuthorized(user)) { // Return true, so other plugins can use the same sign title, just hope @@ -82,7 +79,7 @@ public class EssentialsSign public final boolean onSignInteract(final Block block, final Player player, final IEssentials ess) { final ISign sign = new BlockSign(block); - final IUser user = ess.getUser(player); + final IUser user = ess.getUserMap().getUser(player); try { return SignsPermissions.getUsePermission(signName).isAuthorized(user) @@ -103,7 +100,7 @@ public class EssentialsSign public final boolean onSignBreak(final Block block, final Player player, final IEssentials ess) { final ISign sign = new BlockSign(block); - final IUser user = ess.getUser(player); + final IUser user = ess.getUserMap().getUser(player); try { return SignsPermissions.getBreakPermission(signName).isAuthorized(user) @@ -133,7 +130,7 @@ public class EssentialsSign public final boolean onBlockPlace(final Block block, final Player player, final IEssentials ess) { - final IUser user = ess.getUser(player); + final IUser user = ess.getUserMap().getUser(player); try { return onBlockPlace(block, user, getUsername(user), ess); @@ -151,7 +148,7 @@ public class EssentialsSign public final boolean onBlockInteract(final Block block, final Player player, final IEssentials ess) { - final IUser user = ess.getUser(player); + final IUser user = ess.getUserMap().getUser(player); try { return onBlockInteract(block, user, getUsername(user), ess); @@ -169,7 +166,7 @@ public class EssentialsSign public final boolean onBlockBreak(final Block block, final Player player, final IEssentials ess) { - final IUser user = ess.getUser(player); + final IUser user = ess.getUserMap().getUser(player); try { return onBlockBreak(block, user, getUsername(user), ess); diff --git a/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java b/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java index 31cdfc970..f44f086c9 100644 --- a/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java +++ b/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java @@ -87,7 +87,7 @@ public class SignBlockListener implements Listener { return; } - IUser user = ess.getUser(event.getPlayer()); + IUser user = ess.getUserMap().getUser(event.getPlayer()); for (int i = 0; i < 4; i++) { diff --git a/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java b/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java index 88e1d9810..0881aa706 100644 --- a/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java +++ b/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java @@ -24,7 +24,7 @@ public class Commandxmpp extends EssentialsCommand else { final String message = getFinalArg(args, 1); - final String senderName = sender instanceof Player ? ess.getUser((Player)sender).getDisplayName() : Console.NAME; + final String senderName = sender instanceof Player ? ess.getUserMap().getUser((Player)sender).getDisplayName() : Console.NAME; sender.sendMessage("[" + senderName + ">" + address + "] " + message); if (!EssentialsXMPP.getInstance().sendMessage(address, "[" + senderName + "] " + message)) { diff --git a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java index 74ab09fd5..f62f3c3f5 100644 --- a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java +++ b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java @@ -92,7 +92,7 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP public IUser getUserByAddress(final String address) { String username = instance.users.getUserByAddress(address); - return username == null ? null : ess.getUser(username); + return username == null ? null : ess.getUserMap().getUser(username); } @Override diff --git a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java index 4880aead7..de8a62405 100644 --- a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java +++ b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java @@ -23,21 +23,21 @@ class EssentialsXMPPPlayerListener implements Listener @EventHandler(priority= EventPriority.MONITOR) public void onPlayerJoin(final PlayerJoinEvent event) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); sendMessageToSpyUsers("Player " + user.getDisplayName() + " joined the game"); } @EventHandler(priority= EventPriority.MONITOR) public void onPlayerChat(final PlayerChatEvent event) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); sendMessageToSpyUsers(String.format(event.getFormat(), user.getDisplayName(), event.getMessage())); } @EventHandler(priority= EventPriority.MONITOR) public void onPlayerQuit(final PlayerQuitEvent event) { - final IUser user = ess.getUser(event.getPlayer()); + final IUser user = ess.getUserMap().getUser(event.getPlayer()); sendMessageToSpyUsers("Player " + user.getDisplayName() + " left the game"); } |