From 8a11e28c8b489df433b40d7c20be511e76a83cfa Mon Sep 17 00:00:00 2001 From: unurled Date: Fri, 14 Apr 2023 22:34:00 +0200 Subject: [PATCH] 0.5.7 some cool bug fixes and code prettier --- .gitignore | 1 + build.gradle | 34 +- gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 60756 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 6 + gradlew.bat | 14 +- settings.gradle | 2 +- src/main/java/me/unurled/raxen/Raxen.java | 237 ++-- .../unurled/raxen/commands/RaxenCommand.java | 294 +++-- .../admin/CustomModelDataCommand.java | 185 +-- .../raxen/commands/admin/EntitiyCommand.java | 65 +- .../raxen/commands/admin/ItemListCommand.java | 72 +- .../raxen/commands/admin/ItemTo64Command.java | 80 +- .../raxen/commands/admin/NbtCommand.java | 193 +-- .../raxen/commands/admin/ReloadCommand.java | 56 +- .../raxen/commands/admin/SpawnEntity.java | 305 +++-- .../raxen/commands/admin/TestGuiCommand.java | 55 +- .../raxen/commands/admin/TestHoloCommand.java | 67 - .../raxen/commands/player/ClassCommand.java | 98 +- .../raxen/commands/player/MainGuiCommand.java | 97 +- .../raxen/commands/player/SkillsCommand.java | 117 +- .../raxen/commands/player/StorageCommand.java | 99 +- .../raxen/components/dungeons/Dungeon.java | 100 +- .../raxen/components/dungeons/Gate.java | 81 +- .../raxen/components/dungeons/Rank.java | 24 +- .../raxen/components/dungeons/Type.java | 14 +- .../raxen/components/dungeons/Types.java | 32 +- .../dungeons/types/MonsterType.java | 158 +-- .../dungeons/types/forest/ForestDungeon.java | 13 +- .../dungeons/types/forest/ForestMonster.java | 23 +- .../enchantments/EnchantmentWarpper.java | 146 +-- .../enchantments/player/Telekinesis.java | 6 +- .../entity/Attributes/Attribute.java | 255 ++-- .../components/entity/Attributes/Defense.java | 7 +- .../components/entity/Attributes/Health.java | 7 +- .../entity/Attributes/ItemDefense.java | 6 +- .../entity/Attributes/ItemHealth.java | 6 +- .../entity/Attributes/ItemLuck.java | 6 +- .../entity/Attributes/ItemMana.java | 6 +- .../entity/Attributes/ItemSpeed.java | 6 +- .../entity/Attributes/ItemStrength.java | 6 +- .../components/entity/Attributes/Luck.java | 7 +- .../components/entity/Attributes/Mana.java | 7 +- .../entity/Attributes/MaxHealth.java | 6 +- .../components/entity/Attributes/MaxMana.java | 6 +- .../entity/Attributes/MaxManaBuilder.java | 29 +- .../components/entity/Attributes/Speed.java | 6 +- .../entity/Attributes/Strength.java | 7 +- .../entity/other/EntityNamespacedKey.java | 78 +- .../components/entity/other/EntityUtils.java | 143 ++- .../components/entity/other/RaxenEntity.java | 72 +- .../entity/other/custom/Entity.java | 146 ++- .../entity/other/custom/Humanoid.java | 24 +- .../other/custom/dungeon/forest/Elf.java | 44 +- .../other/custom/dungeon/forest/Wolf.java | 34 +- .../other/custom/hostile/low/Goblin.java | 42 +- .../components/entity/other/spawn/Eggs.java | 3 +- .../components/entity/player/Inventories.java | 21 +- .../components/entity/player/PlayerUtils.java | 67 +- .../components/entity/player/RaxenPlayer.java | 236 ++-- .../components/entity/player/Scoreboard.java | 104 +- .../components/entity/player/Storage.java | 20 +- .../entity/player/attributes/Attribute.java | 53 +- .../entity/player/attributes/Attributes.java | 135 +- .../entity/player/classes/Class.java | 68 +- .../entity/player/classes/Classes.java | 53 +- .../entity/player/classes/list/Assassin.java | 40 +- .../entity/player/storages/EnderChest.java | 16 +- .../entity/player/storages/Inventory.java | 16 +- .../raxen/components/gui/ItemListGui.java | 482 +++++--- .../unurled/raxen/components/gui/MainGui.java | 118 +- .../raxen/components/items/Attributes.java | 24 +- .../components/items/CustomModelData.java | 3 +- .../unurled/raxen/components/items/NBT.java | 19 +- .../abilities/weapon/ThrowingDagger.java | 58 +- .../raxen/components/items/custom/Item.java | 33 +- .../components/items/custom/ItemClass.java | 24 +- .../components/items/custom/ItemTypes.java | 14 +- .../raxen/components/items/custom/List.java | 27 +- .../items/custom/weapon/Dagger.java | 62 +- .../raxen/components/lootchest/GUI.java | 22 +- .../lootchest/loots/CustomLoot.java | 51 +- .../components/lootchest/loots/LootItem.java | 36 +- .../lootchest/loots/test/TestSword.java | 14 +- .../components/resourcepack/ResourcePack.java | 38 +- .../java/me/unurled/raxen/config/Config.java | 68 +- .../me/unurled/raxen/config/PlayerConfig.java | 584 +++++---- .../raxen/listener/entity/DamageEntity.java | 249 ++-- .../raxen/listener/entity/SpawnEvent.java | 74 +- .../raxen/listener/player/ArmorEvent.java | 99 +- .../listener/player/ClickBlockEvent.java | 46 +- .../listener/player/CloseInventoryEvent.java | 34 +- .../raxen/listener/player/InteractEvent.java | 15 +- .../raxen/listener/player/ItemHandEvent.java | 141 ++- .../raxen/listener/player/JoinEvent.java | 54 +- .../raxen/listener/player/LeaveEvent.java | 40 +- .../raxen/listener/player/PortalEvent.java | 28 +- .../raxen/listener/player/RespawnEvent.java | 24 +- .../listener/player/ServerPingEvent.java | 49 +- .../listener/player/TransactionEvent.java | 38 +- .../me/unurled/raxen/manager/Manager.java | 92 +- .../raxen/manager/entity/EntityManager.java | 57 +- .../raxen/manager/entity/ItemManager.java | 208 ++-- .../raxen/manager/entity/LootManager.java | 16 +- .../raxen/manager/entity/PlayerManager.java | 340 ++--- .../raxen/manager/entity/StorageManager.java | 291 ++--- .../raxen/manager/server/CommandManager.java | 120 +- .../raxen/manager/server/DungeonsManager.java | 41 +- .../manager/server/EnchantmentManager.java | 25 +- .../raxen/manager/server/LibsManager.java | 63 +- .../raxen/manager/server/ListenerManager.java | 59 +- .../raxen/manager/server/ProtocolManager.java | 38 +- .../manager/server/ResourcePackManager.java | 86 +- .../raxen/manager/server/WorldManager.java | 201 +-- .../me/unurled/raxen/utils/DungeonUtils.java | 175 +-- .../unurled/raxen/utils/EntityAttributes.java | 145 ++- .../me/unurled/raxen/utils/EntityUtils.java | 10 +- .../java/me/unurled/raxen/utils/Items.java | 1091 +++++++++-------- .../java/me/unurled/raxen/utils/RayTrace.java | 192 +-- .../java/me/unurled/raxen/utils/Reload.java | 112 +- .../java/me/unurled/raxen/utils/TabApi.java | 42 +- .../java/me/unurled/raxen/utils/Utils.java | 795 ++++++------ .../unurled/raxen/utils/libs/CitizensApi.java | 17 +- .../raxen/utils/libs/HolographicDisplay.java | 82 -- .../me/unurled/raxen/utils/libs/LuckPerm.java | 21 +- .../me/unurled/raxen/utils/libs/MongoDB.java | 68 +- .../unurled/raxen/utils/libs/Multiverse.java | 28 +- .../me/unurled/raxen/utils/libs/Mysql.java | 51 +- .../raxen/utils/libs/PlaceHolderAPI.java | 11 +- .../me/unurled/raxen/utils/libs/Vault.java | 71 +- .../unurled/raxen/utils/libs/WorldEdit.java | 4 +- src/main/resources/plugin.yml | 2 - 132 files changed, 6360 insertions(+), 5227 deletions(-) mode change 100644 => 100755 gradlew delete mode 100644 src/main/java/me/unurled/raxen/commands/admin/TestHoloCommand.java delete mode 100644 src/main/java/me/unurled/raxen/utils/libs/HolographicDisplay.java diff --git a/.gitignore b/.gitignore index 090c47c..d8a5b8f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # User-specific stuff +server/ .idea/ .vscode/ .settings/ diff --git a/build.gradle b/build.gradle index a926830..fd8b58b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ plugins { id 'java' id 'maven-publish' - id "com.github.johnrengelman.shadow" version "7.1.2" - id "io.papermc.paperweight.userdev" version "1.3.9" + id "com.github.johnrengelman.shadow" version "8.1.1" + id "io.papermc.paperweight.userdev" version "1.5.4" } apply plugin: "java" @@ -62,8 +62,9 @@ dependencies { implementation 'org.mongodb:bson:4.7.2' implementation 'org.mongodb:mongodb-driver-core:4.7.2' - implementation 'de.tr7zw:item-nbt-api-plugin:2.11.1' - compileOnly 'io.papermc.paper:paper-api:1.19.3-R0.1-SNAPSHOT' + compileOnly 'io.papermc.paper:paper-api:1.19.4-R0.1-SNAPSHOT' + implementation 'de.tr7zw:item-nbt-api-plugin:2.11.2' +// compileOnly 'de.tr7zw:item-nbt-api:2.11.2' compileOnly 'com.comphenix.protocol:ProtocolLib:4.8.0' compileOnly 'net.luckperms:api:5.4' compileOnly 'com.github.MilkBowl:VaultAPI:1.7.1' @@ -71,17 +72,17 @@ dependencies { //compileOnly 'com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.3.0' //compileOnly 'com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.3.0' compileOnly 'me.clip:placeholderapi:2.11.2' - compileOnly('net.citizensnpcs:citizens-main:2.0.30-SNAPSHOT') { + compileOnly('net.citizensnpcs:citizens-main:2.0.31-SNAPSHOT') { exclude group: '*', module: '*' } compileOnly 'com.onarandombox.multiversecore:Multiverse-Core:4.3.1' - compileOnly 'me.filoghost.holographicdisplays:holographicdisplays-api:3.0.0' - compileOnly fileTree(dir: 'libs', include: '*.jar') - paperweightDevelopmentBundle("io.papermc.paper:dev-bundle:1.19.3-R0.1-SNAPSHOT") +// compileOnly 'me.filoghost.holographicdisplays:holographicdisplays-api:3.0.1' +// compileOnly fileTree(dir: 'libs', include: '*.jar') + paperweightDevelopmentBundle("io.papermc.paper:dev-bundle:1.19.4-R0.1-SNAPSHOT") } group = 'me.unurled' -version = '0.5.6' +version = '0.5.7' description = 'Raxen' java { @@ -100,31 +101,34 @@ publishing { tasks.withType(JavaCompile) { options.encoding = 'UTF-8' + options.release = 17 + options.compilerArgs += ["-Xlint:unchecked", "-Xlint:deprecation"] + } tasks { assemble { dependsOn(reobfJar) } + build { + dependsOn(shadowJar) + } } shadowJar { dependencies { - include dependency('de.tr7zw:item-nbt-api-plugin:2.11.1') + include dependency('de.tr7zw:item-nbt-api-plugin:2.11.2') + include dependency('de.tr7zw:item-nbt-api:2.11.2') include dependency('org.mongodb:mongodb-driver-sync:4.7.2') include dependency('org.mongodb:bson:4.7.2') include dependency('org.mongodb:mongodb-driver-core:4.7.2') } - relocate("de.tr7zw.changeme", "me.unurled.libs.de.tr7zw") relocate("de.tr7zw", "me.unurled.libs.de.tr7zw") relocate("com.mongodb", 'me.unurled.libs.com.mongodb') relocate("org.bson", 'me.unurled.libs.org.bson') processResources { expand version: project.version } + minimize() } - -tasks.withType(JavaCompile) { - options.compilerArgs += ["-Xlint:unchecked", "-Xlint:deprecation"] -} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..249e5832f090a2944b7473328c07c9755baa3196 100644 GIT binary patch delta 10158 zcmaKSbyOWsmn~e}-QC?axCPf>!2<-jxI0|j{UX8L-QC?axDz};a7}ppGBe+Nv*x{5 zy?WI?=j^WT(_Md5*V*xNP>X9&wM>xUvNiMuKDK=Xg!N%oM>Yru2rh7#yD-sW0Ov#$ zCKBSOD3>TM%&1T5t&#FK@|@1f)Ze+EE6(7`}J(Ek4})CD@I+W;L{ zO>K;wokKMA)EC6C|D@nz%D2L3U=Nm(qc>e4GM3WsHGu-T?l^PV6m-T-(igun?PZ8U z{qbiLDMcGSF1`FiKhlsV@qPMRm~h9@z3DZmWp;Suh%5BdP6jqHn}$-gu`_xNg|j{PSJ0n$ zbE;Azwq8z6IBlgKIEKc4V?*##hGW#t*rh=f<;~RFWotXS$vr;Mqz>A99PMH3N5BMi zWLNRjc57*z`2)gBV0o4rcGM(u*EG8_H5(|kThAnp|}u2xz>>X6tN zv)$|P2Nr1D*fk4wvqf(7;NmdRV3eL{!>DO-B98(s*-4$g{)EnRYAw+DP-C`=k)B!* zHU7!ejcbavGCYuz9k@$aZQaU%#K%6`D}=N_m?~^)IcmQZun+K)fSIoS>Ws zwvZ%Rfmw>%c!kCd~Pmf$E%LCj2r>+FzKGDm+%u88|hHprot{*OIVpi`Vd^^aumtx2L}h} zPu$v~zdHaWPF<`LVQX4i7bk82h#RwRyORx*z3I}o&>>eBDCif%s7&*vF6kU%1` zf(bvILch^~>cQ{=Y#?nx(8C-Uuv7!2_YeCfo?zkP;FK zX+KdjKS;HQ+7 zj>MCBI=d$~9KDJ1I2sb_3=T6D+Mu9{O&vcTnDA(I#<=L8csjEqsOe=&`=QBc7~>u2 zfdcO44PUOST%PcN+8PzKFYoR0;KJ$-Nwu#MgSM{_!?r&%rVM}acp>53if|vpH)q=O z;6uAi__am8g$EjZ33?PmCrg@(M!V_@(^+#wAWNu&e3*pGlfhF2<3NobAC zlusz>wMV--3ytd@S047g)-J@eOD;DMnC~@zvS=Gnw3=LnRzkeV`LH4#JGPklE4!Q3 zq&;|yGR0FiuE-|&1p2g{MG!Z3)oO9Jf4@0h*3!+RHv=SiEf*oGQCSRQf=LqT5~sajcJ8XjE>E*@q$n z!4|Rz%Lv8TgI23JV6%)N&`Otk6&RBdS|lCe7+#yAfdyEWNTfFb&*S6-;Q}d`de!}*3vM(z71&3 z37B%@GWjeQ_$lr%`m-8B&Zl4Gv^X{+N{GCsQGr!LLU4SHmLt3{B*z-HP{73G8u>nK zHxNQ4eduv>lARQfULUtIlLx#7ea+O;w?LH}FF28c9pg#*M`pB~{jQmPB*gA;Hik#e zZpz&X#O}}r#O_#oSr4f`zN^wedt>ST791bAZ5(=g<Oj)m9X8J^>Th}fznPY0T zsD9ayM7Hrlb6?jHXL<{kdA*Q#UPCYce0p`fHxoZ7_P`cF-$1YY9Pi;0QFt{CCf%C# zuF60A_NTstTQeFR3)O*ThlWKk08}7Nshh}J-sGY=gzE!?(_ZI4ovF6oZ$)&Zt~WZi z_0@Bk!~R4+<&b6CjI{nGj+P{*+9}6;{RwZ7^?H)xjhiRi;?A|wb0UxjPr?L@$^v|0= z@6d3+eU|&re3+G*XgFS}tih3;>2-R1x>`2hmUb5+Z~eM4P|$ zAxvE$l@sIhf_#YLnF|Wcfp(Gh@@dJ-yh|FhKqsyQp_>7j1)w|~5OKETx2P$~`}5huK;{gw_~HXP6=RsG)FKSZ=VYkt+0z&D zr?`R3bqVV?Zmqj&PQ`G3b^PIrd{_K|Hhqt zAUS#|*WpEOeZ{@h*j6%wYsrL`oHNV=z*^}yT1NCTgk1-Gl(&+TqZhODTKb9|0$3;| z;{UUq7X9Oz`*gwbi|?&USWH?Fr;6=@Be4w=8zu>DLUsrwf+7A`)lpdGykP`^SA8{ok{KE3sM$N@l}kB2GDe7MEN? zWcQ2I0fJ1ZK%s-YKk?QbEBO6`C{bg$%le0FTgfmSan-Kih0A7)rGy|2gd)_gRH7qp z*bNlP0u|S^5<)kFcd&wQg*6QP5;y(3ZgI%vUgWk#`g!sMf`02>@xz{Ie9_-fXllyw zh>P%cK+-HkQ;D$Jh=ig(ASN^zJ7|q*#m;}2M*T#s0a^nF_>jI(L(|*}#|$O&B^t!W zv-^-vP)kuu+b%(o3j)B@do)n*Y0x%YNy`sYj*-z2ncYoggD6l z6{1LndTQUh+GCX;7rCrT z@=vy&^1zyl{#7vRPv;R^PZPaIks8okq)To8!Cks0&`Y^Xy5iOWC+MmCg0Jl?1ufXO zaK8Q5IO~J&E|<;MnF_oXLc=LU#m{6yeomA^Ood;)fEqGPeD|fJiz(`OHF_f*{oWJq z1_$NF&Mo7@GKae#f4AD|KIkGVi~ubOj1C>>WCpQq>MeDTR_2xL01^+K1+ zr$}J>d=fW{65hi2bz&zqRKs8zpDln z*7+Gtfz6rkgfj~#{MB=49FRP;ge*e0=x#czw5N{@T1{EAl;G&@tpS!+&2&Stf<%<+55R18u2%+}`?PZo8xg|Y9Xli(fSQyC7 z+O5{;ZyW$!eYR~gy>;l6cA+e`oXN6a6t(&kUkWus*Kf<m$W7L)w5uXYF)->OeWMSUVXi;N#sY zvz4c?GkBU{D;FaQ)9|HU7$?BX8DFH%hC11a@6s4lI}y{XrB~jd{w1x&6bD?gemdlV z-+ZnCcldFanu`P=S0S7XzwXO(7N9KV?AkgZzm|J&f{l-Dp<)|-S7?*@HBIfRxmo1% zcB4`;Al{w-OFD08g=Qochf9=gb56_FPc{C9N5UAjTcJ(`$>)wVhW=A<8i#!bmKD#6~wMBak^2(p56d2vs&O6s4>#NB0UVr24K z%cw|-Yv}g5`_zcEqrZBaRSoBm;BuXJM^+W$yUVS9?u(`87t)IokPgC_bQ3g_#@0Yg zywb?u{Di7zd3XQ$y!m^c`6~t-7@g-hwnTppbOXckS-^N?w1`kRMpC!mfMY?K#^Ldm zYL>771%d{+iqh4a&4RdLNt3_(^^*{U2!A>u^b{7e@}Azd_PiZ>d~(@(Q@EYElLAx3LgQ5(ZUf*I%EbGiBTG!g#=t zXbmPhWH`*B;aZI)$+PWX+W)z?3kTOi{2UY9*b9bpSU!GWcVu+)!^b4MJhf=U9c?jj z%V)EOF8X3qC5~+!Pmmmd@gXzbycd5Jdn!N#i^50a$4u}8^O}DG2$w-U|8QkR-WU1mk4pF z#_imS#~c2~Z{>!oE?wfYc+T+g=eJL`{bL6=Gf_lat2s=|RxgP!e#L|6XA8w{#(Po(xk1~rNQ4UiG``U`eKy7`ot;xv4 zdv54BHMXIq;#^B%W(b8xt%JRueW5PZsB2eW=s3k^Pe1C$-NN8~UA~)=Oy->22yJ%e zu=(XD^5s{MkmWB)AF_qCFf&SDH%ytqpt-jgs35XK8Ez5FUj?uD3++@2%*9+-65LGQ zvu1eopeQoFW98@kzU{+He9$Yj#`vaQkqu%?1wCoBd%G=)TROYl2trZa{AZ@#^LARR zdzg-?EUnt9dK2;W=zCcVj18RTj-%w^#pREbgpD0aL@_v-XV2&Cd@JB^(}GRBU}9gV z6sWmVZmFZ9qrBN%4b?seOcOdOZ+6cx8-#R(+LYKJu~Y%pF5#85aF9$MnP7r^Bu%D? zT{b-KBujiy>7_*9{8u0|mTJ(atnnnS%qBDM_Gx5>3V+2~Wt=EeT4cXOdud$+weM(>wdBg+cV$}6%(ccP;`!~CzW{0O2aLY z?rQtBB6`ZztPP@_&`kzDzxc==?a{PUPUbbX31Vy?_(;c+>3q*!df!K(LQYZNrZ>$A*8<4M%e8vj1`%(x9)d~);ym4p zoo518$>9Pe| zZaFGj);h?khh*kgUI-Xvj+Dr#r&~FhU=eQ--$ZcOY9;x%&3U(&)q}eJs=)K5kUgi5 zNaI-m&4?wlwFO^`5l-B?17w4RFk(IKy5fpS0K%txp0qOj$e=+1EUJbLd-u>TYNna~ z+m?gU0~xlcnP>J>%m_y_*7hVMj3d&)2xV8>F%J;6ncm)ILGzF2sPAV|uYk5!-F%jL(53^51BKr zc3g7+v^w<4WIhk7a#{N6Ku_u{F`eo;X+u!C(lIaiY#*V5!sMed39%-AgV*`(nI)Im zemHE^2foBMPyIP<*yuD21{6I?Co?_{pqp-*#N6sZRQAzEBV4HQheOyZT5UBd)>G85 zw^xHvCEP4AJk<{v2kQQ;g;C)rCY=X!c8rNpNJ4mHETN}t1rwSe7=s8u&LzW-+6AEB z)LX0o7`EqC94HM{4p}d2wOwj2EB|O;?&^FeG9ZrT%c!J&x`Z3D2!cm(UZbFBb`+h ztfhjq75yuSn2~|Pc)p$Ul6=)}7cfXtBsvc15f&(K{jnEsw5Gh0GM^O=JC+X-~@r1kI$=FH=yBzsO#PxR1xU9+T{KuPx7sMe~GX zSP>AT3%(Xs@Ez**e@GAn{-GvB^oa6}5^2s+Mg~Gw?#$u&ZP;u~mP|FXsVtr>3k9O?%v>`Ha-3QsOG<7KdXlqKrsN25R|K<<;- z8kFY!&J&Yrqx3ptevOHiqPxKo_wwAPD)$DWMz{0>{T5qM%>rMqGZ!dJdK(&tP1#89 zVcu}I1I-&3%nMyF62m%MDpl~p)PM(%YoR zD)=W)E7kjwzAr!?^P*`?=fMHd1q4yjLGTTRUidem^Ocjrfgk2Jp|6SabEVHKC3c>RX@tNx=&Z7gC z0ztZoZx+#o36xH8mv6;^e{vU;G{JW17kn(RO&0L%q^fpWSYSkr1Cb92@bV->VO5P z;=V{hS5wcROQfbah6ND{2a$zFnj>@yuOcw}X~E20g7)5=Z#(y)RC878{_rObmGQ;9 zUy>&`YT^2R@jqR1z9Fx&x)WBstIE#*UhAa>WrMm<10={@$UN@Cog+#pxq{W@l0DOf zJGs^Jv?t8HgIXk(;NFHXun$J{{p})cJ^BWn4BeQo6dMNp%JO@$9z{(}qqEHuZOUQP zZiwo70Oa@lMYL(W*R4(!oj`)9kRggJns-A|w+XL=P07>QBMTEbG^gPS)H zu^@MFTFZtsKGFHgj|hupbK({r>PX3_kc@|4Jdqr@gyyKrHw8Tu<#0&32Hh?S zsVm_kQ2K`4+=gjw1mVhdOz7dI7V!Iu8J1LgI+_rF`Wgx5-XwU~$h>b$%#$U3wWC-ea0P(At2SjPAm57kd;!W5k{do1}X681o}`!c*(w!kCjtGTh7`=!M)$9 zWjTns{<-WX+Xi;&d!lyV&1KT9dKL??8)fu2(?Ox<^?EAzt_(#5bp4wAfgIADYgLU` z;J7f8g%-tfmTI1ZHjgufKcAT4SO(vx?xSo4pdWh`3#Yk;DqPGQE0GD?!_CfXb(E8WoJt6*Yutnkvmb?7H9B zVICAYowwxK;VM4(#~|}~Ooyzm*1ddU_Yg%Ax*_FcZm^AzYc$<+9bv;Eucr(SSF}*JsjTfb*DY>qmmkt z;dRkB#~SylP~Jcmr&Bl9TxHf^DcGUelG%rA{&s)5*$|-ww}Kwx-lWnNeghVm@z zqi3@-oJnN%r2O4t9`5I5Zfc;^ROHmY6C9 z1VRRX*1+aBlbO_p>B+50f1p&%?_A*16R0n+l}HKWI$yIH3oq2`k4O?tEVd~a4~>iI zo{d}b8tr+$q<%%K%Ett*i|RAJEMnk9hU7LtL!lxOB45xO1g)ycDBd=NbpaE3j?Gw& z0M&xx13EkCgNHu%Z8rBLo93XH-zQUfF3{Iy>65-KSPniqIzF+?x$3>`L?oBOBeEsv zs_y7@7>IbS&w2Vju^#vBpPWQuUv=dDRGm(-MH|l+8T?vfgD;{nE_*-h?@D;GN>4hA z9{!G@ANfHZOxMq5kkoh4h*p3+zE7z$13ocDJR$XA*7uKtG5Cn_-ibn%2h{ z;J0m5aCjg(@_!G>i2FDAvcn5-Aby8b;J0u%u)!`PK#%0FS-C3(cq9J{V`DJEbbE|| zYpTDd+ulcjEd5`&v!?=hVgz&S0|C^We?2|>9|2T6?~nn^_CpLn&kuI|VG7_E{Ofu9 zAqe0Reuq5Zunlx@zyTqEL+ssT15X|Z0LUfZAr-i$1_SJ{j}BHmBm}s8{OgK3lm%4F zzC%jz!y!8WUJo2FLkU(mVh7-uzC+gcbkV^bM}&Y6=HTTca{!7ZSoB!)l|v<(3ly!jq&P5A2q(U5~h)))aj-`-6&aM~LBySnAy zA0{Z{FHiUb8rW|Yo%kQwi`Kh>EEE$0g7UxeeeVkcY%~87yCmSjYyxoqq(%Jib*lH; zz`t5y094U`k_o{-*U^dFH~+1I@GsgwqmGsQC9-Vr0X94TLhlV;Kt#`9h-N?oKHqpx zzVAOxltd%gzb_Qu{NHnE8vPp=G$#S)Y%&6drobF_#NeY%VLzeod delta 9041 zcmY*t@kVBCBP!g$Qih>$!M(|j-I?-C8+=cK0w!?cVWy9LXH zd%I}(h%K_>9Qvap&`U=={XcolW-VA%#t9ljo~WmY8+Eb|zcKX3eyx7qiuU|a)zU5cYm5{k5IAa3ibZf_B&=YT!-XyLap%QRdebT+PIcg$KjM3HqA3uZ5|yBj2vv8$L{#$>P=xi+J&zLILkooDarGpiupEiuy`9uy&>yEr95d)64m+~`y*NClGrY|5MLlv!)d5$QEtqW)BeBhrd)W5g1{S@J-t8_J1 zthp@?CJY}$LmSecnf3aicXde(pXfeCei4=~ZN=7VoeU|rEEIW^!UBtxGc6W$x6;0fjRs7Nn)*b9JW5*9uVAwi) zj&N7W;i<Qy80(5gsyEIEQm>_+4@4Ol)F?0{YzD(6V~e=zXmc2+R~P~< zuz5pju;(akH2+w5w!vnpoikD5_{L<6T`uCCi@_Uorr`L(8zh~x!yEK*!LN02Q1Iri z>v*dEX<(+_;6ZAOIzxm@PbfY4a>ws4D82&_{9UHCfll!x`6o8*i0ZB+B#Ziv%RgtG z*S}<4!&COp)*ZMmXzl0A8mWA$)fCEzk$Wex*YdB}_-v|k9>jKy^Y>3me;{{|Ab~AL zQC(naNU=JtU3aP6P>Fm-!_k1XbhdS0t~?uJ$ZvLbvow10>nh*%_Kh>7AD#IflU8SL zMRF1fmMX#v8m=MGGb7y5r!Qf~Y}vBW}fsG<{1CHX7Yz z=w*V9(vOs6eO>CDuhurDTf3DVVF^j~rqP*7S-$MLSW7Ab>8H-80ly;9Q0BWoNV zz8Wr2CdK!rW0`sMD&y{Ue{`mEkXm0%S2k;J^iMe|sV5xQbt$ojzfQE+6aM9LWH`t& z8B;Ig7S<1Dwq`3W*w59L(opjq)ll4E-c?MivCh!4>$0^*=DKI&T2&j?;Z82_iZV$H zKmK7tEs7;MI-Vo(9wc1b)kc(t(Yk? z#Hgo8PG_jlF1^|6ge%;(MG~6fuKDFFd&}>BlhBTh&mmuKsn>2buYS=<5BWw^`ncCb zrCRWR5`IwKC@URU8^aOJjSrhvO>s}O&RBD8&V=Fk2@~zYY?$qO&!9%s>YecVY0zhK zBxKGTTyJ(uF`p27CqwPU1y7*)r}y;{|0FUO)-8dKT^>=LUoU_6P^^utg|* zuj}LBA*gS?4EeEdy$bn#FGex)`#y|vg77NVEjTUn8%t z@l|7T({SM!y$PZy9lb2N;BaF}MfGM%rZk10aqvUF`CDaC)&Av|eED$x_;qSoAka*2 z2rR+OTZTAPBx`vQ{;Z{B4Ad}}qOBqg>P4xf%ta|}9kJ2$od>@gyC6Bf&DUE>sqqBT zYA>(sA=Scl2C_EF8)9d8xwdBSnH5uL=I4hch6KCHj-{99IywUD{HR`d(vk@Kvl)WD zXC(v{ZTsyLy{rio*6Wi6Lck%L(7T~Is-F_`2R}q z!H1ylg_)Mv&_|b1{tVl!t{;PDa!0v6^Zqs_`RdxI%@vR)n|`i`7O<>CIMzqI00y{;` zhoMyy>1}>?kAk~ND6}`qlUR=B+a&bvA)BWf%`@N)gt@@Ji2`p1GzRGC$r1<2KBO3N z++YMLD9c|bxC;za_UVJ*r6&Ea;_YC>-Ebe-H=VAgDmx+?Q=DxCE4=yQXrn z7(0X#oIjyfZUd}fv2$;4?8y|0!L^ep_rMz|1gU-hcgVYIlI~o>o$K&)$rwo(KJO~R zDcGKo-@im7C<&2$6+q-xtxlR`I4vL|wFd<`a|T}*Nt;(~Vwx&2QG_j$r0DktR+6I4W)gUx*cDVBwGe00aa803ZYiwy;d{1p)y0?*IT8ddPS`E~MiS z1d%Vm0Hb4LN2*f8FZ|6xRQev@ZK-?(oPs+mT*{%NqhGL_0dJ$?rAxA{2 z`r3MBv&)xblcd>@hArncJpL~C(_HTo&D&CS!_J5Giz$^2EfR_)xjgPg`Bq^u%1C*+ z7W*HGp|{B?dOM}|E)Cs$61y8>&-rHBw;A8 zgkWw}r$nT%t(1^GLeAVyj1l@)6UkHdM!%LJg|0%BO74M593&LlrksrgoO{iEz$}HK z4V>WXgk|7Ya!Vgm#WO^ZLtVjxwZ&k5wT6RteViH3ds{VO+2xMJZ`hToOz~_+hRfY{ z%M;ZDKRNTsK5#h6goUF(h#VXSB|7byWWle*d0$IHP+FA`y)Q^5W!|&N$ndaHexdTn z{vf?T$(9b&tI&O`^+IqpCheAFth;KY(kSl2su_9|Y1B{o9`mm)z^E`Bqw!n+JCRO) zGbIpJ@spvz=*Jki{wufWm|m`)XmDsxvbJR5dLF=kuf_C>dl}{nGO(g4I$8 zSSW#5$?vqUDZHe_%`Zm?Amd^>I4SkBvy+i}wiQYBxj0F1a$*%T+6}Yz?lX&iQ}zaU zI@%8cwVGtF3!Ke3De$dL5^j-$Bh3+By zrSR3c2a>XtaE#TB}^#hq@!vnZ1(An#bk_eKR{?;Z&0cgh4$cMNU2HL=m=YjMTI zT$BRltXs4T=im;Ao+$Bk3Dz(3!C;rTqelJ?RF)d~dP9>$_6dbz=_8#MQFMMX0S$waWxY#mtDn}1U{4PGeRH5?a>{>TU@1UlucMAmzrd@PCwr|il)m1fooO7Z{Vyr z6wn=2A5z(9g9-OU10X_ei50@~)$}w4u)b+mt)z-sz0X32m}NKTt4>!O{^4wA(|3A8 zkr(DxtMnl$Hol>~XNUE?h9;*pGG&kl*q_pb z&*$lH70zI=D^s)fU~A7cg4^tUF6*Oa+3W0=7FFB*bf$Kbqw1&amO50YeZM)SDScqy zTw$-M$NA<_We!@4!|-?V3CEPnfN4t}AeM9W$iSWYz8f;5H)V$pRjMhRV@Z&jDz#FF zXyWh7UiIc7=0U9L35=$G54RjAupR&4j`(O3i?qjOk6gb!WjNtl1Fj-VmltDTos-Bl z*OLfOleS~o3`?l!jTYIG!V7?c<;Xu(&#~xf-f(-jwow-0Hv7JZG>}YKvB=rRbdMyv zmao*-!L?)##-S#V^}oRm7^Db zT5C2RFY4>ov~?w!3l_H}t=#X=vY-*LQy(w>u%r`zQ`_RukSqIv@WyGXa-ppbk-X=g zyn?TH(`-m*in(w=Ny$%dHNSVxsL|_+X=+kM+v_w{ZC(okof9k1RP5qDvcA-d&u{5U z?)a9LXht1f6|Tdy5FgXo;sqR|CKxDKruU9RjK~P6xN+4;0eAc|^x%UO^&NM4!nK_! z6X14Zkk=5tqpl&d6FYuMmlLGQZep0UE3`fT>xzgH>C*hQ2VzCQlO`^kThU6q%3&K^ zf^kfQm|7SeU#c%f8e?A<9mALLJ-;)p_bv6$pp~49_o;>Y=GyUQ)*prjFbkU;z%HkOW_*a#j^0b@GF|`6c}7>=W{Ef!#dz5lpkN>@IH+(sx~QMEFe4 z1GeKK67;&P%ExtO>}^JxBeHii)ykX8W@aWhJO!H(w)DH4sPatQ$F-Phiqx_clj`9m zK;z7X6gD2)8kG^aTr|oY>vmgOPQ4`_W+xj2j!$YT9x(DH6pF~ zd_C#8c>Gfb)k2Ku4~t=Xb>T^8KW;2HPN#%}@@hC1lNf~Xk)~oj=w-Y11a@DtIyYk8 z9^|_RIAA(1qUSs3rowxr&OuRVFL8(zSqU_rGlqHpkeYT4z7DGdS0q4V-b!3fsv$Yb zPq4UP^3XFd(G%JAN|0y>?&sLzNir30K(lyzNYvCtE2gDyy-nthPlrXXU75fhoS7kA zg%GYyBEFQ(xgdjtv+>?>Q!G!8& z3+F>)4|N+F1a^T?XC8 zxRRx7-{DV%uUYt&*$z2uQTbZDbUn)PozID*(i^{JDjNq`v?;&OW^&~{ZPE_e+?RMk z!7O5CUKJSnGZvjTbLX2$zwYRZs_$f{T!hvVHuTg77|O;zBHlA|GIUu_bh4`Bl?7KE zYB~a`b?O;0SfD?0EZiPYpVf=P4=|zr(u_w}oP0S`YOZziX9cuwpll&%QMv4bBC_JdP#rT3>MliqySv0& zh)r=vw?no&;5T}QVTkHKY%t`%{#*#J;aw!wPs}?q2$(e0Y#cdBG1T09ypI@#-y24+fzhJem1NSZ$TCAjU2|ebYG&&6p(0f>wQoNqVa#6J^W!3$gIWEw7d<^k!U~O5v=8goq$jC`p8CS zrox#Jw3w`k&Ty7UVbm35nZ}FYT5`fN)TO6R`tEUFotxr^BTXZGt|n(Ymqmr^pCu^^w?uX!ONbm?q{y9FehdmcJuV8V%A-ma zgl=n9+op{wkj-}N;6t;(JA1A#VF3S9AFh6EXRa0~7qop~3^~t1>hc6rdS_4!+D?Xh z5y?j}*p@*-pmlTb#7C0x{E(E@%eepK_YycNkhrYH^0m)YR&gRuQi4ZqJNv6Rih0zQ zqjMuSng>Ps;?M0YVyh<;D3~;60;>exDe)Vq3x@GRf!$wgFY5w4=Jo=g*E{76%~jqr zxTtb_L4Cz_E4RTfm@0eXfr1%ho?zP(>dsRarS>!^uAh~bd0lEhe2x7AEZQmBc%rU; z&FUrs&mIt8DL`L4JpiFp3NNyk3N>iL6;Nohp*XbZZn%BDhF_y{&{X3UtX(7aAyG63P zELC;>2L`jnFS#vC->A(hZ!tGi7N7^YtW7-LB6!SVdEM&7N?g}r4rW2wLn{Ni*I~$Y z@#;KwJIl0^?eX{JWiHQxDvccnNKBhHW0h6`j=)OH1`)7)69B$XNT@)l1s25M+~o2_ zpa&X<_vHxN_oR|B#ir2p*VNB~o6Z1OE&~a+_|AxS)(@Dgznq(b(|K8BN_nQ7+>N`= zXOx_@AhcmmcRvp6eX#4z6sn=V0%KonKFVY@+m&)Rx!Z5U@WdyHMCF4_qzJNpzc9Fw z7Bdzx54(e7>wcEqHKqH-Paiut;~ZVJpS6_q>ub)zD#TQ4j*i(I8DvS$BfyX~A%<#} z*=g2$8s;YYjEHl`7cKw!a9PFRt8tVR zM&X|bs?B1#ycjl>AzgbdRkr-@NmBc^ys)aoT75F(yweV&Y-3hNNXj-valA&=)G{NL zX?smr5sQWi3n;GGPW{%vW)xw-#D0QY%zjXxYj?($b4JzpW0sWY!fkwC5bJMkhTp$J z6CNVLd=-Ktt7D<^-f|=wjNjf0l%@iu2dR+zdQ&9NLa(B_okKdRy^!Q!F$Ro=hF$-r z!3@ocUs^7?cvdTMPbn*8S-o!PsF;>FcBkBkg&ET`W`lp?j`Z}4>DF|}9407lK9y~^No&pT7J|rVQ9Dh>qg|%=gxxg=! z>WX$!;7s~gDPmPF<--(?CvEnvV*E1KdXpr>XVv!DN~PyISE7d+K_9+W^pnR6cX&?E ziLr{0`JIs@NcA|;8L|p!3H~9y8mga2Dsm4I?rBS7$3wcT!_l*$^8U3hKUri|_I3N2 zz$xY`)IWA7P*Y1BJtyBEh?8EEvs8Oyl^{(+`gi{9hwpcN#I%Z0j$^yBp?z<;Ny!G$ zra3J_^i0(~LiKuITs%v)qE+YrJr?~w+)`Rcte^O=nwmPg@&!Q7FGTtjpTdI6wH&ZV z)2}VZY6(MbP`tgoew++(pt$jVj- zvPK)pSJ)U(XfUqBqZNo|za#Xx+IVEb?HGQ^wUVH&wTdWgP(z#ijyvXjwk>tFBUn*2 zuj5ENQjT{2&T`k;q54*Z>O~djuUBNwc6l(BzY?Ed4SIt9QA&8+>qaRIck?WdD0rh@ zh`VTZPwSNNCcLH3J}(q zdEtu@HfxDTpEqWruG=86m;QVO{}E&q8qYWhmA>(FjW`V&rg!CEL1oZCZcAX@yX(2tg8`>m1psG0ZpO+Rnph@Bhjj!~|+S=@+U{*ukwGrBj{5xfIHHP7|} z^7@g2;d%FMO8f(MS&6c##mrX2i(5uiX1o(=Vw89IQcHw)n{ZTS@``xT$Af@CQTP#w zl3kn6+MJP+l(;K-rWgjpdBU|CB4>W%cObZBH^Am~EvRO%D>uU^HVRXi$1 zb?Pr~ZlopLfT5l%03SjI7>YiGZZs=n(A!c;N9%%aByY~5(-hS4z_i2wgKYsG%OhhxH#^5i%&9ESb(@# zV_f5${Gf=$BK)1VY=NX#f+M}6f`OWmpC*OU3&+P@n>$Xvco*Nm$c<=`S|lY6S}Ut- z80}ztIpkV>W%^Ox`enpk<25_i7`RPiDugxHfUDBD8$bp9XR15>a?r^#&!1Ne6n{MI z){H`!jwrx}8b-w@@E8H0v)l!5!W8En=u67v+`iNoz<_h4{V*qQK+@)JP^JqsKAedZ zNh4toE+I7;^}7kkj|hzNVFWkZ$N9rxPl9|_@2kbW*4}&o%(L`WpQCN2M?gz>cyWHk zulMwRxpdpx+~P(({@%UY20LwM7sA&1M|`bEoq)Id zyUHt>@vfu**UOL9wiW*C75cc&qBX37qLd`<;$gS+mvL^v3Z8i4p6(@Wv`N|U6Exn< zd`@WxqU^8u^Aw+uw#vuDEIByaD)vucU2{4xRseczf_TJXUwaUK+E_IoItXJq88${0 z=K5jGehPa2)CnH&Lcxv&1jQ=T8>*vgp1^%)c&C2TL69;vSN)Q)e#Hj7!oS0 zlrEmJ=w4N9pID5KEY5qz;?2Q}0|4ESEio&cLrp221LTt~j3KjUB`LU?tP=p;B=WSXo;C?8(pnF6@?-ZD0m3DYZ* z#SzaXh|)hmTC|zQOG>aEMw%4&2XU?prlk5(M3ay-YC^QLRMN+TIB*;TB=wL_atpeD zh-!sS%A`3 z=^?niQx+^za_wQd2hRR=hsR0uzUoyOcrY!z7W)G2|C-_gqc`wrG5qCuU!Z?g*GL^H z?j^<_-A6BC^Dp`p(i0!1&?U{YlF@!|W{E@h=qQ&5*|U~V8wS;m!RK(Q6aX~oH9ToE zZYKXZoRV~!?P1ADJ74J-PFk2A{e&gh2o)@yZOZuBi^0+Hkp`dX;cZs9CRM+##;P!*BlA%M48TuR zWUgfD1DLsLs+-4XC>o>wbv-B)!t*47ON5wgoMX%llnmXG%L8209Vi;yZ`+N2v2Ox+ zMe7JHunQE$ckHHhEYRA+e`A3=XO5L%fMau71`XL7v)b{f1rkTY+WWSIkH#sG=pLqe zA(xZIp>_=4$zKq0t_G7q9@L zZ5D-0{8o%7f>0szA#c;rjL;4Y%hl}wYrx1R`Viq|Pz}c-{{LJY070ym@E~mt*pTyG z79bfcWTGGEje;PLD;N-XHw=`wS^howfzb$%oP8n)lN$o$ZWjZx|6iSsi2piI_7s7z zX#b$@z6kIJ^9{-Y^~wJ!s0V^Td5V7#4&pyU#NHw#9)N&qbpNFDR1jqC00W}91OnnS z{$J@GBz%bka`xsz;rb_iJ|rgmpUVyEZ)Xi*SO5U&|NFkTHb3y@e@%{WrvE&Jp#Lw^ zcj13CbsW+V>i@rj@SEfFf0@yjS@nbPB0)6D`lA;e%61nh`-qhydO!uS7jXGQd%i7opEnOL;| zDn!3EUm(V796;f?fA+RDF<@%qKlo)`0VtL74`!~516_aogYP%QfG#<2kQ!pijthz2 zpaFX3|D$%C7!bL242U?-e@2QZ`q$~lgZbvgfLLyVfT1OC5<8@6lLi=A{stK#zJmWd zlx+(HbgX)l$RGwH|2rV@P3o@xCrxch0$*z1ASpy(n+d4d2XWd~2AYjQm`xZU3af8F p+x$Nxf1895@0bJirXkdpJh+N7@Nb7x007(DEB&^Lm}dWn{T~m64-^0Z diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661..a9b6e2c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip -zipStoreBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 index 1b6c787..a69d9cb --- a/gradlew +++ b/gradlew @@ -205,6 +205,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/gradlew.bat b/gradlew.bat index 107acd3..f127cfd 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +75,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/settings.gradle b/settings.gradle index 3a919a8..8d2d6f8 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,4 +7,4 @@ pluginManagement { } } -rootProject.name = 'raxen' +rootProject.name = 'raxen' \ No newline at end of file diff --git a/src/main/java/me/unurled/raxen/Raxen.java b/src/main/java/me/unurled/raxen/Raxen.java index 4c3a04a..1335948 100644 --- a/src/main/java/me/unurled/raxen/Raxen.java +++ b/src/main/java/me/unurled/raxen/Raxen.java @@ -1,7 +1,10 @@ package me.unurled.raxen; +import static me.unurled.raxen.utils.Utils.colorComp; + import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; +import java.util.logging.Logger; import lombok.Getter; import me.unurled.raxen.config.Config; import me.unurled.raxen.config.PlayerConfig; @@ -11,135 +14,155 @@ import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; -import java.util.logging.Logger; - -import static me.unurled.raxen.utils.Utils.colorComp; - public final class Raxen extends JavaPlugin { - private static final String prefix = "Rx> "; - @Getter private static String version = "0.5.6"; - private final PluginManager pm = getServer().getPluginManager(); + private static final String prefix = + "Rx> "; - private static Raxen plugin; + @Getter + private static String version = "0.5.7"; - private static Logger logger; + private boolean loading = true; + private final PluginManager pm = getServer().getPluginManager(); - private static Config config; + private static Raxen plugin; - private static PlayerConfig playerConfig; + private static Logger logger; - @Getter private ProtocolManager protocolManager; + private static Config config; - @Getter private Manager manager; + private static PlayerConfig playerConfig; - /** - * Method when the server launch the plugin. - */ - @Override - public void onEnable() { - plugin = this; - logger = getLogger(); - version = plugin.getDescription().getVersion(); - manager = new Manager(); - manager.set(plugin); + @Getter + private ProtocolManager protocolManager; - // Config - config = new Config(plugin); + @Getter + private Manager manager; - protocolManager = ProtocolLibrary.getProtocolManager(); + /** + * Method when the server launch the plugin. + */ + @Override + public void onEnable() { + plugin = this; + logger = getLogger(); - playerConfig = new PlayerConfig(plugin); + version = this.getPluginMeta().getVersion(); - //register Commands and Events - registerCommands(); - registerEvents(); + manager = new Manager(); + manager.set(plugin); - Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Server Started Successfully!")); + // Config + config = new Config(plugin); - manager.getListenerManager().getServerPingEvent().setLoading(false); + protocolManager = ProtocolLibrary.getProtocolManager(); + + playerConfig = new PlayerConfig(plugin); + + //register Commands and Events + registerCommands(); + registerEvents(); + + Bukkit + .getConsoleSender() + .sendMessage( + colorComp(prefix + "Server Started Successfully!") + ); + + manager.getListenerManager().getServerPingEvent().setLoading(false); + loading = false; + } + + /** + * register the command in the command manager class. + */ + private void registerCommands() { + manager.getCommandManager().register(); + + Bukkit + .getConsoleSender() + .sendMessage(colorComp(prefix + "Commands Registered!")); + } + + /** + * register the events in the event manager class. + */ + private void registerEvents() { + manager.getListenerManager().register(); + + Bukkit + .getConsoleSender() + .sendMessage(colorComp(prefix + "Events Registered!")); + } + + /** + * Method when the server stops the plugin. + */ + @Override + public void onDisable() { + if (!loading) { + manager.getListenerManager().getServerPingEvent().setLoading(true); + Reload.kickAll(); + + playerConfig.close(); } - /** - * register the command in the command manager class. - */ - private void registerCommands() { - manager.getCommandManager().register(); + Bukkit + .getConsoleSender() + .sendMessage( + colorComp(prefix + "Server Stopped Successfully!") + ); + } - Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Commands Registered!")); - } + /** + * getter for the logger + * @return the plugin logger + */ + public Logger getPluginLogger() { + return logger; + } - /** - * register the events in the event manager class. - */ - private void registerEvents() { - manager.getListenerManager().register(); + /** + * getter for the bukkit's plugin manager + * @return plugin manager + */ + public PluginManager getPm() { + return pm; + } - Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Events Registered!")); - } + /** + * return the instance which is launched. + * @return main instance + */ + public Raxen getPlugin() { + return plugin; + } - /** - * Method when the server stops the plugin. - */ - @Override - public void onDisable() { - manager.getListenerManager().getServerPingEvent().setLoading(true); - Reload.kickAll(); + /** + * getter for the raxen prefix + * @return string prefix + */ + public static String getPrefix() { + return prefix; + } - playerConfig.close(); + /** + * getter for the yml's player configs. + * @return player config instance + */ + public PlayerConfig getPlayerConfig() { + return playerConfig; + } - Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Server Stopped Successfully!")); - } + /** + * getter for an instance of the config utility class + * @return raxen's config + */ + public Config getConf() { + return config; + } - /** - * getter for the logger - * @return the plugin logger - */ - public Logger getPluginLogger() { - return logger; - } - - /** - * getter for the bukkit's plugin manager - * @return plugin manager - */ - public PluginManager getPm() { - return pm; - } - - /** - * return the instance which is launched. - * @return main instance - */ - public Raxen getPlugin() { - return plugin; - } - - /** - * getter for the raxen prefix - * @return string prefix - */ - public static String getPrefix() { - return prefix; - } - - /** - * getter for the yml's player configs. - * @return player config instance - */ - public PlayerConfig getPlayerConfig() { - return playerConfig; - } - - /** - * getter for an instance of the config utility class - * @return raxen's config - */ - public Config getConf() { - return config; - } - - public void disable() { - this.setEnabled(false); - } + public void disable() { + this.setEnabled(false); + } } diff --git a/src/main/java/me/unurled/raxen/commands/RaxenCommand.java b/src/main/java/me/unurled/raxen/commands/RaxenCommand.java index ca3e96a..b12bb22 100644 --- a/src/main/java/me/unurled/raxen/commands/RaxenCommand.java +++ b/src/main/java/me/unurled/raxen/commands/RaxenCommand.java @@ -1,5 +1,8 @@ package me.unurled.raxen.commands; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.List; import me.unurled.raxen.Raxen; import me.unurled.raxen.manager.entity.StorageManager; import net.kyori.adventure.text.TextComponent; @@ -11,114 +14,209 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.*; - public class RaxenCommand implements TabExecutor { - private Raxen main; + private Raxen main; - public RaxenCommand(Raxen main) { - this.main = main; - } + public RaxenCommand(Raxen main) { + this.main = main; + } - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String msg, @NotNull String[] args) { - if(sender instanceof Player) { - Player player = (Player) sender; - if(!(player.hasPermission("raxen."))) { - msgPlayer(player, coloredString(Raxen.getPrefix()) + colorTextComp("You can't execute this command. Insufficient permission.")); + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command cmd, + @NotNull String msg, + @NotNull String[] args + ) { + if (sender instanceof Player) { + Player player = (Player) sender; + if (!(player.hasPermission("raxen."))) { + msgPlayer( + player, + coloredString(Raxen.getPrefix()) + + colorTextComp( + "You can't execute this command. Insufficient permission." + ) + ); + } + switch (args.length) { + case 0 -> msgPl(player, 0); + case 1 -> { + switch (args[0]) { + case "mongodb", "mongo", "MONGODB", "MONGO" -> { + //print info about connection + sender.sendMessage( + stringToComp( + Raxen.getPrefix() + + colorTextComp( + "Printing About Raxen's MongoDB connection..." + ) + ) + ); + msgPlayer( + player, + coloredString(Raxen.getPrefix()) + + colorTextComp( + "---------------------------------------------" + ) + ); + msgPlayer(player, colorTextComp("MONGO DB")); + msgPlayer( + player, + StorageManager + .getMongodb() + .getMongoClient() + .getClusterDescription() + .toString() + ); + msgPlayer( + player, + StorageManager.getMongodb().getMongoDatabase().getName() + ); + msgPlayer( + player, + StorageManager + .getMongodb() + .getMongoCollection() + .getNamespace() + .toString() + ); + msgPlayer( + player, + "---------------------------------------------" + ); } - switch (args.length) { - case 0 -> msgPl(player, 0); - case 1 -> { - switch (args[0]) { - case "mongodb", "mongo", "MONGODB", "MONGO" -> { - //print info about connection - sender.sendMessage(coloredString(Raxen.getPrefix()) + colorTextComp("Printing About Raxen's MongoDB connection...")); - msgPlayer(player, coloredString(Raxen.getPrefix()) + - colorTextComp("---------------------------------------------")); - msgPlayer(player, colorTextComp("MONGO DB")); - msgPlayer(player, StorageManager.getMongodb().getMongoClient().getClusterDescription().toString()); - msgPlayer(player, StorageManager.getMongodb().getMongoDatabase().getName()); - msgPlayer(player, StorageManager.getMongodb().getMongoCollection().getNamespace().toString()); - msgPlayer(player, "---------------------------------------------"); - } - case "v", "version", "ver" -> { - msgPl(player, 0); - } - case "hemlp", "?", "h" -> { - //print help - } - } - } + case "v", "version", "ver" -> { + msgPlayer(player, Raxen.getVersion()); } - } - else { - log(String.valueOf(args.length)); - switch (args.length) { - case 0 -> { - msgSender(sender, Raxen.getPrefix() + "Printing About Raxen...", - "---------------------------------------------", - " Raxen ", - " - Version: " + Raxen.getVersion(), - " - Author: Unurled"); - TextComponent txt = colorTextComp(" - Website: https://unurled.me"); - sender.sendMessage(txt); - sender.sendMessage(coloredString("---------------------------------------------")); - return true; - } - case 1 -> { - switch (args[0]) { - case "mongodb", "mongo", "MONGODB", "MONGO" -> { - //print info about connection - msgSender(sender, Raxen.getPrefix() + "Printing About Raxen's MongoDB connection...", - "---------------------------------------------" + "MONGO DB"); - sender.sendMessage(StorageManager.getMongodb().getMongoClient().getClusterDescription().toString()); - sender.sendMessage(StorageManager.getMongodb().getMongoDatabase().getName()); - sender.sendMessage(StorageManager.getMongodb().getMongoCollection().getNamespace().toString()); - sender.sendMessage(coloredString("---------------------------------------------")); - return true; - } - case "v", "version", "ver" -> { - msgSender(sender, Raxen.getPrefix() + "Printing About Raxen...", - "---------------------------------------------", - " Raxen ", - " - Version: " + Raxen.getVersion(), - " - Author: Un&eurled"); - TextComponent txt=colorTextComp(" - Website: https://unurled.me"); - sender.sendMessage(txt); - sender.sendMessage(coloredString("---------------------------------------------")); - return true; - } - case "hemlp", "?", "h" -> - //print help - debug(main, "print help"); - } - } + case "hemlp", "?", "h" -> { + //print help } + } } - return false; - } - - public void msgPl(Player player, Integer in) { - switch(in) { - case 0: - msgPlayer(player, Raxen.getPrefix() + "Printing About Raxen...", - "---------------------------------------------", - " Raxen ", - " - Version: " + Raxen.getVersion(), - " - Author: Un&eurled"); - TextComponent txt = (TextComponent) colorComp(" - Website: https://unurled.me") - .clickEvent(ClickEvent.openUrl("https://unurled.me")); - player.sendMessage(txt); - msgPlayer(player, "", "---------------------------------------------"); + } + } else { + switch (args.length) { + case 0 -> { + msgSender( + sender, + Raxen.getPrefix() + "Printing About Raxen...", + "---------------------------------------------", + " Raxen ", + " - Version: " + Raxen.getVersion(), + " - Author: Unurled" + ); + TextComponent txt = colorTextComp( + " - Website: https://unurled.me" + ); + sender.sendMessage(txt); + sender.sendMessage( + colorComp("---------------------------------------------") + ); + return true; } + case 1 -> { + switch (args[0]) { + case "mongodb", "mongo", "MONGODB", "MONGO" -> { + //print info about connection + msgSender( + sender, + Raxen.getPrefix() + + "Printing About Raxen's MongoDB connection...", + "---------------------------------------------" + + "MONGO DB" + ); + sender.sendMessage( + stringToComp( + StorageManager + .getMongodb() + .getMongoClient() + .getClusterDescription() + .toString() + ) + ); + sender.sendMessage( + stringToComp( + StorageManager.getMongodb().getMongoDatabase().getName() + ) + ); + sender.sendMessage( + stringToComp( + StorageManager + .getMongodb() + .getMongoCollection() + .getNamespace() + .toString() + ) + ); + sender.sendMessage( + stringToComp( + coloredString( + "---------------------------------------------" + ) + ) + ); + return true; + } + case "v", "version", "ver" -> { + msgSender( + sender, + Raxen.getPrefix() + "Printing About Raxen...", + "---------------------------------------------", + " Raxen ", + " - Version: " + Raxen.getVersion(), + " - Author: Un&eurled" + ); + TextComponent txt = colorTextComp( + " - Website: https://unurled.me" + ); + sender.sendMessage(txt); + sender.sendMessage( + colorComp("---------------------------------------------") + ); + return true; + } + case "hemlp", "?", "h" -> //print help + debug(main, "print help"); + } + } + } } + return false; + } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; + public void msgPl(Player player, Integer in) { + switch (in) { + case 0: + msgPlayer( + player, + Raxen.getPrefix() + "Printing About Raxen...", + "---------------------------------------------", + " Raxen ", + " - Version: " + Raxen.getVersion(), + " - Author: Un&eurled" + ); + TextComponent txt = (TextComponent) colorComp( + " - Website: https://unurled.me" + ) + .clickEvent(ClickEvent.openUrl("https://unurled.me")); + player.sendMessage(txt); + msgPlayer( + player, + "", + "---------------------------------------------" + ); } + } + + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/CustomModelDataCommand.java b/src/main/java/me/unurled/raxen/commands/admin/CustomModelDataCommand.java index 03b64f4..c070758 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/CustomModelDataCommand.java +++ b/src/main/java/me/unurled/raxen/commands/admin/CustomModelDataCommand.java @@ -1,5 +1,12 @@ package me.unurled.raxen.commands.admin; +import static me.unurled.raxen.utils.Items.customModelData; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -10,88 +17,106 @@ import org.bukkit.util.StringUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static me.unurled.raxen.utils.Items.customModelData; -import static me.unurled.raxen.utils.Utils.*; public class CustomModelDataCommand implements TabExecutor { - /** - * change custom model data of an item - * @param sender Source of the command - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args Passed command arguments - * @return - */ - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if (!(sender instanceof Player)) { - errorConsoleSender(sender); - return true; - } - Player p = (Player) sender; - if (!(p.hasPermission("raxen.custommodeldata.cmd"))) { - p.sendMessage(noPerms()); - return true; - } - ItemStack it = p.getInventory().getItemInMainHand(); - if (args.length == 0) { - p.sendMessage(colorComp("Usage: /custommodeldata ")); - return true; - } - if (!(isInt(args[0]))) { - Material material = Material.getMaterial(args[1]); - if (material != null) { - it = customModelData(new ItemStack(material), Integer.parseInt(args[0])); - p.getInventory().setItemInMainHand(it); - p.updateInventory(); - } else { - p.sendMessage(colorComp("Please specify a valid Item Name or a valid Integer.")); - } - } else { - if (it != null && it.getType() != Material.AIR) { // check if player has an item in hand - // has item in hand applying the custom model data - it = customModelData(it, Integer.parseInt(args[0])); - p.getInventory().setItemInMainHand(it); - p.updateInventory(); - } else { - p.sendMessage(colorComp("Get an item in hand please or specify an item")); - p.sendMessage(colorComp("Usage: /custommodeldata ")); - } - } - return true; + /** + * change custom model data of an item + * @param sender Source of the command + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args Passed command arguments + * @return + */ + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (!(sender instanceof Player)) { + errorConsoleSender(sender); + return true; } - - /** - * @param sender Source of the command. For players tab-completing a - * command inside of a command block, this will be the player, not - * the command block. - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args The arguments passed to the command, including final - * partial argument to be completed - * @return - */ - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - final List completions = new ArrayList<>(); - - List SUB_COMMANDS= new ArrayList<>(); - - if (!(isInt(args[0]))) { - return Arrays.asList( "§c" + args[0]); - } - if (args.length == 2) { - for (Material mat : Material.values()) { - SUB_COMMANDS.add(mat.name()); - } - StringUtil.copyPartialMatches(args[1], SUB_COMMANDS, completions); - Collections.sort(completions); - } - return completions; + Player p = (Player) sender; + if (!(p.hasPermission("raxen.custommodeldata.cmd"))) { + p.sendMessage(noPerms()); + return true; } + ItemStack it = p.getInventory().getItemInMainHand(); + if (args.length == 0) { + p.sendMessage( + colorComp( + "Usage: /custommodeldata " + ) + ); + return true; + } + if (!(isInt(args[0]))) { + Material material = Material.getMaterial(args[1]); + if (material != null) { + it = + customModelData(new ItemStack(material), Integer.parseInt(args[0])); + p.getInventory().setItemInMainHand(it); + p.updateInventory(); + } else { + p.sendMessage( + colorComp( + "Please specify a valid Item Name or a valid Integer." + ) + ); + } + } else { + if (it != null && it.getType() != Material.AIR) { // check if player has an item in hand + // has item in hand applying the custom model data + it = customModelData(it, Integer.parseInt(args[0])); + p.getInventory().setItemInMainHand(it); + p.updateInventory(); + } else { + p.sendMessage( + colorComp("Get an item in hand please or specify an item") + ); + p.sendMessage( + colorComp( + "Usage: /custommodeldata " + ) + ); + } + } + return true; + } + + /** + * @param sender Source of the command. For players tab-completing a + * command inside of a command block, this will be the player, not + * the command block. + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args The arguments passed to the command, including final + * partial argument to be completed + * @return + */ + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + final List completions = new ArrayList<>(); + + List SUB_COMMANDS = new ArrayList<>(); + + if (!(isInt(args[0]))) { + return Arrays.asList("§c" + args[0]); + } + if (args.length == 2) { + for (Material mat : Material.values()) { + SUB_COMMANDS.add(mat.name()); + } + StringUtil.copyPartialMatches(args[1], SUB_COMMANDS, completions); + Collections.sort(completions); + } + return completions; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/EntitiyCommand.java b/src/main/java/me/unurled/raxen/commands/admin/EntitiyCommand.java index 8dd0322..2afc02a 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/EntitiyCommand.java +++ b/src/main/java/me/unurled/raxen/commands/admin/EntitiyCommand.java @@ -1,40 +1,49 @@ package me.unurled.raxen.commands.admin; +import java.util.List; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - public class EntitiyCommand implements TabExecutor { - /** - * Get the egg spawn of a custom entity :) - * @param sender Source of the command - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args Passed command arguments - * @return - */ - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - return false; - } + /** + * Get the egg spawn of a custom entity :) + * @param sender Source of the command + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args Passed command arguments + * @return + */ + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + return false; + } - /** - * @param sender Source of the command. For players tab-completing a - * command inside a command block, this will be the player, not - * the command block. - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args The arguments passed to the command, including final - * partial argument to be completed - * @return - */ - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - return null; - } + /** + * @param sender Source of the command. For players tab-completing a + * command inside a command block, this will be the player, not + * the command block. + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args The arguments passed to the command, including final + * partial argument to be completed + * @return + */ + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/ItemListCommand.java b/src/main/java/me/unurled/raxen/commands/admin/ItemListCommand.java index 346aed9..d6b507d 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/ItemListCommand.java +++ b/src/main/java/me/unurled/raxen/commands/admin/ItemListCommand.java @@ -1,5 +1,8 @@ package me.unurled.raxen.commands.admin; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.List; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.gui.ItemListGui; @@ -10,40 +13,51 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.*; - public class ItemListCommand implements TabExecutor { - private Raxen main; + private Raxen main; - @Getter - private ItemListGui itemListGui; + @Getter + private ItemListGui itemListGui; - public ItemListCommand(Raxen main) { - this.main = main; - this.itemListGui = new ItemListGui(this.main); + public ItemListCommand(Raxen main) { + this.main = main; + this.itemListGui = new ItemListGui(this.main); + } + + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command cmd, + @NotNull String msg, + @NotNull String[] args + ) { + if (!(sender instanceof Player)) { + log("Console can't execute this command atm."); + return true; } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String msg, @NotNull String[] args) { - if (!(sender instanceof Player)) { - log("Console can't execute this command atm."); - return true; - } - Player player = (Player) sender; - if(!(player.hasPermission("raxen.itemlist.cmd"))) { - msgPlayer(player, colorString("You'dont have the permission to execute this command.")); - return true; - } - //openGui logic - player.openInventory(itemListGui.getInv()); - return false; + Player player = (Player) sender; + if (!(player.hasPermission("raxen.itemlist.cmd"))) { + msgPlayer( + player, + colorString( + "You'dont have the permission to execute this command." + ) + ); + return true; } + //openGui logic + player.openInventory(itemListGui.getInv()); + return false; + } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; - } + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/ItemTo64Command.java b/src/main/java/me/unurled/raxen/commands/admin/ItemTo64Command.java index d13fdda..8638a31 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/ItemTo64Command.java +++ b/src/main/java/me/unurled/raxen/commands/admin/ItemTo64Command.java @@ -1,5 +1,9 @@ package me.unurled.raxen.commands.admin; +import static me.unurled.raxen.utils.Items.itemTo64; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.List; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; @@ -7,42 +11,48 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.*; -import static me.unurled.raxen.utils.Items.itemTo64; - public class ItemTo64Command implements TabExecutor { - /** - * @param sender Source of the command - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args Passed command arguments - * @return - */ - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if (sender instanceof Player p) { - msgPlayer(p, itemTo64(p.getInventory().getItemInMainHand())); - } else { - errorConsoleSender(sender); - return true; - } - return false; - } - /** - * @param sender Source of the command. For players tab-completing a - * command inside of a command block, this will be the player, not - * the command block. - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args The arguments passed to the command, including final - * partial argument to be completed - * @return - */ - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - return null; + /** + * @param sender Source of the command + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args Passed command arguments + * @return + */ + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (sender instanceof Player p) { + msgPlayer(p, itemTo64(p.getInventory().getItemInMainHand())); + } else { + errorConsoleSender(sender); + return true; } + return false; + } + + /** + * @param sender Source of the command. For players tab-completing a + * command inside of a command block, this will be the player, not + * the command block. + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args The arguments passed to the command, including final + * partial argument to be completed + * @return + */ + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/NbtCommand.java b/src/main/java/me/unurled/raxen/commands/admin/NbtCommand.java index a4d339d..8267eca 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/NbtCommand.java +++ b/src/main/java/me/unurled/raxen/commands/admin/NbtCommand.java @@ -1,6 +1,12 @@ package me.unurled.raxen.commands.admin; +import static me.unurled.raxen.components.entity.player.PlayerUtils.updateSkills; +import static me.unurled.raxen.utils.Utils.*; + import de.tr7zw.nbtapi.NBTItem; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import me.unurled.raxen.Raxen; import me.unurled.raxen.manager.entity.PlayerManager; import net.kyori.adventure.text.Component; @@ -15,94 +21,119 @@ import org.bukkit.inventory.meta.ItemMeta; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -import static me.unurled.raxen.components.entity.player.PlayerUtils.updateSkills; -import static me.unurled.raxen.utils.Utils.*; - public class NbtCommand implements TabExecutor { - private final Raxen main; + private final Raxen main; - public NbtCommand(Raxen main) { - this.main = main; + public NbtCommand(Raxen main) { + this.main = main; + } + + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command cmd, + @NotNull String msg, + @NotNull String[] args + ) { + if (!(sender instanceof Player player)) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + colorString("You can't execute this command as the Console!") + ); + return true; } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String msg, @NotNull String[] args) { - if(!(sender instanceof Player player)) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),colorString("You can't execute this command as the Console!")); - return true; + if (player.getInventory().getItemInMainHand().getType() == Material.AIR) { + msgPlayer(player, colorTextComp("You must hold an Item in hand.")); + return true; + } else { + player.getInventory().getItemInMainHand(); + } + switch (args.length) { + case 0, 1 -> msgPlayer( + player, + colorTextComp("You must specify an nbt and an int.") + ); + case 2 -> { + debug("'" + args[0] + "'", "'" + args[1] + "'"); + ItemStack it = player.getInventory().getItemInMainHand(); + NBTItem nbti = new NBTItem(it); + int a = 0; + if (nbti.hasTag(args[0])) { + a = nbti.getInteger(args[0]); } - if(player.getInventory().getItemInMainHand().getType() == Material.AIR) { - msgPlayer(player,colorTextComp("You must hold an Item in hand.")); - return true; - } else { - player.getInventory().getItemInMainHand(); - } - switch (args.length) { - case 0, 1 -> msgPlayer(player, colorTextComp("You must specify an nbt and an int.")); - case 2 -> { - debug("'" + args[0] + "'", "'" + args[1] + "'"); - ItemStack it = player.getInventory().getItemInMainHand(); - NBTItem nbti = new NBTItem(it); - int a = 0; - if (nbti.hasTag(args[0])) { - a = nbti.getInteger(args[0]); - } - List lore = new ArrayList<>(); - // ItemMeta itm = it.getItemMeta(); - // lore.add((Component) itm.lore()); - boolean yes = false; - boolean ever = false; - for (Component ct : lore) { - if (ct != null) { - if (ct.contains(Component.text("Attributes:"))) { - yes = true; - ever = true; - } else { - if (yes) { - //ct.append(Component.text(colorString(attributes(args[0]) + ": " + (Integer.parseInt(args[1]) + a)))); deprecated - yes = false; - } - } - } - } - if (!ever) { - lore.add(colorTextComp("Attributes:")); - //lore.add(colorTextComp(attributes(args[0]) + ": " + (Integer.parseInt(args[1]) + a))); deprecated - } - // itm.lore(lore); - // it.setItemMeta(itm); - PlayerManager pm = ((Raxen) Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen"))).getManager().getPlayerManager(); - nbti.setInteger(args[0], Integer.parseInt(args[1]) + a); - if (nbti.hasTag("SPEED")) { - pm.getSpeed().add(player, nbti.getInteger("SPEED")); - } - if (nbti.hasTag("HEALTH")) { - pm.getHealth().add(player, nbti.getInteger("HEALTH")); - } - if (nbti.hasTag("DEFENSE")) { - pm.getDefense().add(player, nbti.getInteger("DEFENSE")); - - } - if (nbti.hasTag("STRENGTH")) { - pm.getStrength().add(player, nbti.getInteger("STRENGTH")); - } - it = nbti.getItem(); - msgPlayer(player, colorTextComp(Raxen.getPrefix() + "You successfully added the nbt " + /*attributes(args[0])*/ args[0] + "with " + args[1] + ".")); - updateSkills(main, player); - player.getInventory().setItem(player.getInventory().getHeldItemSlot(), it); + List lore = new ArrayList<>(); + // ItemMeta itm = it.getItemMeta(); + // lore.add((Component) itm.lore()); + boolean yes = false; + boolean ever = false; + for (Component ct : lore) { + if (ct != null) { + if (ct.contains(Component.text("Attributes:"))) { + yes = true; + ever = true; + } else { + if (yes) { + //ct.append(Component.text(colorString(attributes(args[0]) + ": " + (Integer.parseInt(args[1]) + a)))); deprecated + yes = false; + } } + } } - return true; + if (!ever) { + lore.add(colorTextComp("Attributes:")); + //lore.add(colorTextComp(attributes(args[0]) + ": " + (Integer.parseInt(args[1]) + a))); deprecated + } + // itm.lore(lore); + // it.setItemMeta(itm); + PlayerManager pm = + ( + (Raxen) Objects.requireNonNull( + Bukkit.getPluginManager().getPlugin("Raxen") + ) + ).getManager() + .getPlayerManager(); + nbti.setInteger(args[0], Integer.parseInt(args[1]) + a); + if (nbti.hasTag("SPEED")) { + pm.getSpeed().add(player, nbti.getInteger("SPEED")); + } + if (nbti.hasTag("HEALTH")) { + pm.getHealth().add(player, nbti.getInteger("HEALTH")); + } + if (nbti.hasTag("DEFENSE")) { + pm.getDefense().add(player, nbti.getInteger("DEFENSE")); + } + if (nbti.hasTag("STRENGTH")) { + pm.getStrength().add(player, nbti.getInteger("STRENGTH")); + } + it = nbti.getItem(); + msgPlayer( + player, + colorTextComp( + Raxen.getPrefix() + + "You successfully added the nbt " + + /*attributes(args[0])*/args[0] + + "with " + + args[1] + + "." + ) + ); + updateSkills(main, player); + player + .getInventory() + .setItem(player.getInventory().getHeldItemSlot(), it); + } } + return true; + } - - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; - } + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/ReloadCommand.java b/src/main/java/me/unurled/raxen/commands/admin/ReloadCommand.java index edfe519..89115e3 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/ReloadCommand.java +++ b/src/main/java/me/unurled/raxen/commands/admin/ReloadCommand.java @@ -1,5 +1,8 @@ package me.unurled.raxen.commands.admin; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.List; import me.unurled.raxen.utils.Reload; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -9,28 +12,39 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.*; - public class ReloadCommand implements TabExecutor { - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String msg, @NotNull String[] args) { - if(sender instanceof Player) { - Player player = (Player) sender; - if(!player.hasPermission("raxen.reload.cmd")) { - player.sendMessage(noPerms()); - return true; - } - } - Reload.kickAll(); - log(colorString("Server stopping!\n Using: /rlpl.\n Please wait a little bit.")); - Bukkit.getServer().shutdown(); - return false; - } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String msg, + @NotNull String[] args + ) { + if (sender instanceof Player) { + Player player = (Player) sender; + if (!player.hasPermission("raxen.reload.cmd")) { + player.sendMessage(noPerms()); + return true; + } } + Reload.kickAll(); + log( + colorString( + "Server stopping!\n Using: /rlpl.\n Please wait a little bit." + ) + ); + Bukkit.getServer().shutdown(); + return false; + } + + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/SpawnEntity.java b/src/main/java/me/unurled/raxen/commands/admin/SpawnEntity.java index 2e6917b..66e6c2f 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/SpawnEntity.java +++ b/src/main/java/me/unurled/raxen/commands/admin/SpawnEntity.java @@ -1,5 +1,13 @@ package me.unurled.raxen.commands.admin; +import static me.unurled.raxen.components.entity.other.EntityUtils.setNameSpacedKeys; +import static me.unurled.raxen.utils.Items.itemFrom64; +import static me.unurled.raxen.utils.Utils.*; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.other.EntityNamespacedKey; import org.bukkit.Bukkit; @@ -16,132 +24,189 @@ import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -import static me.unurled.raxen.components.entity.other.EntityUtils.setNameSpacedKeys; -import static me.unurled.raxen.utils.Items.itemFrom64; -import static me.unurled.raxen.utils.Utils.*; - public class SpawnEntity implements TabExecutor { - private Raxen main; - private EntityNamespacedKey namespacedKey; + private Raxen main; + private EntityNamespacedKey namespacedKey; - public SpawnEntity(Raxen main) { - this.main = main; - this.namespacedKey = new EntityNamespacedKey(main); + public SpawnEntity(Raxen main) { + this.main = main; + this.namespacedKey = new EntityNamespacedKey(main); + } + + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (!(sender instanceof Player)) { + log(colorTextComp("Console can't execute this command!")); + try { // /entityspawn ZOMBIE "&cHello folks" x:0 y:0 z:0 level health defense speed strength itemStackBinary64: helmet, chestplate, leggings, boots, main-hand, off-hand + if (validateArgs(args, 16)) { + args = setNullInArgs(args); + } else { + log( + colorTextComp( + "Please use null if you don't want some parameters in the command." + ) + ); + log( + colorTextComp( + "Follow this command: /entityspawn TYPE \"name\" x y z level health defense speed strength " + + "helmet(itemStackBinary64) chestplate(itemStackBinary64) leggings(itemStackBinary64) boots(itemStackBinary64) main-hand(itemStackBinary64) off-hand(itemStackBinary64)" + ) + ); + return false; + } + + EntityType types = EntityType.valueOf(args[0]); + Location loc = new Location( + Bukkit.getWorld("world"), + Double.parseDouble(args[2]), + Double.parseDouble(args[3]), + Double.parseDouble(args[4]) + ); + Entity e = loc.getWorld().spawnEntity(loc, types, false); + setNameSpacedKeys( + e, + getStringFromArg(args), + Integer.parseInt(args[6]), + Integer.parseInt(args[7]), + 0, + Integer.parseInt(args[8]), + 0, + Integer.parseInt(args[9]), + 0, + Integer.parseInt(args[10]), + 0 + ); + e.customName(colorTextComp(getStringFromArg(args))); + e.setCustomNameVisible(true); + if (e instanceof LivingEntity livingEntity) { + // livingEntity.getEquipment().set + ItemStack helmet = itemFrom64(args[11]); + ItemStack chestplate = itemFrom64(args[12]); + ItemStack leggins = itemFrom64(args[13]); + ItemStack boots = itemFrom64(args[14]); + ItemStack mainhand = itemFrom64(args[15]); + ItemStack offhand = itemFrom64(args[14]); + EntityEquipment equip = livingEntity.getEquipment(); + equip.setHelmet(helmet); + equip.setChestplate(chestplate); + equip.setLeggings(leggins); + equip.setBoots(boots); + equip.setItemInMainHand(mainhand); + equip.setItemInOffHand(offhand); + } + + System.out.println(e.getName()); + } catch (IllegalArgumentException e) { + error("Something happened near the SpawnEntity command."); + throw new RuntimeException(e); + } catch (IOException e) { + error( + "Could not deserialize item from the command EntitySpawn (command launched by " + + sender.getName() + + ")" + ); + throw new RuntimeException(e); + } } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if (!(sender instanceof Player)) { - log(colorTextComp("Console can't execute this command!")); - try { // /entityspawn ZOMBIE "&cHello folks" x:0 y:0 z:0 level health defense speed strength itemStackBinary64: helmet, chestplate, leggings, boots, main-hand, off-hand - if (validateArgs(args, 16)) { - args = setNullInArgs(args); - } else { - log(colorTextComp("Please use null if you don't want some parameters in the command.")); - log(colorTextComp("Follow this command: /entityspawn TYPE \"name\" x y z level health defense speed strength " + - "helmet(itemStackBinary64) chestplate(itemStackBinary64) leggings(itemStackBinary64) boots(itemStackBinary64) main-hand(itemStackBinary64) off-hand(itemStackBinary64)")); - return false; - } - - EntityType types = EntityType.valueOf(args[0]); - Location loc = new Location(Bukkit.getWorld("world"), Double.parseDouble(args[2]), Double.parseDouble(args[3]), Double.parseDouble(args[4])); - Entity e = loc.getWorld().spawnEntity(loc, types, false); - setNameSpacedKeys(e, getStringFromArg(args), Integer.parseInt(args[6]), Integer.parseInt(args[7]),0, - Integer.parseInt(args[8]),0, Integer.parseInt(args[9]),0, Integer.parseInt(args[10]),0); - e.customName(colorTextComp(getStringFromArg(args))); - e.setCustomNameVisible(true); - if (e instanceof LivingEntity livingEntity) { -// livingEntity.getEquipment().set - ItemStack helmet = itemFrom64(args[11]); - ItemStack chestplate = itemFrom64(args[12]); - ItemStack leggins = itemFrom64(args[13]); - ItemStack boots = itemFrom64(args[14]); - ItemStack mainhand = itemFrom64(args[15]); - ItemStack offhand = itemFrom64(args[14]); - EntityEquipment equip = livingEntity.getEquipment(); - equip.setHelmet(helmet); - equip.setChestplate(chestplate); - equip.setLeggings(leggins); - equip.setBoots(boots); - equip.setItemInMainHand(mainhand); - equip.setItemInOffHand(offhand); - } - - System.out.println(e.getName()); - } catch (IllegalArgumentException e) { - error("Something happened near the SpawnEntity command."); - throw new RuntimeException(e); - } catch (IOException e) { - error("Could not deserialize item from the command EntitySpawn (command launched by " + sender.getName() + ")"); - throw new RuntimeException(e); - } - } - for (String arg : args) { - log(arg); - } - Player player = (Player) sender; - if (!player.hasPermission("raxen.entityspawn.cmd")) { - player.sendMessage(noPerms()); - return false; - } - try { // /entityspawn ZOMBIE "&cHello folks" x:0 y:0 z:0 level health defense speed strength itemStackBinary64: helmet, chestplate, leggings, boots, main-hand, off-hand - if (validateArgs(args, 16)) { - args = setNullInArgs(args); - } else { - log(colorTextComp("Please use null if you don't want some parameters in the command.")); - log(colorTextComp("Follow this command: /entityspawn TYPE \"name\" x y z level health defense speed strength " + - "helmet(itemStackBinary64) chestplate(itemStackBinary64) leggings(itemStackBinary64) boots(itemStackBinary64) main-hand(itemStackBinary64) off-hand(itemStackBinary64)")); - return false; - } - - EntityType types = EntityType.valueOf(args[0]); - Location loc = new Location(Bukkit.getWorld("world"), Double.parseDouble(args[2]), Double.parseDouble(args[3]), Double.parseDouble(args[4])); - Entity e = loc.getWorld().spawnEntity(loc, types, false); - setNameSpacedKeys(e, getStringFromArg(args), Integer.parseInt(args[6]), Integer.parseInt(args[7]),0, - Integer.parseInt(args[8]),0, Integer.parseInt(args[9]),0, Integer.parseInt(args[10]),0); - e.customName(colorTextComp(getStringFromArg(args))); - e.setCustomNameVisible(true); - if (e instanceof LivingEntity livingEntity) { -// livingEntity.getEquipment().set - ItemStack helmet = itemFrom64(args[11]); - ItemStack chestplate = itemFrom64(args[12]); - ItemStack leggins = itemFrom64(args[13]); - ItemStack boots = itemFrom64(args[14]); - ItemStack mainhand = itemFrom64(args[15]); - ItemStack offhand = itemFrom64(args[14]); - EntityEquipment equip = livingEntity.getEquipment(); - equip.setHelmet(helmet); - equip.setChestplate(chestplate); - equip.setLeggings(leggins); - equip.setBoots(boots); - equip.setItemInMainHand(mainhand); - equip.setItemInOffHand(offhand); - } - - System.out.println(e.getName()); - } catch (IllegalArgumentException e) { - error("Something happened near the SpawnEntity command."); - throw new RuntimeException(e); - } catch (IOException e) { - error("Could not deserialize item from the command EntitySpawn (command launched by " + sender.getName() + ")"); - throw new RuntimeException(e); - } - + for (String arg : args) { + log(arg); + } + Player player = (Player) sender; + if (!player.hasPermission("raxen.entityspawn.cmd")) { + player.sendMessage(noPerms()); + return false; + } + try { // /entityspawn ZOMBIE "&cHello folks" x:0 y:0 z:0 level health defense speed strength itemStackBinary64: helmet, chestplate, leggings, boots, main-hand, off-hand + if (validateArgs(args, 16)) { + args = setNullInArgs(args); + } else { + log( + colorTextComp( + "Please use null if you don't want some parameters in the command." + ) + ); + log( + colorTextComp( + "Follow this command: /entityspawn TYPE \"name\" x y z level health defense speed strength " + + "helmet(itemStackBinary64) chestplate(itemStackBinary64) leggings(itemStackBinary64) boots(itemStackBinary64) main-hand(itemStackBinary64) off-hand(itemStackBinary64)" + ) + ); return false; + } + + EntityType types = EntityType.valueOf(args[0]); + Location loc = new Location( + Bukkit.getWorld("world"), + Double.parseDouble(args[2]), + Double.parseDouble(args[3]), + Double.parseDouble(args[4]) + ); + Entity e = loc.getWorld().spawnEntity(loc, types, false); + setNameSpacedKeys( + e, + getStringFromArg(args), + Integer.parseInt(args[6]), + Integer.parseInt(args[7]), + 0, + Integer.parseInt(args[8]), + 0, + Integer.parseInt(args[9]), + 0, + Integer.parseInt(args[10]), + 0 + ); + e.customName(colorTextComp(getStringFromArg(args))); + e.setCustomNameVisible(true); + if (e instanceof LivingEntity livingEntity) { + // livingEntity.getEquipment().set + ItemStack helmet = itemFrom64(args[11]); + ItemStack chestplate = itemFrom64(args[12]); + ItemStack leggins = itemFrom64(args[13]); + ItemStack boots = itemFrom64(args[14]); + ItemStack mainhand = itemFrom64(args[15]); + ItemStack offhand = itemFrom64(args[14]); + EntityEquipment equip = livingEntity.getEquipment(); + equip.setHelmet(helmet); + equip.setChestplate(chestplate); + equip.setLeggings(leggins); + equip.setBoots(boots); + equip.setItemInMainHand(mainhand); + equip.setItemInOffHand(offhand); + } + + System.out.println(e.getName()); + } catch (IllegalArgumentException e) { + error("Something happened near the SpawnEntity command."); + throw new RuntimeException(e); + } catch (IOException e) { + error( + "Could not deserialize item from the command EntitySpawn (command launched by " + + sender.getName() + + ")" + ); + throw new RuntimeException(e); } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - List list = new ArrayList<>(); - for (EntityType types : EntityType.values()) { - list.add(types.name()); - } - return list; + return false; + } + + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + List list = new ArrayList<>(); + for (EntityType types : EntityType.values()) { + list.add(types.name()); } + return list; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/TestGuiCommand.java b/src/main/java/me/unurled/raxen/commands/admin/TestGuiCommand.java index b7b9ffd..83c3b42 100644 --- a/src/main/java/me/unurled/raxen/commands/admin/TestGuiCommand.java +++ b/src/main/java/me/unurled/raxen/commands/admin/TestGuiCommand.java @@ -1,5 +1,9 @@ package me.unurled.raxen.commands.admin; +import static me.unurled.raxen.utils.Utils.colorTextComp; +import static me.unurled.raxen.utils.Utils.log; + +import java.util.List; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -8,29 +12,36 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.colorTextComp; -import static me.unurled.raxen.utils.Utils.log; - public class TestGuiCommand implements TabExecutor { - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if(sender instanceof Player) { - Player player = (Player) sender; - if(player.hasPermission("raxen.test.gui.cmd")) { - player.openInventory(Bukkit.createInventory(null, 54, colorTextComp(args[0]))); - } - } - else { - log("The console can't execute this Command!"); - return true; - } - return false; - } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (sender instanceof Player) { + Player player = (Player) sender; + if (player.hasPermission("raxen.test.gui.cmd")) { + player.openInventory( + Bukkit.createInventory(null, 54, colorTextComp(args[0])) + ); + } + } else { + log("The console can't execute this Command!"); + return true; } + return false; + } + + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/admin/TestHoloCommand.java b/src/main/java/me/unurled/raxen/commands/admin/TestHoloCommand.java deleted file mode 100644 index 928500c..0000000 --- a/src/main/java/me/unurled/raxen/commands/admin/TestHoloCommand.java +++ /dev/null @@ -1,67 +0,0 @@ -package me.unurled.raxen.commands.admin; - -import me.unurled.raxen.Raxen; -import me.unurled.raxen.utils.Utils; -import net.kyori.adventure.text.TextComponent; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.command.TabExecutor; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.List; - -public class TestHoloCommand implements TabExecutor { - - private Raxen main; - - public TestHoloCommand(Raxen main) { - this.main = main; - } - - /** - * @param sender Source of the command - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args Passed command arguments - * @return - */ - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if (sender instanceof Player player) { - if (player.hasPermission("raxen.testholo.cmd")) { - // spawn a hologram - if (args.length > 0) { - if (args[0].equalsIgnoreCase("text")) { - main.getManager().getLibsManager().getHolographicDisplay().createHologram("test holo", player.getLocation().add(0.0, 2.0, 0.0)); - } else if (args[0].equalsIgnoreCase("item")) { - main.getManager().getLibsManager().getHolographicDisplay().createHologram(player.getInventory().getItemInMainHand(), player.getLocation().add(0.0, 2.0, 0.0)); - } - } else { - Utils.msgPlayer(player, "You need to use the correct syntax :", "/" + label + " [text | item]"); - } - } else { - Utils.msgPlayer(player, (TextComponent) Utils.noPerms()); - } - } else { - Utils.errorConsoleSender(sender); - } - return true; - } - - /** - * @param sender Source of the command. For players tab-completing a - * command inside of a command block, this will be the player, not - * the command block. - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args The arguments passed to the command, including final - * partial argument to be completed - * @return - */ - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - return null; - } -} diff --git a/src/main/java/me/unurled/raxen/commands/player/ClassCommand.java b/src/main/java/me/unurled/raxen/commands/player/ClassCommand.java index b7309c4..47900ed 100644 --- a/src/main/java/me/unurled/raxen/commands/player/ClassCommand.java +++ b/src/main/java/me/unurled/raxen/commands/player/ClassCommand.java @@ -1,5 +1,10 @@ package me.unurled.raxen.commands.player; +import static me.unurled.raxen.utils.Utils.colorTextComp; +import static me.unurled.raxen.utils.Utils.error; + +import java.util.HashMap; +import java.util.List; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.player.classes.Class; import org.bukkit.Bukkit; @@ -12,47 +17,66 @@ import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.HashMap; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.colorTextComp; -import static me.unurled.raxen.utils.Utils.error; - public class ClassCommand implements TabExecutor { - private Raxen main; + private Raxen main; - /** - * the Command to choose the class - * @param main - */ - public ClassCommand(Raxen main) { - this.main = main; - } + /** + * the Command to choose the class + * @param main + */ + public ClassCommand(Raxen main) { + this.main = main; + } - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if(!(sender instanceof Player)) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"The console can't execute this Command!"); - return true; - } - Player player = (Player) sender; - Inventory inv = Bukkit.createInventory(null, 9, colorTextComp("Choose your class")); - HashMap classes = main.getManager().getPlayerManager().getClasses(); - if (classes.size() > 10) { - if (classes.size() > 55) { - inv = Bukkit.createInventory(null, classes.size(), colorTextComp("Choose your class")); - } - } - for (Class clas : classes.values()) { - ItemStack item = clas.getPlaceHolder(); - inv.addItem(item); - } - return false; + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (!(sender instanceof Player)) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "The console can't execute this Command!" + ); + return true; } + Player player = (Player) sender; + Inventory inv = Bukkit.createInventory( + null, + 9, + colorTextComp("Choose your class") + ); + HashMap classes = main + .getManager() + .getPlayerManager() + .getClasses(); + if (classes.size() > 10) { + if (classes.size() > 55) { + inv = + Bukkit.createInventory( + null, + classes.size(), + colorTextComp("Choose your class") + ); + } + } + for (Class clas : classes.values()) { + ItemStack item = clas.getPlaceHolder(); + inv.addItem(item); + } + return false; + } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; - } + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/player/MainGuiCommand.java b/src/main/java/me/unurled/raxen/commands/player/MainGuiCommand.java index 19a2845..694c2f9 100644 --- a/src/main/java/me/unurled/raxen/commands/player/MainGuiCommand.java +++ b/src/main/java/me/unurled/raxen/commands/player/MainGuiCommand.java @@ -1,5 +1,9 @@ package me.unurled.raxen.commands.player; +import static me.unurled.raxen.utils.Utils.errorConsoleSender; +import static me.unurled.raxen.utils.Utils.noPerms; + +import java.util.List; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.gui.MainGui; import org.bukkit.command.Command; @@ -10,54 +14,59 @@ import org.bukkit.inventory.Inventory; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.errorConsoleSender; -import static me.unurled.raxen.utils.Utils.noPerms; - public class MainGuiCommand implements TabExecutor { - private Raxen main; + private Raxen main; - public MainGuiCommand(Raxen main) { - this.main = main; - } + public MainGuiCommand(Raxen main) { + this.main = main; + } - /** - * @param sender Source of the command - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args Passed command arguments - * @return - */ - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if (!(sender instanceof Player)) { - errorConsoleSender(sender); - return true; - } - Player p = (Player) sender; - if (!(p.hasPermission("raxen.maingui.cmd"))) { - sender.sendMessage(noPerms()); - return true; - } - Inventory inv = MainGui.build(p); - p.openInventory(inv); - return true; + /** + * @param sender Source of the command + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args Passed command arguments + * @return + */ + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (!(sender instanceof Player)) { + errorConsoleSender(sender); + return true; } + Player p = (Player) sender; + if (!(p.hasPermission("raxen.maingui.cmd"))) { + sender.sendMessage(noPerms()); + return true; + } + Inventory inv = MainGui.build(p); + p.openInventory(inv); + return true; + } - /** - * @param sender Source of the command. For players tab-completing a - * command inside of a command block, this will be the player, not - * the command block. - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args The arguments passed to the command, including final - * partial argument to be completed - * @return - */ - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - return null; - } + /** + * @param sender Source of the command. For players tab-completing a + * command inside of a command block, this will be the player, not + * the command block. + * @param command Command which was executed + * @param label Alias of the command which was used + * @param args The arguments passed to the command, including final + * partial argument to be completed + * @return + */ + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/player/SkillsCommand.java b/src/main/java/me/unurled/raxen/commands/player/SkillsCommand.java index dfbcd52..83863b4 100644 --- a/src/main/java/me/unurled/raxen/commands/player/SkillsCommand.java +++ b/src/main/java/me/unurled/raxen/commands/player/SkillsCommand.java @@ -1,5 +1,9 @@ package me.unurled.raxen.commands.player; +import static me.unurled.raxen.utils.Utils.colorTextComp; +import static me.unurled.raxen.utils.Utils.error; + +import java.util.List; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.player.PlayerUtils; import me.unurled.raxen.components.entity.player.attributes.Attributes; @@ -12,57 +16,78 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.colorTextComp; -import static me.unurled.raxen.utils.Utils.error; - public class SkillsCommand implements TabExecutor { - private Raxen main; + private Raxen main; - public SkillsCommand(Raxen main) { - this.main = main; + public SkillsCommand(Raxen main) { + this.main = main; + } + + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String msg, + @NotNull String[] args + ) { + if (!(sender instanceof Player)) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "The console can't execute this Command!" + ); + return true; } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String msg, @NotNull String[] args) { - if(!(sender instanceof Player)) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"The console can't execute this Command!"); - return true; + Player player = (Player) sender; + Attributes attributes = new Attributes(main); + switch (args.length) { + case 0: + //open gui + player.sendMessage( + colorTextComp("GUI not implemented yet..") + .append(colorTextComp("Try /skill help.")) + ); + break; + case 1: + case 2: + player.sendMessage( + colorTextComp("Use the command like: ") + .append( + colorTextComp( + "/skill {health|defense|speed|strength} {add|set|remove} {amount}" + ) + ) + ); + break; + case 3: + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + for (String s : pm.getAttribute().keySet()) { + if (s.equalsIgnoreCase(args[0])) switch (args[1]) { + case "add": + pm.getAttribute().get(s).add(player, Integer.parseInt(args[2])); + case "remove": + pm + .getAttribute() + .get(s) + .remove(player, Integer.parseInt(args[2])); + case "set": + pm.getAttribute().get(s).set(player, Integer.parseInt(args[2])); + } } - Player player = (Player) sender; - Attributes attributes = new Attributes(main); - switch (args.length) { - case 0: - //open gui - player.sendMessage(colorTextComp("GUI not implemented yet..").append(colorTextComp("Try /skill help."))); - break; - case 1: - case 2: - player.sendMessage(colorTextComp("Use the command like: ") - .append(colorTextComp("/skill {health|defense|speed|strength} {add|set|remove} {amount}"))); - break; - case 3: - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - for (String s : pm.getAttribute().keySet()) { - if (s.equalsIgnoreCase(args[0])) - switch (args[1]) { - case "add": - pm.getAttribute().get(s).add(player, Integer.parseInt(args[2])); - case "remove": - pm.getAttribute().get(s).remove(player, Integer.parseInt(args[2])); - case "set": - pm.getAttribute().get(s).set(player, Integer.parseInt(args[2])); - } - } - PlayerUtils.updateSkills(main, player); - } - return false; + PlayerUtils.updateSkills(main, player); } + return false; + } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; - } + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/commands/player/StorageCommand.java b/src/main/java/me/unurled/raxen/commands/player/StorageCommand.java index 29f3955..6558421 100644 --- a/src/main/java/me/unurled/raxen/commands/player/StorageCommand.java +++ b/src/main/java/me/unurled/raxen/commands/player/StorageCommand.java @@ -1,5 +1,8 @@ package me.unurled.raxen.commands.player; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.List; import me.unurled.raxen.Raxen; import me.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.Bukkit; @@ -11,47 +14,67 @@ import org.bukkit.inventory.Inventory; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.*; - public class StorageCommand implements TabExecutor { - private PlayerManager playerManager; + private PlayerManager playerManager; - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if(!(sender instanceof Player)) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"The console can't execute this Command!"); - return true; - } - Player player = (Player) sender; - Inventory inv; - playerManager = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - switch (args.length) { - case 0: - if(playerManager.getRaxenPlayer(player).getStorage() == null) { - inv = playerManager.getRaxenPlayer(player).createStorage().getEc().getEc(); - } else { - inv = playerManager.getRaxenPlayer(player).getStorage().getEc().getEc(); - } - player.openInventory(inv); - break; - case 1: - Player p = Bukkit.getPlayer(args[0]); - if(p == null) { - msgPlayer(player, colorString("You can't open the Storage of an unknown Player.")); - return true; - } - inv = playerManager.getRaxenPlayer(player).getStorage().getEc().getEc(); - player.openInventory(inv); - break; - } - return true; + @Override + public boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (!(sender instanceof Player)) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "The console can't execute this Command!" + ); + return true; } + Player player = (Player) sender; + Inventory inv; + playerManager = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + switch (args.length) { + case 0: + if (playerManager.getRaxenPlayer(player).getStorage() == null) { + inv = + playerManager + .getRaxenPlayer(player) + .createStorage() + .getEc() + .getEc(); + } else { + inv = + playerManager.getRaxenPlayer(player).getStorage().getEc().getEc(); + } + player.openInventory(inv); + break; + case 1: + Player p = Bukkit.getPlayer(args[0]); + if (p == null) { + msgPlayer( + player, + colorString("You can't open the Storage of an unknown Player.") + ); + return true; + } + inv = playerManager.getRaxenPlayer(player).getStorage().getEc().getEc(); + player.openInventory(inv); + break; + } + return true; + } - @Override - public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { - return null; - } + @Override + public @Nullable List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return null; + } } diff --git a/src/main/java/me/unurled/raxen/components/dungeons/Dungeon.java b/src/main/java/me/unurled/raxen/components/dungeons/Dungeon.java index 5ed20e0..0192dda 100644 --- a/src/main/java/me/unurled/raxen/components/dungeons/Dungeon.java +++ b/src/main/java/me/unurled/raxen/components/dungeons/Dungeon.java @@ -1,5 +1,8 @@ package me.unurled.raxen.components.dungeons; +import static me.unurled.raxen.utils.DungeonUtils.getRadiusFromRank; + +import java.util.HashMap; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.dungeons.types.MonsterType; @@ -7,60 +10,69 @@ import me.unurled.raxen.components.entity.other.RaxenEntity; import org.bukkit.Bukkit; import org.bukkit.Location; -import java.util.HashMap; - -import static me.unurled.raxen.utils.DungeonUtils.getRadiusFromRank; - public class Dungeon { - @Getter private String name; + @Getter + private String name; - @Getter private Rank rank; + @Getter + private Rank rank; - @Getter private Gate gate; + @Getter + private Gate gate; - //String, RaxenEntity - @Getter private HashMap monster = new HashMap<>(); + //String, RaxenEntity + @Getter + private HashMap monster = new HashMap<>(); - /** - * The Type of the Dungeon - */ - @Getter private Types types; + /** + * The Type of the Dungeon + */ + @Getter + private Types types; - /** - * Monster Types - */ - @Getter private MonsterType monsterType; + /** + * Monster Types + */ + @Getter + private MonsterType monsterType; - @Getter private Location location; - @Getter private Integer radius; + @Getter + private Location location; - public Dungeon(String name, Rank rank, Types types, MonsterType mType) { - this.name = name; - this.rank = rank; - this.types = types; - this.monsterType = mType; - generateGate(); - } + @Getter + private Integer radius; - /** - * Generate the Gate and make it available to players in the world. - * //TODO: Place the gate at a random place. - */ - public void generateGate() { - // -281.50 36.00 187.50 - Location loc = new Location(Bukkit.getWorld("Liberty_City"), -284.0, 45.00, 187.50); - Integer radius = getRadiusFromRank(this.rank); - this.gate = new Gate(name, loc, radius); - } + public Dungeon(String name, Rank rank, Types types, MonsterType mType) { + this.name = name; + this.rank = rank; + this.types = types; + this.monsterType = mType; + generateGate(); + } - /** - * //TODO: Terrain Generation of the inside of the Dungeons - */ - public void generate() { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - main.getManager().getWorldManager().loadWorld(name); - monsterType.genMonster(Bukkit.getWorld(name), rank); + /** + * Generate the Gate and make it available to players in the world. + * //TODO: Place the gate at a random place. + */ + public void generateGate() { + // -281.50 36.00 187.50 + Location loc = new Location( + Bukkit.getWorld("Liberty_City"), + -284.0, + 45.00, + 187.50 + ); + Integer radius = getRadiusFromRank(this.rank); + this.gate = new Gate(name, loc, radius); + } - } + /** + * //TODO: Terrain Generation of the inside of the Dungeons + */ + public void generate() { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + main.getManager().getWorldManager().loadWorld(name); + monsterType.genMonster(Bukkit.getWorld(name), rank); + } } diff --git a/src/main/java/me/unurled/raxen/components/dungeons/Gate.java b/src/main/java/me/unurled/raxen/components/dungeons/Gate.java index 5c90e57..0cc4323 100644 --- a/src/main/java/me/unurled/raxen/components/dungeons/Gate.java +++ b/src/main/java/me/unurled/raxen/components/dungeons/Gate.java @@ -1,48 +1,44 @@ package me.unurled.raxen.components.dungeons; +import java.util.Random; import org.bukkit.Location; import org.bukkit.Material; -import java.util.Random; - public class Gate { - private String name; + private String name; - private Location loc; - private Integer portalRadius; + private Location loc; + private Integer portalRadius; + public Gate(String name, Location loc, Integer portalRadius) { + this.loc = loc; + this.portalRadius = portalRadius; + this.name = name; + } - public Gate(String name, Location loc, Integer portalRadius) { - this.loc = loc; - this.portalRadius = portalRadius; - this.name = name; + public void teleport() {} + + public void genGate() { + // get which side it's gonna expand with radius + Random r = new Random(); + Boolean xExpend = false; + if (r.nextInt(2) == 0) { + xExpend = true; } - public void teleport() { - + // place blocks + for (double i = 0; i <= Math.PI; i += Math.PI / portalRadius) { + double radius = Math.sin(i); + double y = Math.cos(i); + for (double a = 0; a < Math.PI * 2; a += Math.PI / portalRadius) { + double x = Math.cos(a) * radius; + double z = Math.sin(a) * radius; + Location locc = new Location(loc.getWorld(), x, y, z); + loc.getBlock().setType(Material.NETHER_PORTAL); + } } - - public void genGate() { - // get which side it's gonna expand with radius - Random r = new Random(); - Boolean xExpend = false; - if (r.nextInt(2) == 0) { - xExpend = true; - } - - // place blocks - for (double i = 0; i <= Math.PI; i += Math.PI / portalRadius) { - double radius = Math.sin(i); - double y = Math.cos(i); - for (double a = 0; a < Math.PI * 2; a+= Math.PI / portalRadius) { - double x = Math.cos(a) * radius; - double z = Math.sin(a) * radius; - Location locc = new Location(loc.getWorld(), x, y, z); - loc.getBlock().setType(Material.NETHER_PORTAL); - } - } - /* + /* for (int n=0; n monster = new HashMap<>(); + public Map monster = new HashMap<>(); - public Map lootItem = new HashMap<>(); - - // public Map chest + public Map lootItem = new HashMap<>(); + // public Map chest } diff --git a/src/main/java/me/unurled/raxen/components/dungeons/Types.java b/src/main/java/me/unurled/raxen/components/dungeons/Types.java index 7685d19..c842107 100644 --- a/src/main/java/me/unurled/raxen/components/dungeons/Types.java +++ b/src/main/java/me/unurled/raxen/components/dungeons/Types.java @@ -1,20 +1,20 @@ package me.unurled.raxen.components.dungeons; public enum Types { - JUNGLE, - TROPICAL_JUNGLE, - PLAINS, - GRAVES, - CASTLE, - ABANDONED_CASTLE, - FIELD, - ICE_FOREST, - FOREST, - VOLCANO, - MOUNTAINS, - HIGH_MOUNTAINS, - CAVES, - LABYRINTH, - UNDERGROUND_LABYRINTH, - FOREST_LABYRINTH + JUNGLE, + TROPICAL_JUNGLE, + PLAINS, + GRAVES, + CASTLE, + ABANDONED_CASTLE, + FIELD, + ICE_FOREST, + FOREST, + VOLCANO, + MOUNTAINS, + HIGH_MOUNTAINS, + CAVES, + LABYRINTH, + UNDERGROUND_LABYRINTH, + FOREST_LABYRINTH, } diff --git a/src/main/java/me/unurled/raxen/components/dungeons/types/MonsterType.java b/src/main/java/me/unurled/raxen/components/dungeons/types/MonsterType.java index 7e3da0e..5815f35 100644 --- a/src/main/java/me/unurled/raxen/components/dungeons/types/MonsterType.java +++ b/src/main/java/me/unurled/raxen/components/dungeons/types/MonsterType.java @@ -1,5 +1,8 @@ package me.unurled.raxen.components.dungeons.types; +import static me.unurled.raxen.utils.Utils.debug; + +import java.util.Random; import me.unurled.raxen.components.dungeons.Rank; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -11,84 +14,95 @@ import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; import org.jetbrains.annotations.Nullable; -import java.util.Random; - -import static me.unurled.raxen.utils.Utils.debug; - public class MonsterType { - public enum type {; - private Double rate; - public String ID; - public Class clazz; + public enum type { + ; - type(Double rate, String ID, Class clazz) { - this.rate = rate; - this.ID = ID; - this.clazz = clazz; - } + private Double rate; + public String ID; + public Class clazz; - public static @Nullable type getTypeById(String ID) { - for (type type : type.values()) { - if(type.ID.equals(ID)) { - return type; - } - } - return null; - } - - public Double getRate() { - return rate; - } - - public void setRate(Double rate) { - this.rate = rate; - } - - public String getID() { - return ID; - } - - public void setID(String ID) { - this.ID = ID; - } - - public Class getClazz() { - return clazz; - } - - public void getClazz(Class clazz) { - this.clazz = clazz; - } + type(Double rate, String ID, Class clazz) { + this.rate = rate; + this.ID = ID; + this.clazz = clazz; } - public void genMonster(World world, Rank rank) { - Double x = 0.0; - Double y = 100.0; - Double z = 0.0; - for (type type : type.values()) { - type.name(); - Random r = new Random(); - int per = r.nextInt(100); - if (per >= type.rate) { - // spawn entity - debug("Spawning Entity " + type.ID); - Entity e = world.spawnEntity(new Location(world, x, y, z), EntityType.ARROW); - // e = ((RaxenEntity) type.getClazz()).createEntity(); - e.setInvulnerable(true); - BukkitTask task = new BukkitRunnable() { - @Override - public void run() { - Location loc = new Location(e.getWorld(), e.getLocation().getX(), e.getLocation().getY()-1, e.getLocation().getZ()); - if (loc.getBlock().getType() != Material.AIR) { - e.setInvulnerable(false); - this.cancel(); - } - } - }.runTaskTimerAsynchronously(Bukkit.getPluginManager().getPlugin("Raxen"), 0L, 20L); - } - x = 5.0 + ( 50.0 - 5.0 ) * r.nextDouble(); - z = 5.0 + ( 50.0 - 5.0 ) * r.nextDouble(); + public static @Nullable type getTypeById(String ID) { + for (type type : type.values()) { + if (type.ID.equals(ID)) { + return type; } + } + return null; } + + public Double getRate() { + return rate; + } + + public void setRate(Double rate) { + this.rate = rate; + } + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } + + public Class getClazz() { + return clazz; + } + + public void getClazz(Class clazz) { + this.clazz = clazz; + } + } + + public void genMonster(World world, Rank rank) { + Double x = 0.0; + Double y = 100.0; + Double z = 0.0; + for (type type : type.values()) { + type.name(); + Random r = new Random(); + int per = r.nextInt(100); + if (per >= type.rate) { + // spawn entity + debug("Spawning Entity " + type.ID); + Entity e = world.spawnEntity( + new Location(world, x, y, z), + EntityType.ARROW + ); + // e = ((RaxenEntity) type.getClazz()).createEntity(); + e.setInvulnerable(true); + BukkitTask task = new BukkitRunnable() { + @Override + public void run() { + Location loc = new Location( + e.getWorld(), + e.getLocation().getX(), + e.getLocation().getY() - 1, + e.getLocation().getZ() + ); + if (loc.getBlock().getType() != Material.AIR) { + e.setInvulnerable(false); + this.cancel(); + } + } + } + .runTaskTimerAsynchronously( + Bukkit.getPluginManager().getPlugin("Raxen"), + 0L, + 20L + ); + } + x = 5.0 + (50.0 - 5.0) * r.nextDouble(); + z = 5.0 + (50.0 - 5.0) * r.nextDouble(); + } + } } diff --git a/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestDungeon.java b/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestDungeon.java index f389c05..1d13444 100644 --- a/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestDungeon.java +++ b/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestDungeon.java @@ -6,11 +6,12 @@ import me.unurled.raxen.components.dungeons.Types; import me.unurled.raxen.components.dungeons.types.MonsterType; public class ForestDungeon extends Dungeon { - public ForestDungeon(String name, Rank rank, Types types, MonsterType mType) { - super(name, rank, types, mType); - } - public ForestDungeon() { - super("Forest", Rank.E, Types.FOREST, new ForestMonster()); - } + public ForestDungeon(String name, Rank rank, Types types, MonsterType mType) { + super(name, rank, types, mType); + } + + public ForestDungeon() { + super("Forest", Rank.E, Types.FOREST, new ForestMonster()); + } } diff --git a/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestMonster.java b/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestMonster.java index ea93b79..ee312bf 100644 --- a/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestMonster.java +++ b/src/main/java/me/unurled/raxen/components/dungeons/types/forest/ForestMonster.java @@ -7,18 +7,19 @@ import me.unurled.raxen.components.entity.other.custom.dungeon.forest.Wolf; public class ForestMonster extends MonsterType { - @Getter enum type { - ELF(50.0 ,"ELF", Elf.class), - WOLF(50.0, "WOLF", Wolf.class); + @Getter + enum type { + ELF(50.0, "ELF", Elf.class), + WOLF(50.0, "WOLF", Wolf.class); - private Double rate; - public String ID; - public Class clazz; + private Double rate; + public String ID; + public Class clazz; - type(Double rate, String ID, Class clazz) { - this.rate = rate; - this.ID = ID; - this.clazz = clazz; - } + type(Double rate, String ID, Class clazz) { + this.rate = rate; + this.ID = ID; + this.clazz = clazz; } + } } diff --git a/src/main/java/me/unurled/raxen/components/enchantments/EnchantmentWarpper.java b/src/main/java/me/unurled/raxen/components/enchantments/EnchantmentWarpper.java index 48651a9..fa529b8 100644 --- a/src/main/java/me/unurled/raxen/components/enchantments/EnchantmentWarpper.java +++ b/src/main/java/me/unurled/raxen/components/enchantments/EnchantmentWarpper.java @@ -1,6 +1,7 @@ package me.unurled.raxen.components.enchantments; import io.papermc.paper.enchantments.EnchantmentRarity; +import java.util.Set; import net.kyori.adventure.key.Key; import net.kyori.adventure.text.Component; import org.bukkit.NamespacedKey; @@ -11,93 +12,96 @@ import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; -import java.util.Set; - public class EnchantmentWarpper extends Enchantment { - private final int maxLevel; - public EnchantmentWarpper(String nameSpace, String name, int lvl) { - super(NamespacedKey.minecraft(nameSpace)); - this.maxLevel = lvl; - } + private final int maxLevel; - @Override @Deprecated - public @NotNull String getName() { - return null; - } + public EnchantmentWarpper(String nameSpace, String name, int lvl) { + super(NamespacedKey.minecraft(nameSpace)); + this.maxLevel = lvl; + } - @Override - public int getMaxLevel() { - return maxLevel; - } + @Override + @Deprecated + public @NotNull String getName() { + return null; + } - @Override - public int getStartLevel() { - return 0; - } + @Override + public int getMaxLevel() { + return maxLevel; + } - @Override - public @NotNull EnchantmentTarget getItemTarget() { - return null; - } + @Override + public int getStartLevel() { + return 0; + } - @Override - public boolean isTreasure() { - return false; - } + @Override + public @NotNull EnchantmentTarget getItemTarget() { + return null; + } - @Override - public boolean isCursed() { - return false; - } + @Override + public boolean isTreasure() { + return false; + } - @Override - public boolean conflictsWith(@NotNull Enchantment other) { - return false; - } + @Override + public boolean isCursed() { + return false; + } - @Override - public boolean canEnchantItem(@NotNull ItemStack item) { - return false; - } + @Override + public boolean conflictsWith(@NotNull Enchantment other) { + return false; + } - @Override - public @NotNull Component displayName(int level) { - return null; - } + @Override + public boolean canEnchantItem(@NotNull ItemStack item) { + return false; + } - @Override - public boolean isTradeable() { - return false; - } + @Override + public @NotNull Component displayName(int level) { + return null; + } - @Override - public boolean isDiscoverable() { - return false; - } + @Override + public boolean isTradeable() { + return false; + } - @Override - public @NotNull EnchantmentRarity getRarity() { - return null; - } + @Override + public boolean isDiscoverable() { + return false; + } - @Override - public float getDamageIncrease(int level, @NotNull EntityCategory entityCategory) { - return 0; - } + @Override + public @NotNull EnchantmentRarity getRarity() { + return null; + } - @Override - public @NotNull Set getActiveSlots() { - return null; - } + @Override + public float getDamageIncrease( + int level, + @NotNull EntityCategory entityCategory + ) { + return 0; + } - @Override - public @NotNull String translationKey() { - return null; - } + @Override + public @NotNull Set getActiveSlots() { + return null; + } - @Override - public @NotNull Key key() { - return super.key(); - } + @Override + public @NotNull String translationKey() { + return null; + } + + @Override + public @NotNull Key key() { + return super.key(); + } } diff --git a/src/main/java/me/unurled/raxen/components/enchantments/player/Telekinesis.java b/src/main/java/me/unurled/raxen/components/enchantments/player/Telekinesis.java index 1f94e28..904ae8b 100644 --- a/src/main/java/me/unurled/raxen/components/enchantments/player/Telekinesis.java +++ b/src/main/java/me/unurled/raxen/components/enchantments/player/Telekinesis.java @@ -6,5 +6,9 @@ import org.bukkit.event.Listener; public class Telekinesis implements Listener { - public static final Enchantment TELEKINESIS = new EnchantmentWarpper("telekinesis", "telekinesis", 1); + public static final Enchantment TELEKINESIS = new EnchantmentWarpper( + "telekinesis", + "telekinesis", + 1 + ); } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/Attribute.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/Attribute.java index 64de2d7..ceb9671 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/Attribute.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/Attribute.java @@ -1,5 +1,7 @@ package me.unurled.raxen.components.entity.Attributes; +import static me.unurled.raxen.utils.Utils.debug; + import de.tr7zw.nbtapi.NBTItem; import org.bukkit.Material; import org.bukkit.NamespacedKey; @@ -10,125 +12,160 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; -import static me.unurled.raxen.utils.Utils.debug; - public class Attribute { - /** - * The NamespaceKey register for the PersistentDataContainer. - * static NamespacedKey namespacekey = namespacedKey.TYPE; - */ - public NamespacedKey namespacekey; + /** + * The NamespaceKey register for the PersistentDataContainer. + * static NamespacedKey namespacekey = namespacedKey.TYPE; + */ + public NamespacedKey namespacekey; - /** - * The name of the attribute - * static String name = "null"; - */ - public String name; + /** + * The name of the attribute + * static String name = "null"; + */ + public String name; - public Attribute(NamespacedKey namespacekey, String name) { - this.namespacekey = namespacekey; - this.name = name; + public Attribute(NamespacedKey namespacekey, String name) { + this.namespacekey = namespacekey; + this.name = name; + } + + /** + * gives the name uppercased + * @return the name in uppercase + */ + public String nameUppercase() { + return name.toUpperCase(); + } + + /** + * get how many the Entity has Attributed + * @param entity a living entity + * @return the amount of attribute + */ + public Integer get(@NotNull Entity entity) { + if ( + entity + .getPersistentDataContainer() + .has(namespacekey, PersistentDataType.INTEGER) + ) { + debug( + " attribute gett" + + entity + .getPersistentDataContainer() + .get(namespacekey, PersistentDataType.INTEGER) + ); + return entity + .getPersistentDataContainer() + .get(namespacekey, PersistentDataType.INTEGER); } + debug( + name + + " not found in Entity: " + + entity.getType().toString() + + " " + + entity.getName() + + " " + + entity.getUniqueId().toString() + ); + set(entity, 0); + return 0; + } - /** - * gives the name uppercased - * @return the name in uppercase - */ - public String nameUppercase() { - return name.toUpperCase(); + /** + * get how many the Entity has Attributed + * @param it an ItemStack + * @return the amount of attribute + */ + public Integer get(@NotNull ItemStack it) { + NBTItem nbti = new NBTItem(it); + if (nbti.hasTag(name)) { + return nbti.getInteger(name); } + return 0; + } - /** - * get how many the Entity has Attributed - * @param entity a living entity - * @return the amount of attribute - */ - public Integer get(@NotNull Entity entity) { - if (entity.getPersistentDataContainer().has(namespacekey, PersistentDataType.INTEGER)) { - debug(" attribute gett" + entity.getPersistentDataContainer().get(namespacekey, PersistentDataType.INTEGER)); - return entity.getPersistentDataContainer().get(namespacekey, PersistentDataType.INTEGER); - } - debug(name + " not found in Entity: " + entity.getType().toString() + " " + entity.getName() + " " + entity.getUniqueId().toString()); - set(entity, 0); - return 0; + /** + * Get the amount of attribute on the item + * @param e a LivingEntity + * @return an amount of attribute on the item + */ + public Integer getItem(@NotNull LivingEntity e) { + EntityEquipment equi = e.getEquipment(); + Integer attribute = 0; + if (equi != null) { + if ( + equi.getItemInMainHand().getType() != Material.AIR && + equi.getHelmet() != null + ) { + ItemStack item = equi.getItemInMainHand(); + attribute = attribute + get(item); + } + if ( + equi.getHelmet().getType() != Material.AIR && equi.getHelmet() != null + ) { + ItemStack item = equi.getHelmet(); + attribute = attribute + get(item); + } + if ( + equi.getChestplate().getType() != Material.AIR && + equi.getChestplate() != null + ) { + ItemStack item = equi.getChestplate(); + attribute = attribute + get(item); + } + if ( + equi.getChestplate().getType() != Material.AIR && + equi.getChestplate() != null + ) { + ItemStack item = equi.getChestplate(); + attribute = attribute + get(item); + } + if ( + equi.getLeggings().getType() != Material.AIR && + equi.getLeggings() != null + ) { + ItemStack item = equi.getLeggings(); + attribute = attribute + get(item); + } + if ( + equi.getBoots().getType() != Material.AIR && equi.getBoots() != null + ) { + ItemStack item = equi.getBoots(); + attribute = attribute + get(item); + } } + return attribute; + } - /** - * get how many the Entity has Attributed - * @param it an ItemStack - * @return the amount of attribute - */ - public Integer get(@NotNull ItemStack it) { - NBTItem nbti = new NBTItem(it); - if (nbti.hasTag(name)){ - return nbti.getInteger(name); - } - return 0; - } + /** + * set amount to the entity's attribute + * @param entity a living entity + * @param amount the amount you want to set + */ + public void set(@NotNull Entity entity, @NotNull Integer amount) { + entity + .getPersistentDataContainer() + .set(namespacekey, PersistentDataType.INTEGER, amount); + debug("set " + name + " " + amount); + } - /** - * Get the amount of attribute on the item - * @param e a LivingEntity - * @return an amount of attribute on the item - */ - public Integer getItem(@NotNull LivingEntity e) { - EntityEquipment equi = e.getEquipment(); - Integer attribute = 0; - if (equi != null) { - if (equi.getItemInMainHand().getType() != Material.AIR && equi.getHelmet() != null) { - ItemStack item = equi.getItemInMainHand(); - attribute = attribute + get(item); - } - if (equi.getHelmet().getType() != Material.AIR && equi.getHelmet() != null) { - ItemStack item = equi.getHelmet(); - attribute = attribute + get(item); - } - if (equi.getChestplate().getType() != Material.AIR && equi.getChestplate() != null) { - ItemStack item = equi.getChestplate(); - attribute = attribute + get(item); - } - if (equi.getChestplate().getType() != Material.AIR && equi.getChestplate() != null) { - ItemStack item = equi.getChestplate(); - attribute = attribute + get(item); - } - if (equi.getLeggings().getType() != Material.AIR && equi.getLeggings() != null) { - ItemStack item = equi.getLeggings(); - attribute = attribute + get(item); - } - if (equi.getBoots().getType() != Material.AIR && equi.getBoots() != null) { - ItemStack item = equi.getBoots(); - attribute = attribute + get(item); - } - } - return attribute; - } + /** + * add amount to the entity's attribute + * @param entity a living entity + * @param amount the amount you want to set + */ + public void add(@NotNull Entity entity, @NotNull Integer amount) { + set(entity, get(entity) + amount); + } - /** - * set amount to the entity's attribute - * @param entity a living entity - * @param amount the amount you want to set - */ - public void set(@NotNull Entity entity, @NotNull Integer amount) { - entity.getPersistentDataContainer().set(namespacekey, PersistentDataType.INTEGER, amount); - debug("set " + name + " " + amount); - } - - /** - * add amount to the entity's attribute - * @param entity a living entity - * @param amount the amount you want to set - */ - public void add(@NotNull Entity entity, @NotNull Integer amount) { - set(entity, get(entity) + amount); - } - - /** - * remove amount to the entity's attribute - * @param entity a living entity - * @param amount the amount you want to set - */ - public void remove(@NotNull Entity entity, @NotNull Integer amount) { - set(entity, get(entity) - amount); - } + /** + * remove amount to the entity's attribute + * @param entity a living entity + * @param amount the amount you want to set + */ + public void remove(@NotNull Entity entity, @NotNull Integer amount) { + set(entity, get(entity) - amount); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/Defense.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/Defense.java index bee51fd..fb701bf 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/Defense.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/Defense.java @@ -4,8 +4,7 @@ import org.bukkit.NamespacedKey; public class Defense extends Attribute { - public Defense(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public Defense(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } - diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/Health.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/Health.java index acfdfaa..b5d847c 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/Health.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/Health.java @@ -4,8 +4,7 @@ import org.bukkit.NamespacedKey; public class Health extends Attribute { - public Health(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public Health(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } - diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemDefense.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemDefense.java index 2d9cdaa..a48dc67 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemDefense.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemDefense.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class ItemDefense extends Attribute { - public ItemDefense(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public ItemDefense(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemHealth.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemHealth.java index 342842a..a9127a2 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemHealth.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemHealth.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class ItemHealth extends Attribute { - public ItemHealth(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public ItemHealth(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemLuck.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemLuck.java index 206e0d6..f4d5067 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemLuck.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemLuck.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class ItemLuck extends Attribute { - public ItemLuck(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public ItemLuck(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemMana.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemMana.java index 93c8b2b..78a22f3 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemMana.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemMana.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class ItemMana extends Attribute { - public ItemMana(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public ItemMana(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemSpeed.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemSpeed.java index cfbc3b6..4dde9f2 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemSpeed.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemSpeed.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class ItemSpeed extends Attribute { - public ItemSpeed(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public ItemSpeed(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemStrength.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemStrength.java index ee11e62..78e97c3 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemStrength.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/ItemStrength.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class ItemStrength extends Attribute { - public ItemStrength(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public ItemStrength(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/Luck.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/Luck.java index 0fdb7e2..7ca34b5 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/Luck.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/Luck.java @@ -4,8 +4,7 @@ import org.bukkit.NamespacedKey; public class Luck extends Attribute { - public Luck(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public Luck(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } - diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/Mana.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/Mana.java index e3beb23..01f5ea5 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/Mana.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/Mana.java @@ -4,8 +4,7 @@ import org.bukkit.NamespacedKey; public class Mana extends Attribute { - public Mana(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public Mana(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } - diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxHealth.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxHealth.java index b76886e..2206ab4 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxHealth.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxHealth.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class MaxHealth extends Attribute { - public MaxHealth(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public MaxHealth(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxMana.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxMana.java index 58467e6..8a4688f 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxMana.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxMana.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class MaxMana extends Attribute { - public MaxMana(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public MaxMana(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxManaBuilder.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxManaBuilder.java index 6977388..b54bc7c 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxManaBuilder.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/MaxManaBuilder.java @@ -3,20 +3,21 @@ package me.unurled.raxen.components.entity.Attributes; import org.bukkit.NamespacedKey; public class MaxManaBuilder { - private NamespacedKey namespacekey; - private String name; - public MaxManaBuilder setNamespacekey(NamespacedKey namespacekey) { - this.namespacekey = namespacekey; - return this; - } + private NamespacedKey namespacekey; + private String name; - public MaxManaBuilder setName(String name) { - this.name = name; - return this; - } + public MaxManaBuilder setNamespacekey(NamespacedKey namespacekey) { + this.namespacekey = namespacekey; + return this; + } - public MaxMana createMaxMana() { - return new MaxMana(namespacekey, name); - } -} \ No newline at end of file + public MaxManaBuilder setName(String name) { + this.name = name; + return this; + } + + public MaxMana createMaxMana() { + return new MaxMana(namespacekey, name); + } +} diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/Speed.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/Speed.java index 0264d2f..c0586a1 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/Speed.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/Speed.java @@ -4,7 +4,7 @@ import org.bukkit.NamespacedKey; public class Speed extends Attribute { - public Speed(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public Speed(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/Attributes/Strength.java b/src/main/java/me/unurled/raxen/components/entity/Attributes/Strength.java index 5bf8644..05ed16e 100644 --- a/src/main/java/me/unurled/raxen/components/entity/Attributes/Strength.java +++ b/src/main/java/me/unurled/raxen/components/entity/Attributes/Strength.java @@ -4,8 +4,7 @@ import org.bukkit.NamespacedKey; public class Strength extends Attribute { - public Strength(NamespacedKey namespacekey, String name) { - super(namespacekey, name); - } + public Strength(NamespacedKey namespacekey, String name) { + super(namespacekey, name); + } } - diff --git a/src/main/java/me/unurled/raxen/components/entity/other/EntityNamespacedKey.java b/src/main/java/me/unurled/raxen/components/entity/other/EntityNamespacedKey.java index 13a4dcc..4e29387 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/EntityNamespacedKey.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/EntityNamespacedKey.java @@ -5,45 +5,43 @@ import org.bukkit.NamespacedKey; public class EntityNamespacedKey { - public EntityNamespacedKey(Raxen main) { - name = new NamespacedKey(main, "NAME"); - level = new NamespacedKey(main, "LEVEL"); - maxHealth = new NamespacedKey(main, "MAX_HEALTH"); - health = new NamespacedKey(main, "HEALTH"); - itemHealth = new NamespacedKey(main, "ITEM_HEALTH"); - speed = new NamespacedKey(main, "SPEED"); - itemSpeed = new NamespacedKey(main, "ITEM_SPEED"); - defense = new NamespacedKey(main, "DEFENSE"); - itemDefense = new NamespacedKey(main, "ITEM_DEFENSE"); - strength = new NamespacedKey(main, "STRENGTH"); - itemStrength = new NamespacedKey(main, "ITEM_STRENGTH"); - maxMana = new NamespacedKey(main, "MAX_MANA"); - mana = new NamespacedKey(main, "MANA"); - itemMana = new NamespacedKey(main, "ITEM_MANA"); - luck = new NamespacedKey(main, "LUCK"); - itemLuck = new NamespacedKey(main, "ITEM_LUCK"); - inventory = new NamespacedKey(main, "INVENTORY"); - storage = new NamespacedKey(main, "STORAGE"); - - } - - public final NamespacedKey name; - public final NamespacedKey level; - public final NamespacedKey maxHealth; - public final NamespacedKey health; - public final NamespacedKey itemHealth; - public final NamespacedKey speed; - public final NamespacedKey itemSpeed; - public final NamespacedKey defense; - public final NamespacedKey itemDefense; - public final NamespacedKey strength; - public final NamespacedKey itemStrength; - public final NamespacedKey maxMana; - public final NamespacedKey mana; - public final NamespacedKey itemMana; - public final NamespacedKey luck; - public final NamespacedKey itemLuck; - public final NamespacedKey inventory; - public final NamespacedKey storage; + public EntityNamespacedKey(Raxen main) { + name = new NamespacedKey(main, "NAME"); + level = new NamespacedKey(main, "LEVEL"); + maxHealth = new NamespacedKey(main, "MAX_HEALTH"); + health = new NamespacedKey(main, "HEALTH"); + itemHealth = new NamespacedKey(main, "ITEM_HEALTH"); + speed = new NamespacedKey(main, "SPEED"); + itemSpeed = new NamespacedKey(main, "ITEM_SPEED"); + defense = new NamespacedKey(main, "DEFENSE"); + itemDefense = new NamespacedKey(main, "ITEM_DEFENSE"); + strength = new NamespacedKey(main, "STRENGTH"); + itemStrength = new NamespacedKey(main, "ITEM_STRENGTH"); + maxMana = new NamespacedKey(main, "MAX_MANA"); + mana = new NamespacedKey(main, "MANA"); + itemMana = new NamespacedKey(main, "ITEM_MANA"); + luck = new NamespacedKey(main, "LUCK"); + itemLuck = new NamespacedKey(main, "ITEM_LUCK"); + inventory = new NamespacedKey(main, "INVENTORY"); + storage = new NamespacedKey(main, "STORAGE"); + } + public final NamespacedKey name; + public final NamespacedKey level; + public final NamespacedKey maxHealth; + public final NamespacedKey health; + public final NamespacedKey itemHealth; + public final NamespacedKey speed; + public final NamespacedKey itemSpeed; + public final NamespacedKey defense; + public final NamespacedKey itemDefense; + public final NamespacedKey strength; + public final NamespacedKey itemStrength; + public final NamespacedKey maxMana; + public final NamespacedKey mana; + public final NamespacedKey itemMana; + public final NamespacedKey luck; + public final NamespacedKey itemLuck; + public final NamespacedKey inventory; + public final NamespacedKey storage; } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/EntityUtils.java b/src/main/java/me/unurled/raxen/components/entity/other/EntityUtils.java index eb59b23..24286a7 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/EntityUtils.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/EntityUtils.java @@ -1,5 +1,7 @@ package me.unurled.raxen.components.entity.other; +import static me.unurled.raxen.utils.Utils.debug; + import me.unurled.raxen.Raxen; import me.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.Bukkit; @@ -8,63 +10,96 @@ import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; -import static me.unurled.raxen.utils.Utils.debug; - public class EntityUtils { - private static Raxen main; - private static EntityNamespacedKey namespacedKey; + private static Raxen main; + private static EntityNamespacedKey namespacedKey; - public EntityUtils(Raxen main) { - this.main = main; - namespacedKey = new EntityNamespacedKey(main); + public EntityUtils(Raxen main) { + this.main = main; + namespacedKey = new EntityNamespacedKey(main); + } + + public static void setNameSpacedKeys( + org.bukkit.entity.@NotNull Entity e, + String name, + Integer level, + int health, + int itemHealth, + int defense, + int itemDefense, + int speed, + int itemSpeed, + int strength, + int itemDmg + ) { + PersistentDataContainer data = e.getPersistentDataContainer(); + data.set(namespacedKey.health, PersistentDataType.INTEGER, health); + data.set(namespacedKey.itemHealth, PersistentDataType.INTEGER, itemHealth); + data.set(namespacedKey.speed, PersistentDataType.INTEGER, speed); + data.set(namespacedKey.itemSpeed, PersistentDataType.INTEGER, itemSpeed); + data.set(namespacedKey.defense, PersistentDataType.INTEGER, defense); + data.set( + namespacedKey.itemDefense, + PersistentDataType.INTEGER, + itemDefense + ); + data.set(namespacedKey.strength, PersistentDataType.INTEGER, strength); + data.set(namespacedKey.itemStrength, PersistentDataType.INTEGER, itemDmg); + data.set(namespacedKey.name, PersistentDataType.STRING, name); + data.set(namespacedKey.level, PersistentDataType.INTEGER, level); + } + + public static void updateSkills(@NotNull LivingEntity livingEntity) { + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; + defense = pm.getDefense().get(livingEntity); + maxMana = pm.getMaxMana().get(livingEntity); + itemDefense = pm.getItemDefense().get(livingEntity); + health = pm.getHealth().get(livingEntity); + itemHealth = pm.getItemHealth().get(livingEntity); + mana = pm.getMana().get(livingEntity); + speed = pm.getSpeed().get(livingEntity); + itemLuck = pm.getItemLuck().get(livingEntity); + strength = pm.getStrength().get(livingEntity); + luck = pm.getLuck().get(livingEntity); + maxHealth = pm.getMaxHealth().get(livingEntity); + itemStrength = pm.getItemStrength().get(livingEntity); + itemSpeed = pm.getItemSpeed().get(livingEntity); + itemMana = pm.getItemMana().get(livingEntity); + if ( + livingEntity.getAttribute( + org.bukkit.attribute.Attribute.GENERIC_FLYING_SPEED + ) != + null + ) { + livingEntity + .getAttribute(org.bukkit.attribute.Attribute.GENERIC_FLYING_SPEED) + .setBaseValue((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); } - - public static void setNameSpacedKeys(org.bukkit.entity.@NotNull Entity e, String name, Integer level, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemDmg) { - PersistentDataContainer data = e.getPersistentDataContainer(); - data.set(namespacedKey.health, PersistentDataType.INTEGER, health); - data.set(namespacedKey.itemHealth, PersistentDataType.INTEGER, itemHealth); - data.set(namespacedKey.speed, PersistentDataType.INTEGER, speed); - data.set(namespacedKey.itemSpeed, PersistentDataType.INTEGER, itemSpeed); - data.set(namespacedKey.defense, PersistentDataType.INTEGER, defense); - data.set(namespacedKey.itemDefense, PersistentDataType.INTEGER, itemDefense); - data.set(namespacedKey.strength, PersistentDataType.INTEGER, strength); - data.set(namespacedKey.itemStrength, PersistentDataType.INTEGER, itemDmg); - data.set(namespacedKey.name, PersistentDataType.STRING, name); - data.set(namespacedKey.level, PersistentDataType.INTEGER, level); + if ( + livingEntity.getAttribute( + org.bukkit.attribute.Attribute.GENERIC_MOVEMENT_SPEED + ) != + null + ) { + livingEntity + .getAttribute(org.bukkit.attribute.Attribute.GENERIC_MOVEMENT_SPEED) + .setBaseValue((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); } - - public static void updateSkills(@NotNull LivingEntity livingEntity) { - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; - defense= pm.getDefense().get(livingEntity); - maxMana = pm.getMaxMana().get(livingEntity); - itemDefense= pm.getItemDefense().get(livingEntity); - health = pm.getHealth().get(livingEntity); - itemHealth = pm.getItemHealth().get(livingEntity); - mana = pm.getMana().get(livingEntity); - speed = pm.getSpeed().get(livingEntity); - itemLuck = pm.getItemLuck().get(livingEntity); - strength = pm.getStrength().get(livingEntity); - luck = pm.getLuck().get(livingEntity); - maxHealth = pm.getMaxHealth().get(livingEntity); - itemStrength = pm.getItemStrength().get(livingEntity); - itemSpeed = pm.getItemSpeed().get(livingEntity); - itemMana = pm.getItemMana().get(livingEntity); - if (livingEntity.getAttribute(org.bukkit.attribute.Attribute.GENERIC_FLYING_SPEED) != null) { - livingEntity.getAttribute(org.bukkit.attribute.Attribute.GENERIC_FLYING_SPEED).setBaseValue((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); - } - if (livingEntity.getAttribute(org.bukkit.attribute.Attribute.GENERIC_MOVEMENT_SPEED) != null) { - livingEntity.getAttribute(org.bukkit.attribute.Attribute.GENERIC_MOVEMENT_SPEED).setBaseValue((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); - } - livingEntity.getAttribute(org.bukkit.attribute.Attribute.GENERIC_MAX_HEALTH).setBaseValue(20D + (health + itemHealth) / 100); - debug("Entity " + livingEntity.getType().name(), - "Speed " + (speed + itemSpeed), - "Health " + (health + itemHealth) + " Max Health " + maxHealth, - "Defense " + (defense+itemDefense), - "Strength " + (strength+itemStrength), - "Luck " + (luck+itemLuck), - "Mana " + (mana + itemMana) + " Max Mana " + maxMana); - } - + livingEntity + .getAttribute(org.bukkit.attribute.Attribute.GENERIC_MAX_HEALTH) + .setBaseValue(20D + (health + itemHealth) / 100); + debug( + "Entity " + livingEntity.getType().name(), + "Speed " + (speed + itemSpeed), + "Health " + (health + itemHealth) + " Max Health " + maxHealth, + "Defense " + (defense + itemDefense), + "Strength " + (strength + itemStrength), + "Luck " + (luck + itemLuck), + "Mana " + (mana + itemMana) + " Max Mana " + maxMana + ); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/RaxenEntity.java b/src/main/java/me/unurled/raxen/components/entity/other/RaxenEntity.java index ad4a2f4..af12ecc 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/RaxenEntity.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/RaxenEntity.java @@ -13,44 +13,58 @@ import org.bukkit.persistence.PersistentDataType; public abstract class RaxenEntity { - private final Raxen main; + private final Raxen main; - @Getter private final String name; + @Getter + private final String name; - @Getter private Integer level; + @Getter + private Integer level; - @Getter @Setter private Double health; + @Getter + @Setter + private Double health; - @Getter @Setter private Double strength; + @Getter + @Setter + private Double strength; - @Getter @Setter Boolean isAlive = false; + @Getter + @Setter + Boolean isAlive = false; - public RaxenEntity(Raxen main, String name, Integer level, Double health, Double strength) { - this.main = main; - this.name = name; - this.level = level; - this.health = health; - this.strength = strength; - } + public RaxenEntity( + Raxen main, + String name, + Integer level, + Double health, + Double strength + ) { + this.main = main; + this.name = name; + this.level = level; + this.health = health; + this.strength = strength; + } - public Entity createEntity(EntityType types, String name, Location location) { - Entity e = location.getWorld().spawnEntity(location, types); - e.setCustomNameVisible(true); - e.customName(Component.text(name)); + public Entity createEntity(EntityType types, String name, Location location) { + Entity e = location.getWorld().spawnEntity(location, types); + e.setCustomNameVisible(true); + e.customName(Component.text(name)); - return e; - } + return e; + } - public void register(Entity e) { - PersistentDataContainer data = e.getPersistentDataContainer(); - data.set(new NamespacedKey(main ,"NAME"), PersistentDataType.STRING, name); - } + public void register(Entity e) { + PersistentDataContainer data = e.getPersistentDataContainer(); + data.set(new NamespacedKey(main, "NAME"), PersistentDataType.STRING, name); + } - public Double getMaxHealth(Entity e) { - PersistentDataContainer data = e.getPersistentDataContainer(); - EntityNamespacedKey key = new EntityNamespacedKey(main); - return data.get(key.maxHealth, PersistentDataType.DOUBLE); - } + public Double getMaxHealth(Entity e) { + PersistentDataContainer data = e.getPersistentDataContainer(); + EntityNamespacedKey key = new EntityNamespacedKey(main); + return data.get(key.maxHealth, PersistentDataType.DOUBLE); + } - public abstract Entity createEntity(Location location); + public abstract Entity createEntity(Location location); } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/custom/Entity.java b/src/main/java/me/unurled/raxen/components/entity/other/custom/Entity.java index 3ab65c6..f3c8c30 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/custom/Entity.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/custom/Entity.java @@ -1,73 +1,103 @@ package me.unurled.raxen.components.entity.other.custom; +import static me.unurled.raxen.utils.Utils.colorString; + +import java.util.UUID; import lombok.Getter; import lombok.Setter; import me.unurled.raxen.Raxen; -import java.util.UUID; - -import static me.unurled.raxen.utils.Utils.colorString; - public class Entity { - private java.util.UUID uuid; + private java.util.UUID uuid; - private final String name; - @Getter - private Integer level; - @Setter - private Double health; - @Getter - @Setter - private Double strength; - @Getter - @Setter - private Double defense; - @Getter - @Setter - private Double speed; - @Getter - @Setter - private Double maxHealth; - @Getter - @Setter - private boolean isHostile; + private final String name; - public Entity(String name, Integer level, Double maxHealth, Double strength, Double defense, Double speed, boolean isHostile) { - this.name = name; - this.level = level; - this.health = maxHealth; - this.strength = strength; - this.defense = defense; - this.speed = speed; - this.maxHealth = maxHealth; - this.isHostile = isHostile; - this.uuid = UUID.randomUUID(); + @Getter + private Integer level; + + @Setter + private Double health; + + @Getter + @Setter + private Double strength; + + @Getter + @Setter + private Double defense; + + @Getter + @Setter + private Double speed; + + @Getter + @Setter + private Double maxHealth; + + @Getter + @Setter + private boolean isHostile; + + public Entity( + String name, + Integer level, + Double maxHealth, + Double strength, + Double defense, + Double speed, + boolean isHostile + ) { + this.name = name; + this.level = level; + this.health = maxHealth; + this.strength = strength; + this.defense = defense; + this.speed = speed; + this.maxHealth = maxHealth; + this.isHostile = isHostile; + this.uuid = UUID.randomUUID(); + } + + public void register(Raxen main) { + main.getManager().getEntityManager().entities.put(name, this); + } + + public String getName() { + return "" + name; + } + + public String getFullName(Entity e) { + if (isHostile) { + return colorString( + getColorLevel() + + "⚔️" + + getName() + + "" + + health + + "/" + + maxHealth + ); + } else { + return colorString( + getColorLevel() + + "❤️" + + getName() + + "" + + health + + "/" + + maxHealth + ); } + } - public void register (Raxen main) { - main.getManager().getEntityManager().entities.put(name, this); - } + public String getColorLevel() { + return level.toString(); + } - public String getName() { - return "" + name; - } + public Double getHealth() { + Double health = 0.0; - public String getFullName(Entity e) { - if (isHostile) { - return colorString(getColorLevel() + "⚔️" + getName() + "" + health + "/" + maxHealth); - } else { - return colorString(getColorLevel() + "❤️" + getName() + "" + health + "/" + maxHealth); - } - } - - public String getColorLevel() { - return level.toString(); - } - - public Double getHealth() { - Double health = 0.0; - - return health; - } + return health; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/custom/Humanoid.java b/src/main/java/me/unurled/raxen/components/entity/other/custom/Humanoid.java index f76c294..512e352 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/custom/Humanoid.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/custom/Humanoid.java @@ -4,12 +4,22 @@ import java.util.UUID; public class Humanoid extends Entity { - private String skin; // used to get the path to the skin - private UUID skinUuid; // used to get the player skin (if i do it this way... + private String skin; // used to get the path to the skin + private UUID skinUuid; // used to get the player skin (if i do it this way... - public Humanoid(String name, Integer level, Double maxHealth, Double strength, Double defense, Double speed, boolean isHostile, String skin, UUID skinUuid) { - super(name, level, maxHealth, strength, defense, speed, isHostile); - this.skin = skin; - this.skinUuid = skinUuid; - } + public Humanoid( + String name, + Integer level, + Double maxHealth, + Double strength, + Double defense, + Double speed, + boolean isHostile, + String skin, + UUID skinUuid + ) { + super(name, level, maxHealth, strength, defense, speed, isHostile); + this.skin = skin; + this.skinUuid = skinUuid; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Elf.java b/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Elf.java index e94833c..761cd2c 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Elf.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Elf.java @@ -9,26 +9,32 @@ import org.bukkit.entity.EntityType; public class Elf extends RaxenEntity { - @Getter private final String name; + @Getter + private final String name; - public Elf(Raxen main, String name, Integer level, Double health, Double strength) { - super(main, name, level, health, strength); - this.name = name; - } + public Elf( + Raxen main, + String name, + Integer level, + Double health, + Double strength + ) { + super(main, name, level, health, strength); + this.name = name; + } - @Override - public Entity createEntity(Location location) { - return super.createEntity(EntityType.PLAYER, name, location); - } - - /** - * Elf Default values - * @param main the main instance - * @param name - */ - public Elf(Raxen main, String name) { - super(main, "Elf", 10, 120.0, 25.0); - this.name = name; - } + @Override + public Entity createEntity(Location location) { + return super.createEntity(EntityType.PLAYER, name, location); + } + /** + * Elf Default values + * @param main the main instance + * @param name + */ + public Elf(Raxen main, String name) { + super(main, "Elf", 10, 120.0, 25.0); + this.name = name; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Wolf.java b/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Wolf.java index fd51009..421478d 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Wolf.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/custom/dungeon/forest/Wolf.java @@ -9,21 +9,27 @@ import org.bukkit.entity.EntityType; public class Wolf extends RaxenEntity { - @Getter private final String name; + @Getter + private final String name; + public Wolf( + Raxen main, + String name, + Integer level, + Double health, + Double strength + ) { + super(main, name, level, health, strength); + this.name = name; + } - public Wolf(Raxen main, String name, Integer level, Double health, Double strength) { - super(main, name, level, health, strength); - this.name = name; - } + public Wolf(Raxen main) { + super(main, "Wolf", 5, 100.0, 20.0); + this.name = "Wolf"; + } - public Wolf(Raxen main) { - super(main, "Wolf", 5, 100.0, 20.0); - this.name = "Wolf"; - } - - @Override - public Entity createEntity(Location location) { - return super.createEntity(EntityType.WOLF, name, location); - } + @Override + public Entity createEntity(Location location) { + return super.createEntity(EntityType.WOLF, name, location); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/custom/hostile/low/Goblin.java b/src/main/java/me/unurled/raxen/components/entity/other/custom/hostile/low/Goblin.java index b3ed93d..b760dac 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/custom/hostile/low/Goblin.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/custom/hostile/low/Goblin.java @@ -8,24 +8,32 @@ import org.bukkit.entity.EntityType; public class Goblin extends Entity { - RaxenEntity goblin; + RaxenEntity goblin; - public Goblin(Raxen main) { - super("Goblin", 1, 100.0, 10.0, 0.0, 50.0, true); - this.goblin = new RaxenEntity(main, "Goblin", 1, 100.0, 10.0) { - @Override - public org.bukkit.entity.Entity createEntity(Location location) { - return super.createEntity(EntityType.PLAYER, "Goblin", location); - } - }; - register(main); - } + public Goblin(Raxen main) { + super("Goblin", 1, 100.0, 10.0, 0.0, 50.0, true); + this.goblin = + new RaxenEntity(main, "Goblin", 1, 100.0, 10.0) { + @Override + public org.bukkit.entity.Entity createEntity(Location location) { + return super.createEntity(EntityType.PLAYER, "Goblin", location); + } + }; + register(main); + } - public String getName() { - return "" + goblin.getName(); - } + public String getName() { + return "" + goblin.getName(); + } - public String getFullName(Entity e) { - return "⚔️" + getName() + "" + getHealth() + "/" + getMaxHealth(); - } + public String getFullName(Entity e) { + return ( + "⚔️" + + getName() + + "" + + getHealth() + + "/" + + getMaxHealth() + ); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/other/spawn/Eggs.java b/src/main/java/me/unurled/raxen/components/entity/other/spawn/Eggs.java index 8af0d8e..3e83691 100644 --- a/src/main/java/me/unurled/raxen/components/entity/other/spawn/Eggs.java +++ b/src/main/java/me/unurled/raxen/components/entity/other/spawn/Eggs.java @@ -1,4 +1,3 @@ package me.unurled.raxen.components.entity.other.spawn; -public class Eggs { -} +public class Eggs {} diff --git a/src/main/java/me/unurled/raxen/components/entity/player/Inventories.java b/src/main/java/me/unurled/raxen/components/entity/player/Inventories.java index b5256f4..5bf971c 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/Inventories.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/Inventories.java @@ -3,17 +3,18 @@ package me.unurled.raxen.components.entity.player; import me.unurled.raxen.components.entity.player.storages.Inventory; public class Inventories { - private Inventory inv; - public Inventories(Inventory inv) { - this.inv = inv; - } + private Inventory inv; - public Inventory getInv() { - return inv; - } + public Inventories(Inventory inv) { + this.inv = inv; + } - public void setInv(Inventory inv) { - this.inv = inv; - } + public Inventory getInv() { + return inv; + } + + public void setInv(Inventory inv) { + this.inv = inv; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/PlayerUtils.java b/src/main/java/me/unurled/raxen/components/entity/player/PlayerUtils.java index 7858543..2c9ddc4 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/PlayerUtils.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/PlayerUtils.java @@ -1,42 +1,47 @@ package me.unurled.raxen.components.entity.player; +import static me.unurled.raxen.utils.Utils.debug; + import me.unurled.raxen.Raxen; import me.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.Bukkit; import org.bukkit.attribute.Attribute; import org.bukkit.entity.Player; -import static me.unurled.raxen.utils.Utils.debug; - public class PlayerUtils { - public static void updateSkills(Raxen main, Player player) { - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; - defense= pm.getDefense().get(player); - maxMana = pm.getMaxMana().get(player); - itemDefense= pm.getItemDefense().get(player); - health = pm.getHealth().get(player); - itemHealth = pm.getItemHealth().get(player); - mana = pm.getMana().get(player); - speed = pm.getSpeed().get(player); - itemLuck = pm.getItemLuck().get(player); - strength = pm.getStrength().get(player); - luck = pm.getLuck().get(player); - maxHealth = pm.getMaxHealth().get(player); - itemStrength = pm.getItemStrength().get(player); - itemSpeed = pm.getItemSpeed().get(player); - itemMana = pm.getItemMana().get(player); - player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(20D + (health + itemHealth) / 100); - player.setWalkSpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); - player.setFlySpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); - debug("Player " + player.getName(), - "Speed " + (speed + itemSpeed), - "Health " + (health + itemHealth) + " Max Health " + maxHealth, - "Defense " + (defense+itemDefense), - "Strength " + (strength+itemStrength), - "Luck " + (luck+itemLuck), - "Mana " + (mana + itemMana) + " Max Mana " + maxMana); - } - + public static void updateSkills(Raxen main, Player player) { + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; + defense = pm.getDefense().get(player); + maxMana = pm.getMaxMana().get(player); + itemDefense = pm.getItemDefense().get(player); + health = pm.getHealth().get(player); + itemHealth = pm.getItemHealth().get(player); + mana = pm.getMana().get(player); + speed = pm.getSpeed().get(player); + itemLuck = pm.getItemLuck().get(player); + strength = pm.getStrength().get(player); + luck = pm.getLuck().get(player); + maxHealth = pm.getMaxHealth().get(player); + itemStrength = pm.getItemStrength().get(player); + itemSpeed = pm.getItemSpeed().get(player); + itemMana = pm.getItemMana().get(player); + player + .getAttribute(Attribute.GENERIC_MAX_HEALTH) + .setBaseValue(20D + (health + itemHealth) / 100); + player.setWalkSpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); + player.setFlySpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); + debug( + "Player " + player.getName(), + "Speed " + (speed + itemSpeed), + "Health " + (health + itemHealth) + " Max Health " + maxHealth, + "Defense " + (defense + itemDefense), + "Strength " + (strength + itemStrength), + "Luck " + (luck + itemLuck), + "Mana " + (mana + itemMana) + " Max Mana " + maxMana + ); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/RaxenPlayer.java b/src/main/java/me/unurled/raxen/components/entity/player/RaxenPlayer.java index 53cbdb8..2a26726 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/RaxenPlayer.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/RaxenPlayer.java @@ -1,5 +1,10 @@ package me.unurled.raxen.components.entity.player; +import static me.unurled.raxen.utils.Items.setItemsToInventory; +import static me.unurled.raxen.utils.Utils.debug; + +import java.util.ArrayList; +import java.util.List; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.other.EntityNamespacedKey; import me.unurled.raxen.components.entity.player.attributes.Attribute; @@ -17,114 +22,153 @@ import org.bukkit.inventory.PlayerInventory; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; -import java.util.ArrayList; -import java.util.List; - -import static me.unurled.raxen.utils.Items.setItemsToInventory; -import static me.unurled.raxen.utils.Utils.debug; - public class RaxenPlayer { - private final Raxen main; - private final Player player; - private final EntityNamespacedKey namespacedKey; + private final Raxen main; + private final Player player; + private final EntityNamespacedKey namespacedKey; - private Boolean isRaxenPlayer; + private Boolean isRaxenPlayer; - private Attribute attribute; + private Attribute attribute; - private Storage storages; - private Inventories inventory; + private Storage storages; + private Inventories inventory; - public RaxenPlayer(Raxen main, Player player) { - this.main = main; - this.player = player; - this.namespacedKey = new EntityNamespacedKey(main); - this.isRaxenPlayer = true; + public RaxenPlayer(Raxen main, Player player) { + this.main = main; + this.player = player; + this.namespacedKey = new EntityNamespacedKey(main); + this.isRaxenPlayer = true; + } + + public Attribute createNewAttribute() { + debug(main, "Created new Attribute"); + EntityAttributes.setAttributes( + player, + 100, + 100, + 0, + 50, + 0, + 100, + 0, + 100, + 0, + 100, + 100, + 0, + 10, + 0 + ); + return new Attribute( + 100, + 100, + 0, + 50, + 0, + 100, + 0, + 100, + 0, + 100, + 100, + 0, + 10, + 0 + ); + } + + public void setStorages( + org.bukkit.inventory.Inventory inv, + org.bukkit.inventory.Inventory ec + ) { + setStorage(ec); + setInventory(inv); + } + + public Storage getStorage() { + PersistentDataContainer data = player.getPersistentDataContainer(); + String store = data.get(namespacedKey.storage, PersistentDataType.STRING); + org.bukkit.inventory.Inventory ec = Bukkit.createInventory( + null, + 54, + Component.text("Ender Chest") + ); + ec = setItemsToInventory(Items.mapItemStackDeserialize(store), ec); + EnderChest ecc = new EnderChest(ec); + Storage storage = new Storage(ecc); + return storage; + } + + public Inventories getInventory() { + PersistentDataContainer data = player.getPersistentDataContainer(); + String inv = data.get(namespacedKey.inventory, PersistentDataType.STRING); + org.bukkit.inventory.Inventory invv = Bukkit.createInventory( + player, + InventoryType.PLAYER + ); + invv = + setItemsToInventory( + Items.listItemStackDeserialize(inv), + (PlayerInventory) invv + ); + Inventory invvv = new Inventory(invv); + Inventories invvvv = new Inventories(invvv); + return invvvv; + } + + public void setInventory(org.bukkit.inventory.Inventory inv) { + PersistentDataContainer data = player.getPersistentDataContainer(); + List listInv = new ArrayList(); + Integer reverse = 0; + for (ItemStack it : inv) { + reverse = reverse + 1; + if (it != null && it.getType() != Material.AIR) { + String s = Items.itemStackSerialize(it, reverse); + listInv.add(s); + } } + String invv = Items.listItemStackSerialize(listInv); + this.inventory = new Inventories(new Inventory(inv)); + data.set(namespacedKey.inventory, PersistentDataType.STRING, invv); + } - public Attribute createNewAttribute() { - debug(main, "Created new Attribute"); - EntityAttributes.setAttributes(player, 100, 100,0,50,0,100,0,100,0, 100, 100, 0, 10, 0); - return new Attribute(100,100,0,50,0,100,0,100,0, 100, 100, 0, 10, 0); + public void setStorage(org.bukkit.inventory.Inventory ec) { + PersistentDataContainer data = player.getPersistentDataContainer(); + List list = new ArrayList(); + int reverse = 0; + for (ItemStack it : ec) { + if (it != null) { + String s = Items.itemStackSerialize(it, reverse); + list.add(s); + } + reverse += 1; } + String store = Items.listItemStackSerialize(list); + this.storages = new Storage(new EnderChest(ec)); + data.set(namespacedKey.storage, PersistentDataType.STRING, store); + } - public void setStorages(org.bukkit.inventory.Inventory inv, org.bukkit.inventory.Inventory ec) { - setStorage(ec); - setInventory(inv); - } + public Storage createStorage() { + setStorage(Bukkit.createInventory(null, 54, Component.text("Ender Chest"))); + return getStorage(); + } - public Storage getStorage() { - PersistentDataContainer data = player.getPersistentDataContainer(); - String store = data.get(namespacedKey.storage, PersistentDataType.STRING); - org.bukkit.inventory.Inventory ec = Bukkit.createInventory(null, 54, Component.text("Ender Chest")); - ec = setItemsToInventory(Items.mapItemStackDeserialize(store), ec); - EnderChest ecc = new EnderChest(ec); - Storage storage = new Storage(ecc); - return storage; - } + public Inventories createInventory() { + setInventory(Bukkit.createInventory(null, InventoryType.PLAYER)); + return getInventory(); + } - public Inventories getInventory() { - PersistentDataContainer data = player.getPersistentDataContainer(); - String inv = data.get(namespacedKey.inventory, PersistentDataType.STRING); - org.bukkit.inventory.Inventory invv = Bukkit.createInventory(player, InventoryType.PLAYER); - invv = setItemsToInventory(Items.listItemStackDeserialize(inv), (PlayerInventory) invv); - Inventory invvv = new Inventory(invv); - Inventories invvvv = new Inventories(invvv); - return invvvv; - } + public Boolean isRaxenPlayer() { + return isRaxenPlayer; + } - public void setInventory(org.bukkit.inventory.Inventory inv) { - PersistentDataContainer data = player.getPersistentDataContainer(); - List listInv = new ArrayList(); - Integer reverse = 0; - for(ItemStack it : inv) { - reverse = reverse + 1; - if(it != null && it.getType() != Material.AIR) { - String s = Items.itemStackSerialize(it, reverse); - listInv.add(s); - } - } - String invv = Items.listItemStackSerialize(listInv); - this.inventory = new Inventories(new Inventory(inv)); - data.set(namespacedKey.inventory, PersistentDataType.STRING, invv); - } + public void isRaxenPlayer(boolean player) { + isRaxenPlayer = player; + } - public void setStorage(org.bukkit.inventory.Inventory ec) { - PersistentDataContainer data = player.getPersistentDataContainer(); - List list = new ArrayList(); - int reverse = 0; - for(ItemStack it : ec) { - if(it != null) { - String s = Items.itemStackSerialize(it, reverse); - list.add(s); - } - reverse += 1; - } - String store = Items.listItemStackSerialize(list); - this.storages = new Storage(new EnderChest(ec)); - data.set(namespacedKey.storage, PersistentDataType.STRING, store); - } - - public Storage createStorage() { - setStorage(Bukkit.createInventory(null, 54, Component.text("Ender Chest"))); - return getStorage(); - } - - public Inventories createInventory() { - setInventory(Bukkit.createInventory(null, InventoryType.PLAYER)); - return getInventory(); - } - - public Boolean isRaxenPlayer() { - return isRaxenPlayer; - } - - public void isRaxenPlayer(boolean player) { - isRaxenPlayer = player; - } - - public Attribute getAttribute() { - return attribute; - } + public Attribute getAttribute() { + return attribute; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/Scoreboard.java b/src/main/java/me/unurled/raxen/components/entity/player/Scoreboard.java index 5aee096..4f9e644 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/Scoreboard.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/Scoreboard.java @@ -1,55 +1,75 @@ package me.unurled.raxen.components.entity.player; +import static me.unurled.raxen.utils.Utils.*; + import me.unurled.raxen.Raxen; import me.unurled.raxen.utils.libs.Vault; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scoreboard.*; -import static me.unurled.raxen.utils.Utils.*; - public class Scoreboard { - private Raxen main; - private Vault vault; + private Raxen main; + private Vault vault; - public Scoreboard(Raxen main) { - this.main = main; - this.vault = main.getManager().getLibsManager().getVault(); - } - - public void createScorebord(Player player) { - ScoreboardManager manager = Bukkit.getScoreboardManager(); - org.bukkit.scoreboard.Scoreboard board = manager.getNewScoreboard(); - Objective obj = board.registerNewObjective("Raxen", "dummy", colorTextComp("Elixium")); - obj.setDisplaySlot(DisplaySlot.SIDEBAR); - Score score = obj.getScore(textCompToString(colorTextComp("-------------"))); - score.setScore(4); - Score score1 = obj.getScore(textCompToString(colorTextComp("Name:" + player.getName()))); - score1.setScore(3); - Score score2 = obj.getScore(textCompToString(colorTextComp("Location"))); - score2.setScore(2); - Score score3 = obj.getScore(textCompToString(colorTextComp("Coins: " + vault.getBalanceString(player)))); - score3.setScore(1); - Score score4 = obj.getScore(textCompToString(colorTextComp("unurled.me"))); - score4.setScore(0); - player.setScoreboard(board); - } - - public void updateScoreboardTransaction(Player player) { - if(player != null) { - Objective objective = player.getScoreboard().getObjective(DisplaySlot.SIDEBAR); - player.getScoreboard().getObjective(DisplaySlot.SIDEBAR); - debug(main, String.valueOf(player.getScoreboard().getEntries())); - for (String str : player.getScoreboard().getEntries()) { - if(str.contains(player.getName())) { - - } - } - player.getScoreboard().resetScores("Coins"); - assert objective != null; - Score score = objective.getScore(textCompToString(colorTextComp("Coins: " + vault.getBalanceString(player)))); - score.setScore(1); - } + public Scoreboard(Raxen main) { + this.main = main; + this.vault = main.getManager().getLibsManager().getVault(); + } + + public void createScorebord(Player player) { + ScoreboardManager manager = Bukkit.getScoreboardManager(); + org.bukkit.scoreboard.Scoreboard board = manager.getNewScoreboard(); + Objective obj = board.registerNewObjective( + "Raxen", + Criteria.DUMMY, + colorTextComp("Elixium") + ); + obj.setDisplaySlot(DisplaySlot.SIDEBAR); + Score score = obj.getScore( + textCompToString(colorTextComp("-------------")) + ); + score.setScore(4); + Score score1 = obj.getScore( + textCompToString(colorTextComp("Name:" + player.getName())) + ); + score1.setScore(3); + Score score2 = obj.getScore( + textCompToString(colorTextComp("Location")) + ); + score2.setScore(2); + Score score3 = obj.getScore( + textCompToString( + colorTextComp("Coins: " + vault.getBalanceString(player)) + ) + ); + score3.setScore(1); + Score score4 = obj.getScore( + textCompToString(colorTextComp("unurled.me")) + ); + score4.setScore(0); + player.setScoreboard(board); + } + + public void updateScoreboardTransaction(Player player) { + if (player != null) { + Objective objective = player + .getScoreboard() + .getObjective(DisplaySlot.SIDEBAR); + player.getScoreboard().getObjective(DisplaySlot.SIDEBAR); + debug(main, String.valueOf(player.getScoreboard().getEntries())); + for (String str : player.getScoreboard().getEntries()) { + if (str.contains(player.getName())) {} + } + player.getScoreboard().resetScores("Coins"); + assert objective != null; + Score score = objective.getScore( + textCompToString( + colorTextComp("Coins: " + vault.getBalanceString(player)) + ) + ); + score.setScore(1); } + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/Storage.java b/src/main/java/me/unurled/raxen/components/entity/player/Storage.java index f1da721..3caff10 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/Storage.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/Storage.java @@ -4,17 +4,17 @@ import me.unurled.raxen.components.entity.player.storages.EnderChest; public class Storage { - private EnderChest ec; + private EnderChest ec; - public Storage(EnderChest ec) { - this.ec = ec; - } + public Storage(EnderChest ec) { + this.ec = ec; + } - public EnderChest getEc() { - return ec; - } + public EnderChest getEc() { + return ec; + } - public void setEc(EnderChest ec) { - this.ec = ec; - } + public void setEc(EnderChest ec) { + this.ec = ec; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attribute.java b/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attribute.java index 297eb8f..c19242a 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attribute.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attribute.java @@ -5,24 +5,39 @@ import lombok.Setter; public class Attribute { - @Getter - @Setter - private int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; + @Getter + @Setter + private int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; - public Attribute(int maxHealth, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemStrength, int maxMana, int mana, int itemMana, int luck, int itemLuck) { - this.maxHealth = maxHealth; - this.health = health; - this.itemHealth = itemHealth; - this.defense = defense; - this.itemDefense = itemDefense; - this.speed = speed; - this.itemSpeed = itemSpeed; - this.strength = strength; - this.itemStrength = itemStrength; - this.maxHealth = maxMana; - this.mana = mana; - this.itemMana = itemMana; - this.luck = luck; - this.itemLuck = itemLuck; - } + public Attribute( + int maxHealth, + int health, + int itemHealth, + int defense, + int itemDefense, + int speed, + int itemSpeed, + int strength, + int itemStrength, + int maxMana, + int mana, + int itemMana, + int luck, + int itemLuck + ) { + this.maxHealth = maxHealth; + this.health = health; + this.itemHealth = itemHealth; + this.defense = defense; + this.itemDefense = itemDefense; + this.speed = speed; + this.itemSpeed = itemSpeed; + this.strength = strength; + this.itemStrength = itemStrength; + this.maxHealth = maxMana; + this.mana = mana; + this.itemMana = itemMana; + this.luck = luck; + this.itemLuck = itemLuck; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attributes.java b/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attributes.java index 9ed0816..f4049f8 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attributes.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/attributes/Attributes.java @@ -11,55 +11,96 @@ import org.jetbrains.annotations.NotNull; public class Attributes { - private static EntityNamespacedKey namespacedKey; + private static EntityNamespacedKey namespacedKey; - public Attributes(Raxen main) { - namespacedKey = new EntityNamespacedKey(main); - } + public Attributes(Raxen main) { + namespacedKey = new EntityNamespacedKey(main); + } - @Contract("_ -> new") - public static @NotNull Attribute getAttribute(Player player) { - int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - Entity e = player; - defense= pm.getDefense().get(e); - maxMana = pm.getMaxMana().get(e); - itemDefense= pm.getItemDefense().get(e); - health = pm.getHealth().get(e); - itemHealth = pm.getItemHealth().get(e); - mana = pm.getMana().get(e); - speed = pm.getSpeed().get(e); - itemLuck = pm.getItemLuck().get(e); - strength = pm.getStrength().get(e); - luck = pm.getLuck().get(e); - maxHealth = pm.getMaxHealth().get(e); - itemStrength = pm.getItemStrength().get(e); - itemSpeed = pm.getItemSpeed().get(e); - itemMana = pm.getItemMana().get(e); - return new Attribute(maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck); - } + @Contract("_ -> new") + public static @NotNull Attribute getAttribute(Player player) { + int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + Entity e = player; + defense = pm.getDefense().get(e); + maxMana = pm.getMaxMana().get(e); + itemDefense = pm.getItemDefense().get(e); + health = pm.getHealth().get(e); + itemHealth = pm.getItemHealth().get(e); + mana = pm.getMana().get(e); + speed = pm.getSpeed().get(e); + itemLuck = pm.getItemLuck().get(e); + strength = pm.getStrength().get(e); + luck = pm.getLuck().get(e); + maxHealth = pm.getMaxHealth().get(e); + itemStrength = pm.getItemStrength().get(e); + itemSpeed = pm.getItemSpeed().get(e); + itemMana = pm.getItemMana().get(e); + return new Attribute( + maxHealth, + health, + itemHealth, + defense, + itemDefense, + speed, + itemSpeed, + strength, + itemStrength, + maxMana, + mana, + itemMana, + luck, + itemLuck + ); + } - public static void setAttributes(Player player, int maxHealth, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemStrength, int maxMana, int mana, int itemMana, int luck, int itemLuck) { - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - Entity e = player; - pm.getDefense().set(e, defense); - pm.getMaxMana().set(e, maxMana); - pm.getItemDefense().set(e, itemDefense); - pm.getHealth().set(e, health); - pm.getItemHealth().set(e, itemHealth); - pm.getMana().set(e, mana); - pm.getSpeed().set(e, speed); - pm.getItemLuck().set(e, itemLuck); - pm.getStrength().set(e, strength); - pm.getLuck().set(e, luck); - pm.getMaxHealth().set(e, maxHealth); - pm.getItemStrength().set(e, itemStrength); - pm.getItemSpeed().set(e, itemSpeed); - pm.getItemMana().set(e, itemMana); - } + public static void setAttributes( + Player player, + int maxHealth, + int health, + int itemHealth, + int defense, + int itemDefense, + int speed, + int itemSpeed, + int strength, + int itemStrength, + int maxMana, + int mana, + int itemMana, + int luck, + int itemLuck + ) { + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + Entity e = player; + pm.getDefense().set(e, defense); + pm.getMaxMana().set(e, maxMana); + pm.getItemDefense().set(e, itemDefense); + pm.getHealth().set(e, health); + pm.getItemHealth().set(e, itemHealth); + pm.getMana().set(e, mana); + pm.getSpeed().set(e, speed); + pm.getItemLuck().set(e, itemLuck); + pm.getStrength().set(e, strength); + pm.getLuck().set(e, luck); + pm.getMaxHealth().set(e, maxHealth); + pm.getItemStrength().set(e, itemStrength); + pm.getItemSpeed().set(e, itemSpeed); + pm.getItemMana().set(e, itemMana); + } - public static String[] getNameList() { - return new String[]{"Defense", "Health", "Luck", "Mana", "Speed", "Strength"}; - - } + public static String[] getNameList() { + return new String[] { + "Defense", + "Health", + "Luck", + "Mana", + "Speed", + "Strength", + }; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/classes/Class.java b/src/main/java/me/unurled/raxen/components/entity/player/classes/Class.java index d9f03a4..9ccc4b6 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/classes/Class.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/classes/Class.java @@ -1,37 +1,53 @@ package me.unurled.raxen.components.entity.player.classes; +import static me.unurled.raxen.utils.Utils.colorTextComp; + import lombok.Getter; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; -import static me.unurled.raxen.utils.Utils.colorTextComp; - public class Class { - @Getter - String name; - @Getter - String colorName; - @Getter - String ID; - @Getter - ItemStack placeHolder; - @Getter - Integer max_level; + @Getter + String name; - public Class(String name, String colorName, String ID, String itemPlaceHolder, Integer max_level) { - this.name = name; - this.ID = ID; - this.placeHolder = new ItemStack(Material.getMaterial(itemPlaceHolder)); - this.placeHolder.getItemMeta().displayName(colorTextComp(colorName)); - this.max_level = max_level; - } + @Getter + String colorName; - public Class(String name, String colorName, String ID, ItemStack itemPlaceHolder, Integer max_level) { - this.name = name; - this.ID = ID; - this.placeHolder = itemPlaceHolder; - this.placeHolder.getItemMeta().displayName(colorTextComp(colorName)); - this.max_level = max_level; - } + @Getter + String ID; + + @Getter + ItemStack placeHolder; + + @Getter + Integer max_level; + + public Class( + String name, + String colorName, + String ID, + String itemPlaceHolder, + Integer max_level + ) { + this.name = name; + this.ID = ID; + this.placeHolder = new ItemStack(Material.getMaterial(itemPlaceHolder)); + this.placeHolder.getItemMeta().displayName(colorTextComp(colorName)); + this.max_level = max_level; + } + + public Class( + String name, + String colorName, + String ID, + ItemStack itemPlaceHolder, + Integer max_level + ) { + this.name = name; + this.ID = ID; + this.placeHolder = itemPlaceHolder; + this.placeHolder.getItemMeta().displayName(colorTextComp(colorName)); + this.max_level = max_level; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/classes/Classes.java b/src/main/java/me/unurled/raxen/components/entity/player/classes/Classes.java index 08299f2..5c8848e 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/classes/Classes.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/classes/Classes.java @@ -1,40 +1,43 @@ package me.unurled.raxen.components.entity.player.classes; +import static me.unurled.raxen.utils.Utils.debug; + import lombok.Getter; import lombok.Setter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.player.classes.list.Assassin; -import static me.unurled.raxen.utils.Utils.debug; - public class Classes { - private final Raxen main; + private final Raxen main; - public Classes(Raxen main) { - this.main = main; - register(); - } + public Classes(Raxen main) { + this.main = main; + register(); + } - public void register() { - registerClass(new Assassin()); - } + public void register() { + registerClass(new Assassin()); + } - public class resultClass { - @Getter - @Setter - public Class clas; - @Getter - @Setter - public String id; - public resultClass(Class clas, String id) { - this.clas = clas; - this.id = id; - } - } + public class resultClass { - public void registerClass(Class clas) { - debug(clas.getID()); - main.getManager().getPlayerManager().addClasses(clas, clas.getID()); + @Getter + @Setter + public Class clas; + + @Getter + @Setter + public String id; + + public resultClass(Class clas, String id) { + this.clas = clas; + this.id = id; } + } + + public void registerClass(Class clas) { + debug(clas.getID()); + main.getManager().getPlayerManager().addClasses(clas, clas.getID()); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/classes/list/Assassin.java b/src/main/java/me/unurled/raxen/components/entity/player/classes/list/Assassin.java index 775203f..8548324 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/classes/list/Assassin.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/classes/list/Assassin.java @@ -7,21 +7,33 @@ import org.bukkit.inventory.ItemStack; public class Assassin extends Class { - String ID = "ASSASSIN"; - String name = "Assassin"; - String colorName = "Assassin"; - Integer max_level = 100; + String ID = "ASSASSIN"; + String name = "Assassin"; + String colorName = "Assassin"; + Integer max_level = 100; - ItemStack placeHolder; + ItemStack placeHolder; - public Assassin() { - super("Assassin", "Assassin", "ASSASSIN", new ItemStack(Material.AIR), 100); - Dagger dagger = new Dagger(); - dagger.buildItem(); - placeHolder = dagger.getItem(); - } + public Assassin() { + super( + "Assassin", + "Assassin", + "ASSASSIN", + new ItemStack(Material.AIR), + 100 + ); + Dagger dagger = new Dagger(); + dagger.buildItem(); + placeHolder = dagger.getItem(); + } - public Assassin(String name, String colorName, String ID, String itemPlaceHolder, Integer max_level) { - super(name, colorName, ID, itemPlaceHolder, max_level); - } + public Assassin( + String name, + String colorName, + String ID, + String itemPlaceHolder, + Integer max_level + ) { + super(name, colorName, ID, itemPlaceHolder, max_level); + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/storages/EnderChest.java b/src/main/java/me/unurled/raxen/components/entity/player/storages/EnderChest.java index aca7dbe..bcd9e8d 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/storages/EnderChest.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/storages/EnderChest.java @@ -8,11 +8,15 @@ import org.bukkit.inventory.Inventory; public class EnderChest { - @Getter - @Setter - public Inventory ec = Bukkit.createInventory(null, 54, Component.text("Ender Chest")); + @Getter + @Setter + public Inventory ec = Bukkit.createInventory( + null, + 54, + Component.text("Ender Chest") + ); - public EnderChest(Inventory ec) { - this.ec = ec; - } + public EnderChest(Inventory ec) { + this.ec = ec; + } } diff --git a/src/main/java/me/unurled/raxen/components/entity/player/storages/Inventory.java b/src/main/java/me/unurled/raxen/components/entity/player/storages/Inventory.java index 3582675..22cf211 100644 --- a/src/main/java/me/unurled/raxen/components/entity/player/storages/Inventory.java +++ b/src/main/java/me/unurled/raxen/components/entity/player/storages/Inventory.java @@ -6,11 +6,15 @@ import org.bukkit.Bukkit; import org.bukkit.event.inventory.InventoryType; public class Inventory { - @Getter - @Setter - public org.bukkit.inventory.Inventory inv = Bukkit.createInventory(null, InventoryType.PLAYER); - public Inventory(org.bukkit.inventory.Inventory inv) { - this.inv = inv; - } + @Getter + @Setter + public org.bukkit.inventory.Inventory inv = Bukkit.createInventory( + null, + InventoryType.PLAYER + ); + + public Inventory(org.bukkit.inventory.Inventory inv) { + this.inv = inv; + } } diff --git a/src/main/java/me/unurled/raxen/components/gui/ItemListGui.java b/src/main/java/me/unurled/raxen/components/gui/ItemListGui.java index fec5d97..40802e3 100644 --- a/src/main/java/me/unurled/raxen/components/gui/ItemListGui.java +++ b/src/main/java/me/unurled/raxen/components/gui/ItemListGui.java @@ -1,5 +1,11 @@ package me.unurled.raxen.components.gui; +import static me.unurled.raxen.utils.Items.*; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.player.PlayerUtils; @@ -17,219 +23,295 @@ import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -import static me.unurled.raxen.utils.Items.*; -import static me.unurled.raxen.utils.Utils.fillGreyPane; -import static me.unurled.raxen.utils.Utils.log; - public class ItemListGui implements Listener { - private Raxen main; - @Getter - private Inventory inv = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv2 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv3 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv4 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv5 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv6 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv7 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv8 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private Inventory inv9 = Bukkit.createInventory(null, 54, Component.text("Item List")); + private Raxen main; - private HashMap itlist; + @Getter + private Inventory inv = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); - public ItemListGui(Raxen main) { - this.main = main; - this.itlist = this.main.getManager().getItemManager().getList(); - this.inv = getInventories(); - } + private Inventory inv2 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); + private Inventory inv3 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); + private Inventory inv4 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); + private Inventory inv5 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); + private Inventory inv6 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); + private Inventory inv7 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); + private Inventory inv8 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); + private Inventory inv9 = Bukkit.createInventory( + null, + 54, + Component.text("Item List") + ); - private ItemStack PREVIOUS = createItem(Material.ARROW, 1,true, false, "Previous page"); - private ItemStack NEXT = createItem(Material.ARROW, 1,true, false, "Next page"); - private ItemStack PAGE = createItem(Material.PAPER, 1,true, false, "Page"); - private ItemStack CLOSE = closeItem(); - private ItemStack GREY_PANE = greyPane(); + private HashMap itlist; - public Inventory getInventories() { - Integer page = 1; - Integer item = -1; - for (Map.Entry entry : itlist.entrySet()) { - ItemStack it = entry.getValue(); - item++; - if(item > 44 && item < 91) { - inv2.addItem(it); - inv2.setItem(48, PREVIOUS); - inv2.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv2.setItem(53, CLOSE); - inv2 = fillGreyPane(inv2); - } - if (item > 90 && item < 136) { - inv3.setItem(48, PREVIOUS); - inv3.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv3.setItem(53, CLOSE); - inv3 = fillGreyPane(inv3); - } - if (item > 135 && item < 181) { - inv4.addItem(it); - inv4.setItem(48, PREVIOUS); - inv4.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv4.setItem(53, CLOSE); - inv4 = fillGreyPane(inv4); - } - if (item > 180 && item < 226) { - inv5.addItem(it); - inv5.setItem(48, PREVIOUS); - inv5.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv5.setItem(53, CLOSE); - inv5 = fillGreyPane(inv5); - } - if (item > 225 && item < 271) { - inv6.addItem(it); - inv6.setItem(48, PREVIOUS); - inv6.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv6.setItem(53, CLOSE); - inv6 = fillGreyPane(inv6); - } - if (item > 270 && item < 316) { - inv7.addItem(it); - inv7.setItem(48, PREVIOUS); - inv7.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv7.setItem(53, CLOSE); - inv7 = fillGreyPane(inv7); - } - if (item > 315 && item < 361) { - inv8.addItem(it); - inv8.setItem(48, PREVIOUS); - inv8.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv8.setItem(53, CLOSE); - inv8 = fillGreyPane(inv8); - } - if (item > 360 && item < 406) { - inv9.addItem(it); - inv9.setItem(48, PREVIOUS); - inv9.setItem(49, editItem(PAGE, "page" + page,1, new ArrayList())); - inv9.setItem(53, CLOSE); - inv9 = fillGreyPane(inv9); - } - if (item > 405) { - log("Too many item to render."); - } - else { - inv.addItem(it); - inv.setItem(49, PAGE); - inv.setItem(50, NEXT); - } - if (item > 44) { - inv.setItem(50, NEXT); - if (item > 90) { - inv2.setItem(50, NEXT); - if (item > 135) { - inv3.setItem(50, NEXT); - if (item > 180) { - inv4.setItem(50, NEXT); - if (item > 225) { - inv5.setItem(50, NEXT); - if (item > 270) { - inv6.setItem(50, NEXT); - if (item > 315) { - inv7.setItem(50, NEXT); - if (item > 360) { - inv8.setItem(50, NEXT); - } - } - } - } - } + public ItemListGui(Raxen main) { + this.main = main; + this.itlist = this.main.getManager().getItemManager().getList(); + this.inv = getInventories(); + } + + private ItemStack PREVIOUS = createItem( + Material.ARROW, + 1, + true, + false, + "Previous page" + ); + private ItemStack NEXT = createItem( + Material.ARROW, + 1, + true, + false, + "Next page" + ); + private ItemStack PAGE = createItem(Material.PAPER, 1, true, false, "Page"); + private ItemStack CLOSE = closeItem(); + private ItemStack GREY_PANE = greyPane(); + + public Inventory getInventories() { + Integer page = 1; + Integer item = -1; + for (Map.Entry entry : itlist.entrySet()) { + ItemStack it = entry.getValue(); + item++; + if (item > 44 && item < 91) { + inv2.addItem(it); + inv2.setItem(48, PREVIOUS); + inv2.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv2.setItem(53, CLOSE); + inv2 = fillGreyPane(inv2); + } + if (item > 90 && item < 136) { + inv3.setItem(48, PREVIOUS); + inv3.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv3.setItem(53, CLOSE); + inv3 = fillGreyPane(inv3); + } + if (item > 135 && item < 181) { + inv4.addItem(it); + inv4.setItem(48, PREVIOUS); + inv4.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv4.setItem(53, CLOSE); + inv4 = fillGreyPane(inv4); + } + if (item > 180 && item < 226) { + inv5.addItem(it); + inv5.setItem(48, PREVIOUS); + inv5.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv5.setItem(53, CLOSE); + inv5 = fillGreyPane(inv5); + } + if (item > 225 && item < 271) { + inv6.addItem(it); + inv6.setItem(48, PREVIOUS); + inv6.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv6.setItem(53, CLOSE); + inv6 = fillGreyPane(inv6); + } + if (item > 270 && item < 316) { + inv7.addItem(it); + inv7.setItem(48, PREVIOUS); + inv7.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv7.setItem(53, CLOSE); + inv7 = fillGreyPane(inv7); + } + if (item > 315 && item < 361) { + inv8.addItem(it); + inv8.setItem(48, PREVIOUS); + inv8.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv8.setItem(53, CLOSE); + inv8 = fillGreyPane(inv8); + } + if (item > 360 && item < 406) { + inv9.addItem(it); + inv9.setItem(48, PREVIOUS); + inv9.setItem( + 49, + editItem(PAGE, "page" + page, 1, new ArrayList()) + ); + inv9.setItem(53, CLOSE); + inv9 = fillGreyPane(inv9); + } + if (item > 405) { + log("Too many item to render."); + } else { + inv.addItem(it); + inv.setItem(49, PAGE); + inv.setItem(50, NEXT); + } + if (item > 44) { + inv.setItem(50, NEXT); + if (item > 90) { + inv2.setItem(50, NEXT); + if (item > 135) { + inv3.setItem(50, NEXT); + if (item > 180) { + inv4.setItem(50, NEXT); + if (item > 225) { + inv5.setItem(50, NEXT); + if (item > 270) { + inv6.setItem(50, NEXT); + if (item > 315) { + inv7.setItem(50, NEXT); + if (item > 360) { + inv8.setItem(50, NEXT); } + } } + } } - page++; - inv.setItem(53, CLOSE); - inv = fillGreyPane(inv); + } } - return inv; + } + page++; + inv.setItem(53, CLOSE); + inv = fillGreyPane(inv); } + return inv; + } - @EventHandler - public void clickInventory(InventoryClickEvent e) { - Player player = (Player) e.getWhoClicked(); - Inventory einv = e.getClickedInventory(); - if (einv == inv || einv == inv2 || einv == inv3 || - einv == inv4 || einv == inv5 || einv == inv6 || - einv == inv7 || einv == inv8 || einv == inv9) { - if(e.getCurrentItem() != null && e.getCurrentItem().getType() != Material.AIR) { - Integer slot = e.getSlot(); - ItemStack clicked; - if (slot ==48) { - //previous - if (e.getCurrentItem() != GREY_PANE) { - ItemStack pagee = einv.getItem(49); - String name = ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&',Utils.textCompToString(pagee.displayName()))); - Integer page = Integer.parseInt(name.toString().replace("page", "")); - switch(page) { - case 2: - player.openInventory(inv); - case 3: - player.openInventory(inv2); - case 4: - player.openInventory(inv3); - case 5: - player.openInventory(inv4); - case 6: - player.openInventory(inv5); - case 7: - player.openInventory(inv6); - case 8: - player.openInventory(inv7); - case 9: - player.openInventory(inv8); - } - } - } else if (slot == 49) { - //page - return; - } else if (slot == 50) { - //next - ItemStack pagee = einv.getItem(49); - if (pagee != null) { - String name = ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&',Utils.textCompToString(pagee.displayName()))); - name = name.replace("[", ""); - name = name.replace("]", ""); - log(name); - Integer page = Integer.parseInt(name.replace("page", "")); - switch (page) { - case 1: - player.openInventory(inv2); - case 2: - player.openInventory(inv3); - case 3: - player.openInventory(inv4); - case 4: - player.openInventory(inv5); - case 5: - player.openInventory(inv6); - case 6: - player.openInventory(inv7); - case 7: - player.openInventory(inv8); - case 8: - player.openInventory(inv9); - } - } - } else if (slot == 53) { - //close - player.closeInventory(); - } else { - //if (player.getInventory().firstEmpty() == -1) { - //add to stash - //} - player.getInventory().addItem(e.getCurrentItem()); - PlayerUtils.updateSkills(main, player); - } + @EventHandler + public void clickInventory(InventoryClickEvent e) { + Player player = (Player) e.getWhoClicked(); + Inventory einv = e.getClickedInventory(); + if ( + einv == inv || + einv == inv2 || + einv == inv3 || + einv == inv4 || + einv == inv5 || + einv == inv6 || + einv == inv7 || + einv == inv8 || + einv == inv9 + ) { + if ( + e.getCurrentItem() != null && + e.getCurrentItem().getType() != Material.AIR + ) { + Integer slot = e.getSlot(); + ItemStack clicked; + if (slot == 48) { + //previous + if (e.getCurrentItem() != GREY_PANE) { + ItemStack pagee = einv.getItem(49); + String name = textCompToString(pagee.displayName()); + int page = Integer.parseInt(name.replace("page", "")); + switch (page) { + case 2: + player.openInventory(inv); + case 3: + player.openInventory(inv2); + case 4: + player.openInventory(inv3); + case 5: + player.openInventory(inv4); + case 6: + player.openInventory(inv5); + case 7: + player.openInventory(inv6); + case 8: + player.openInventory(inv7); + case 9: + player.openInventory(inv8); } + } + } else if (slot == 49) { + //page + return; + } else if (slot == 50) { + //next + ItemStack pagee = einv.getItem(49); + if (pagee != null) { + String name = textCompToString(pagee.displayName()); + name = name.replace("[", ""); + name = name.replace("]", ""); + log(name); + int page = Integer.parseInt(name.replace("page", "")); + switch (page) { + case 1: + player.openInventory(inv2); + case 2: + player.openInventory(inv3); + case 3: + player.openInventory(inv4); + case 4: + player.openInventory(inv5); + case 5: + player.openInventory(inv6); + case 6: + player.openInventory(inv7); + case 7: + player.openInventory(inv8); + case 8: + player.openInventory(inv9); + } + } + } else if (slot == 53) { + //close + player.closeInventory(); + } else { + //if (player.getInventory().firstEmpty() == -1) { + //add to stash + //} + player.getInventory().addItem(e.getCurrentItem()); + PlayerUtils.updateSkills(main, player); } + } } + } } diff --git a/src/main/java/me/unurled/raxen/components/gui/MainGui.java b/src/main/java/me/unurled/raxen/components/gui/MainGui.java index 31e034e..24d2c87 100644 --- a/src/main/java/me/unurled/raxen/components/gui/MainGui.java +++ b/src/main/java/me/unurled/raxen/components/gui/MainGui.java @@ -1,5 +1,9 @@ package me.unurled.raxen.components.gui; +import static me.unurled.raxen.utils.Utils.colorComp; +import static me.unurled.raxen.utils.Utils.fillGreyPane; + +import java.util.HashMap; import me.unurled.raxen.utils.Items; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -8,64 +12,68 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; -import java.util.HashMap; - -import static me.unurled.raxen.utils.Utils.colorComp; -import static me.unurled.raxen.utils.Utils.fillGreyPane; - public class MainGui { - public static Inventory build(Player p) { - Inventory inv = Bukkit.createInventory(null, 54, colorComp("Raxen")); - String gui = "0,7,0,0,0,8,9,0,10," + - "0,0,0,0,0,0,0,0,0," + - "0,0,0,0,0,0,0,0,0," + - "0,2,3,0,0,0,0,4,0," + - "0,0,0,0,1,0,0,0,0," + - "0,0,0,0,0,0,0,0,0"; - // 1 player Head - ItemStack head = new ItemStack(Material.PLAYER_HEAD); - SkullMeta headm = (SkullMeta) head.getItemMeta(); - headm.setOwningPlayer(p.getPlayer()); - headm.displayName(colorComp("")); - // 2 bank - ItemStack bank = new ItemStack(Material.GOLD_INGOT); - // 3 ah - ItemStack ah = new ItemStack(Material.GOLD_INGOT); - // 4 skill tree - ItemStack sk_tree = new ItemStack(Material.OAK_SAPLING); - // 7 teleport - ItemStack tp = new ItemStack(Material.ENDER_PEARL); - // 8 select character - ItemStack sel_char = new ItemStack(Material.SNOWBALL); - // 9 Settings - ItemStack sett = new ItemStack(Material.MAGMA_CREAM); - // 10 barrier block close + public static Inventory build(Player p) { + Inventory inv = Bukkit.createInventory( + null, + 54, + colorComp("Raxen") + ); + String gui = + "0,7,0,0,0,8,9,0,10," + + "0,0,0,0,0,0,0,0,0," + + "0,0,0,0,0,0,0,0,0," + + "0,2,3,0,0,0,0,4,0," + + "0,0,0,0,1,0,0,0,0," + + "0,0,0,0,0,0,0,0,0"; + // 1 player Head + ItemStack head = new ItemStack(Material.PLAYER_HEAD); + SkullMeta headm = (SkullMeta) head.getItemMeta(); + headm.setOwningPlayer(p.getPlayer()); + headm.displayName(colorComp("")); + // 2 bank + ItemStack bank = new ItemStack(Material.GOLD_INGOT); + // 3 ah + ItemStack ah = new ItemStack(Material.GOLD_INGOT); + // 4 skill tree + ItemStack sk_tree = new ItemStack(Material.OAK_SAPLING); + // 7 teleport + ItemStack tp = new ItemStack(Material.ENDER_PEARL); + // 8 select character + ItemStack sel_char = new ItemStack(Material.SNOWBALL); + // 9 Settings + ItemStack sett = new ItemStack(Material.MAGMA_CREAM); + // 10 barrier block close - HashMap list = new HashMap<>(); - list.put("1", head); - list.put("2", bank); - list.put("3",ah); - list.put("4", sk_tree); - list.put("7", tp); - list.put("8", sel_char); - list.put("9", sett); - list.put("10", Items.closeItem()); - Inventory inventory = stringToGui(inv, gui,list); - inventory = fillGreyPane(inventory); - return inventory; - } + HashMap list = new HashMap<>(); + list.put("1", head); + list.put("2", bank); + list.put("3", ah); + list.put("4", sk_tree); + list.put("7", tp); + list.put("8", sel_char); + list.put("9", sett); + list.put("10", Items.closeItem()); + Inventory inventory = stringToGui(inv, gui, list); + inventory = fillGreyPane(inventory); + return inventory; + } - public static Inventory stringToGui(Inventory inv, String stt, HashMap it) { - String[] s = stt.split(","); - if (s.length != inv.getContents().length) { - return inv; - } - Integer i = 0; - for (String st : s) { - inv.setItem(i, it.get(st)); - i++; - } - return inv; + public static Inventory stringToGui( + Inventory inv, + String stt, + HashMap it + ) { + String[] s = stt.split(","); + if (s.length != inv.getContents().length) { + return inv; } + Integer i = 0; + for (String st : s) { + inv.setItem(i, it.get(st)); + i++; + } + return inv; + } } diff --git a/src/main/java/me/unurled/raxen/components/items/Attributes.java b/src/main/java/me/unurled/raxen/components/items/Attributes.java index 46ee4bb..6344538 100644 --- a/src/main/java/me/unurled/raxen/components/items/Attributes.java +++ b/src/main/java/me/unurled/raxen/components/items/Attributes.java @@ -3,13 +3,21 @@ package me.unurled.raxen.components.items; import lombok.Getter; public class Attributes { - @Getter - Integer health, speed, defense, strength; - public Attributes(Integer health, Integer defense, Integer speed, Integer strength, Integer mana, Integer luck) { - this.health = health; - this.defense = defense; - this.speed = speed; - this.strength = strength; - } + @Getter + Integer health, speed, defense, strength; + + public Attributes( + Integer health, + Integer defense, + Integer speed, + Integer strength, + Integer mana, + Integer luck + ) { + this.health = health; + this.defense = defense; + this.speed = speed; + this.strength = strength; + } } diff --git a/src/main/java/me/unurled/raxen/components/items/CustomModelData.java b/src/main/java/me/unurled/raxen/components/items/CustomModelData.java index 32b683b..2f95361 100644 --- a/src/main/java/me/unurled/raxen/components/items/CustomModelData.java +++ b/src/main/java/me/unurled/raxen/components/items/CustomModelData.java @@ -1,4 +1,3 @@ package me.unurled.raxen.components.items; -public class CustomModelData { -} +public class CustomModelData {} diff --git a/src/main/java/me/unurled/raxen/components/items/NBT.java b/src/main/java/me/unurled/raxen/components/items/NBT.java index 947e9d6..043624c 100644 --- a/src/main/java/me/unurled/raxen/components/items/NBT.java +++ b/src/main/java/me/unurled/raxen/components/items/NBT.java @@ -2,14 +2,13 @@ package me.unurled.raxen.components.items; public class NBT { - public static String HEALTH = "HEALTH"; - public static String SPEED = "SPEED"; - public static String STRENGTH = "STRENGTH"; - public static String DEFENSE = "DEFENSE"; - public static String LUCK = "LUCK"; - public static String MANA = "MANA"; - public static String ID = "ID"; - public static String CUSTOM_ABILITY = "CUSTOM_ABILITY"; - public static String DROP_RATE = "DROP_RATE"; - + public static String HEALTH = "HEALTH"; + public static String SPEED = "SPEED"; + public static String STRENGTH = "STRENGTH"; + public static String DEFENSE = "DEFENSE"; + public static String LUCK = "LUCK"; + public static String MANA = "MANA"; + public static String ID = "ID"; + public static String CUSTOM_ABILITY = "CUSTOM_ABILITY"; + public static String DROP_RATE = "DROP_RATE"; } diff --git a/src/main/java/me/unurled/raxen/components/items/abilities/weapon/ThrowingDagger.java b/src/main/java/me/unurled/raxen/components/items/abilities/weapon/ThrowingDagger.java index e2a6003..a68257a 100644 --- a/src/main/java/me/unurled/raxen/components/items/abilities/weapon/ThrowingDagger.java +++ b/src/main/java/me/unurled/raxen/components/items/abilities/weapon/ThrowingDagger.java @@ -1,5 +1,6 @@ package me.unurled.raxen.components.items.abilities.weapon; +import java.util.ArrayList; import me.unurled.raxen.utils.RayTrace; import org.bukkit.Location; import org.bukkit.Material; @@ -9,39 +10,42 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.util.BoundingBox; import org.bukkit.util.Vector; -import java.util.ArrayList; - public class ThrowingDagger { - Player player; - ItemStack item; - Location start; + Player player; + ItemStack item; + Location start; - public ThrowingDagger(Player p) { - this.player = p; - this.item = p.getActiveItem(); - this.start = p.getLocation(); + public ThrowingDagger(Player p) { + this.player = p; + this.item = p.getActiveItem(); + this.start = p.getLocation(); + } + + public void throwDagger() { + // ability throw a dagger in the direction the player is looking, max 20 blocks + RayTrace rayTrace = new RayTrace( + player.getEyeLocation().toVector(), + player.getEyeLocation().getDirection() + ); + ArrayList positions = rayTrace.traverse(10, 0.01); + for (int i = 0; i < positions.size(); i++) { + Location position = positions.get(i).toLocation(player.getWorld()); + Block block = player.getWorld().getBlockAt(position); + + if ( + block != null && + block.getType() != Material.AIR && + rayTrace.intersects(BoundingBox.of(block), 10, 0.01) + ) { + player.sendMessage(block.getType().toString()); + break; + } } - - public void throwDagger() { - // ability throw a dagger in the direction the player is looking, max 20 blocks - RayTrace rayTrace = new RayTrace(player.getEyeLocation().toVector(),player.getEyeLocation().getDirection()); - ArrayList positions = rayTrace.traverse(10,0.01); - for(int i = 0; i < positions.size();i++){ - - Location position = positions.get(i).toLocation(player.getWorld()); - Block block = player.getWorld().getBlockAt(position); - - if(block != null && block.getType() != Material.AIR && rayTrace.intersects(BoundingBox.of(block),10,0.01)){ - player.sendMessage(block.getType().toString()); - break; - } - - } - /*for (int i = 0 ; i < 20 ; i++) { + /*for (int i = 0 ; i < 20 ; i++) { // spawn an item in air // dispawn the last one // repeat }*/ - } + } } diff --git a/src/main/java/me/unurled/raxen/components/items/custom/Item.java b/src/main/java/me/unurled/raxen/components/items/custom/Item.java index 763e805..5cb563a 100644 --- a/src/main/java/me/unurled/raxen/components/items/custom/Item.java +++ b/src/main/java/me/unurled/raxen/components/items/custom/Item.java @@ -7,26 +7,25 @@ import org.jetbrains.annotations.NotNull; public abstract class Item { - @Getter - ItemStack item; + @Getter + ItemStack item; - String NAME; - String ID; + String NAME; + String ID; - ItemClass ITEM_CLASS; - ItemTypes ITEM_TYPES; + ItemClass ITEM_CLASS; + ItemTypes ITEM_TYPES; - protected Item() { - this.item = buildItem(); - } + protected Item() { + this.item = buildItem(); + } - public abstract ItemStack buildItem(); - - /** - * need item to be set before calling this method. - */ - public void registerItem(@NotNull Raxen main) { - main.getManager().getItemManager().registerItem(item); - } + public abstract ItemStack buildItem(); + /** + * need item to be set before calling this method. + */ + public void registerItem(@NotNull Raxen main) { + main.getManager().getItemManager().registerItem(item); + } } diff --git a/src/main/java/me/unurled/raxen/components/items/custom/ItemClass.java b/src/main/java/me/unurled/raxen/components/items/custom/ItemClass.java index c1de173..53f6073 100644 --- a/src/main/java/me/unurled/raxen/components/items/custom/ItemClass.java +++ b/src/main/java/me/unurled/raxen/components/items/custom/ItemClass.java @@ -1,16 +1,16 @@ package me.unurled.raxen.components.items.custom; public enum ItemClass { - F, - E, - D, - C, - B, - A, - S, - SS, - SSS, - MYTHIC, - UNIC, - GOD, + F, + E, + D, + C, + B, + A, + S, + SS, + SSS, + MYTHIC, + UNIC, + GOD, } diff --git a/src/main/java/me/unurled/raxen/components/items/custom/ItemTypes.java b/src/main/java/me/unurled/raxen/components/items/custom/ItemTypes.java index 348754c..8368b37 100644 --- a/src/main/java/me/unurled/raxen/components/items/custom/ItemTypes.java +++ b/src/main/java/me/unurled/raxen/components/items/custom/ItemTypes.java @@ -1,11 +1,11 @@ package me.unurled.raxen.components.items.custom; public enum ItemTypes { - WEAPON, - BOW, - TOOLS, - MEDICINE, - ARMOR, - BLOCKS, - MISCELLANEOUS + WEAPON, + BOW, + TOOLS, + MEDICINE, + ARMOR, + BLOCKS, + MISCELLANEOUS, } diff --git a/src/main/java/me/unurled/raxen/components/items/custom/List.java b/src/main/java/me/unurled/raxen/components/items/custom/List.java index 54963b3..ce33161 100644 --- a/src/main/java/me/unurled/raxen/components/items/custom/List.java +++ b/src/main/java/me/unurled/raxen/components/items/custom/List.java @@ -1,26 +1,25 @@ package me.unurled.raxen.components.items.custom; +import java.util.ArrayList; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.items.custom.weapon.Dagger; -import java.util.ArrayList; - public class List { - private static Raxen main; + private static Raxen main; - @Getter - private java.util.List items; + @Getter + private java.util.List items; - public List(Raxen main) { - this.main = main; - this.items = new ArrayList<>(); - build(); - } + public List(Raxen main) { + this.main = main; + this.items = new ArrayList<>(); + build(); + } - public void build() { - // weapons - items.add(new Dagger()); - } + public void build() { + // weapons + items.add(new Dagger()); + } } diff --git a/src/main/java/me/unurled/raxen/components/items/custom/weapon/Dagger.java b/src/main/java/me/unurled/raxen/components/items/custom/weapon/Dagger.java index 25e12df..318abcb 100644 --- a/src/main/java/me/unurled/raxen/components/items/custom/weapon/Dagger.java +++ b/src/main/java/me/unurled/raxen/components/items/custom/weapon/Dagger.java @@ -1,6 +1,10 @@ package me.unurled.raxen.components.items.custom.weapon; +import static me.unurled.raxen.utils.Utils.colorTextComp; + import de.tr7zw.nbtapi.NBTItem; +import java.util.ArrayList; +import java.util.List; import lombok.Getter; import me.unurled.raxen.components.items.NBT; import me.unurled.raxen.components.items.custom.Item; @@ -13,39 +17,35 @@ import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import java.util.ArrayList; -import java.util.List; - -import static me.unurled.raxen.utils.Utils.colorTextComp; - public class Dagger extends Item { - @Getter - ItemStack item; - String NAME = "Dager"; - String ID = "DAGER"; + @Getter + ItemStack item; - ItemClass ITEM_CLASS = ItemClass.F; - ItemTypes ITEM_TYPES = ItemTypes.WEAPON; + String NAME = "Dager"; + String ID = "DAGER"; - public ItemStack buildItem() { - item = new ItemStack(Material.IRON_SWORD); - ItemMeta itm = item.getItemMeta(); - itm.displayName(colorTextComp("" + this.NAME)); - itm.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1, false); - itm.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS); - itm.setUnbreakable(true); - List lore = new ArrayList<>(); - lore.add(Component.text("hallooo")); - itm.lore(lore); - item.setItemMeta(itm); - NBTItem nbti = new NBTItem(item); - nbti.setString(NBT.ID, ID); - nbti.setInteger(NBT.SPEED, 100); - nbti.setInteger(NBT.STRENGTH, 50); - nbti.setString(NBT.CUSTOM_ABILITY, "throwing_dager"); - nbti.setDouble(NBT.DROP_RATE, 50.0); - item = nbti.getItem(); - return item; - } + ItemClass ITEM_CLASS = ItemClass.F; + ItemTypes ITEM_TYPES = ItemTypes.WEAPON; + + public ItemStack buildItem() { + item = new ItemStack(Material.IRON_SWORD); + ItemMeta itm = item.getItemMeta(); + itm.displayName(colorTextComp("" + this.NAME)); + itm.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1, false); + itm.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS); + itm.setUnbreakable(true); + List lore = new ArrayList<>(); + lore.add(Component.text("hallooo")); + itm.lore(lore); + item.setItemMeta(itm); + NBTItem nbti = new NBTItem(item); + nbti.setString(NBT.ID, ID); + nbti.setInteger(NBT.SPEED, 100); + nbti.setInteger(NBT.STRENGTH, 50); + nbti.setString(NBT.CUSTOM_ABILITY, "throwing_dager"); + nbti.setDouble(NBT.DROP_RATE, 50.0); + item = nbti.getItem(); + return item; + } } diff --git a/src/main/java/me/unurled/raxen/components/lootchest/GUI.java b/src/main/java/me/unurled/raxen/components/lootchest/GUI.java index e801559..e995374 100644 --- a/src/main/java/me/unurled/raxen/components/lootchest/GUI.java +++ b/src/main/java/me/unurled/raxen/components/lootchest/GUI.java @@ -8,17 +8,19 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; public class GUI { - @Getter - private static Inventory inv = Bukkit.createInventory(null, 54); - private static PlayerManager playerManager; - public GUI(Raxen main) { - this.playerManager = main.getManager().getPlayerManager(); - } + @Getter + private static Inventory inv = Bukkit.createInventory(null, 54); - public static Inventory addItems(Player player) { - Integer luck = playerManager.getLuck().get(player); + private static PlayerManager playerManager; - return inv; - } + public GUI(Raxen main) { + this.playerManager = main.getManager().getPlayerManager(); + } + + public static Inventory addItems(Player player) { + Integer luck = playerManager.getLuck().get(player); + + return inv; + } } diff --git a/src/main/java/me/unurled/raxen/components/lootchest/loots/CustomLoot.java b/src/main/java/me/unurled/raxen/components/lootchest/loots/CustomLoot.java index d2bd6a1..c8897df 100644 --- a/src/main/java/me/unurled/raxen/components/lootchest/loots/CustomLoot.java +++ b/src/main/java/me/unurled/raxen/components/lootchest/loots/CustomLoot.java @@ -1,43 +1,42 @@ package me.unurled.raxen.components.lootchest.loots; import de.tr7zw.nbtapi.NBTItem; +import java.util.HashMap; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.items.NBT; import org.bukkit.Location; import org.bukkit.inventory.ItemStack; -import java.util.HashMap; - public class CustomLoot { - private Raxen main; + private Raxen main; - public HashMap itlist; + public HashMap itlist; - public ItemStack item; - public Double drop_rate; - public LootItem lootItem; - public String ID; + public ItemStack item; + public Double drop_rate; + public LootItem lootItem; + public String ID; - public LootItem getLootItem() { - return new LootItem(registerItem(), drop_rate); + public LootItem getLootItem() { + return new LootItem(registerItem(), drop_rate); + } + + public ItemStack registerItem() { + return itlist.get(ID); + } + + public Double getDrop_rate() { + NBTItem nbti = new NBTItem(item); + if (nbti.hasTag(NBT.DROP_RATE)) { + return nbti.getDouble(NBT.DROP_RATE); } + return 0.0; + } - public ItemStack registerItem() { - return itlist.get(ID); - } - - public Double getDrop_rate() { - NBTItem nbti = new NBTItem(item); - if (nbti.hasTag(NBT.DROP_RATE)) { - return nbti.getDouble(NBT.DROP_RATE); - } - return 0.0; - } - - public void tryDropLoot(Location location) { - for (LootItem item : main.getManager().getLootManager().getLootTable()) { - item.tryDropItem(location); - } + public void tryDropLoot(Location location) { + for (LootItem item : main.getManager().getLootManager().getLootTable()) { + item.tryDropItem(location); } + } } diff --git a/src/main/java/me/unurled/raxen/components/lootchest/loots/LootItem.java b/src/main/java/me/unurled/raxen/components/lootchest/loots/LootItem.java index 7b1bdfb..31a8536 100644 --- a/src/main/java/me/unurled/raxen/components/lootchest/loots/LootItem.java +++ b/src/main/java/me/unurled/raxen/components/lootchest/loots/LootItem.java @@ -1,29 +1,27 @@ package me.unurled.raxen.components.lootchest.loots; +import java.util.Random; import org.bukkit.Location; import org.bukkit.inventory.ItemStack; -import java.util.Random; - public class LootItem { - private ItemStack item; - private int min = 1, max = 1; - private double dropRate; - private static Random randomiser = new Random(); + private ItemStack item; + private int min = 1, max = 1; + private double dropRate; + private static Random randomiser = new Random(); + public LootItem(ItemStack item, double dropRate) { + this.item = item; + this.dropRate = dropRate; + } - public LootItem(ItemStack item, double dropRate) { - this.item = item; - this.dropRate = dropRate; - } - - public void tryDropItem(Location loc) { - if (Math.random() * 101 > dropRate) return; - int amount = randomiser.nextInt(max - min + 1) + min; - if (amount == 0) return; - ItemStack item = this.item.clone(); - item.setAmount(amount); - loc.getWorld().dropItemNaturally(loc, item); - } + public void tryDropItem(Location loc) { + if (Math.random() * 101 > dropRate) return; + int amount = randomiser.nextInt(max - min + 1) + min; + if (amount == 0) return; + ItemStack item = this.item.clone(); + item.setAmount(amount); + loc.getWorld().dropItemNaturally(loc, item); + } } diff --git a/src/main/java/me/unurled/raxen/components/lootchest/loots/test/TestSword.java b/src/main/java/me/unurled/raxen/components/lootchest/loots/test/TestSword.java index 8fc0033..4cbf441 100644 --- a/src/main/java/me/unurled/raxen/components/lootchest/loots/test/TestSword.java +++ b/src/main/java/me/unurled/raxen/components/lootchest/loots/test/TestSword.java @@ -5,11 +5,11 @@ import me.unurled.raxen.components.lootchest.loots.CustomLoot; public class TestSword extends CustomLoot { - public TestSword(Raxen main) { - this.itlist = main.getManager().getItemManager().getList(); - this.ID = "BEST_NEW_ITEM"; - this.drop_rate = getDrop_rate(); - this.item = registerItem(); - this.lootItem = getLootItem(); - } + public TestSword(Raxen main) { + this.itlist = main.getManager().getItemManager().getList(); + this.ID = "BEST_NEW_ITEM"; + this.drop_rate = getDrop_rate(); + this.item = registerItem(); + this.lootItem = getLootItem(); + } } diff --git a/src/main/java/me/unurled/raxen/components/resourcepack/ResourcePack.java b/src/main/java/me/unurled/raxen/components/resourcepack/ResourcePack.java index 4046b58..ea8a612 100644 --- a/src/main/java/me/unurled/raxen/components/resourcepack/ResourcePack.java +++ b/src/main/java/me/unurled/raxen/components/resourcepack/ResourcePack.java @@ -8,24 +8,28 @@ import org.bukkit.scheduler.BukkitRunnable; public class ResourcePack { - private Raxen main; - private FileConfiguration config; - private ResourcePackManager resourcePackManager; + private Raxen main; + private FileConfiguration config; + private ResourcePackManager resourcePackManager; - public ResourcePack(Raxen main, ResourcePackManager manager) { - this.main = main; - this.config = main.getConfig(); - this.resourcePackManager = manager; - } + public ResourcePack(Raxen main, ResourcePackManager manager) { + this.main = main; + this.config = main.getConfig(); + this.resourcePackManager = manager; + } - public void join(Player player) { - new BukkitRunnable() { - @Override - public void run() { - if(resourcePackManager.isUseRP()) { - player.setResourcePack(config.getString("ressource_pack_url"), config.getString("resource_pack_sha1")); - } - } - }.runTaskLater(main, 2L); + public void join(Player player) { + new BukkitRunnable() { + @Override + public void run() { + if (resourcePackManager.isUseRP()) { + player.setResourcePack( + config.getString("ressource_pack_url"), + config.getString("resource_pack_sha1") + ); + } + } } + .runTaskLater(main, 2L); + } } diff --git a/src/main/java/me/unurled/raxen/config/Config.java b/src/main/java/me/unurled/raxen/config/Config.java index fa21369..632f671 100644 --- a/src/main/java/me/unurled/raxen/config/Config.java +++ b/src/main/java/me/unurled/raxen/config/Config.java @@ -1,51 +1,49 @@ package me.unurled.raxen.config; +import static me.unurled.raxen.utils.Utils.debug; + +import java.io.File; +import java.io.IOException; import lombok.Getter; import me.unurled.raxen.Raxen; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; -import java.io.File; -import java.io.IOException; - -import static me.unurled.raxen.utils.Utils.debug; - public class Config { - private Raxen main; - private File configFile; + private Raxen main; - @Getter - private FileConfiguration config; + private File configFile; + @Getter + private FileConfiguration config; - public Config(Raxen main) { - this.main = main; - this.config = main.getConfig(); - this.init(); + public Config(Raxen main) { + this.main = main; + this.config = main.getConfig(); + this.init(); + } + + /** + * init method, saves config and everything + */ + public void init() { + FileConfiguration config = main.getConfig(); + File configFile = new File(main.getDataFolder() + "/config.yml"); + if (!(configFile.exists())) { + main.saveDefaultConfig(); } - - /** - * init method, saves config and everything - */ - public void init() { - FileConfiguration config = main.getConfig(); - File configFile = new File(main.getDataFolder() + "/config.yml"); - if (!(configFile.exists())) { - main.saveDefaultConfig(); - } - FileConfiguration conf = new YamlConfiguration(); - debug(main, config.getString("version")); - try { - conf.load(configFile); - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - debug(main, conf.getString("version")); - if(!Raxen.getVersion().equals(config.getString("version"))){ - main.saveResource("config.yml", true); - } + FileConfiguration conf = new YamlConfiguration(); + debug(main, config.getString("version")); + try { + conf.load(configFile); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); } - + debug(main, conf.getString("version")); + if (!Raxen.getVersion().equals(config.getString("version"))) { + main.saveResource("config.yml", true); + } + } } diff --git a/src/main/java/me/unurled/raxen/config/PlayerConfig.java b/src/main/java/me/unurled/raxen/config/PlayerConfig.java index 1dbfd95..63bec28 100644 --- a/src/main/java/me/unurled/raxen/config/PlayerConfig.java +++ b/src/main/java/me/unurled/raxen/config/PlayerConfig.java @@ -1,7 +1,14 @@ package me.unurled.raxen.config; +import static me.unurled.raxen.utils.Items.*; +import static me.unurled.raxen.utils.Utils.debug; + import com.mongodb.client.MongoCollection; import com.mongodb.client.model.Filters; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.Attributes.Attribute; import me.unurled.raxen.components.entity.player.Inventories; @@ -26,261 +33,344 @@ import org.bukkit.inventory.PlayerInventory; import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import static me.unurled.raxen.utils.Items.*; -import static me.unurled.raxen.utils.Utils.debug; - public class PlayerConfig { - private static Raxen main; - private MongoDB mongoDB; - private MongoCollection mongoCollection; - private static PlayerManager playerManager; - private static StorageManager sto; - private Attributes attributes; + private static Raxen main; + private MongoDB mongoDB; + private MongoCollection mongoCollection; + private static PlayerManager playerManager; + private static StorageManager sto; + private Attributes attributes; - public PlayerConfig(Raxen main) { - this.main = main; - sto = main.getManager().getStorageManager(); - this.mongoDB = main.getManager().getLibsManager().getMongoDB(); - this.mongoCollection = mongoDB.getMongoCollection(); - playerManager = main.getManager().getPlayerManager(); - this.attributes = new Attributes(main); + public PlayerConfig(Raxen main) { + this.main = main; + sto = main.getManager().getStorageManager(); + this.mongoDB = main.getManager().getLibsManager().getMongoDB(); + this.mongoCollection = mongoDB.getMongoCollection(); + playerManager = main.getManager().getPlayerManager(); + this.attributes = new Attributes(main); + } + + /** + * closes mongo connection + */ + public void close() { + mongoDB.close(); + } + + /** + * save players stuff to mongo db + * @param player + * @param attributes + * @param invstr + * @param reverse + */ + public void saveUsingMongoDB( + @NotNull Player player, + Attributes attributes, + String invstr, + Integer reverse + ) { + debug(main, "Saving " + player.getName() + "'s data!"); + Document doc = new Document("uuid", player.getUniqueId().toString()) + .append("name", player.getName()) + .append("inv", invstr); + HashMap attribute = main + .getManager() + .getPlayerManager() + .getAttribute(); + for (String s : attribute.keySet()) { + debug("saving " + s); + doc.append(s, attribute.get(s).get(player)); + } + if (playerManager.getRaxenPlayer(player).getStorage() != null) { + if (playerManager.getRaxenPlayer(player).getStorage().getEc() != null) { + debug(main, "Saving " + player.getName() + "'s storage!"); + EnderChest ec = playerManager + .getRaxenPlayer(player) + .getStorage() + .getEc(); + List list = new ArrayList(); + reverse = 0; + for (ItemStack it : ec.getEc()) { + if (it != null && it.getType() != Material.AIR) { + String s = Items.itemStackSerialize(it, reverse); + list.add(s); + } + reverse += 1; + } + String ecstr = Items.listItemStackSerialize(list); + doc.append("ec", ecstr); + } + } + Document playerDoc = mongoCollection + .find(Filters.eq("uuid", player.getUniqueId().toString())) + .first(); + if (playerDoc == null) { + mongoCollection.insertOne(doc); + debug(main, "insert one"); + } else { + mongoCollection.replaceOne( + Filters.eq("uuid", player.getUniqueId().toString()), + doc + ); + debug(main, "replace one"); + } + } + + /** + * save players stuff to yml + * @param player + * @param attributes + * @param invstr + * @param reverse + */ + public void saveUsingYml( + Player player, + Attributes attributes, + String invstr, + Integer reverse + ) { + FileConfiguration config = sto.createYml(player); + config.set("name", player.getName()); + HashMap attribute = main + .getManager() + .getPlayerManager() + .getAttribute(); + for (String s : attribute.keySet()) { + config.set(s, attribute.get(s).get(player)); + } + config.set("inv", invstr); + if (playerManager.getRaxenPlayer(player).getStorage() != null) { + if (playerManager.getRaxenPlayer(player).getStorage().getEc() != null) { + EnderChest ec = playerManager + .getRaxenPlayer(player) + .getStorage() + .getEc(); + List list = new ArrayList(); + reverse = 0; + for (ItemStack it : ec.getEc()) { + reverse += 1; + if (it != null) { + String s = Items.itemStackSerialize(it, reverse); + list.add(s); + } + } + String ecstr = Items.listItemStackSerialize(list); + config.set("ec", ecstr); + } + } + try { + config.save( + main.getDataFolder() + + "/playerInfo/" + + player.getUniqueId() + + "/" + + "playerInfo.yml" + ); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * load player stuff from mongo db + * @param player + */ + public void loadUsingMongoDB(@NotNull Player player) { + Document playerDoc = mongoCollection + .find(Filters.eq("uuid", player.getUniqueId().toString())) + .first(); + if (playerDoc == null) { + debug(main, "Intiatilising Data for Player: " + player.getName()); + playerManager.getRaxenPlayer(player).createNewAttribute(); + playerManager.getRaxenPlayer(player).createStorage(); + playerManager.getRaxenPlayer(player).createInventory(); + PlayerUtils.updateSkills(main, player); + return; + } + debug(main, "Loading " + player.getName() + "'s data!"); + attributes.setAttributes( + player, + playerDoc.getInteger("MAX_HEALTH"), + playerDoc.getInteger("HEALTH"), + playerDoc.getInteger("ITEM_HEALTH"), + playerDoc.getInteger("DEFENSE"), + playerDoc.getInteger("ITEM_DEFENSE"), + playerDoc.getInteger("SPEED"), + playerDoc.getInteger("ITEM_SPEED"), + playerDoc.getInteger("STRENGTH"), + playerDoc.getInteger("ITEM_STRENGTH"), + playerDoc.getInteger("MAX_MANA"), + playerDoc.getInteger("MANA"), + playerDoc.getInteger("ITEM_MANA"), + playerDoc.getInteger("LUCK"), + playerDoc.getInteger("ITEM_LUCK") + ); + Inventory ec = Bukkit.createInventory( + null, + 54, + Component.text("Ender Chest") + ); + if (playerDoc.getString("ec") != null) { + debug(main, "Loading " + player.getName() + "'s storage."); + ec = + setItemsToInventory( + mapItemStackDeserialize(playerDoc.getString("ec")), + ec + ); + } + playerManager.getRaxenPlayer(player).setStorage(ec); + PlayerInventory inv = player.getInventory(); + inv = + setItemsToInventory( + listItemStackDeserialize(playerDoc.getString("inv")), + inv + ); + player.getInventory().setContents(inv.getContents()); + player.updateInventory(); + me.unurled.raxen.components.entity.player.storages.Inventory invv = + new me.unurled.raxen.components.entity.player.storages.Inventory(inv); + Inventories invvv = new Inventories(invv); + playerManager.getRaxenPlayer(player).setInventory(inv); + PlayerUtils.updateSkills(main, player); + } + + /** + * load player stuff from yml + * @param player + * @throws IOException + */ + public void loadUsingYml(Player player) throws IOException { + FileConfiguration config = sto.createYml(player); + attributes.setAttributes( + player, + config.getInt("maxHealth"), + config.getInt("health"), + config.getInt("itemHealth"), + config.getInt("defense"), + config.getInt("itemDefense"), + config.getInt("speed"), + config.getInt("itemSpeed"), + config.getInt("strength"), + config.getInt("itemStrength"), + config.getInt("maxMana"), + config.getInt("mana"), + config.getInt("itemMana"), + config.getInt("luck"), + config.getInt("itemLuck") + ); + Inventory ec = Bukkit.createInventory( + null, + 54, + Component.text("Ender Chest") + ); + if ((String) config.get("ec") != null) { + ec = + setItemsToInventory( + mapItemStackDeserialize((String) config.get("ec")), + ec + ); + } + EnderChest ecc = new EnderChest(ec); + Storage storage = new Storage(ecc); + playerManager.getRaxenPlayer(player).setStorage(ec); + PlayerInventory inv = (PlayerInventory) Bukkit.createInventory( + player, + InventoryType.PLAYER + ); + inv = + setItemsToInventory( + listItemStackDeserialize((String) config.getString("inv")), + inv + ); + player.getInventory().setContents(inv.getContents()); + player.updateInventory(); + me.unurled.raxen.components.entity.player.storages.Inventory invv = + new me.unurled.raxen.components.entity.player.storages.Inventory(inv); + Inventories invvv = new Inventories(invv); + playerManager.getRaxenPlayer(player).setInventory(inv); + } + + /** + * saves player stuff + * @param player + */ + public void savePlayerConfig(@NotNull Player player) { + Attributes attributes = new Attributes(main); + PlayerInventory inv = player.getInventory(); + + List listInv = new ArrayList(); + Integer reverse = 0; + for (ItemStack it : inv) { + reverse = reverse + 1; + if (it != null && it.getType() != Material.AIR) { + String s = Items.itemStackSerialize(it, reverse); + listInv.add(s); + } + } + String invstr = Items.itemStackSer(inv); + debug(main, "saving..."); + String storage = sto.getConfig().getString("storage"); + Integer finalReverse = reverse; + String finalInvstr = invstr; + new BukkitRunnable() { + @Override + public void run() { + saveUsingMongoDB(player, attributes, finalInvstr, finalReverse); + } + } + .runTaskAsynchronously(main); + debug(main, "using mongo"); + if (storage == "MYSQL" || storage == "YML") { + String finalInvstr1 = invstr; + Integer finalReverse1 = reverse; + new BukkitRunnable() { + @Override + public void run() { + saveUsingYml(player, attributes, finalInvstr1, finalReverse1); + } + } + .runTaskAsynchronously(main); + debug(main, "using yml"); } - /** - * closes mongo connection - */ - public void close() { - mongoDB.close(); - } + debug(main, "Player: " + player.getName() + " data successfully saved!"); + } - /** - * save players stuff to mongo db - * @param player - * @param attributes - * @param invstr - * @param reverse - */ - public void saveUsingMongoDB(@NotNull Player player, Attributes attributes, String invstr, Integer reverse) { - debug(main, "Saving " + player.getName() + "'s data!"); - Document doc = new Document("uuid", player.getUniqueId().toString()) - .append("name", player.getName()) - .append("inv", invstr); - HashMap attribute = main.getManager().getPlayerManager().getAttribute(); - for (String s : attribute.keySet()) { - debug("saving " + s); - doc.append(s, attribute.get(s).get(player)); + /** + * load player stuff + * @param player + */ + public void loadPlayerConfig(Player player) { + String st = StorageManager.getConfig().getString("storage"); + String value = ""; + if (st.equals("MONGODB")) { + new BukkitRunnable() { + @Override + public void run() { + loadUsingMongoDB(player); } - if (playerManager.getRaxenPlayer(player).getStorage() != null) { - if(playerManager.getRaxenPlayer(player).getStorage().getEc() != null) { - debug(main, "Saving " + player.getName() + "'s storage!"); - EnderChest ec = playerManager.getRaxenPlayer(player).getStorage().getEc(); - List list = new ArrayList(); - reverse = 0; - for(ItemStack it : ec.getEc()) { - if(it != null && it.getType() != Material.AIR) { - String s = Items.itemStackSerialize(it, reverse); - list.add(s); - } - reverse += 1; - } - String ecstr = Items.listItemStackSerialize(list); - doc.append("ec", ecstr); - } - } - Document playerDoc = mongoCollection.find(Filters.eq("uuid", player.getUniqueId().toString())).first(); - if(playerDoc == null) { - mongoCollection.insertOne(doc); - debug(main, "insert one"); - } - else { - mongoCollection.replaceOne(Filters.eq("uuid", player.getUniqueId().toString()), doc); - debug(main, "replace one"); - } - } - - /** - * save players stuff to yml - * @param player - * @param attributes - * @param invstr - * @param reverse - */ - public void saveUsingYml(Player player, Attributes attributes, String invstr, Integer reverse) { - FileConfiguration config = sto.createYml(player); - config.set("name", player.getName()); - HashMap attribute = main.getManager().getPlayerManager().getAttribute(); - for (String s : attribute.keySet()) { - config.set(s, attribute.get(s).get(player)); - } - config.set("inv", invstr); - if (playerManager.getRaxenPlayer(player).getStorage() != null) { - if(playerManager.getRaxenPlayer(player).getStorage().getEc() != null) { - EnderChest ec = playerManager.getRaxenPlayer(player).getStorage().getEc(); - List list = new ArrayList(); - reverse = 0; - for(ItemStack it : ec.getEc()) { - reverse += 1; - if(it != null) { - String s = Items.itemStackSerialize(it, reverse); - list.add(s); - } - } - String ecstr = Items.listItemStackSerialize(list); - config.set("ec", ecstr); - } - } - try { - config.save(main.getDataFolder() + "/playerInfo/" + player.getUniqueId() + "/" + "playerInfo.yml"); - } catch (IOException e) { + } + .runTaskAsynchronously(main); + value = "mongodb"; + } else { + value = "yml"; + new BukkitRunnable() { + @Override + public void run() { + try { + loadUsingYml(player); + } catch (IOException e) { e.printStackTrace(); + } } + } + .runTaskAsynchronously(main); } - - /** - * load player stuff from mongo db - * @param player - */ - public void loadUsingMongoDB(@NotNull Player player) { - Document playerDoc = mongoCollection.find(Filters.eq("uuid", player.getUniqueId().toString())).first(); - if(playerDoc == null) { - debug(main, "Intiatilising Data for Player: " + player.getName()); - playerManager.getRaxenPlayer(player).createNewAttribute(); - playerManager.getRaxenPlayer(player).createStorage(); - playerManager.getRaxenPlayer(player).createInventory(); - PlayerUtils.updateSkills(main, player); - return; - } - debug(main, "Loading " + player.getName() + "'s data!"); - attributes.setAttributes(player, playerDoc.getInteger("MAX_HEALTH"), playerDoc.getInteger("HEALTH"), playerDoc.getInteger("ITEM_HEALTH"), - playerDoc.getInteger("DEFENSE"), playerDoc.getInteger("ITEM_DEFENSE"), - playerDoc.getInteger("SPEED"), playerDoc.getInteger("ITEM_SPEED"), - playerDoc.getInteger("STRENGTH"), playerDoc.getInteger("ITEM_STRENGTH"), - playerDoc.getInteger("MAX_MANA"), playerDoc.getInteger("MANA"), playerDoc.getInteger("ITEM_MANA"), - playerDoc.getInteger("LUCK"), playerDoc.getInteger("ITEM_LUCK")); - Inventory ec = Bukkit.createInventory(null, 54, Component.text("Ender Chest")); - if(playerDoc.getString("ec") != null) { - debug(main, "Loading " + player.getName() + "'s storage."); - ec = setItemsToInventory(mapItemStackDeserialize(playerDoc.getString("ec")), ec); - } - playerManager.getRaxenPlayer(player).setStorage(ec); - PlayerInventory inv = player.getInventory(); - inv = setItemsToInventory(listItemStackDeserialize(playerDoc.getString("inv")), inv); - player.getInventory().setContents(inv.getContents()); - player.updateInventory(); - me.unurled.raxen.components.entity.player.storages.Inventory invv = new me.unurled.raxen.components.entity.player.storages.Inventory(inv); - Inventories invvv = new Inventories(invv); - playerManager.getRaxenPlayer(player).setInventory(inv); - PlayerUtils.updateSkills(main, player); - } - - /** - * load player stuff from yml - * @param player - * @throws IOException - */ - public void loadUsingYml(Player player) throws IOException { - FileConfiguration config = sto.createYml(player); - attributes.setAttributes(player, config.getInt("maxHealth"), config.getInt("health"), config.getInt("itemHealth"), - config.getInt("defense"), config.getInt("itemDefense"), - config.getInt("speed"), config.getInt("itemSpeed"), - config.getInt("strength"), config.getInt("itemStrength"), - config.getInt("maxMana"), config.getInt("mana"), config.getInt("itemMana"), - config.getInt("luck"), config.getInt("itemLuck")); - Inventory ec = Bukkit.createInventory(null, 54, Component.text("Ender Chest")); - if((String) config.get("ec") != null) { - ec = setItemsToInventory(mapItemStackDeserialize((String) config.get("ec")), ec); - } - EnderChest ecc = new EnderChest(ec); - Storage storage = new Storage(ecc); - playerManager.getRaxenPlayer(player).setStorage(ec); - PlayerInventory inv = (PlayerInventory) Bukkit.createInventory(player, InventoryType.PLAYER); - inv = setItemsToInventory(listItemStackDeserialize((String) config.getString("inv")), inv); - player.getInventory().setContents(inv.getContents()); - player.updateInventory(); - me.unurled.raxen.components.entity.player.storages.Inventory invv = new me.unurled.raxen.components.entity.player.storages.Inventory(inv); - Inventories invvv = new Inventories(invv); - playerManager.getRaxenPlayer(player).setInventory(inv); - } - - /** - * saves player stuff - * @param player - */ - public void savePlayerConfig(@NotNull Player player) { - Attributes attributes = new Attributes(main); - PlayerInventory inv = player.getInventory(); - - List listInv = new ArrayList(); - Integer reverse = 0; - for(ItemStack it : inv) { - reverse = reverse + 1; - if(it != null && it.getType() != Material.AIR) { - String s = Items.itemStackSerialize(it, reverse); - listInv.add(s); - } - } - String invstr= Items.itemStackSer(inv); - debug(main, "saving..."); - String storage = sto.getConfig().getString("storage"); - Integer finalReverse = reverse; - String finalInvstr = invstr; - new BukkitRunnable() { - @Override - public void run() { - saveUsingMongoDB(player, attributes, finalInvstr, finalReverse); - } - }.runTaskAsynchronously(main); - debug(main, "using mongo"); - if (storage == "MYSQL" || storage == "YML") { - String finalInvstr1 = invstr; - Integer finalReverse1 = reverse; - new BukkitRunnable() { - @Override - public void run() { - saveUsingYml(player, attributes, finalInvstr1, finalReverse1); - } - }.runTaskAsynchronously(main); - debug(main, "using yml"); - } - - debug(main, "Player: " + player.getName() + " data successfully saved!"); - } - - /** - * load player stuff - * @param player - */ - public void loadPlayerConfig(Player player) { - String st = StorageManager.getConfig().getString("storage"); - String value = ""; - if (st.equals("MONGODB")) { - new BukkitRunnable() { - @Override - public void run() { - loadUsingMongoDB(player); - } - }.runTaskAsynchronously(main); - value = "mongodb"; - } else { - value = "yml"; - new BukkitRunnable() { - @Override - public void run() { - try { - loadUsingYml(player); - } catch (IOException e) { - e.printStackTrace(); - } - } - }.runTaskAsynchronously(main); - } - debug(main, "Player: " + player.getName() + " data successfully loaded using " + value); - } - + debug( + main, + "Player: " + player.getName() + " data successfully loaded using " + value + ); + } } diff --git a/src/main/java/me/unurled/raxen/listener/entity/DamageEntity.java b/src/main/java/me/unurled/raxen/listener/entity/DamageEntity.java index 0daf4b1..4ee5186 100644 --- a/src/main/java/me/unurled/raxen/listener/entity/DamageEntity.java +++ b/src/main/java/me/unurled/raxen/listener/entity/DamageEntity.java @@ -1,5 +1,8 @@ package me.unurled.raxen.listener.entity; +import static me.unurled.raxen.utils.Utils.debug; + +import java.util.Objects; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.other.EntityNamespacedKey; import me.unurled.raxen.manager.entity.PlayerManager; @@ -15,116 +18,154 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; -import java.util.Objects; - -import static me.unurled.raxen.utils.Utils.debug; - public class DamageEntity implements Listener { - private Raxen main; - private EntityNamespacedKey entityNamespacedKey; + private Raxen main; + private EntityNamespacedKey entityNamespacedKey; - public DamageEntity(Raxen main) { - this.main = main; - this.entityNamespacedKey = new EntityNamespacedKey(main); - } + public DamageEntity(Raxen main) { + this.main = main; + this.entityNamespacedKey = new EntityNamespacedKey(main); + } - /** - * fired when an entity is damaged by another entity - * calculates the damage and apply it to the entity - * @param e - */ - @EventHandler - public void entityDamageByEntity(EntityDamageByEntityEvent e) { - if (!(e.getEntity() instanceof LivingEntity) || !(e.getDamager() instanceof LivingEntity)) { - debug("Not Living Entity, Some block falling shit or block entities"); + /** + * fired when an entity is damaged by another entity + * calculates the damage and apply it to the entity + * @param e + */ + @EventHandler + public void entityDamageByEntity(EntityDamageByEntityEvent e) { + if ( + !(e.getEntity() instanceof LivingEntity) || + !(e.getDamager() instanceof LivingEntity) + ) { + debug("Not Living Entity, Some block falling shit or block entities"); + } else { + e.setDamage(0); + Integer damage = 1; + Integer strength = 0; + Integer itemStrength = 0; + Integer defense = 0; + Integer itemDefense = 0; + Integer health = 0; + Integer itemHealth = 0; + Integer initDamage = 0; + PlayerManager pm = + ( + (Raxen) Objects.requireNonNull( + Bukkit.getPluginManager().getPlugin("Raxen") + ) + ).getManager() + .getPlayerManager(); + debug( + main, + e.getEntity().getName(), + e.getEntity().getType().toString(), + e.getDamager().getType().toString(), + e.getDamager().getName() + ); + if (e.getDamager() instanceof Player playerDamager) { + strength = pm.getStrength().get(playerDamager); + itemStrength = pm.getItemStrength().get(playerDamager); + } else { + Entity entityDamager = e.getDamager(); + PersistentDataContainer data = + entityDamager.getPersistentDataContainer(); + if ( + data.has(entityNamespacedKey.strength, PersistentDataType.INTEGER) + ) { + strength = + data.get(entityNamespacedKey.strength, PersistentDataType.INTEGER); + } + itemStrength = + pm.getItemStrength().getItem((LivingEntity) entityDamager); + } + if (e.getEntity() instanceof Player playerVictim) { + me.unurled.raxen.components.entity.player.attributes.Attributes attributes = + new me.unurled.raxen.components.entity.player.attributes.Attributes( + main + ); + defense = pm.getDefense().get(playerVictim); + health = pm.getHealth().get(playerVictim); + itemDefense = pm.getItemDefense().get(playerVictim); + itemHealth = pm.getItemHealth().get(playerVictim); + } else { + Entity entityVictim = e.getEntity(); + PersistentDataContainer data = + entityVictim.getPersistentDataContainer(); + if (data.has(entityNamespacedKey.defense, PersistentDataType.INTEGER)) { + defense = + data.get(entityNamespacedKey.defense, PersistentDataType.INTEGER); + } + if (data.has(entityNamespacedKey.health, PersistentDataType.INTEGER)) { + health = + data.get(entityNamespacedKey.health, PersistentDataType.INTEGER); + } + itemDefense = pm.getItemDefense().getItem((LivingEntity) entityVictim); + itemHealth = pm.getItemHealth().getItem((LivingEntity) entityVictim); + } + debug( + main, + initDamage.toString(), + itemDefense.toString(), + strength.toString() + ); + initDamage = (5 + itemStrength) * (1 + (strength / 100)); + damage = initDamage; + defense = defense + itemDefense; + debug(main, String.valueOf(damage)); + defense = defense / (defense + 100); + debug(main, String.valueOf(damage)); + debug(main, String.valueOf(defense)); + Integer health_with_defense = health * (1 + (defense / 100)); + debug(main, String.valueOf(damage)); + debug(main, String.valueOf(health)); + debug(main, String.valueOf(health_with_defense)); + if (damage >= health_with_defense) { + debug(main, "Killed entity normally."); + e.setDamage( + Objects + .requireNonNull( + e + .getEntity() + .getType() + .getDefaultAttributes() + .getAttribute(Attribute.GENERIC_MAX_HEALTH) + ) + .getDefaultValue() + ); + } else { + debug(main, "Applying damage to entity."); + if (defense == 0) { + health = health_with_defense - damage; } else { - e.setDamage(0); - Integer damage = 1; - Integer strength = 0; - Integer itemStrength = 0; - Integer defense = 0; - Integer itemDefense = 0; - Integer health = 0; - Integer itemHealth = 0; - Integer initDamage = 0; - PlayerManager pm = ((Raxen) Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen"))).getManager().getPlayerManager(); - debug(main, e.getEntity().getName(), e.getEntity().getType().toString(), e.getDamager().getType().toString(), e.getDamager().getName()); - if (e.getDamager() instanceof Player playerDamager) { - strength = pm.getStrength().get(playerDamager); - itemStrength = pm.getItemStrength().get(playerDamager); - } else { - Entity entityDamager = e.getDamager(); - PersistentDataContainer data = entityDamager.getPersistentDataContainer(); - if (data.has(entityNamespacedKey.strength, PersistentDataType.INTEGER)) { - strength = data.get(entityNamespacedKey.strength, PersistentDataType.INTEGER); - } - itemStrength = pm.getItemStrength().getItem((LivingEntity) entityDamager); - } - if (e.getEntity() instanceof Player playerVictim) { - me.unurled.raxen.components.entity.player.attributes.Attributes attributes = new me.unurled.raxen.components.entity.player.attributes.Attributes(main); - defense = pm.getDefense().get(playerVictim); - health = pm.getHealth().get(playerVictim); - itemDefense = pm.getItemDefense().get(playerVictim); - itemHealth = pm.getItemHealth().get(playerVictim); - } else { - Entity entityVictim = e.getEntity(); - PersistentDataContainer data = entityVictim.getPersistentDataContainer(); - if (data.has(entityNamespacedKey.defense, PersistentDataType.INTEGER)) { - defense = data.get(entityNamespacedKey.defense, PersistentDataType.INTEGER); - } - if (data.has(entityNamespacedKey.health, PersistentDataType.INTEGER)) { - health = data.get(entityNamespacedKey.health, PersistentDataType.INTEGER); - } - itemDefense = pm.getItemDefense().getItem((LivingEntity) entityVictim); - itemHealth = pm.getItemHealth().getItem((LivingEntity) entityVictim); - } - debug(main, initDamage.toString(), itemDefense.toString(), strength.toString()); - initDamage = (5+ itemStrength) * (1+ (strength/100)); - damage = initDamage; - defense = defense + itemDefense; - debug(main, String.valueOf(damage)); - defense = defense/(defense+100); - debug(main, String.valueOf(damage)); - debug(main, String.valueOf(defense)); - Integer health_with_defense = health * (1+ (defense/100)); - debug(main, String.valueOf(damage)); - debug(main, String.valueOf(health)); - debug(main, String.valueOf(health_with_defense)); - if (damage >= health_with_defense) { - debug(main, "Killed entity normally."); - e.setDamage(Objects.requireNonNull(e.getEntity().getType().getDefaultAttributes().getAttribute(Attribute.GENERIC_MAX_HEALTH)).getDefaultValue()); - } else { - debug(main, "Applying damage to entity."); - if (defense == 0) { - health = health_with_defense - damage; - } else { - health = health_with_defense - health - damage; - } - if (e.getEntity() instanceof Player playerVictim) { - me.unurled.raxen.components.entity.player.attributes.Attributes attributes = new me.unurled.raxen.components.entity.player.attributes.Attributes(main); - pm.getHealth().set(playerVictim, health); - playerVictim.setHealth(health.doubleValue()/5); - } else { - Entity entityVictim = e.getEntity(); - pm.getHealth().set(entityVictim, health); - } - debug(main, health.toString()); - } + health = health_with_defense - health - damage; } - } - - /** - * damage made by blocks on entity - * @param e - */ - @EventHandler - public void entityDamageByBlock(EntityDamageByBlockEvent e) { - e.setDamage(0); - if (e.getEntity() instanceof Player) { - Player player = (Player) e.getEntity(); - - + if (e.getEntity() instanceof Player playerVictim) { + me.unurled.raxen.components.entity.player.attributes.Attributes attributes = + new me.unurled.raxen.components.entity.player.attributes.Attributes( + main + ); + pm.getHealth().set(playerVictim, health); + playerVictim.setHealth(health.doubleValue() / 5); + } else { + Entity entityVictim = e.getEntity(); + pm.getHealth().set(entityVictim, health); } + debug(main, health.toString()); + } } + } + + /** + * damage made by blocks on entity + * @param e + */ + @EventHandler + public void entityDamageByBlock(EntityDamageByBlockEvent e) { + e.setDamage(0); + if (e.getEntity() instanceof Player) { + Player player = (Player) e.getEntity(); + } + } } diff --git a/src/main/java/me/unurled/raxen/listener/entity/SpawnEvent.java b/src/main/java/me/unurled/raxen/listener/entity/SpawnEvent.java index d582d8f..a2e9fbd 100644 --- a/src/main/java/me/unurled/raxen/listener/entity/SpawnEvent.java +++ b/src/main/java/me/unurled/raxen/listener/entity/SpawnEvent.java @@ -1,5 +1,7 @@ package me.unurled.raxen.listener.entity; +import static me.unurled.raxen.utils.Utils.debug; + import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.other.EntityNamespacedKey; import me.unurled.raxen.components.entity.other.EntityUtils; @@ -11,36 +13,54 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.EntitySpawnEvent; import org.bukkit.persistence.PersistentDataType; -import static me.unurled.raxen.utils.Utils.debug; - public class SpawnEvent implements Listener { - private Raxen main; - private EntityUtils entityUtils; - private EntityNamespacedKey namespacedKey; + private Raxen main; + private EntityUtils entityUtils; + private EntityNamespacedKey namespacedKey; - public SpawnEvent(Raxen main) { - this.main = main; - this.entityUtils = new EntityUtils(main); - this.namespacedKey = new EntityNamespacedKey(main); - } + public SpawnEvent(Raxen main) { + this.main = main; + this.entityUtils = new EntityUtils(main); + this.namespacedKey = new EntityNamespacedKey(main); + } - /** - * when a new entity spawns - * adds all persistent data container - * @param e - */ - @EventHandler - public void Spawn(EntitySpawnEvent e) { - if (e.getEntity() instanceof Player) { - //player stuff dont want to talk about it; already doing it in player join event - debug(main, "Player: " + ((Player) e.getEntity()).getName()); - } else if (e.getEntity().getType() != EntityType.DROPPED_ITEM && e.getEntity().getType() != EntityType.FALLING_BLOCK) { - debug(main, e.getEntity().getName()); - if (!e.getEntity().getPersistentDataContainer().has(namespacedKey.name, PersistentDataType.STRING)) { - entityUtils.setNameSpacedKeys(e.getEntity(), e.getEntityType().name(), 1, 10, 0, 50, 0, 100, 0, 100, 0); - } - entityUtils.updateSkills((LivingEntity) e.getEntity()); - } + /** + * when a new entity spawns + * adds all persistent data container + * @param e + */ + @EventHandler + public void Spawn(EntitySpawnEvent e) { + if (e.getEntity() instanceof Player) { + //player stuff dont want to talk about it; already doing it in player join event + debug(main, "Player: " + ((Player) e.getEntity()).getName()); + } else if ( + e.getEntity().getType() != EntityType.DROPPED_ITEM && + e.getEntity().getType() != EntityType.FALLING_BLOCK + ) { + debug(main, e.getEntity().getName()); + if ( + !e + .getEntity() + .getPersistentDataContainer() + .has(namespacedKey.name, PersistentDataType.STRING) + ) { + entityUtils.setNameSpacedKeys( + e.getEntity(), + e.getEntityType().name(), + 1, + 10, + 0, + 50, + 0, + 100, + 0, + 100, + 0 + ); + } + entityUtils.updateSkills((LivingEntity) e.getEntity()); } + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/ArmorEvent.java b/src/main/java/me/unurled/raxen/listener/player/ArmorEvent.java index c58e92c..e206c0b 100644 --- a/src/main/java/me/unurled/raxen/listener/player/ArmorEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/ArmorEvent.java @@ -16,57 +16,56 @@ import org.bukkit.inventory.ItemStack; public class ArmorEvent implements Listener { - private Raxen main; + private Raxen main; - public ArmorEvent(Raxen main) { - this.main = main; + public ArmorEvent(Raxen main) { + this.main = main; + } + + /** + * when player changes armor, calculates new stats for player and setting it + * @param e + */ + @EventHandler + public void ArmorChangeEvent(PlayerArmorChangeEvent e) { + Player player = e.getPlayer(); + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + Entity entity = player; + Attributes attributes = new Attributes(main); + if (e.getOldItem() != null && e.getOldItem().getType() != Material.AIR) { + ItemStack oldItem = e.getOldItem(); + NBTItem nbti = new NBTItem(oldItem); + if (nbti.hasTag("SPEED")) { + pm.getSpeed().remove(entity, nbti.getInteger("SPEED")); + } + if (nbti.hasTag("HEALTH")) { + pm.getHealth().remove(entity, nbti.getInteger("HEALTH")); + } + if (nbti.hasTag("DEFENSE")) { + pm.getDefense().remove(entity, nbti.getInteger("DEFENSE")); + } + if (nbti.hasTag("STRENGTH")) { + pm.getStrength().remove(entity, nbti.getInteger("STRENGTH")); + } } - - /** - * when player changes armor, calculates new stats for player and setting it - * @param e - */ - @EventHandler - public void ArmorChangeEvent(PlayerArmorChangeEvent e) { - Player player = e.getPlayer(); - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - Entity entity = player; - Attributes attributes = new Attributes(main); - if(e.getOldItem() != null && e.getOldItem().getType() != Material.AIR) { - ItemStack oldItem = e.getOldItem(); - NBTItem nbti = new NBTItem(oldItem); - if(nbti.hasTag("SPEED")) { - pm.getSpeed().remove(entity, nbti.getInteger("SPEED")); - } - if(nbti.hasTag("HEALTH")) { - pm.getHealth().remove(entity, nbti.getInteger("HEALTH")); - } - if(nbti.hasTag("DEFENSE")) { - pm.getDefense().remove(entity, nbti.getInteger("DEFENSE")); - - } - if(nbti.hasTag("STRENGTH")) { - pm.getStrength().remove(entity, nbti.getInteger("STRENGTH")); - } - } - if(e.getNewItem() != null && e.getNewItem().getType() != Material.AIR) { - ItemStack newItem = e.getNewItem(); - NBTItem nbti = new NBTItem(newItem); - if(nbti.hasTag("SPEED")) { - pm.getSpeed().add(entity, nbti.getInteger("SPEED")); - } - if(nbti.hasTag("HEALTH")) { - pm.getHealth().add(entity, nbti.getInteger("HEALTH")); - - } - if(nbti.hasTag("DEFENSE")) { - pm.getDefense().add(entity, nbti.getInteger("DEFENSE")); - - } - if(nbti.hasTag("STRENGTH")) { - pm.getStrength().add(entity, nbti.getInteger("STRENGTH")); - } - } - PlayerUtils.updateSkills(main, player); + if (e.getNewItem() != null && e.getNewItem().getType() != Material.AIR) { + ItemStack newItem = e.getNewItem(); + NBTItem nbti = new NBTItem(newItem); + if (nbti.hasTag("SPEED")) { + pm.getSpeed().add(entity, nbti.getInteger("SPEED")); + } + if (nbti.hasTag("HEALTH")) { + pm.getHealth().add(entity, nbti.getInteger("HEALTH")); + } + if (nbti.hasTag("DEFENSE")) { + pm.getDefense().add(entity, nbti.getInteger("DEFENSE")); + } + if (nbti.hasTag("STRENGTH")) { + pm.getStrength().add(entity, nbti.getInteger("STRENGTH")); + } } + PlayerUtils.updateSkills(main, player); + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/ClickBlockEvent.java b/src/main/java/me/unurled/raxen/listener/player/ClickBlockEvent.java index f7b442c..e495502 100644 --- a/src/main/java/me/unurled/raxen/listener/player/ClickBlockEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/ClickBlockEvent.java @@ -13,31 +13,31 @@ import org.bukkit.inventory.Inventory; public class ClickBlockEvent implements Listener { - private Raxen main; - private GUI gui; + private Raxen main; + private GUI gui; - public ClickBlockEvent(Raxen main) { - this.main = main; - this.gui = new GUI(main); - } + public ClickBlockEvent(Raxen main) { + this.main = main; + this.gui = new GUI(main); + } - /** - * use with guis - * @param e - */ - @EventHandler - public void ClickEvent(PlayerInteractEvent e) { - Player player = e.getPlayer(); - Block block = e.getClickedBlock(); - Action action = e.getAction(); - if (action.isRightClick()) { - if (block != null) { - if (block.getType() == Material.CHEST) { - player.closeInventory(); - Inventory inv = gui.addItems(player); - player.openInventory(inv); - } - } + /** + * use with guis + * @param e + */ + @EventHandler + public void ClickEvent(PlayerInteractEvent e) { + Player player = e.getPlayer(); + Block block = e.getClickedBlock(); + Action action = e.getAction(); + if (action.isRightClick()) { + if (block != null) { + if (block.getType() == Material.CHEST) { + player.closeInventory(); + Inventory inv = gui.addItems(player); + player.openInventory(inv); } + } } + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/CloseInventoryEvent.java b/src/main/java/me/unurled/raxen/listener/player/CloseInventoryEvent.java index 386a0bb..8bb1e86 100644 --- a/src/main/java/me/unurled/raxen/listener/player/CloseInventoryEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/CloseInventoryEvent.java @@ -1,5 +1,7 @@ package me.unurled.raxen.listener.player; +import static me.unurled.raxen.utils.Utils.log; + import me.unurled.raxen.Raxen; import me.unurled.raxen.manager.entity.PlayerManager; import net.kyori.adventure.text.Component; @@ -9,24 +11,24 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryCloseEvent; -import static me.unurled.raxen.utils.Utils.log; - public class CloseInventoryEvent implements Listener { - private PlayerManager playerManager; + private PlayerManager playerManager; - /** - * save enderchest/storage when player close - * @param e - */ - @EventHandler - public void InventoryCloseEvent(InventoryCloseEvent e) { - Player player = (Player) e.getPlayer(); - Component title = e.getView().title(); - if (title.toString().contains("Ender Chest")) { - playerManager = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - playerManager.getRaxenPlayer(player).setStorage(e.getInventory()); - } - log(player.getName() + " " + title.toString()); + /** + * save enderchest/storage when player close + * @param e + */ + @EventHandler + public void InventoryCloseEvent(InventoryCloseEvent e) { + Player player = (Player) e.getPlayer(); + Component title = e.getView().title(); + if (title.toString().contains("Ender Chest")) { + playerManager = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + playerManager.getRaxenPlayer(player).setStorage(e.getInventory()); } + log(player.getName() + " " + title.toString()); + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/InteractEvent.java b/src/main/java/me/unurled/raxen/listener/player/InteractEvent.java index 2512f67..bf0e025 100644 --- a/src/main/java/me/unurled/raxen/listener/player/InteractEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/InteractEvent.java @@ -8,11 +8,12 @@ import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; public class InteractEvent implements Listener { - @EventHandler - public void PlayerInteractEvent(PlayerInteractEvent e) { -// Player p = e.getPlayer(); -// if (e.hasItem()) { -// ItemStack i = e.getItem(); -// } - } + + @EventHandler + public void PlayerInteractEvent(PlayerInteractEvent e) { + // Player p = e.getPlayer(); + // if (e.hasItem()) { + // ItemStack i = e.getItem(); + // } + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/ItemHandEvent.java b/src/main/java/me/unurled/raxen/listener/player/ItemHandEvent.java index 13ba41d..77e4b29 100644 --- a/src/main/java/me/unurled/raxen/listener/player/ItemHandEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/ItemHandEvent.java @@ -1,6 +1,9 @@ package me.unurled.raxen.listener.player; +import static me.unurled.raxen.utils.Utils.debug; + import de.tr7zw.nbtapi.NBTItem; +import java.lang.reflect.InvocationTargetException; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.Attributes.Attribute; import me.unurled.raxen.components.entity.player.PlayerUtils; @@ -15,55 +18,52 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerItemHeldEvent; import org.bukkit.inventory.ItemStack; -import java.lang.reflect.InvocationTargetException; - -import static me.unurled.raxen.utils.Utils.debug; - public class ItemHandEvent implements Listener { - private Raxen main; + private Raxen main; - public ItemHandEvent(Raxen main) { - this.main = main; - } + public ItemHandEvent(Raxen main) { + this.main = main; + } - /** - * when player have something in hand, change and add new stats - * @param e - */ - @EventHandler - public void ItemHeldEvent(PlayerItemHeldEvent e) { - Player player = e.getPlayer(); - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - Entity entity = player; - Attributes attributes = new Attributes(main); - ItemStack oldItem = player.getInventory().getItem(e.getPreviousSlot()); - ItemStack newItem = player.getInventory().getItem(e.getNewSlot()); - if(oldItem != null && oldItem.getType() != Material.AIR) { - NBTItem nbti = new NBTItem(oldItem); - for (String s : Attributes.getNameList()) { - if (nbti.hasTag(s.toUpperCase())) { - java.lang.reflect.Method method = null; - try { - method = pm.getClass().getMethod("getItem" + s); - } catch (SecurityException | NoSuchMethodException exception) { - - } - if (method != null) { - me.unurled.raxen.components.entity.Attributes.Attribute attribute = null; - try { - attribute = (Attribute) method.invoke(pm, null); - } catch (InvocationTargetException | IllegalAccessException exception) { - - } - if (attribute != null) { - attribute.remove(player, nbti.getInteger(s.toUpperCase())); - debug("removed " + s + " for player " + player.getName()); - } - } - } + /** + * when player have something in hand, change and add new stats + * @param e + */ + @EventHandler + public void ItemHeldEvent(PlayerItemHeldEvent e) { + Player player = e.getPlayer(); + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + Entity entity = player; + Attributes attributes = new Attributes(main); + ItemStack oldItem = player.getInventory().getItem(e.getPreviousSlot()); + ItemStack newItem = player.getInventory().getItem(e.getNewSlot()); + if (oldItem != null && oldItem.getType() != Material.AIR) { + NBTItem nbti = new NBTItem(oldItem); + for (String s : Attributes.getNameList()) { + if (nbti.hasTag(s.toUpperCase())) { + java.lang.reflect.Method method = null; + try { + method = pm.getClass().getMethod("getItem" + s); + } catch (SecurityException | NoSuchMethodException exception) {} + if (method != null) { + me.unurled.raxen.components.entity.Attributes.Attribute attribute = + null; + try { + attribute = (Attribute) method.invoke(pm, (Object) null); + } catch ( + InvocationTargetException | IllegalAccessException ignored + ) {} + if (attribute != null) { + attribute.remove(player, nbti.getInteger(s.toUpperCase())); + debug("removed " + s + " for player " + player.getName()); } - /*if(nbti.hasTag("SPEED")) { + } + } + } + /*if(nbti.hasTag("SPEED")) { pm.getItemSpeed().remove(player, nbti.getInteger("SPEED")); } if(nbti.hasTag("HEALTH")) { @@ -75,32 +75,31 @@ public class ItemHandEvent implements Listener { if(nbti.hasTag("STRENGTH")) { pm.getItemStrength().remove(player, nbti.getInteger("STRENGTH")); }*/ - } - if(newItem != null && newItem.getType() != Material.AIR) { - NBTItem nbti = new NBTItem(newItem); - for (String s : Attributes.getNameList()) { - if (nbti.hasTag(s.toUpperCase())) { - java.lang.reflect.Method method = null; - try { - method = pm.getClass().getMethod("getItem" + s); - } catch (SecurityException | NoSuchMethodException exception) { - - } - if (method != null) { - me.unurled.raxen.components.entity.Attributes.Attribute attribute = null; - try { - attribute = (Attribute) method.invoke(pm, null); - } catch (InvocationTargetException | IllegalAccessException exception) { - - } - if (attribute != null) { - attribute.add(player, nbti.getInteger(s.toUpperCase())); - debug("add " + s + " for player " + player.getName()); - } - } - } + } + if (newItem != null && newItem.getType() != Material.AIR) { + NBTItem nbti = new NBTItem(newItem); + for (String s : Attributes.getNameList()) { + if (nbti.hasTag(s.toUpperCase())) { + java.lang.reflect.Method method = null; + try { + method = pm.getClass().getMethod("getItem" + s); + } catch (SecurityException | NoSuchMethodException exception) {} + if (method != null) { + me.unurled.raxen.components.entity.Attributes.Attribute attribute = + null; + try { + attribute = (Attribute) method.invoke(pm, (Object) null); + } catch ( + InvocationTargetException | IllegalAccessException ignored + ) {} + if (attribute != null) { + attribute.add(player, nbti.getInteger(s.toUpperCase())); + debug("add " + s + " for player " + player.getName()); } - /* if(nbti.hasTag("SPEED")) { + } + } + } + /* if(nbti.hasTag("SPEED")) { pm.getItemSpeed().add(player, nbti.getInteger("SPEED")); } if(nbti.hasTag("HEALTH")) { @@ -114,7 +113,7 @@ public class ItemHandEvent implements Listener { if(nbti.hasTag("STRENGTH")) { pm.getItemStrength().add(player, nbti.getInteger("STRENGTH")); }*/ - } - PlayerUtils.updateSkills(main, player); } + PlayerUtils.updateSkills(main, player); + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/JoinEvent.java b/src/main/java/me/unurled/raxen/listener/player/JoinEvent.java index 1970c43..28ff198 100644 --- a/src/main/java/me/unurled/raxen/listener/player/JoinEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/JoinEvent.java @@ -13,33 +13,33 @@ import org.bukkit.event.player.PlayerJoinEvent; public class JoinEvent implements Listener { - private Raxen main; - private PlayerConfig playerConfig; - private Scoreboard scoreboard; - private ResourcePack resourcePack; - private PlayerManager playerManager; + private Raxen main; + private PlayerConfig playerConfig; + private Scoreboard scoreboard; + private ResourcePack resourcePack; + private PlayerManager playerManager; - public JoinEvent(Raxen main) { - this.main = main; - this.playerConfig = main.getPlayerConfig(); - this.scoreboard = new Scoreboard(main); - this.resourcePack = main.getManager().getResourcePackManager().getResourcePack(); - this.playerManager = main.getManager().getPlayerManager(); - } - - /** - * when player joins, load from config all stats - * @param e - */ - @EventHandler - public void PlayerJoinEvent(PlayerJoinEvent e) { - Player player = e.getPlayer(); - playerConfig.loadPlayerConfig(player); - scoreboard.createScorebord(player); - resourcePack.join(player); - playerManager.getRaxenPlayer(player).isRaxenPlayer(true); - playerManager.registerActionBar(player); - PlayerUtils.updateSkills(main, player); - } + public JoinEvent(Raxen main) { + this.main = main; + this.playerConfig = main.getPlayerConfig(); + this.scoreboard = new Scoreboard(main); + this.resourcePack = + main.getManager().getResourcePackManager().getResourcePack(); + this.playerManager = main.getManager().getPlayerManager(); + } + /** + * when player joins, load from config all stats + * @param e + */ + @EventHandler + public void PlayerJoinEvent(PlayerJoinEvent e) { + Player player = e.getPlayer(); + playerConfig.loadPlayerConfig(player); + scoreboard.createScorebord(player); + resourcePack.join(player); + playerManager.getRaxenPlayer(player).isRaxenPlayer(true); + playerManager.registerActionBar(player); + PlayerUtils.updateSkills(main, player); + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/LeaveEvent.java b/src/main/java/me/unurled/raxen/listener/player/LeaveEvent.java index 0767d63..ab1ec46 100644 --- a/src/main/java/me/unurled/raxen/listener/player/LeaveEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/LeaveEvent.java @@ -1,5 +1,6 @@ package me.unurled.raxen.listener.player; +import java.io.IOException; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.player.PlayerUtils; import me.unurled.raxen.config.PlayerConfig; @@ -9,29 +10,26 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerQuitEvent; -import java.io.IOException; - public class LeaveEvent implements Listener { - private final PlayerConfig playerConfig; - private PlayerManager playerManager; + private final PlayerConfig playerConfig; + private PlayerManager playerManager; - public LeaveEvent(Raxen main) { - this.playerConfig = main.getPlayerConfig(); - this.playerManager = main.getManager().getPlayerManager(); + public LeaveEvent(Raxen main) { + this.playerConfig = main.getPlayerConfig(); + this.playerManager = main.getManager().getPlayerManager(); + } - } - - /** - * when player leaves, saves everything - * @param e - * @throws IOException - */ - @EventHandler - public void PlayerLeaveEvent(PlayerQuitEvent e) throws IOException { - Player player = e.getPlayer(); - playerConfig.savePlayerConfig(player); - playerManager.getRaxenPlayer(player).isRaxenPlayer(false); - playerManager.unRegisterActionBar(player); - } + /** + * when player leaves, saves everything + * @param e + * @throws IOException + */ + @EventHandler + public void PlayerLeaveEvent(PlayerQuitEvent e) throws IOException { + Player player = e.getPlayer(); + playerConfig.savePlayerConfig(player); + playerManager.getRaxenPlayer(player).isRaxenPlayer(false); + playerManager.unRegisterActionBar(player); + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/PortalEvent.java b/src/main/java/me/unurled/raxen/listener/player/PortalEvent.java index bf12557..b58cd53 100644 --- a/src/main/java/me/unurled/raxen/listener/player/PortalEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/PortalEvent.java @@ -1,5 +1,8 @@ package me.unurled.raxen.listener.player; +import static me.unurled.raxen.utils.DungeonUtils.isInRange; +import static me.unurled.raxen.utils.DungeonUtils.whichIsInRange; + import me.unurled.raxen.components.dungeons.Gate; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -7,21 +10,18 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityPortalEnterEvent; -import static me.unurled.raxen.utils.DungeonUtils.isInRange; -import static me.unurled.raxen.utils.DungeonUtils.whichIsInRange; - public class PortalEvent implements Listener { - @EventHandler - public void PortalE(EntityPortalEnterEvent e) { - if (e.getEntity() instanceof Player) { - Player p = (Player) e.getEntity(); - Location loc = e.getLocation(); - // if loc is in range - if (isInRange(loc)) { - Gate g = whichIsInRange(loc); - //g.t - } - } + @EventHandler + public void PortalE(EntityPortalEnterEvent e) { + if (e.getEntity() instanceof Player) { + Player p = (Player) e.getEntity(); + Location loc = e.getLocation(); + // if loc is in range + if (isInRange(loc)) { + Gate g = whichIsInRange(loc); + //g.t + } } + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/RespawnEvent.java b/src/main/java/me/unurled/raxen/listener/player/RespawnEvent.java index 78c807e..0899488 100644 --- a/src/main/java/me/unurled/raxen/listener/player/RespawnEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/RespawnEvent.java @@ -1,5 +1,7 @@ package me.unurled.raxen.listener.player; +import static me.unurled.raxen.utils.Utils.msgPlayer; + import me.unurled.raxen.Raxen; import me.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.Bukkit; @@ -8,14 +10,18 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerRespawnEvent; -import static me.unurled.raxen.utils.Utils.msgPlayer; - public class RespawnEvent implements Listener { - @EventHandler - public void PlayerRespawnEvent(PlayerRespawnEvent e) { - Player p = e.getPlayer(); - PlayerManager pm = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); - pm.getHealth().set(p, pm.getMaxHealth().get(p)); - msgPlayer(p, "You have been killed. You lost something deep in you..."); - } + + @EventHandler + public void PlayerRespawnEvent(PlayerRespawnEvent e) { + Player p = e.getPlayer(); + PlayerManager pm = + ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager() + .getPlayerManager(); + pm.getHealth().set(p, pm.getMaxHealth().get(p)); + msgPlayer( + p, + "You have been killed. You lost something deep in you..." + ); + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/ServerPingEvent.java b/src/main/java/me/unurled/raxen/listener/player/ServerPingEvent.java index f79ee49..46672c3 100644 --- a/src/main/java/me/unurled/raxen/listener/player/ServerPingEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/ServerPingEvent.java @@ -1,5 +1,7 @@ package me.unurled.raxen.listener.player; +import static me.unurled.raxen.utils.Utils.colorTextComp; + import lombok.Getter; import lombok.Setter; import me.unurled.raxen.Raxen; @@ -8,33 +10,32 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.server.ServerListPingEvent; -import static me.unurled.raxen.utils.Utils.colorTextComp; - public class ServerPingEvent implements Listener { - private Raxen main; - @Getter - @Setter - private boolean loading = false; + private Raxen main; - public ServerPingEvent(Raxen main) { - this.main = main; - this.loading = true; - } + @Getter + @Setter + private boolean loading = false; - /** - * set the motd - * @param e - */ - @EventHandler - public void ServerListPingEvent(ServerListPingEvent e) { - FileConfiguration config = this.main.getConfig(); - String motd = config.getString("motd"); - String motdReload = config.getString("motd-reload"); - if (loading) { - e.motd(colorTextComp(motdReload)); - } else { - e.motd(colorTextComp(motd)); - } + public ServerPingEvent(Raxen main) { + this.main = main; + this.loading = true; + } + + /** + * set the motd + * @param e + */ + @EventHandler + public void ServerListPingEvent(ServerListPingEvent e) { + FileConfiguration config = this.main.getConfig(); + String motd = config.getString("motd"); + String motdReload = config.getString("motd-reload"); + if (loading) { + e.motd(colorTextComp(motdReload)); + } else { + e.motd(colorTextComp(motd)); } + } } diff --git a/src/main/java/me/unurled/raxen/listener/player/TransactionEvent.java b/src/main/java/me/unurled/raxen/listener/player/TransactionEvent.java index f0d1896..3081e41 100644 --- a/src/main/java/me/unurled/raxen/listener/player/TransactionEvent.java +++ b/src/main/java/me/unurled/raxen/listener/player/TransactionEvent.java @@ -10,25 +10,25 @@ import org.bukkit.event.Listener; public class TransactionEvent implements Listener { - private Raxen main; - private Scoreboard scoreboard; - private Vault vault; + private Raxen main; + private Scoreboard scoreboard; + private Vault vault; - public TransactionEvent(Raxen main) { - this.main = main; - this.scoreboard = new Scoreboard(main); - this.vault = main.getManager().getLibsManager().getVault(); - } + public TransactionEvent(Raxen main) { + this.main = main; + this.scoreboard = new Scoreboard(main); + this.vault = main.getManager().getLibsManager().getVault(); + } - /** - * set scoreboard when money changes - * @param e - */ - @EventHandler - public void transaction(net.essentialsx.api.v2.events.TransactionEvent e) { - Player player = Bukkit.getPlayer(e.getTarget().getName()); - Player source = e.getRequester().getPlayer(); - scoreboard.updateScoreboardTransaction(player); - scoreboard.updateScoreboardTransaction(source); - } + /** + * set scoreboard when money changes + * @param e + */ + @EventHandler + public void transaction(net.essentialsx.api.v2.events.TransactionEvent e) { + Player player = Bukkit.getPlayer(e.getTarget().getName()); + Player source = e.getRequester().getPlayer(); + scoreboard.updateScoreboardTransaction(player); + scoreboard.updateScoreboardTransaction(source); + } } diff --git a/src/main/java/me/unurled/raxen/manager/Manager.java b/src/main/java/me/unurled/raxen/manager/Manager.java index a02bf53..32240c0 100644 --- a/src/main/java/me/unurled/raxen/manager/Manager.java +++ b/src/main/java/me/unurled/raxen/manager/Manager.java @@ -12,48 +12,60 @@ import me.unurled.raxen.utils.libs.Multiverse; */ public class Manager { - @Getter - private WorldManager worldManager; - @Getter - private StorageManager storageManager; - @Getter - private PlayerManager playerManager; - @Getter - private ListenerManager listenerManager; - @Getter - private CommandManager commandManager; - @Getter - private ItemManager itemManager; - @Getter - private ResourcePackManager resourcePackManager; - @Getter - private EntityManager entityManager; - @Getter - private LootManager lootManager; - @Getter - private LibsManager libsManager; - @Getter private DungeonsManager dungeonsManager; + @Getter + private WorldManager worldManager; - @Getter private Multiverse multiverse; + @Getter + private StorageManager storageManager; - /** - * Create an instance of all managers. - * @param main Raxen - */ - public void set(Raxen main) { - libsManager = new LibsManager(main); - multiverse = new Multiverse(); + @Getter + private PlayerManager playerManager; - worldManager = new WorldManager(main); - storageManager = new StorageManager(main); + @Getter + private ListenerManager listenerManager; - itemManager = new ItemManager(main); - playerManager = new PlayerManager(main); - listenerManager = new ListenerManager(main); - commandManager = new CommandManager(main); - resourcePackManager = new ResourcePackManager(main); - entityManager = new EntityManager(main); - lootManager = new LootManager(main); - dungeonsManager = new DungeonsManager(main); - } + @Getter + private CommandManager commandManager; + + @Getter + private ItemManager itemManager; + + @Getter + private ResourcePackManager resourcePackManager; + + @Getter + private EntityManager entityManager; + + @Getter + private LootManager lootManager; + + @Getter + private LibsManager libsManager; + + @Getter + private DungeonsManager dungeonsManager; + + @Getter + private Multiverse multiverse; + + /** + * Create an instance of all managers. + * @param main Raxen + */ + public void set(Raxen main) { + libsManager = new LibsManager(main); + multiverse = new Multiverse(); + + worldManager = new WorldManager(main); + storageManager = new StorageManager(main); + + itemManager = new ItemManager(main); + playerManager = new PlayerManager(main); + listenerManager = new ListenerManager(main); + commandManager = new CommandManager(main); + resourcePackManager = new ResourcePackManager(main); + entityManager = new EntityManager(main); + lootManager = new LootManager(main); + dungeonsManager = new DungeonsManager(main); + } } diff --git a/src/main/java/me/unurled/raxen/manager/entity/EntityManager.java b/src/main/java/me/unurled/raxen/manager/entity/EntityManager.java index 66b162c..cd36ac5 100644 --- a/src/main/java/me/unurled/raxen/manager/entity/EntityManager.java +++ b/src/main/java/me/unurled/raxen/manager/entity/EntityManager.java @@ -1,5 +1,11 @@ package me.unurled.raxen.manager.entity; +import static me.unurled.raxen.utils.Utils.debug; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; import lombok.Getter; import lombok.Setter; import me.unurled.raxen.Raxen; @@ -9,42 +15,33 @@ import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; - -import static me.unurled.raxen.utils.Utils.debug; - public class EntityManager { - private Raxen main; + private Raxen main; - @Getter - @Setter - public List list = new ArrayList<>(); + @Getter + @Setter + public List list = new ArrayList<>(); - public HashMap entities = new HashMap<>(); + public HashMap entities = + new HashMap<>(); - public HashMap livingEntities = new HashMap<>(); + public HashMap livingEntities = new HashMap<>(); - public EntityManager(Raxen main) { - this.main = main; - } + public EntityManager(Raxen main) { + this.main = main; + } - public void registerLivingEntities(World world) { - - } - - /** - * used to register entities using fileconfigs but rapidly abandoned - * @param file - */ - @Deprecated - public void registerEntityFromConfig(FileConfiguration file) { - debug(file.getString("id")); - World world = Bukkit.getWorld(file.getString("world")); - String name = file.getString("name"); - } + public void registerLivingEntities(World world) {} + /** + * used to register entities using fileconfigs but rapidly abandoned + * @param file + */ + @Deprecated + public void registerEntityFromConfig(FileConfiguration file) { + debug(file.getString("id")); + World world = Bukkit.getWorld(file.getString("world")); + String name = file.getString("name"); + } } diff --git a/src/main/java/me/unurled/raxen/manager/entity/ItemManager.java b/src/main/java/me/unurled/raxen/manager/entity/ItemManager.java index d48b52c..07eb1dd 100644 --- a/src/main/java/me/unurled/raxen/manager/entity/ItemManager.java +++ b/src/main/java/me/unurled/raxen/manager/entity/ItemManager.java @@ -1,12 +1,22 @@ package me.unurled.raxen.manager.entity; +import static me.unurled.raxen.utils.Utils.*; + import de.tr7zw.nbtapi.NBTItem; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.items.NBT; import me.unurled.raxen.components.items.custom.Item; import me.unurled.raxen.utils.Utils; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TextComponent; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.InvalidConfigurationException; @@ -16,108 +26,122 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.jetbrains.annotations.NotNull; -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import static me.unurled.raxen.utils.Utils.*; - public class ItemManager { - private final Raxen main; - @Getter - private HashMap list = new HashMap<>(); - private NBT nbt = new NBT(); + private final Raxen main; - public ItemManager(Raxen main) { - this.main = main; - // register(); - registerItem(); + @Getter + private HashMap list = new HashMap<>(); + + private NBT nbt = new NBT(); + + public ItemManager(Raxen main) { + this.main = main; + // register(); + registerItem(); + } + + /** + * register manually all item in Raxen + */ + private void registerItem() { + me.unurled.raxen.components.items.custom.List lisst = + new me.unurled.raxen.components.items.custom.List(main); + for (Item items : lisst.getItems()) { + registerItem(items.getItem()); } + } - /** - * register manually all item in Raxen - */ - private void registerItem() { - me.unurled.raxen.components.items.custom.List lisst = new me.unurled.raxen.components.items.custom.List(main); - for (Item items : lisst.getItems()) { - registerItem(items.getItem()); + /** + * Old system to register all items in the /items/ folder + */ + @Deprecated + private void register() { + File folder = new File(main.getDataFolder() + "/Items/"); + File[] listFile = folder.listFiles(); + + for (int i = 0; i < listFile.length; i++) { + if (listFile[i].isFile()) { + FileConfiguration customItem = new YamlConfiguration(); + try { + customItem.load(listFile[i]); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); } - } - - /** - * Old system to register all items in the /items/ folder - */ - @Deprecated - private void register() { - File folder = new File(main.getDataFolder() + "/Items/"); - File[] listFile = folder.listFiles(); - - for (int i = 0; i < listFile.length; i++) { - if (listFile[i].isFile()) { - FileConfiguration customItem = new YamlConfiguration(); - try { - customItem.load(listFile[i]); - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - registerItem(customItem); - } else if (listFile[i].isDirectory()) { - for (int a = 0; a < listFile[i].listFiles().length; a++) { - if(listFile[i].listFiles()[a].isFile()) { - FileConfiguration customItem = new YamlConfiguration(); - try { - customItem.load(listFile[i].listFiles()[a]); - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - registerItem(customItem); - } else if (listFile[i].listFiles()[a].isDirectory()) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Can't use more than 2 folder to get Items.yml"); - } - - } + registerItem(customItem); + } else if (listFile[i].isDirectory()) { + for (int a = 0; a < listFile[i].listFiles().length; a++) { + if (listFile[i].listFiles()[a].isFile()) { + FileConfiguration customItem = new YamlConfiguration(); + try { + customItem.load(listFile[i].listFiles()[a]); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); } + registerItem(customItem); + } else if (listFile[i].listFiles()[a].isDirectory()) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Can't use more than 2 folder to get Items.yml" + ); + } } + } } + } - /** - * Old system to register for a file config an item inside. - * @param file - */ - @Deprecated - private void registerItem(@NotNull FileConfiguration file) { - debug(main, file.getString("id")); - ItemStack it = new ItemStack(Objects.requireNonNull(Material.getMaterial((String) Objects.requireNonNull(file.get("id"))))); - ItemMeta itm = it.getItemMeta(); - itm.displayName(colorTextComp((String) file.get("name"))); - List lore = ((List) Objects.requireNonNull(file.get("lore"))).stream().map(Utils::colorTextComp).collect(Collectors.toList()); - itm.setCustomModelData(Objects.requireNonNull(file.getConfigurationSection("Pack")).getInt("custom_model_data")); - itm.lore(lore); - it.setItemMeta(itm); - NBTItem nbti = new NBTItem(it); - nbti.setInteger(NBT.SPEED, file.getInt("speed")); - nbti.setInteger(NBT.HEALTH, file.getInt("health")); - nbti.setInteger(NBT.DEFENSE, file.getInt("defense")); - nbti.setInteger(NBT.STRENGTH, file.getInt("strength")); - nbti.setString(NBT.ID, file.getString("customId")); - nbti.setString(NBT.CUSTOM_ABILITY, file.getString("custom_ability")); - nbti.setDouble(NBT.DROP_RATE, file.getDouble("drop_rate")); - it = nbti.getItem(); - //it = setLoreFromNBT(it); deprecated - list.put(file.getString("customId"), it); + /** + * Old system to register for a file config an item inside. + * @param file + */ + @Deprecated + private void registerItem(@NotNull FileConfiguration file) { + debug(main, file.getString("id")); + ItemStack it = new ItemStack( + Objects.requireNonNull( + Material.getMaterial((String) Objects.requireNonNull(file.get("id"))) + ) + ); + ItemMeta itm = it.getItemMeta(); + itm.displayName(colorTextComp((String) file.get("name"))); + Object lore_obj = file.get("lore"); + if (lore_obj instanceof List lore) { + List lores = new ArrayList<>(); + for (Object s : lore) { + if (s == null) continue; + if (s instanceof String) { + TextComponent textComponent = colorTextComp((String) s); + lores.add(textComponent); + } + } + itm.lore(lores); } + itm.setCustomModelData( + Objects + .requireNonNull(file.getConfigurationSection("Pack")) + .getInt("custom_model_data") + ); + it.setItemMeta(itm); + NBTItem nbti = new NBTItem(it); + nbti.setInteger(NBT.SPEED, file.getInt("speed")); + nbti.setInteger(NBT.HEALTH, file.getInt("health")); + nbti.setInteger(NBT.DEFENSE, file.getInt("defense")); + nbti.setInteger(NBT.STRENGTH, file.getInt("strength")); + nbti.setString(NBT.ID, file.getString("customId")); + nbti.setString(NBT.CUSTOM_ABILITY, file.getString("custom_ability")); + nbti.setDouble(NBT.DROP_RATE, file.getDouble("drop_rate")); + it = nbti.getItem(); + //it = setLoreFromNBT(it); deprecated + list.put(file.getString("customId"), it); + } - /** - * register Item into the custom item list - * Need that the Itm is already set with custom nbt! - * @param itm an ItemStack with already set custom nbt using NBTapi - */ - public void registerItem(ItemStack itm) { - NBTItem it = new NBTItem(itm); - list.put(it.getString("ID"), itm); - } + /** + * register Item into the custom item list + * Need that the Itm is already set with custom nbt! + * @param itm an ItemStack with already set custom nbt using NBTapi + */ + public void registerItem(ItemStack itm) { + NBTItem it = new NBTItem(itm); + list.put(it.getString("ID"), itm); + } } diff --git a/src/main/java/me/unurled/raxen/manager/entity/LootManager.java b/src/main/java/me/unurled/raxen/manager/entity/LootManager.java index 7e87bbc..919d573 100644 --- a/src/main/java/me/unurled/raxen/manager/entity/LootManager.java +++ b/src/main/java/me/unurled/raxen/manager/entity/LootManager.java @@ -1,20 +1,18 @@ package me.unurled.raxen.manager.entity; +import java.util.List; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.lootchest.loots.LootItem; -import java.util.List; - public class LootManager { - private Raxen main; - @Getter - private List lootTable; + private Raxen main; + @Getter + private List lootTable; - public LootManager(Raxen main) { - this.main = main; - } - + public LootManager(Raxen main) { + this.main = main; + } } diff --git a/src/main/java/me/unurled/raxen/manager/entity/PlayerManager.java b/src/main/java/me/unurled/raxen/manager/entity/PlayerManager.java index 95c1445..126cd40 100644 --- a/src/main/java/me/unurled/raxen/manager/entity/PlayerManager.java +++ b/src/main/java/me/unurled/raxen/manager/entity/PlayerManager.java @@ -1,5 +1,9 @@ package me.unurled.raxen.manager.entity; +import static me.unurled.raxen.utils.Utils.*; + +import java.util.HashMap; +import java.util.UUID; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.Attributes.*; @@ -11,205 +15,223 @@ import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; -import java.util.HashMap; -import java.util.UUID; - -import static me.unurled.raxen.utils.Utils.*; - public class PlayerManager { - private final Raxen main; - private final HashMap actionBar = new HashMap<>(); - // TODO: player classes - private final HashMap classes = new HashMap<>(); - @Getter - private final HashMap attribute = new HashMap<>(); + private final Raxen main; + private final HashMap actionBar = new HashMap<>(); + // TODO: player classes + private final HashMap classes = new HashMap<>(); + @Getter + private final HashMap attribute = + new HashMap<>(); - private Classes classesRegister; + private Classes classesRegister; - // Attributes - private Defense defense; - private Health health; - private ItemDefense itemDefense; - private ItemHealth itemHealth; - private ItemLuck itemLuck; - private ItemMana itemMana; - private ItemSpeed itemSpeed; - private ItemStrength itemStrength; - private Luck luck; - private Mana mana; - private MaxHealth maxHealth; - private MaxMana maxMana; - private Speed speed; - private Strength strength; + // Attributes + private Defense defense; + private Health health; + private ItemDefense itemDefense; + private ItemHealth itemHealth; + private ItemLuck itemLuck; + private ItemMana itemMana; + private ItemSpeed itemSpeed; + private ItemStrength itemStrength; + private Luck luck; + private Mana mana; + private MaxHealth maxHealth; + private MaxMana maxMana; + private Speed speed; + private Strength strength; - public PlayerManager(Raxen main) { - this.main = main; - registerAttributes(); + public PlayerManager(Raxen main) { + this.main = main; + registerAttributes(); + } + + public RaxenPlayer getRaxenPlayer(Player player) { + return new RaxenPlayer(main, player); + } + + /** + * add a task to the player action bar. + * @param player + */ + public void registerActionBar(Player player) { + PlayerManager pm = main.getManager().getPlayerManager(); + BukkitTask task = new BukkitRunnable() { + @Override + public void run() { + player.sendActionBar( + colorComp( + "" + + pm.getHealth().get(player) + + "/" + + pm.getMaxHealth().get(player) + + "❤ " + + pm.getMana().get(player) + + "/" + + pm.getMaxMana().get(player) + + "" + ) + ); + } } - - public RaxenPlayer getRaxenPlayer(Player player) { - return new RaxenPlayer(main, player); + .runTaskTimerAsynchronously(main, 10, 20); + if (actionBar.containsKey(player.getUniqueId())) { + actionBar.replace(player.getUniqueId(), task); + } else { + actionBar.put(player.getUniqueId(), task); } + } - /** - * add a task to the player action bar. - * @param player - */ - public void registerActionBar(Player player) { - PlayerManager pm = main.getManager().getPlayerManager(); - BukkitTask task = new BukkitRunnable() { - @Override - public void run() { - player.sendActionBar(colorComp("" + pm.getHealth().get(player) + "/" + - pm.getMaxHealth().get(player) + "❤ " + pm.getMana().get(player) + "/" + - pm.getMaxMana().get(player) + "")); - } - }.runTaskTimerAsynchronously(main, 10, 20); - if(actionBar.containsKey(player.getUniqueId())) { - actionBar.replace(player.getUniqueId(), task); - } else { - actionBar.put(player.getUniqueId(), task); - } + /** + * removes the task of action bar to player + * @param player + */ + public void unRegisterActionBar(Player player) { + if (actionBar.containsKey(player.getUniqueId())) { + BukkitTask task = actionBar.get(player.getUniqueId()); + task.cancel(); + actionBar.remove(player.getUniqueId()); + } else { + debug( + colorTextComp( + "Player " + + player.getName() + + " didn't have any Action Bar" + + player.getUniqueId().toString() + + "" + ) + ); } + } - /** - * removes the task of action bar to player - * @param player - */ - public void unRegisterActionBar(Player player) { - if(actionBar.containsKey(player.getUniqueId())) { - BukkitTask task = actionBar.get(player.getUniqueId()); - task.cancel(); - actionBar.remove(player.getUniqueId()); - } else { - debug(colorTextComp("Player " + player.getName() + " didn't have any Action Bar" + player.getUniqueId().toString() + "")); - } - } + public void unRegisterRaxenPlayer(Player player) {} - public void unRegisterRaxenPlayer(Player player) { - } + /** + * getClasses + * @return the classes HashMap + */ + public HashMap getClasses() { + return classes; + } - /** - * getClasses - * @return the classes HashMap - */ - public HashMap getClasses() { - return classes; - } + /** + * add @param to hashmap of classes + * @param clas a class instance + * @param id the id of the class + */ + public void addClasses(Class clas, String id) { + classes.put(id, clas); + } - /** - * add @param to hashmap of classes - * @param clas a class instance - * @param id the id of the class - */ - public void addClasses(Class clas, String id) { - classes.put(id, clas); - } + /** + * register all Attributes in me.unurled.raxen.components.entity.Attributes; + */ + public void registerAttributes() { + EntityNamespacedKey key = new EntityNamespacedKey(main); - /** - * register all Attributes in me.unurled.raxen.components.entity.Attributes; - */ - public void registerAttributes() { - EntityNamespacedKey key = new EntityNamespacedKey(main); + this.defense = new Defense(key.defense, "DEFENSE"); + attribute.put("DEFENSE", defense); - this.defense = new Defense(key.defense, "DEFENSE"); - attribute.put("DEFENSE", defense); + this.health = new Health(key.health, "HEALTH"); + attribute.put("HEALTH", health); - this.health = new Health(key.health, "HEALTH"); - attribute.put("HEALTH", health); + this.itemDefense = new ItemDefense(key.itemDefense, "ITEM_DEFENSE"); + attribute.put("ITEM_DEFENSE", itemDefense); - this.itemDefense = new ItemDefense(key.itemDefense, "ITEM_DEFENSE"); - attribute.put("ITEM_DEFENSE", itemDefense); + this.itemHealth = new ItemHealth(key.itemHealth, "ITEM_HEALTH"); + attribute.put("ITEM_HEALTH", itemHealth); - this.itemHealth = new ItemHealth(key.itemHealth, "ITEM_HEALTH"); - attribute.put("ITEM_HEALTH", itemHealth); + this.itemLuck = new ItemLuck(key.itemLuck, "ITEM_LUCK"); + attribute.put("ITEM_LUCK", itemLuck); - this.itemLuck = new ItemLuck(key.itemLuck, "ITEM_LUCK"); - attribute.put("ITEM_LUCK", itemLuck); + this.itemMana = new ItemMana(key.itemMana, "ITEM_MANA"); + attribute.put("ITEM_MANA", itemMana); - this.itemMana = new ItemMana(key.itemMana, "ITEM_MANA"); - attribute.put("ITEM_MANA", itemMana); + this.itemSpeed = new ItemSpeed(key.itemSpeed, "ITEM_SPEED"); + attribute.put("ITEM_SPEED", itemSpeed); - this.itemSpeed = new ItemSpeed(key.itemSpeed, "ITEM_SPEED"); - attribute.put("ITEM_SPEED", itemSpeed); + this.itemStrength = new ItemStrength(key.itemStrength, "ITEM_STRENGTH"); + attribute.put("ITEM_STRENGTH", itemStrength); - this.itemStrength = new ItemStrength(key.itemStrength, "ITEM_STRENGTH"); - attribute.put("ITEM_STRENGTH", itemStrength); + this.luck = new Luck(key.luck, "LUCK"); + attribute.put("LUCK", luck); - this.luck = new Luck(key.luck, "LUCK"); - attribute.put("LUCK", luck); + this.mana = new Mana(key.mana, "MANA"); + attribute.put("MANA", mana); - this.mana = new Mana(key.mana, "MANA"); - attribute.put("MANA", mana); + this.maxMana = + new MaxManaBuilder() + .setNamespacekey(key.maxMana) + .setName("MAX_MANA") + .createMaxMana(); + attribute.put("MAX_MANA", maxMana); - this.maxMana = new MaxManaBuilder().setNamespacekey(key.maxMana).setName("MAX_MANA").createMaxMana(); - attribute.put("MAX_MANA", maxMana); + this.maxHealth = new MaxHealth(key.maxHealth, "MAX_HEALTH"); + attribute.put("MAX_HEALTH", maxHealth); - this.maxHealth = new MaxHealth(key.maxHealth, "MAX_HEALTH"); - attribute.put("MAX_HEALTH", maxHealth); + this.speed = new Speed(key.speed, "SPEED"); + attribute.put("SPEED", speed); - this.speed = new Speed(key.speed, "SPEED"); - attribute.put("SPEED", speed); + this.strength = new Strength(key.strength, "STRENGTH"); + attribute.put("STRENGTH", strength); + } - this.strength = new Strength(key.strength, "STRENGTH"); - attribute.put("STRENGTH", strength); - } + public Defense getDefense() { + return (Defense) attribute.get("DEFENSE"); + } - public Defense getDefense() { - return (Defense) attribute.get("DEFENSE"); - } + public Health getHealth() { + return (Health) attribute.get("HEALTH"); + } - public Health getHealth() { - return (Health) attribute.get("HEALTH"); - } + public ItemDefense getItemDefense() { + return (ItemDefense) attribute.get("ITEM_DEFENSE"); + } - public ItemDefense getItemDefense() { - return (ItemDefense) attribute.get("ITEM_DEFENSE"); - } + public ItemHealth getItemHealth() { + return (ItemHealth) attribute.get("ITEM_HEALTH"); + } - public ItemHealth getItemHealth() { - return (ItemHealth) attribute.get("ITEM_HEALTH"); - } + public ItemLuck getItemLuck() { + return (ItemLuck) attribute.get("ITEM_LUCK"); + } - public ItemLuck getItemLuck() { - return (ItemLuck) attribute.get("ITEM_LUCK"); - } + public ItemMana getItemMana() { + return (ItemMana) attribute.get("ITEM_MANA"); + } - public ItemMana getItemMana() { - return (ItemMana) attribute.get("ITEM_MANA"); - } + public ItemSpeed getItemSpeed() { + return (ItemSpeed) attribute.get("ITEM_SPEED"); + } - public ItemSpeed getItemSpeed() { - return (ItemSpeed) attribute.get("ITEM_SPEED"); - } + public ItemStrength getItemStrength() { + return (ItemStrength) attribute.get("ITEM_STRENGTH"); + } - public ItemStrength getItemStrength() { - return (ItemStrength) attribute.get("ITEM_STRENGTH"); - } + public Luck getLuck() { + return (Luck) attribute.get("LUCK"); + } - public Luck getLuck() { - return (Luck) attribute.get("LUCK"); - } + public Mana getMana() { + return (Mana) attribute.get("MANA"); + } - public Mana getMana() { - return (Mana) attribute.get("MANA"); - } + public MaxMana getMaxMana() { + return (MaxMana) attribute.get("MAX_MANA"); + } - public MaxMana getMaxMana() { - return (MaxMana) attribute.get("MAX_MANA"); - } + public MaxHealth getMaxHealth() { + return (MaxHealth) attribute.get("MAX_HEALTH"); + } - public MaxHealth getMaxHealth() { - return (MaxHealth) attribute.get("MAX_HEALTH"); - } + public Speed getSpeed() { + return (Speed) attribute.get("SPEED"); + } - public Speed getSpeed() { - return (Speed) attribute.get("SPEED"); - } - - public Strength getStrength() { - return (Strength) attribute.get("STRENGTH"); - } + public Strength getStrength() { + return (Strength) attribute.get("STRENGTH"); + } } diff --git a/src/main/java/me/unurled/raxen/manager/entity/StorageManager.java b/src/main/java/me/unurled/raxen/manager/entity/StorageManager.java index 6608f77..5a858e2 100644 --- a/src/main/java/me/unurled/raxen/manager/entity/StorageManager.java +++ b/src/main/java/me/unurled/raxen/manager/entity/StorageManager.java @@ -1,5 +1,10 @@ package me.unurled.raxen.manager.entity; +import static me.unurled.raxen.utils.Utils.debug; +import static me.unurled.raxen.utils.Utils.error; + +import java.io.File; +import java.io.IOException; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.utils.libs.MongoDB; @@ -11,156 +16,164 @@ import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; -import java.io.File; -import java.io.IOException; - -import static me.unurled.raxen.utils.Utils.debug; -import static me.unurled.raxen.utils.Utils.error; - public class StorageManager { - private static Raxen main; - @Getter - private static FileConfiguration config; + private static Raxen main; - @Getter - private static MongoDB mongodb; - @Getter - private static Mysql mysql; + @Getter + private static FileConfiguration config; - public StorageManager(Raxen main) { - this.main = main; - this.config = main.getConfig(); - this.connect(); + @Getter + private static MongoDB mongodb; + + @Getter + private static Mysql mysql; + + public StorageManager(Raxen main) { + this.main = main; + this.config = main.getConfig(); + this.connect(); + } + + /** + * Connects to the storage system (MONGO, YML, MYSQL (not implemented)) + */ + public static void connect() { + String s = (String) config.get("storage"); + debug(main, s); + mongodb = main.getManager().getLibsManager().getMongoDB(); + if (s.equalsIgnoreCase("MONGODB")) { + mongodb.connect(); + debug(main, "'" + s + "'"); + } else if (s.equalsIgnoreCase("MYSQL")) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Currently not implemented, switching to YML" + ); + debug(main, "'" + s + "'"); + } else { + debug(main, "'" + s + "'"); + } + } + + /** + * disconnect mysql db + */ + public static void disconnect() { + mysql.disconnect(); + } + + /** + * create a new yml for the player + * @param player + * @return the created yml + */ + public static @NotNull FileConfiguration createYml(@NotNull Player player) { + File customFile; + FileConfiguration customConfig; + customFile = + new File( + main.getDataFolder() + "/playerInfo/" + player.getUniqueId(), + "/playerInfo.yml" + ); + + if (!customFile.exists()) { + customFile.getParentFile().mkdirs(); + try { + customFile.createNewFile(); + } catch (IOException e) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Error in Storage Manager saving new File." + ); + e.printStackTrace(); + } } - /** - * Connects to the storage system (MONGO, YML, MYSQL (not implemented)) - */ - public static void connect() { - String s = (String) config.get("storage"); - debug(main, s); - mongodb = main.getManager().getLibsManager().getMongoDB(); - if(s.equalsIgnoreCase("MONGODB")) { - mongodb.connect(); - debug(main, "'" + s + "'"); - } else if(s.equalsIgnoreCase("MYSQL")) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Currently not implemented, switching to YML"); - debug(main, "'" + s + "'"); - } else { - debug(main, "'" + s + "'"); - } + customConfig = new YamlConfiguration(); + try { + customConfig.load(customFile); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); } - - /** - * disconnect mysql db - */ - public static void disconnect() { - mysql.disconnect(); + if (customConfig.get("uuid") == null) { + customConfig.set("uuid", player.getUniqueId().toString()); + customConfig.set("name", player.getName()); + customConfig.set("health", 100); + customConfig.set("itemHealth", 0); + customConfig.set("defense", 50); + customConfig.set("itemDefense", 0); + customConfig.set("speed", 100); + customConfig.set("itemSpeed", 0); + customConfig.set("strength", 100); + customConfig.set("itemDmg", 0); + customConfig.set("inv", ""); + customConfig.set("ec", ""); + try { + customConfig.save(customFile); + } catch (IOException e) { + e.printStackTrace(); + } } + return customConfig; + } - /** - * create a new yml for the player - * @param player - * @return the created yml - */ - public static @NotNull FileConfiguration createYml(@NotNull Player player) { - File customFile; - FileConfiguration customConfig; - customFile = new File(main.getDataFolder() + "/playerInfo/" + player.getUniqueId(), "/playerInfo.yml"); + /** + * create a config yaml with the file + * @param file + * @return a file configuration + */ + public static @NotNull FileConfiguration createYml(@NotNull File file) { + FileConfiguration customConfig; - if (!customFile.exists()) { - customFile.getParentFile().mkdirs(); - try { - customFile.createNewFile(); - } - catch (IOException e) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Error in Storage Manager saving new File."); - e.printStackTrace(); - } - } - - customConfig = new YamlConfiguration(); - try { - customConfig.load(customFile); - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - if (customConfig.get("uuid") == null) { - customConfig.set("uuid", player.getUniqueId().toString()); - customConfig.set("name", player.getName()); - customConfig.set("health", 100); - customConfig.set("itemHealth", 0); - customConfig.set("defense", 50); - customConfig.set("itemDefense", 0); - customConfig.set("speed", 100); - customConfig.set("itemSpeed", 0); - customConfig.set("strength", 100); - customConfig.set("itemDmg", 0); - customConfig.set("inv",""); - customConfig.set("ec",""); - try { - customConfig.save(customFile); - } catch (IOException e) { - e.printStackTrace(); - } - } - return customConfig; + if (!file.exists()) { + file.getParentFile().mkdirs(); + try { + file.createNewFile(); + } catch (IOException e) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Error in Storage Manager saving new File." + ); + e.printStackTrace(); + } } - - /** - * create a config yaml with the file - * @param file - * @return a file configuration - */ - public static @NotNull FileConfiguration createYml(@NotNull File file) { - - FileConfiguration customConfig; - - if (!file.exists()) { - file.getParentFile().mkdirs(); - try { - file.createNewFile(); - } - catch (IOException e) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Error in Storage Manager saving new File."); - e.printStackTrace(); - } - } - customConfig = new YamlConfiguration(); - try { - customConfig.load(file); - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - return customConfig; + customConfig = new YamlConfiguration(); + try { + customConfig.load(file); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); } + return customConfig; + } - /** - * create a config in the path provided - * @param path - * @return the created config file - */ - public static @NotNull FileConfiguration createYml(String path) { - File customFile; - FileConfiguration customConfig; - customFile = new File(path); - if (!customFile.exists()) { - customFile.getParentFile().mkdirs(); - try { - customFile.createNewFile(); - } - catch (IOException e) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Error in Storage Manager saving new File."); - e.printStackTrace(); - } - } - customConfig = new YamlConfiguration(); - try { - customConfig.load(customFile); - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - return customConfig; + /** + * create a config in the path provided + * @param path + * @return the created config file + */ + public static @NotNull FileConfiguration createYml(String path) { + File customFile; + FileConfiguration customConfig; + customFile = new File(path); + if (!customFile.exists()) { + customFile.getParentFile().mkdirs(); + try { + customFile.createNewFile(); + } catch (IOException e) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Error in Storage Manager saving new File." + ); + e.printStackTrace(); + } } -} \ No newline at end of file + customConfig = new YamlConfiguration(); + try { + customConfig.load(customFile); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); + } + return customConfig; + } +} diff --git a/src/main/java/me/unurled/raxen/manager/server/CommandManager.java b/src/main/java/me/unurled/raxen/manager/server/CommandManager.java index 8d1333f..8e0b46e 100644 --- a/src/main/java/me/unurled/raxen/manager/server/CommandManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/CommandManager.java @@ -9,84 +9,78 @@ import me.unurled.raxen.commands.player.MainGuiCommand; import me.unurled.raxen.commands.player.SkillsCommand; import me.unurled.raxen.commands.player.StorageCommand; - public class CommandManager { - private Raxen main; - @Getter - private ItemListCommand itemListCommand; - private ReloadCommand reloadComand = new ReloadCommand(); - private NbtCommand nbtCommand; - private TestGuiCommand testGuiCommand = new TestGuiCommand(); - private StorageCommand storageCommand = new StorageCommand(); - private SkillsCommand skillsCommand; - private RaxenCommand raxenCommand; - private SpawnEntity entityspawn; - private EntitiyCommand entitiyCommand; - private ClassCommand classCommand; - private CustomModelDataCommand customModelDataCommand; - private MainGuiCommand mainGuiCommand; - private ItemTo64Command itemTo64Command; + private Raxen main; - private TestHoloCommand testHoloCommand; + @Getter + private ItemListCommand itemListCommand; - public CommandManager(Raxen main) { - this.main = main; - this.itemListCommand = new ItemListCommand(this.main); - this.nbtCommand = new NbtCommand(this.main); - this.entityspawn = new SpawnEntity(this.main); - this.entitiyCommand = new EntitiyCommand(); - this.classCommand = new ClassCommand(this.main); - this.skillsCommand = new SkillsCommand(this.main); - this.raxenCommand = new RaxenCommand(this.main); - this.customModelDataCommand = new CustomModelDataCommand(); - this.mainGuiCommand = new MainGuiCommand(this.main); - this.itemTo64Command = new ItemTo64Command(); - this.testHoloCommand = new TestHoloCommand(this.main); - } + private ReloadCommand reloadComand = new ReloadCommand(); + private NbtCommand nbtCommand; + private TestGuiCommand testGuiCommand = new TestGuiCommand(); + private StorageCommand storageCommand = new StorageCommand(); + private SkillsCommand skillsCommand; + private RaxenCommand raxenCommand; + private SpawnEntity entityspawn; + private EntitiyCommand entitiyCommand; + private ClassCommand classCommand; + private CustomModelDataCommand customModelDataCommand; + private MainGuiCommand mainGuiCommand; + private ItemTo64Command itemTo64Command; - /** - * register/add all the plugin's command - */ - public void register() { - main.getCommand("reloadplugin").setExecutor(reloadComand); - main.getCommand("reloadplugin").setTabCompleter(reloadComand); + public CommandManager(Raxen main) { + this.main = main; + this.itemListCommand = new ItemListCommand(this.main); + this.nbtCommand = new NbtCommand(this.main); + this.entityspawn = new SpawnEntity(this.main); + this.entitiyCommand = new EntitiyCommand(); + this.classCommand = new ClassCommand(this.main); + this.skillsCommand = new SkillsCommand(this.main); + this.raxenCommand = new RaxenCommand(this.main); + this.customModelDataCommand = new CustomModelDataCommand(); + this.mainGuiCommand = new MainGuiCommand(this.main); + this.itemTo64Command = new ItemTo64Command(); + } - main.getCommand("nbt").setExecutor(nbtCommand); - main.getCommand("nbt").setTabCompleter(nbtCommand); + /** + * register/add all the plugin's command + */ + public void register() { + main.getCommand("reloadplugin").setExecutor(reloadComand); + main.getCommand("reloadplugin").setTabCompleter(reloadComand); - main.getCommand("testgui").setExecutor(testGuiCommand); - main.getCommand("testgui").setTabCompleter(testGuiCommand); + main.getCommand("nbt").setExecutor(nbtCommand); + main.getCommand("nbt").setTabCompleter(nbtCommand); - main.getCommand("storage").setExecutor(storageCommand); - main.getCommand("storage").setTabCompleter(storageCommand); + main.getCommand("testgui").setExecutor(testGuiCommand); + main.getCommand("testgui").setTabCompleter(testGuiCommand); + main.getCommand("storage").setExecutor(storageCommand); + main.getCommand("storage").setTabCompleter(storageCommand); - main.getCommand("skills").setTabCompleter(skillsCommand); - main.getCommand("skills").setExecutor(skillsCommand); + main.getCommand("skills").setTabCompleter(skillsCommand); + main.getCommand("skills").setExecutor(skillsCommand); - main.getCommand("raxen").setTabCompleter(raxenCommand); - main.getCommand("raxen").setExecutor(raxenCommand); + main.getCommand("raxen").setTabCompleter(raxenCommand); + main.getCommand("raxen").setExecutor(raxenCommand); - main.getCommand("itemlist").setExecutor(itemListCommand); - main.getCommand("itemlist").setTabCompleter(itemListCommand); + main.getCommand("itemlist").setExecutor(itemListCommand); + main.getCommand("itemlist").setTabCompleter(itemListCommand); - main.getCommand("entityspawn").setTabCompleter(entityspawn); - main.getCommand("entityspawn").setExecutor(entityspawn); + main.getCommand("entityspawn").setTabCompleter(entityspawn); + main.getCommand("entityspawn").setExecutor(entityspawn); - main.getCommand("class").setTabCompleter(classCommand); - main.getCommand("class").setExecutor(classCommand); + main.getCommand("class").setTabCompleter(classCommand); + main.getCommand("class").setExecutor(classCommand); - main.getCommand("custommodeldata").setTabCompleter(customModelDataCommand); - main.getCommand("custommodeldata").setExecutor(customModelDataCommand); + main.getCommand("custommodeldata").setTabCompleter(customModelDataCommand); + main.getCommand("custommodeldata").setExecutor(customModelDataCommand); - main.getCommand("main_gui").setTabCompleter(mainGuiCommand); - main.getCommand("main_gui").setExecutor(mainGuiCommand); + main.getCommand("main_gui").setTabCompleter(mainGuiCommand); + main.getCommand("main_gui").setExecutor(mainGuiCommand); - main.getCommand("itemto64").setTabCompleter(itemTo64Command); - main.getCommand("itemto64").setExecutor(itemTo64Command); - - main.getCommand("testholo").setTabCompleter(testHoloCommand); - main.getCommand("testholo").setExecutor(testHoloCommand); - } + main.getCommand("itemto64").setTabCompleter(itemTo64Command); + main.getCommand("itemto64").setExecutor(itemTo64Command); + } } diff --git a/src/main/java/me/unurled/raxen/manager/server/DungeonsManager.java b/src/main/java/me/unurled/raxen/manager/server/DungeonsManager.java index 54edf1b..5149355 100644 --- a/src/main/java/me/unurled/raxen/manager/server/DungeonsManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/DungeonsManager.java @@ -1,41 +1,40 @@ package me.unurled.raxen.manager.server; +import java.util.HashMap; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.dungeons.Dungeon; import me.unurled.raxen.components.dungeons.Gate; import me.unurled.raxen.components.dungeons.types.forest.ForestDungeon; import org.bukkit.Location; -import java.util.HashMap; - public class DungeonsManager { - private Raxen main; + private Raxen main; - private HashMap gates = new HashMap<>(); + private HashMap gates = new HashMap<>(); - private HashMap dungeons = new HashMap<>(); + private HashMap dungeons = new HashMap<>(); - public DungeonsManager(Raxen main) { - this.main = main; - registerDungeons(); - } + public DungeonsManager(Raxen main) { + this.main = main; + registerDungeons(); + } - /** - * register/add all made dungeon to the available plugin list - */ - public void registerDungeons() { - ForestDungeon forestDungeon = new ForestDungeon(); - dungeons.put(forestDungeon.getGate(), forestDungeon); - gates.put(forestDungeon.getGate(), forestDungeon.getGate().getLoc()); - /* + /** + * register/add all made dungeon to the available plugin list + */ + public void registerDungeons() { + ForestDungeon forestDungeon = new ForestDungeon(); + dungeons.put(forestDungeon.getGate(), forestDungeon); + gates.put(forestDungeon.getGate(), forestDungeon.getGate().getLoc()); + /* for (String s : dungeons.keySet()) { main.getManager().getWorldManager().loadWorld(dungeons.get(s).getName()); } */ - } + } - public HashMap getGates() { - return gates; - } + public HashMap getGates() { + return gates; + } } diff --git a/src/main/java/me/unurled/raxen/manager/server/EnchantmentManager.java b/src/main/java/me/unurled/raxen/manager/server/EnchantmentManager.java index 483ac17..baf4631 100644 --- a/src/main/java/me/unurled/raxen/manager/server/EnchantmentManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/EnchantmentManager.java @@ -1,21 +1,20 @@ package me.unurled.raxen.manager.server; -import org.bukkit.enchantments.Enchantment; - import java.lang.reflect.Field; +import org.bukkit.enchantments.Enchantment; public class EnchantmentManager { - public static void registerEnchantment(Enchantment enchantment) { - boolean registered = true; - try { - Field f = Enchantment.class.getDeclaredField("acceptingNew"); - f.setAccessible(true); - f.set(null, true); - Enchantment.registerEnchantment(enchantment); - } catch (Exception e) { - registered = false; - e.printStackTrace(); - } + public static void registerEnchantment(Enchantment enchantment) { + boolean registered = true; + try { + Field f = Enchantment.class.getDeclaredField("acceptingNew"); + f.setAccessible(true); + f.set(null, true); + Enchantment.registerEnchantment(enchantment); + } catch (Exception e) { + registered = false; + e.printStackTrace(); } + } } diff --git a/src/main/java/me/unurled/raxen/manager/server/LibsManager.java b/src/main/java/me/unurled/raxen/manager/server/LibsManager.java index 0a7c3b2..206c0d7 100644 --- a/src/main/java/me/unurled/raxen/manager/server/LibsManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/LibsManager.java @@ -2,41 +2,38 @@ package me.unurled.raxen.manager.server; import lombok.Getter; import me.unurled.raxen.Raxen; -import me.unurled.raxen.utils.Utils; import me.unurled.raxen.utils.libs.*; -import org.bukkit.Bukkit; public class LibsManager { - @Getter - private final ProtocolManager protocolManager; - @Getter - private final LuckPerm luckPerm; - @Getter - private final Vault vault; - @Getter - private final MongoDB mongoDB; - @Getter - private static Mysql mysql; - @Getter - private PlaceHolderAPI placeHolderAPI; - @Getter - private CitizensApi citizens; - @Getter - private HolographicDisplay holographicDisplay; - public LibsManager(Raxen main) { - this.luckPerm = new LuckPerm(main); - this.luckPerm.register(); - this.vault = new Vault(main); - this.protocolManager = new ProtocolManager(main); - this.mongoDB = new MongoDB(); - this.placeHolderAPI = new PlaceHolderAPI(main); - this.citizens = new CitizensApi(main); - if (!Bukkit.getPluginManager().isPluginEnabled("HolographicDisplays")) { - Utils.error("*** HolographicDisplays is not installed or not enabled. ***", "*** This plugin will be disabled. ***"); - main.disable(); - } else { - holographicDisplay = new HolographicDisplay(main); - } - } + @Getter + private final ProtocolManager protocolManager; + + @Getter + private final LuckPerm luckPerm; + + @Getter + private final Vault vault; + + @Getter + private final MongoDB mongoDB; + + @Getter + private static Mysql mysql; + + @Getter + private PlaceHolderAPI placeHolderAPI; + + @Getter + private CitizensApi citizens; + + public LibsManager(Raxen main) { + this.luckPerm = new LuckPerm(main); + this.luckPerm.register(); + this.vault = new Vault(main); + this.protocolManager = new ProtocolManager(main); + this.mongoDB = new MongoDB(); + this.placeHolderAPI = new PlaceHolderAPI(main); + this.citizens = new CitizensApi(main); + } } diff --git a/src/main/java/me/unurled/raxen/manager/server/ListenerManager.java b/src/main/java/me/unurled/raxen/manager/server/ListenerManager.java index a99b93f..760dbc2 100644 --- a/src/main/java/me/unurled/raxen/manager/server/ListenerManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/ListenerManager.java @@ -10,33 +10,40 @@ import org.bukkit.plugin.PluginManager; public class ListenerManager { - private final Raxen main; - private final PluginManager pm; - @Getter - private ServerPingEvent serverPingEvent; + private final Raxen main; + private final PluginManager pm; - public ListenerManager(Raxen main) { - this.main = main; - this.pm = main.getPm(); - this.serverPingEvent = new ServerPingEvent(main); - } + @Getter + private ServerPingEvent serverPingEvent; - /** - * register/addd listener events - */ - public void register() { - this.pm.registerEvents(new JoinEvent(main), main); - this.pm.registerEvents(new LeaveEvent(main), main); - this.pm.registerEvents(new ArmorEvent(main), main); - this.pm.registerEvents(new ItemHandEvent(main), main); - this.pm.registerEvents(new Reload(), main); - this.pm.registerEvents(new TransactionEvent(main), main); - this.pm.registerEvents(main.getManager().getCommandManager().getItemListCommand().getItemListGui(), main); - this.pm.registerEvents(new DamageEntity(main), main); - this.pm.registerEvents(new SpawnEvent(main), main); - this.pm.registerEvents(new ClickBlockEvent(main), main); - this.pm.registerEvents(serverPingEvent, main); - this.pm.registerEvents(new CloseInventoryEvent(), main); + public ListenerManager(Raxen main) { + this.main = main; + this.pm = main.getPm(); + this.serverPingEvent = new ServerPingEvent(main); + } - } + /** + * register/addd listener events + */ + public void register() { + this.pm.registerEvents(new JoinEvent(main), main); + this.pm.registerEvents(new LeaveEvent(main), main); + this.pm.registerEvents(new ArmorEvent(main), main); + this.pm.registerEvents(new ItemHandEvent(main), main); + this.pm.registerEvents(new Reload(), main); + this.pm.registerEvents(new TransactionEvent(main), main); + this.pm.registerEvents( + main + .getManager() + .getCommandManager() + .getItemListCommand() + .getItemListGui(), + main + ); + this.pm.registerEvents(new DamageEntity(main), main); + this.pm.registerEvents(new SpawnEvent(main), main); + this.pm.registerEvents(new ClickBlockEvent(main), main); + this.pm.registerEvents(serverPingEvent, main); + this.pm.registerEvents(new CloseInventoryEvent(), main); + } } diff --git a/src/main/java/me/unurled/raxen/manager/server/ProtocolManager.java b/src/main/java/me/unurled/raxen/manager/server/ProtocolManager.java index f411392..2113c98 100644 --- a/src/main/java/me/unurled/raxen/manager/server/ProtocolManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/ProtocolManager.java @@ -10,22 +10,28 @@ import org.bukkit.entity.Player; public class ProtocolManager { - private final Raxen main; - private com.comphenix.protocol.ProtocolManager manager; + private final Raxen main; + private com.comphenix.protocol.ProtocolManager manager; - public ProtocolManager(Raxen main) { - this.main = main; - this.manager = main.getProtocolManager(); - } + public ProtocolManager(Raxen main) { + this.main = main; + this.manager = main.getProtocolManager(); + } - public void listen() { - manager.addPacketListener(new PacketAdapter(main, ListenerPriority.NORMAL, PacketType.Play.Client.BLOCK_DIG) { - @Override - public void onPacketReceiving(PacketEvent event) { - Player player = event.getPlayer(); - PacketContainer packet = event.getPacket(); - // if(player.) - } - }); - } + public void listen() { + manager.addPacketListener( + new PacketAdapter( + main, + ListenerPriority.NORMAL, + PacketType.Play.Client.BLOCK_DIG + ) { + @Override + public void onPacketReceiving(PacketEvent event) { + Player player = event.getPlayer(); + PacketContainer packet = event.getPacket(); + // if(player.) + } + } + ); + } } diff --git a/src/main/java/me/unurled/raxen/manager/server/ResourcePackManager.java b/src/main/java/me/unurled/raxen/manager/server/ResourcePackManager.java index 2e9b497..5dc901f 100644 --- a/src/main/java/me/unurled/raxen/manager/server/ResourcePackManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/ResourcePackManager.java @@ -1,49 +1,61 @@ package me.unurled.raxen.manager.server; +import static me.unurled.raxen.utils.Utils.debug; +import static me.unurled.raxen.utils.Utils.error; + +import java.util.Objects; import lombok.Getter; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.resourcepack.ResourcePack; import org.bukkit.configuration.file.FileConfiguration; -import java.util.Objects; - -import static me.unurled.raxen.utils.Utils.debug; -import static me.unurled.raxen.utils.Utils.error; - public class ResourcePackManager { - private Raxen main; - @Getter - private ResourcePack resourcePack; - private FileConfiguration config; - @Getter - private boolean useRP; - - public ResourcePackManager(Raxen main) { - this.main = main; - this.resourcePack = new ResourcePack(main, this); - this.config = main.getConfig(); - this.useRP = this.config.getBoolean("useResourcePack"); - enable(); - } - - /** - * Method to enable the ressourcepack - */ - private void enable() { - if(useRP) { - if(config.getString("resource_pack_url") == null || Objects.equals(config.getString("rssource_pack_url"), "") || - config.getString("resource_pack_sha1") == null || Objects.equals(config.getString("resource_pack_sha1"), "") || - Objects.equals(config.getString("resource_pack_url"), "https://mc-packs.net/") || Objects.equals(config.getString("resource_pack_sha1"), "sha1hallo")) { - error(main, "You must specify an resource_pack_url and resource_pack_sha1!"); - debug(main, "Resource pack not enabled."); - useRP = false; - } else { - debug(main, "Ressource Pack enabled."); - } - } else { - debug(main, "Resource pack not enabled."); - } + private Raxen main; + @Getter + private ResourcePack resourcePack; + + private FileConfiguration config; + + @Getter + private boolean useRP; + + public ResourcePackManager(Raxen main) { + this.main = main; + this.resourcePack = new ResourcePack(main, this); + this.config = main.getConfig(); + this.useRP = this.config.getBoolean("useResourcePack"); + enable(); + } + + /** + * Method to enable the ressourcepack + */ + private void enable() { + if (useRP) { + if ( + config.getString("resource_pack_url") == null || + Objects.equals(config.getString("rssource_pack_url"), "") || + config.getString("resource_pack_sha1") == null || + Objects.equals(config.getString("resource_pack_sha1"), "") || + Objects.equals( + config.getString("resource_pack_url"), + "https://mc-packs.net/" + ) || + Objects.equals(config.getString("resource_pack_sha1"), "sha1hallo") + ) { + error( + main, + "You must specify an resource_pack_url and resource_pack_sha1!" + ); + debug(main, "Resource pack not enabled."); + useRP = false; + } else { + debug(main, "Ressource Pack enabled."); + } + } else { + debug(main, "Resource pack not enabled."); } + } } diff --git a/src/main/java/me/unurled/raxen/manager/server/WorldManager.java b/src/main/java/me/unurled/raxen/manager/server/WorldManager.java index d49213f..c42a3f9 100644 --- a/src/main/java/me/unurled/raxen/manager/server/WorldManager.java +++ b/src/main/java/me/unurled/raxen/manager/server/WorldManager.java @@ -1,113 +1,138 @@ package me.unurled.raxen.manager.server; +import static me.unurled.raxen.utils.Utils.*; + import com.onarandombox.MultiverseCore.api.MVWorldManager; import com.onarandombox.MultiverseCore.api.MultiverseWorld; -import me.unurled.raxen.Raxen; -import org.bukkit.World; - import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; - -import static me.unurled.raxen.utils.Utils.*; +import me.unurled.raxen.Raxen; +import org.bukkit.World; public class WorldManager { - private Raxen main; + private Raxen main; - MVWorldManager worldManager; + MVWorldManager worldManager; - /** - * String : name - * MultiverseWorld : a world that need to be registered - */ - private Map loadedWorlds = new HashMap<>(); + /** + * String : name + * MultiverseWorld : a world that need to be registered + */ + private Map loadedWorlds = new HashMap<>(); - private List worlds = new ArrayList<>(); + private List worlds = new ArrayList<>(); - private File pluginFolder; - private File worldFolder; + private File pluginFolder; + private File worldFolder; - public WorldManager(Raxen main) { - this.main = main; - this.pluginFolder = new File(main.getDataFolder() + "/worlds/"); - this.worldFolder = new File("worlds/"); - this.worldManager = main.getManager().getMultiverse().getWorldManager(); - worlds.add("Forest"); + public WorldManager(Raxen main) { + this.main = main; + this.pluginFolder = new File(main.getDataFolder() + "/worlds/"); + this.worldFolder = new File("worlds/"); + this.worldManager = main.getManager().getMultiverse().getWorldManager(); + worlds.add("Forest"); + } + + /** + * remove a world + * @param name + */ + public void removeWorld(String name) { + File world = new File(worldFolder + name + "/"); + if (!world.exists() || !world.isDirectory()) { + error("Saving world " + name + ". Folder don't exists."); + return; } - - /** - * remove a world - * @param name - */ - public void removeWorld(String name) { - File world = new File(worldFolder + name + "/"); - if (!world.exists() || !world.isDirectory()) { - error("Saving world " + name + ". Folder don't exists."); - return; - } - worldManager.unloadWorld(name); - try { - removeDirectory(world.toPath()); - } catch (IOException e) { - error("Error while Saving world " + name + " at coping data."); - e.printStackTrace(); - } + worldManager.unloadWorld(name); + try { + removeDirectory(world.toPath()); + } catch (IOException e) { + error("Error while Saving world " + name + " at coping data."); + e.printStackTrace(); } + } - /** - * load all world in the worlds folder - */ - public void load() { - if (!pluginFolder.exists()) { - pluginFolder.mkdirs(); - error("Please put in the folder " + pluginFolder.getAbsolutePath() + " all the needed worlds :"); - for (String s : worlds) { - error(" - " + s + ","); - } - return; - } - for (String s : worlds) { - File world = new File(pluginFolder + s); - File worldd = new File(worldFolder + s); - if (worldd.exists()) { - if (worldd.isDirectory()) { - worldManager.loadWorld(s); - } - } else if (world.exists() ) { - if (world.isDirectory()) { - loadWorld(s); - } else { - error("World " + s + " is not a world Folder!"); - } - } else { - error("World " + s + " do not exist."); - } - } + /** + * load all world in the worlds folder + */ + public void load() { + if (!pluginFolder.exists()) { + pluginFolder.mkdirs(); + error( + "Please put in the folder " + + pluginFolder.getAbsolutePath() + + " all the needed worlds :" + ); + for (String s : worlds) { + error(" - " + s + ","); + } + return; } + for (String s : worlds) { + File world = new File(pluginFolder + s); + File worldd = new File(worldFolder + s); + if (worldd.exists()) { + if (worldd.isDirectory()) { + worldManager.loadWorld(s); + } + } else if (world.exists()) { + if (world.isDirectory()) { + loadWorld(s); + } else { + error("World " + s + " is not a world Folder!"); + } + } else { + error("World " + s + " do not exist."); + } + } + } - /** - * load world from the name of it - * @param name - */ - public void loadWorld(String name) { - File world = new File(pluginFolder + "/" + name + "/"); - if (!world.exists() || !world.isDirectory()) { - error("Loading world " + name + ". Folder " + world.getAbsolutePath() + " don't exists."); - return; - } - File newWorld = new File(worldFolder + "/" + name); - try { - log(colorTextComp("Copping world " + world.getName() + "."), colorTextComp("From " + world.getAbsolutePath() + " to " + newWorld.getAbsolutePath() +".")); - copyDirectory(world.getAbsolutePath(), newWorld.getAbsolutePath()); - } catch (IOException e) { - error("Error while Loading world " + name + " at coping data."); - e.printStackTrace(); - } - worldManager.loadWorld(name); - worldManager.addWorld(world.getName(), World.Environment.NORMAL, null, null, false, null); + /** + * load world from the name of it + * @param name + */ + public void loadWorld(String name) { + File world = new File(pluginFolder + "/" + name + "/"); + if (!world.exists() || !world.isDirectory()) { + error( + "Loading world " + + name + + ". Folder " + + world.getAbsolutePath() + + " don't exists." + ); + return; } + File newWorld = new File(worldFolder + "/" + name); + try { + log( + colorTextComp("Copping world " + world.getName() + "."), + colorTextComp( + "From " + + world.getAbsolutePath() + + " to " + + newWorld.getAbsolutePath() + + "." + ) + ); + copyDirectory(world.getAbsolutePath(), newWorld.getAbsolutePath()); + } catch (IOException e) { + error("Error while Loading world " + name + " at coping data."); + e.printStackTrace(); + } + worldManager.loadWorld(name); + worldManager.addWorld( + world.getName(), + World.Environment.NORMAL, + null, + null, + false, + null + ); + } } diff --git a/src/main/java/me/unurled/raxen/utils/DungeonUtils.java b/src/main/java/me/unurled/raxen/utils/DungeonUtils.java index b42b301..07dba08 100644 --- a/src/main/java/me/unurled/raxen/utils/DungeonUtils.java +++ b/src/main/java/me/unurled/raxen/utils/DungeonUtils.java @@ -1,5 +1,7 @@ package me.unurled.raxen.utils; +import java.util.HashMap; +import java.util.Random; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.dungeons.Gate; import me.unurled.raxen.components.dungeons.Rank; @@ -8,96 +10,105 @@ import org.bukkit.Bukkit; import org.bukkit.Location; import org.jetbrains.annotations.NotNull; -import java.util.HashMap; -import java.util.Random; - public class DungeonUtils { - /** - * get the radius from the rank of a dungeon - */ - public static Integer getRadiusFromRank(@NotNull Rank rank) { - Integer radius = 1; - switch (rank) { - case F: - radius = 4; - case E: - radius = 5; - case D: - radius = 8; - case C: - radius = 10; - case B: - radius = 15; - case A: - radius = 20; - case S: - radius = 30; - case SS: - radius = 40; - case SSS: - radius = 50; - case WORLD: - radius = 100; - case UNBEATABLE: - radius = 200; - case NOT_DEFINED: - radius = 1000; - } - return radius; + /** + * get the radius from the rank of a dungeon + */ + public static Integer getRadiusFromRank(@NotNull Rank rank) { + Integer radius = 1; + switch (rank) { + case F: + radius = 4; + case E: + radius = 5; + case D: + radius = 8; + case C: + radius = 10; + case B: + radius = 15; + case A: + radius = 20; + case S: + radius = 30; + case SS: + radius = 40; + case SSS: + radius = 50; + case WORLD: + radius = 100; + case UNBEATABLE: + radius = 200; + case NOT_DEFINED: + radius = 1000; } + return radius; + } - /** - * used to spawn monster based on random - */ - public static void fromTypeToMonster(Types types, Rank rank) { - Random r = new Random(); - r.nextInt(); - } + /** + * used to spawn monster based on random + */ + public static void fromTypeToMonster(Types types, Rank rank) { + Random r = new Random(); + r.nextInt(); + } - /** - * if a gate is in range of the player - * @return boolean - */ - public static Boolean isInRange(Location loc) { - Raxen main = (Raxen) Bukkit.getServer().getPluginManager().getPlugin("Raxen"); - HashMap gats = main.getManager().getDungeonsManager().getGates(); - for (Gate g : gats.keySet()) { - Double x = g.getLoc().getX(); - Double y = g.getLoc().getY(); - Double z = g.getLoc().getZ(); - Double radius = Double.valueOf(g.getPortalRadius()); - if (loc.getX() < x+radius && loc.getX() > x-radius) { - if (loc.getY() < y+radius && loc.getY() > y-radius) { - if (loc.getZ() < z+radius && loc.getZ() > z-radius) { - return true; - } - } - } + /** + * if a gate is in range of the player + * @return boolean + */ + public static Boolean isInRange(Location loc) { + Raxen main = (Raxen) Bukkit + .getServer() + .getPluginManager() + .getPlugin("Raxen"); + HashMap gats = main + .getManager() + .getDungeonsManager() + .getGates(); + for (Gate g : gats.keySet()) { + Double x = g.getLoc().getX(); + Double y = g.getLoc().getY(); + Double z = g.getLoc().getZ(); + Double radius = Double.valueOf(g.getPortalRadius()); + if (loc.getX() < x + radius && loc.getX() > x - radius) { + if (loc.getY() < y + radius && loc.getY() > y - radius) { + if (loc.getZ() < z + radius && loc.getZ() > z - radius) { + return true; + } } - return false; + } } + return false; + } - /** - * if a gate is in range of the player - * @return the gates which is in range - */ - public static Gate whichIsInRange(Location loc) { - Raxen main = (Raxen) Bukkit.getServer().getPluginManager().getPlugin("Raxen"); - HashMap gats = main.getManager().getDungeonsManager().getGates(); - for (Gate g : gats.keySet()) { - Double x = g.getLoc().getX(); - Double y = g.getLoc().getY(); - Double z = g.getLoc().getZ(); - Double radius = Double.valueOf(g.getPortalRadius()); - if (loc.getX() < x+radius && loc.getX() > x-radius) { - if (loc.getY() < y+radius && loc.getY() > y-radius) { - if (loc.getZ() < z+radius && loc.getZ() > z-radius) { - return g; - } - } - } + /** + * if a gate is in range of the player + * @return the gates which is in range + */ + public static Gate whichIsInRange(Location loc) { + Raxen main = (Raxen) Bukkit + .getServer() + .getPluginManager() + .getPlugin("Raxen"); + HashMap gats = main + .getManager() + .getDungeonsManager() + .getGates(); + for (Gate g : gats.keySet()) { + Double x = g.getLoc().getX(); + Double y = g.getLoc().getY(); + Double z = g.getLoc().getZ(); + Double radius = Double.valueOf(g.getPortalRadius()); + if (loc.getX() < x + radius && loc.getX() > x - radius) { + if (loc.getY() < y + radius && loc.getY() > y - radius) { + if (loc.getZ() < z + radius && loc.getZ() > z - radius) { + return g; + } } - return null; + } } + return null; + } } diff --git a/src/main/java/me/unurled/raxen/utils/EntityAttributes.java b/src/main/java/me/unurled/raxen/utils/EntityAttributes.java index a8c11dc..93c1589 100644 --- a/src/main/java/me/unurled/raxen/utils/EntityAttributes.java +++ b/src/main/java/me/unurled/raxen/utils/EntityAttributes.java @@ -1,65 +1,106 @@ package me.unurled.raxen.utils; +import static me.unurled.raxen.utils.Utils.debug; + +import java.util.Objects; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.entity.player.attributes.Attribute; import me.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.Bukkit; import org.bukkit.entity.Entity; -import java.util.Objects; - -import static me.unurled.raxen.utils.Utils.debug; - public class EntityAttributes { + /** + * get every attribute of an entity + * @param e an entity + * @return an instance of attribute + */ + public static Attribute getAttribute(Entity e) { + int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; + PlayerManager pm = + ( + (Raxen) Objects.requireNonNull( + Bukkit.getPluginManager().getPlugin("Raxen") + ) + ).getManager() + .getPlayerManager(); + defense = pm.getDefense().get(e); + maxMana = pm.getMaxMana().get(e); + itemDefense = pm.getItemDefense().get(e); + health = pm.getHealth().get(e); + itemHealth = pm.getItemHealth().get(e); + mana = pm.getMana().get(e); + speed = pm.getSpeed().get(e); + itemLuck = pm.getItemLuck().get(e); + strength = pm.getStrength().get(e); + luck = pm.getLuck().get(e); + maxHealth = pm.getMaxHealth().get(e); + itemStrength = pm.getItemStrength().get(e); + itemSpeed = pm.getItemSpeed().get(e); + itemMana = pm.getItemMana().get(e); + return new Attribute( + maxHealth, + health, + itemHealth, + defense, + itemDefense, + speed, + itemSpeed, + strength, + itemStrength, + maxMana, + mana, + itemMana, + luck, + itemLuck + ); + } - /** - * get every attribute of an entity - * @param e an entity - * @return an instance of attribute - */ - public static Attribute getAttribute(Entity e) { - int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; - PlayerManager pm = ((Raxen) Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen"))).getManager().getPlayerManager(); - defense= pm.getDefense().get(e); - maxMana = pm.getMaxMana().get(e); - itemDefense= pm.getItemDefense().get(e); - health = pm.getHealth().get(e); - itemHealth = pm.getItemHealth().get(e); - mana = pm.getMana().get(e); - speed = pm.getSpeed().get(e); - itemLuck = pm.getItemLuck().get(e); - strength = pm.getStrength().get(e); - luck = pm.getLuck().get(e); - maxHealth = pm.getMaxHealth().get(e); - itemStrength = pm.getItemStrength().get(e); - itemSpeed = pm.getItemSpeed().get(e); - itemMana = pm.getItemMana().get(e); - return new Attribute(maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck); - } - - /** - * set each attribute - */ - public static void setAttributes(Entity e, int maxHealth, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemStrength, int maxMana, int mana, int itemMana, int luck, int itemLuck) { - PlayerManager pm = ((Raxen) Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen"))).getManager().getPlayerManager(); - pm.getDefense().set(e, defense); - pm.getMaxMana().set(e, maxMana); - pm.getItemDefense().set(e, itemDefense); - pm.getHealth().set(e, health); - pm.getItemHealth().set(e, itemHealth); - pm.getMana().set(e, mana); - pm.getSpeed().set(e, speed); - pm.getItemLuck().set(e, itemLuck); - pm.getStrength().set(e, strength); - pm.getLuck().set(e, luck); - pm.getMaxHealth().set(e, maxHealth); - pm.getItemStrength().set(e, itemStrength); - pm.getItemSpeed().set(e, itemSpeed); - pm.getItemMana().set(e, itemMana); - debug("Speedometer " + speed); - for (String s : pm.getAttribute().keySet()) { - debug(s + " " + pm.getAttribute().get(s).get(e).toString()); - } + /** + * set each attribute + */ + public static void setAttributes( + Entity e, + int maxHealth, + int health, + int itemHealth, + int defense, + int itemDefense, + int speed, + int itemSpeed, + int strength, + int itemStrength, + int maxMana, + int mana, + int itemMana, + int luck, + int itemLuck + ) { + PlayerManager pm = + ( + (Raxen) Objects.requireNonNull( + Bukkit.getPluginManager().getPlugin("Raxen") + ) + ).getManager() + .getPlayerManager(); + pm.getDefense().set(e, defense); + pm.getMaxMana().set(e, maxMana); + pm.getItemDefense().set(e, itemDefense); + pm.getHealth().set(e, health); + pm.getItemHealth().set(e, itemHealth); + pm.getMana().set(e, mana); + pm.getSpeed().set(e, speed); + pm.getItemLuck().set(e, itemLuck); + pm.getStrength().set(e, strength); + pm.getLuck().set(e, luck); + pm.getMaxHealth().set(e, maxHealth); + pm.getItemStrength().set(e, itemStrength); + pm.getItemSpeed().set(e, itemSpeed); + pm.getItemMana().set(e, itemMana); + debug("Speedometer " + speed); + for (String s : pm.getAttribute().keySet()) { + debug(s + " " + pm.getAttribute().get(s).get(e).toString()); } + } } diff --git a/src/main/java/me/unurled/raxen/utils/EntityUtils.java b/src/main/java/me/unurled/raxen/utils/EntityUtils.java index 774b5aa..57d00b5 100644 --- a/src/main/java/me/unurled/raxen/utils/EntityUtils.java +++ b/src/main/java/me/unurled/raxen/utils/EntityUtils.java @@ -7,10 +7,8 @@ import org.bukkit.entity.Player; public class EntityUtils { - public void setSkin(Entity e) { - if (e instanceof Player) { - - } -// Bukkit.getWorld("aa").spawn(new Location(Bukkit.getWorld("aa"), 0, 0, 0), new CraftPlayer()) - } + public void setSkin(Entity e) { + if (e instanceof Player) {} + // Bukkit.getWorld("aa").spawn(new Location(Bukkit.getWorld("aa"), 0, 0, 0), new CraftPlayer()) + } } diff --git a/src/main/java/me/unurled/raxen/utils/Items.java b/src/main/java/me/unurled/raxen/utils/Items.java index ec8444e..2153013 100644 --- a/src/main/java/me/unurled/raxen/utils/Items.java +++ b/src/main/java/me/unurled/raxen/utils/Items.java @@ -1,7 +1,13 @@ package me.unurled.raxen.utils; +import static me.unurled.raxen.utils.Utils.*; + import com.google.gson.Gson; import de.tr7zw.nbtapi.NBTItem; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.*; import me.unurled.raxen.Raxen; import me.unurled.raxen.components.items.NBT; import net.kyori.adventure.text.Component; @@ -18,543 +24,630 @@ import org.bukkit.util.io.BukkitObjectOutputStream; import org.jetbrains.annotations.NotNull; import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.*; - -import static me.unurled.raxen.utils.Utils.*; - public class Items { - /** - * create an item with @param - * @param material the item material - * @param amount the amount of the itemstack - * @param glow if the item glows or not - * @param unb if the item is unbreakable - * @param name the name of the item - * @param lore the lore of the item - * @return the created itemstack - */ - public static @NotNull ItemStack createItem(Material material, int amount, boolean glow, boolean unb, String name, String... lore) { - ItemStack item = new ItemStack(material, amount); - ItemMeta itemMeta = item.getItemMeta(); - if(name != null) { - itemMeta.displayName(colorComp(name)); - } - if(lore != null) { - List list = new ArrayList<>(); - for(String string : lore) { - list.add(colorComp(string)); - } - itemMeta.lore(list); - } - if(glow) { - itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS); - itemMeta.addEnchant(Enchantment.DURABILITY, 1, true); - } - if(unb) { - itemMeta.setUnbreakable(true); - } - item.setItemMeta(itemMeta); - return item; + /** + * create an item with @param + * @param material the item material + * @param amount the amount of the itemstack + * @param glow if the item glows or not + * @param unb if the item is unbreakable + * @param name the name of the item + * @param lore the lore of the item + * @return the created itemstack + */ + public static @NotNull ItemStack createItem( + Material material, + int amount, + boolean glow, + boolean unb, + String name, + String... lore + ) { + ItemStack item = new ItemStack(material, amount); + ItemMeta itemMeta = item.getItemMeta(); + if (name != null) { + itemMeta.displayName(colorComp(name)); } - - /** - * edit an item with provided @param - * @param item the item to modify - * @param name the new name of the item - * @param amount the new amount - * @param lore the new lore - * @return the modified itemstack - */ - public static @NotNull ItemStack editItem(ItemStack item, String name, int amount, List lore) { - if(amount == 0) { - amount = 1; - } - item.setAmount(amount); - ItemMeta itemMeta = item.getItemMeta(); - if (name != null) { - itemMeta.displayName(Component.text(name)); - } - itemMeta.lore(lore); - item.setItemMeta(itemMeta); - return item; + if (lore != null) { + List list = new ArrayList<>(); + for (String string : lore) { + list.add(colorComp(string)); + } + itemMeta.lore(list); } - - /** - * the basic close gui button - * @return a barrier block itemstack named close - */ - public static @NotNull ItemStack closeItem () { - ItemStack close = createItem(Material.BARRIER, 1, false, false, colorString("CLOSE")); - ItemMeta clo = close.getItemMeta(); - clo.setCustomModelData(1); - close.setItemMeta(clo); - return close; + if (glow) { + itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS); + itemMeta.addEnchant(Enchantment.DURABILITY, 1, true); } - - /** - * fill item in chest and guis - * @return a grey glass pane named nothing - */ - public static @NotNull ItemStack greyPane() { - return createItem(Material.GRAY_STAINED_GLASS_PANE, 1, false, true, ""); + if (unb) { + itemMeta.setUnbreakable(true); } + item.setItemMeta(itemMeta); + return item; + } - /** - * serialize item - * @param it an itemstack - * @param slot the slot it was in the inventory - * @return the serialized string - */ - public static @NotNull String itemStackSerialize(ItemStack it, @NotNull Integer slot) { - String str = ""; - str = itemTo64(it); - str = str + "@#SLOT#" + (slot-1); - return str; + /** + * edit an item with provided @param + * @param item the item to modify + * @param name the new name of the item + * @param amount the new amount + * @param lore the new lore + * @return the modified itemstack + */ + public static @NotNull ItemStack editItem( + ItemStack item, + String name, + int amount, + List lore + ) { + if (amount == 0) { + amount = 1; } - - /** - * Serelize the PlayerInventory - * @param inv a player inventory - * @return return a serelized string - */ - public static @NotNull String itemStackSer(PlayerInventory inv) { - List list = new ArrayList<>(); - Integer i = 0; - for (ItemStack it : inv.getContents()) { - String str = ""; - str = itemTo64(it); - if (it != null) { - if (isContained(it, inv.getArmorContents())) { - str = str + "@#SLOT#" + getWhichArmor(it.getType()); - } else { - i++; - str = str + "@#SLOT#" + (i - 1); - } - } - list.add(str); - } - return listItemStackSerialize(list); + item.setAmount(amount); + ItemMeta itemMeta = item.getItemMeta(); + if (name != null) { + itemMeta.displayName(Component.text(name)); } + itemMeta.lore(lore); + item.setItemMeta(itemMeta); + return item; + } - /** - * if item is in its - * @param item an Itemstack - * @param its an Itemstack[] - * @return return if item is in its - */ - public static boolean isContained(ItemStack item, ItemStack[] its) { - for (ItemStack it : its) { - if (it == item) { - return true; - } - } - return false; - } + /** + * the basic close gui button + * @return a barrier block itemstack named close + */ + public static @NotNull ItemStack closeItem() { + ItemStack close = createItem( + Material.BARRIER, + 1, + false, + false, + colorString("CLOSE") + ); + ItemMeta clo = close.getItemMeta(); + clo.setCustomModelData(1); + close.setItemMeta(clo); + return close; + } - /** - * Get which armor the type is - * @param type a material type - * @return the armor type or null - */ - public static String getWhichArmor(Material type) { - String name = type.name(); - if (name.contains("HELMET") || name.contains("helmet")) { - return "HELMET"; - } else if (name.contains("CHESTPLATE") || name.contains("chestplate")) { - return "CHESTPLATE"; - } else if (name.contains("LEGGINGS") || name.contains("leggins")) { - return "LEGGINGS"; - } else if (name.contains("BOOTS") || name.contains("boots")) { - return "BOOTS"; - } - return null; - } + /** + * fill item in chest and guis + * @return a grey glass pane named nothing + */ + public static @NotNull ItemStack greyPane() { + return createItem(Material.GRAY_STAINED_GLASS_PANE, 1, false, true, ""); + } - /** - * a class that represent the itemstack deserialized. - */ - public static class itemStackDeserializeResult { - int slot; - ItemStack it; - String armor; + /** + * serialize item + * @param it an itemstack + * @param slot the slot it was in the inventory + * @return the serialized string + */ + public static @NotNull String itemStackSerialize( + ItemStack it, + @NotNull Integer slot + ) { + String str = ""; + str = itemTo64(it); + str = str + "@#SLOT#" + (slot - 1); + return str; + } - /** - * custructor - * @param slot an int of the slot of the item - * @param it the item which is deserialized. - */ - public itemStackDeserializeResult(Integer slot, ItemStack it) { - this.slot = slot; - this.it = it; - } - - public itemStackDeserializeResult(Integer slot, ItemStack it, String armor) { - this.slot = slot; - this.it = it; - this.armor = armor; - } - } - - /** - * a class that represent a list of itemstack deserialized. - */ - public static class itemStackListDeserilize { - HashMap inv; - - /** - * constructor - * @param inv a list of itemstack with their slot. - */ - public itemStackListDeserilize(HashMap inv) { - this.inv = inv; - } - } - - /** - * deserilize items - * @param str the serilized item - * @return a deserialized item instance - */ - public static @NotNull Items.itemStackDeserializeResult itemStackDeserilize(@NotNull String str) { - List mapp = Arrays.asList(str.split("@#SLOT#")); - Gson gson = new Gson(); - ItemStack it = new ItemStack(Material.AIR); - Integer slot = 0; - String armor = null; - debug("full item " + str); - for (String s : mapp) { - if(s != null) { - try { - it = itemFrom64(s); - } catch (Exception e) { - if (!s.equals("")) { - debug("slot " + s); - try { - slot = Integer.parseInt(s); - } catch (NumberFormatException nfe) { - armor = s; - } - } - } - - } - } - itemStackDeserializeResult itt; - if (armor != null) { - itt = new itemStackDeserializeResult(slot, it, armor); + /** + * Serelize the PlayerInventory + * @param inv a player inventory + * @return return a serelized string + */ + public static @NotNull String itemStackSer(PlayerInventory inv) { + List list = new ArrayList<>(); + Integer i = 0; + for (ItemStack it : inv.getContents()) { + String str = ""; + str = itemTo64(it); + if (it != null) { + if (isContained(it, inv.getArmorContents())) { + str = str + "@#SLOT#" + getWhichArmor(it.getType()); } else { - itt = new itemStackDeserializeResult(slot, it); + i++; + str = str + "@#SLOT#" + (i - 1); } - return itt; + } + list.add(str); } + return listItemStackSerialize(list); + } + + /** + * if item is in its + * @param item an Itemstack + * @param its an Itemstack[] + * @return return if item is in its + */ + public static boolean isContained(ItemStack item, ItemStack[] its) { + for (ItemStack it : its) { + if (it == item) { + return true; + } + } + return false; + } + + /** + * Get which armor the type is + * @param type a material type + * @return the armor type or null + */ + public static String getWhichArmor(Material type) { + String name = type.name(); + if (name.contains("HELMET") || name.contains("helmet")) { + return "HELMET"; + } else if (name.contains("CHESTPLATE") || name.contains("chestplate")) { + return "CHESTPLATE"; + } else if (name.contains("LEGGINGS") || name.contains("leggins")) { + return "LEGGINGS"; + } else if (name.contains("BOOTS") || name.contains("boots")) { + return "BOOTS"; + } + return null; + } + + /** + * a class that represent the itemstack deserialized. + */ + public static class itemStackDeserializeResult { + + int slot; + ItemStack it; + String armor; /** - * a list of serialized item in one string - * @param list the list of all serialized item - * @return a string + * custructor + * @param slot an int of the slot of the item + * @param it the item which is deserialized. */ - public static String listItemStackSerialize(@NotNull List list) { - Gson gson = new Gson(); - String str = ""; - for(String a : list) { - str = str + "@#NEW_ITEM#" + a; - } - return str; + public itemStackDeserializeResult(Integer slot, ItemStack it) { + this.slot = slot; + this.it = it; } + public itemStackDeserializeResult( + Integer slot, + ItemStack it, + String armor + ) { + this.slot = slot; + this.it = it; + this.armor = armor; + } + } + + /** + * a class that represent a list of itemstack deserialized. + */ + public static class itemStackListDeserilize { + + HashMap inv; + /** - * deserialize item - * @param str a list of all serialized item - * @return a list of itemstack with their slot + * constructor + * @param inv a list of itemstack with their slot. */ - public static @NotNull HashMap mapItemStackDeserialize(@NotNull String str) { - Gson gson = new Gson(); - List map = Arrays.asList(str.split("@#NEW_ITEM#")); - HashMap inv = new HashMap<>(); - ArrayList items = new ArrayList(); - for(String s : map) { - ItemStack itt; - Integer slot; - if(s != null) { - itemStackDeserializeResult itm = itemStackDeserilize(s); - itt = itm.it; - if (itt != null && itt.getType() != Material.AIR) { - items.add(itt); - } - slot = itm.slot; - inv.put(slot, itt); - } - } - ItemStack[] it = items.toArray(new ItemStack[0]); - return inv; + public itemStackListDeserilize(HashMap inv) { + this.inv = inv; } + } - /** - * deserialize item - * @param str a list of all serialized item - * @return a list of itemstack with their slot - */ - public static @NotNull List listItemStackDeserialize(@NotNull String str) { - Gson gson = new Gson(); - List map = Arrays.asList(str.split("@#NEW_ITEM#")); - List inv = new ArrayList<>(); - ArrayList items = new ArrayList(); - for(String s : map) { - ItemStack itt; - Integer slot; - if(s != null) { - itemStackDeserializeResult itm = itemStackDeserilize(s); - itt = itm.it; - if (itt != null && itt.getType() != Material.AIR) { - items.add(itt); - } - } - } - return inv; - } - - /** - * set all item in the list to their slot in inv - * @param list a list of item with their slot - * @param inv the destined inventory - * @return the inv - */ - public static Inventory setItemsToInventory(@NotNull HashMap list, Inventory inv) { - for (Map.Entry entry : list.entrySet()) { - inv.setItem(entry.getKey(), entry.getValue()); - } - return inv; - } - - /** - * set all item in the list to their slot in inv - * @param list a list of item with their slot - * @param inv the destined inventory - * @return the inv - */ - public static PlayerInventory setItemsToInventory(@NotNull List list, PlayerInventory inv) { - Inventory invv = Bukkit.createInventory(null, 54); - for (itemStackDeserializeResult itm : list) { - if (itm.armor != null) { - setArmorItem(inv, itm.it); - } else { - inv.setItem(itm.slot, itm.it); - } - } - return inv; - } - - public static void setArmorItem(PlayerInventory inv, ItemStack item) { - String name = item.getType().name(); - if (name.contains("HELMET")) { - inv.setHelmet(item); - } else if (name.contains("CHESTPLATE")) { - inv.setChestplate(item); - } else if (name.contains("LEGGINGS")) { - inv.setLeggings(item); - } else if (name.contains("BOOTS")) { - inv.setBoots(item); - } - } - - /** - * set all item in the list to their slot in inv - * @param list a list of item with their slot - * @param inv the player inventory - * @return the inv - */ - public static PlayerInventory setItemsToInventory(@NotNull HashMap list, PlayerInventory inv) { - for (Map.Entry entry : list.entrySet()) { - if (entry.getKey() == 40) { - inv.setHelmet(entry.getValue()); - } else if (entry.getKey() == 39) { - inv.setChestplate(entry.getValue()); - } else if (entry.getKey() == 38) { - inv.setLeggings(entry.getValue()); - } else if (entry.getKey() == 37) { - inv.setBoots(entry.getValue()); - } else if (entry.getKey() == 41) { - inv.setItemInOffHand(entry.getValue()); - } - else { - inv.setItem(entry.getKey(), entry.getValue()); - } - } - return inv; - } - - /** - * serialize an item - * @param stack the item - * @return a string - * @throws IllegalStateException stream errors - */ - public static @NotNull String itemTo64(ItemStack stack) throws IllegalStateException { + /** + * deserilize items + * @param str the serilized item + * @return a deserialized item instance + */ + public static @NotNull Items.itemStackDeserializeResult itemStackDeserilize( + @NotNull String str + ) { + List mapp = Arrays.asList(str.split("@#SLOT#")); + Gson gson = new Gson(); + ItemStack it = new ItemStack(Material.AIR); + Integer slot = 0; + String armor = null; + debug("full item " + str); + for (String s : mapp) { + if (s != null) { try { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream); - dataOutput.writeObject(stack); - - // Serialize that array - dataOutput.close(); - return Base64Coder.encodeLines(outputStream.toByteArray()); - } - catch (Exception e) { - throw new IllegalStateException("Unable to save item stack.", e); - } - } - - /** - * deserialize item for string to itemstack - * @param data string - * @return itemstack - * @throws IOException stream error - */ - public static ItemStack itemFrom64(String data) throws IOException { - if (data != null) { - return new ItemStack(Material.AIR); - } - try { - ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data)); - BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream); + it = itemFrom64(s); + } catch (Exception e) { + if (!s.equals("")) { + debug("slot " + s); try { - return (ItemStack) dataInput.readObject(); - } finally { - dataInput.close(); + slot = Integer.parseInt(s); + } catch (NumberFormatException nfe) { + armor = s; } + } } - catch (ClassNotFoundException e) { - throw new IOException("Unable to decode class types.", e); - } + } } + itemStackDeserializeResult itt; + if (armor != null) { + itt = new itemStackDeserializeResult(slot, it, armor); + } else { + itt = new itemStackDeserializeResult(slot, it); + } + return itt; + } - /** - * return in correct naming each attributes, - * @param str the nbt attribute - * @return the good name - */ - @Deprecated - public static @NotNull String attributes(@NotNull String str) { - String stt = ""; - if(str.contains("SPEED")) { - stt = "Speed"; - return stt; - } - if(str.contains("STRENGTH")) { - stt = "Strength"; - return stt; - } - if(str.contains("HEALTH")) { - stt = "Health"; - return stt; - } - if(str.contains("DEFENSE")) { - stt = "Defense"; - return stt; - } - else { - stt = "None"; - return stt; - } + /** + * a list of serialized item in one string + * @param list the list of all serialized item + * @return a string + */ + public static String listItemStackSerialize(@NotNull List list) { + Gson gson = new Gson(); + String str = ""; + for (String a : list) { + str = str + "@#NEW_ITEM#" + a; } + return str; + } - /** - * set the attribute of an item - * @param main a main instance - * @param str the attribute - * @param nb how many of the attribute - * @param nbti the item - * @return an item - */ - @Deprecated - public static NBTItem setAttributes(Raxen main, @NotNull String str, Integer nb, NBTItem nbti) { - switch (str) { - case "SPEED": - nbti.setInteger(NBT.SPEED, nb); - case "STRENGTH": - nbti.setInteger(NBT.STRENGTH, nb); - case "HEALTH": - nbti.setInteger(NBT.HEALTH, nb); - case "DEFENSE": - nbti.setInteger(NBT.DEFENSE, nb); - case "LUCK": - nbti.setInteger(NBT.LUCK, nb); - case "MANA": - nbti.setInteger(NBT.MANA, nb); - default: - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), "Cant set Attributes with an unknown attribute."); + /** + * deserialize item + * @param str a list of all serialized item + * @return a list of itemstack with their slot + */ + public static @NotNull HashMap mapItemStackDeserialize( + @NotNull String str + ) { + Gson gson = new Gson(); + List map = Arrays.asList(str.split("@#NEW_ITEM#")); + HashMap inv = new HashMap<>(); + ArrayList items = new ArrayList(); + for (String s : map) { + ItemStack itt; + Integer slot; + if (s != null) { + itemStackDeserializeResult itm = itemStackDeserilize(s); + itt = itm.it; + if (itt != null && itt.getType() != Material.AIR) { + items.add(itt); } - return nbti; + slot = itm.slot; + inv.put(slot, itt); + } } + ItemStack[] it = items.toArray(new ItemStack[0]); + return inv; + } - /** - * set the lore from the nbt - * @param it an itemstack - * @return the modified item - */ - @Deprecated - public static @NotNull ItemStack setLoreFromNBT(@NotNull ItemStack it) { - ItemMeta itm = it.getItemMeta(); - List lore = new ArrayList<>(); - for (Component cp : itm.lore()) { - lore.add(cp); + /** + * deserialize item + * @param str a list of all serialized item + * @return a list of itemstack with their slot + */ + public static @NotNull List listItemStackDeserialize( + @NotNull String str + ) { + Gson gson = new Gson(); + List map = Arrays.asList(str.split("@#NEW_ITEM#")); + List inv = new ArrayList<>(); + ArrayList items = new ArrayList(); + for (String s : map) { + ItemStack itt; + Integer slot; + if (s != null) { + itemStackDeserializeResult itm = itemStackDeserilize(s); + itt = itm.it; + if (itt != null && itt.getType() != Material.AIR) { + items.add(itt); } - NBTItem nbti = new NBTItem(it); - if(nbti.hasTag(NBT.SPEED)) { - if(lore.size() > 2) { - lore.add(2, colorComp(attributes("SPEED")).append(Component.text(nbti.getInteger(NBT.SPEED)))); - } else { - lore.add(colorComp(attributes("SPEED")).append(Component.text(nbti.getInteger(NBT.SPEED)))); - } - } - if(nbti.hasTag(NBT.HEALTH)) { - if(lore.size() > 1) { - lore.add(1, colorComp(attributes("HEALTH")).append(Component.text(nbti.getInteger(NBT.HEALTH)))); - } else { - lore.add(colorComp(attributes("HEALTH")).append(Component.text(nbti.getInteger(NBT.HEALTH)))); - } - } - if(nbti.hasTag(NBT.DEFENSE)) { - if(lore.size() > 3) { - lore.add(3, colorComp(attributes("DEFENSE")).append(Component.text(nbti.getInteger(NBT.DEFENSE)))); - } else { - lore.add(colorComp(attributes("DEFENSE")).append(Component.text(nbti.getInteger(NBT.DEFENSE)))); - } - } - if(nbti.hasTag(NBT.STRENGTH)) { - if(lore.size() > 3) { - lore.add(3, colorComp(attributes("STRENGTH")).append(Component.text(nbti.getInteger(NBT.STRENGTH)))); - } else { - lore.add(colorComp(attributes("STRENGTH")).append(Component.text(nbti.getInteger(NBT.STRENGTH)))); - } - } - if(nbti.hasTag(NBT.MANA)) { - if(lore.size() > 3) { - lore.add(3, colorComp(attributes("MANA")).append(Component.text(nbti.getInteger(NBT.MANA)))); - } else { - lore.add(colorComp(attributes("MANA")).append(Component.text(nbti.getInteger(NBT.MANA)))); - } - } - if(nbti.hasTag(NBT.LUCK)) { - if(lore.size() > 3) { - lore.add(3, colorComp(attributes("LUCK")).append(Component.text(nbti.getInteger(NBT.LUCK)))); - } else { - lore.add(colorComp(attributes("LUCK")).append(Component.text(nbti.getInteger(NBT.LUCK)))); - } - } - itm.lore(lore); - it.setItemMeta(itm); - return it; + } } + return inv; + } - public static ItemStack customModelData(ItemStack it, Integer in) { - ItemMeta itm = it.getItemMeta(); - itm.setCustomModelData(in); - it.setItemMeta(itm); - return it; + /** + * set all item in the list to their slot in inv + * @param list a list of item with their slot + * @param inv the destined inventory + * @return the inv + */ + public static Inventory setItemsToInventory( + @NotNull HashMap list, + Inventory inv + ) { + for (Map.Entry entry : list.entrySet()) { + inv.setItem(entry.getKey(), entry.getValue()); } + return inv; + } + + /** + * set all item in the list to their slot in inv + * @param list a list of item with their slot + * @param inv the destined inventory + * @return the inv + */ + public static PlayerInventory setItemsToInventory( + @NotNull List list, + PlayerInventory inv + ) { + Inventory invv = Bukkit.createInventory(null, 54); + for (itemStackDeserializeResult itm : list) { + if (itm.armor != null) { + setArmorItem(inv, itm.it); + } else { + inv.setItem(itm.slot, itm.it); + } + } + return inv; + } + + public static void setArmorItem(PlayerInventory inv, ItemStack item) { + String name = item.getType().name(); + if (name.contains("HELMET")) { + inv.setHelmet(item); + } else if (name.contains("CHESTPLATE")) { + inv.setChestplate(item); + } else if (name.contains("LEGGINGS")) { + inv.setLeggings(item); + } else if (name.contains("BOOTS")) { + inv.setBoots(item); + } + } + + /** + * set all item in the list to their slot in inv + * @param list a list of item with their slot + * @param inv the player inventory + * @return the inv + */ + public static PlayerInventory setItemsToInventory( + @NotNull HashMap list, + PlayerInventory inv + ) { + for (Map.Entry entry : list.entrySet()) { + if (entry.getKey() == 40) { + inv.setHelmet(entry.getValue()); + } else if (entry.getKey() == 39) { + inv.setChestplate(entry.getValue()); + } else if (entry.getKey() == 38) { + inv.setLeggings(entry.getValue()); + } else if (entry.getKey() == 37) { + inv.setBoots(entry.getValue()); + } else if (entry.getKey() == 41) { + inv.setItemInOffHand(entry.getValue()); + } else { + inv.setItem(entry.getKey(), entry.getValue()); + } + } + return inv; + } + + /** + * serialize an item + * @param stack the item + * @return a string + * @throws IllegalStateException stream errors + */ + public static @NotNull String itemTo64(ItemStack stack) + throws IllegalStateException { + try { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream( + outputStream + ); + dataOutput.writeObject(stack); + + // Serialize that array + dataOutput.close(); + return Base64Coder.encodeLines(outputStream.toByteArray()); + } catch (Exception e) { + throw new IllegalStateException("Unable to save item stack.", e); + } + } + + /** + * deserialize item for string to itemstack + * @param data string + * @return itemstack + * @throws IOException stream error + */ + public static ItemStack itemFrom64(String data) throws IOException { + if (data != null) { + return new ItemStack(Material.AIR); + } + try { + ByteArrayInputStream inputStream = new ByteArrayInputStream( + Base64Coder.decodeLines(data) + ); + BukkitObjectInputStream dataInput = new BukkitObjectInputStream( + inputStream + ); + try { + return (ItemStack) dataInput.readObject(); + } finally { + dataInput.close(); + } + } catch (ClassNotFoundException e) { + throw new IOException("Unable to decode class types.", e); + } + } + + /** + * return in correct naming each attributes, + * @param str the nbt attribute + * @return the good name + */ + @Deprecated + public static @NotNull String attributes(@NotNull String str) { + String stt = ""; + if (str.contains("SPEED")) { + stt = "Speed"; + return stt; + } + if (str.contains("STRENGTH")) { + stt = "Strength"; + return stt; + } + if (str.contains("HEALTH")) { + stt = "Health"; + return stt; + } + if (str.contains("DEFENSE")) { + stt = "Defense"; + return stt; + } else { + stt = "None"; + return stt; + } + } + + /** + * set the attribute of an item + * @param main a main instance + * @param str the attribute + * @param nb how many of the attribute + * @param nbti the item + * @return an item + */ + @Deprecated + public static NBTItem setAttributes( + Raxen main, + @NotNull String str, + Integer nb, + NBTItem nbti + ) { + switch (str) { + case "SPEED": + nbti.setInteger(NBT.SPEED, nb); + case "STRENGTH": + nbti.setInteger(NBT.STRENGTH, nb); + case "HEALTH": + nbti.setInteger(NBT.HEALTH, nb); + case "DEFENSE": + nbti.setInteger(NBT.DEFENSE, nb); + case "LUCK": + nbti.setInteger(NBT.LUCK, nb); + case "MANA": + nbti.setInteger(NBT.MANA, nb); + default: + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Cant set Attributes with an unknown attribute." + ); + } + return nbti; + } + + /** + * set the lore from the nbt + * @param it an itemstack + * @return the modified item + */ + @Deprecated + public static @NotNull ItemStack setLoreFromNBT(@NotNull ItemStack it) { + ItemMeta itm = it.getItemMeta(); + List lore = new ArrayList<>(); + for (Component cp : itm.lore()) { + lore.add(cp); + } + NBTItem nbti = new NBTItem(it); + if (nbti.hasTag(NBT.SPEED)) { + if (lore.size() > 2) { + lore.add( + 2, + colorComp(attributes("SPEED")) + .append(Component.text(nbti.getInteger(NBT.SPEED))) + ); + } else { + lore.add( + colorComp(attributes("SPEED")) + .append(Component.text(nbti.getInteger(NBT.SPEED))) + ); + } + } + if (nbti.hasTag(NBT.HEALTH)) { + if (lore.size() > 1) { + lore.add( + 1, + colorComp(attributes("HEALTH")) + .append(Component.text(nbti.getInteger(NBT.HEALTH))) + ); + } else { + lore.add( + colorComp(attributes("HEALTH")) + .append(Component.text(nbti.getInteger(NBT.HEALTH))) + ); + } + } + if (nbti.hasTag(NBT.DEFENSE)) { + if (lore.size() > 3) { + lore.add( + 3, + colorComp(attributes("DEFENSE")) + .append(Component.text(nbti.getInteger(NBT.DEFENSE))) + ); + } else { + lore.add( + colorComp(attributes("DEFENSE")) + .append(Component.text(nbti.getInteger(NBT.DEFENSE))) + ); + } + } + if (nbti.hasTag(NBT.STRENGTH)) { + if (lore.size() > 3) { + lore.add( + 3, + colorComp(attributes("STRENGTH")) + .append(Component.text(nbti.getInteger(NBT.STRENGTH))) + ); + } else { + lore.add( + colorComp(attributes("STRENGTH")) + .append(Component.text(nbti.getInteger(NBT.STRENGTH))) + ); + } + } + if (nbti.hasTag(NBT.MANA)) { + if (lore.size() > 3) { + lore.add( + 3, + colorComp(attributes("MANA")) + .append(Component.text(nbti.getInteger(NBT.MANA))) + ); + } else { + lore.add( + colorComp(attributes("MANA")) + .append(Component.text(nbti.getInteger(NBT.MANA))) + ); + } + } + if (nbti.hasTag(NBT.LUCK)) { + if (lore.size() > 3) { + lore.add( + 3, + colorComp(attributes("LUCK")) + .append(Component.text(nbti.getInteger(NBT.LUCK))) + ); + } else { + lore.add( + colorComp(attributes("LUCK")) + .append(Component.text(nbti.getInteger(NBT.LUCK))) + ); + } + } + itm.lore(lore); + it.setItemMeta(itm); + return it; + } + + public static ItemStack customModelData(ItemStack it, Integer in) { + ItemMeta itm = it.getItemMeta(); + itm.setCustomModelData(in); + it.setItemMeta(itm); + return it; + } } diff --git a/src/main/java/me/unurled/raxen/utils/RayTrace.java b/src/main/java/me/unurled/raxen/utils/RayTrace.java index d8f2da9..de7a22e 100644 --- a/src/main/java/me/unurled/raxen/utils/RayTrace.java +++ b/src/main/java/me/unurled/raxen/utils/RayTrace.java @@ -1,108 +1,126 @@ package me.unurled.raxen.utils; +import java.util.ArrayList; import org.bukkit.Effect; import org.bukkit.World; import org.bukkit.util.BoundingBox; import org.bukkit.util.Vector; -import java.util.ArrayList; - public class RayTrace { - //origin = start position - //direction = direction in which the raytrace will go - Vector origin, direction; + //origin = start position + //direction = direction in which the raytrace will go + Vector origin, direction; - public RayTrace(Vector origin, Vector direction) { - this.origin = origin; - this.direction = direction; + public RayTrace(Vector origin, Vector direction) { + this.origin = origin; + this.direction = direction; + } + + //get a point on the raytrace at X blocks away + public Vector getPostion(double blocksAway) { + return origin.clone().add(direction.clone().multiply(blocksAway)); + } + + //checks if a position is on contained within the position + public boolean isOnLine(Vector position) { + double t = (position.getX() - origin.getX()) / direction.getX(); + if ( + position.getBlockY() == origin.getY() + (t * direction.getY()) && + position.getBlockZ() == origin.getZ() + (t * direction.getZ()) + ) { + return true; } + return false; + } - //get a point on the raytrace at X blocks away - public Vector getPostion(double blocksAway) { - return origin.clone().add(direction.clone().multiply(blocksAway)); + //get all postions on a raytrace + public ArrayList traverse(double blocksAway, double accuracy) { + ArrayList positions = new ArrayList<>(); + for (double d = 0; d <= blocksAway; d += accuracy) { + positions.add(getPostion(d)); } + return positions; + } - //checks if a position is on contained within the position - public boolean isOnLine(Vector position) { - double t = (position.getX() - origin.getX()) / direction.getX(); - ; - if (position.getBlockY() == origin.getY() + (t * direction.getY()) && position.getBlockZ() == origin.getZ() + (t * direction.getZ())) { - return true; - } - return false; + //intersection detection for current raytrace with return + public Vector positionOfIntersection( + Vector min, + Vector max, + double blocksAway, + double accuracy + ) { + ArrayList positions = traverse(blocksAway, accuracy); + for (Vector position : positions) { + if (intersects(position, min, max)) { + return position; + } } + return null; + } - //get all postions on a raytrace - public ArrayList traverse(double blocksAway, double accuracy) { - ArrayList positions = new ArrayList<>(); - for (double d = 0; d <= blocksAway; d += accuracy) { - positions.add(getPostion(d)); - } - return positions; - } - - //intersection detection for current raytrace with return - public Vector positionOfIntersection(Vector min, Vector max, double blocksAway, double accuracy) { - ArrayList positions = traverse(blocksAway, accuracy); - for (Vector position : positions) { - if (intersects(position, min, max)) { - return position; - } - } - return null; - } - - //intersection detection for current raytrace - public boolean intersects(Vector min, Vector max, double blocksAway, double accuracy) { - ArrayList positions = traverse(blocksAway, accuracy); - for (Vector position : positions) { - if (intersects(position, min, max)) { - return true; - } - } - return false; - } - - //bounding box instead of vector - public Vector positionOfIntersection(BoundingBox boundingBox, double blocksAway, double accuracy) { - ArrayList positions = traverse(blocksAway, accuracy); - for (Vector position : positions) { - if (intersects(position, boundingBox.getMin(), boundingBox.getMax())) { - return position; - } - } - return null; - } - - //bounding box instead of vector - public boolean intersects(BoundingBox boundingBox, double blocksAway, double accuracy) { - ArrayList positions = traverse(blocksAway, accuracy); - for (Vector position : positions) { - if (intersects(position, boundingBox.getMin(), boundingBox.getMax())) { - return true; - } - } - return false; - } - - //general intersection detection - public static boolean intersects(Vector position, Vector min, Vector max) { - if (position.getX() < min.getX() || position.getX() > max.getX()) { - return false; - } else if (position.getY() < min.getY() || position.getY() > max.getY()) { - return false; - } else if (position.getZ() < min.getZ() || position.getZ() > max.getZ()) { - return false; - } + //intersection detection for current raytrace + public boolean intersects( + Vector min, + Vector max, + double blocksAway, + double accuracy + ) { + ArrayList positions = traverse(blocksAway, accuracy); + for (Vector position : positions) { + if (intersects(position, min, max)) { return true; + } } + return false; + } - //debug / effects - public void highlight(World world, double blocksAway, double accuracy){ - for(Vector position : traverse(blocksAway,accuracy)){ - world.playEffect(position.toLocation(world), Effect.BOW_FIRE,0); - } + //bounding box instead of vector + public Vector positionOfIntersection( + BoundingBox boundingBox, + double blocksAway, + double accuracy + ) { + ArrayList positions = traverse(blocksAway, accuracy); + for (Vector position : positions) { + if (intersects(position, boundingBox.getMin(), boundingBox.getMax())) { + return position; + } } + return null; + } -} \ No newline at end of file + //bounding box instead of vector + public boolean intersects( + BoundingBox boundingBox, + double blocksAway, + double accuracy + ) { + ArrayList positions = traverse(blocksAway, accuracy); + for (Vector position : positions) { + if (intersects(position, boundingBox.getMin(), boundingBox.getMax())) { + return true; + } + } + return false; + } + + //general intersection detection + public static boolean intersects(Vector position, Vector min, Vector max) { + if (position.getX() < min.getX() || position.getX() > max.getX()) { + return false; + } else if (position.getY() < min.getY() || position.getY() > max.getY()) { + return false; + } else if (position.getZ() < min.getZ() || position.getZ() > max.getZ()) { + return false; + } + return true; + } + + //debug / effects + public void highlight(World world, double blocksAway, double accuracy) { + for (Vector position : traverse(blocksAway, accuracy)) { + world.playEffect(position.toLocation(world), Effect.BOW_FIRE, 0); + } + } +} diff --git a/src/main/java/me/unurled/raxen/utils/Reload.java b/src/main/java/me/unurled/raxen/utils/Reload.java index 5df6c61..b44b310 100644 --- a/src/main/java/me/unurled/raxen/utils/Reload.java +++ b/src/main/java/me/unurled/raxen/utils/Reload.java @@ -1,5 +1,14 @@ package me.unurled.raxen.utils; +import static me.unurled.raxen.utils.Utils.colorTextComp; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import me.unurled.raxen.Raxen; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; @@ -9,64 +18,67 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.server.ServerListPingEvent; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -import static me.unurled.raxen.utils.Utils.colorTextComp; - public class Reload implements Listener { - private static FileConfiguration config = Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen")).getConfig(); - private static boolean serverReloading = true; + private static FileConfiguration config = Objects + .requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen")) + .getConfig(); + private static boolean serverReloading = true; - /** - * kick all online players - */ - public static void kickAll() { - for(Player player : Bukkit.getOnlinePlayers()) { - player.kick(colorTextComp(Raxen.getPrefix() + "\nServer is Restarting\n Please Wait a few Minutes to reconnect.")); - } + /** + * kick all online players + */ + public static void kickAll() { + for (Player player : Bukkit.getOnlinePlayers()) { + player.kick( + colorTextComp( + Raxen.getPrefix() + + "\nServer is Restarting\n Please Wait a few Minutes to reconnect." + ) + ); } + } - /** - * change the server ping list - * @param e the server ping list event - */ - @EventHandler - public static void pingList(ServerListPingEvent e) { - try { - setPingList(e); - - } catch (IOException ex) { - throw new RuntimeException(ex); - } + /** + * change the server ping list + * @param e the server ping list event + */ + @EventHandler + public static void pingList(ServerListPingEvent e) { + try { + setPingList(e); + } catch (IOException ex) { + throw new RuntimeException(ex); } + } - /** - * update ping list - * @param e the ping event - * @throws IOException file writing - */ - public static void setPingList(ServerListPingEvent e) throws IOException { - if(serverReloading) { - List newLines = new ArrayList<>(); - for(String line : Files.readAllLines(Paths.get("server.properties"), StandardCharsets.UTF_8)) { - if(line.contains("motd=")) { - newLines.add("motd=" + config.get("motd-reload")); - } else { - newLines.add(line); - } - } - Files.write(Paths.get("server.properties"), newLines, StandardCharsets.UTF_8); - - e.motd(Component.text((String) config.get("motd-reload"))); + /** + * update ping list + * @param e the ping event + * @throws IOException file writing + */ + public static void setPingList(ServerListPingEvent e) throws IOException { + if (serverReloading) { + List newLines = new ArrayList<>(); + for (String line : Files.readAllLines( + Paths.get("server.properties"), + StandardCharsets.UTF_8 + )) { + if (line.contains("motd=")) { + newLines.add("motd=" + config.get("motd-reload")); } else { - e.motd(Component.text((String) config.get("motd"))); + newLines.add(line); } + } + Files.write( + Paths.get("server.properties"), + newLines, + StandardCharsets.UTF_8 + ); + + e.motd(Component.text((String) config.get("motd-reload"))); + } else { + e.motd(Component.text((String) config.get("motd"))); } + } } diff --git a/src/main/java/me/unurled/raxen/utils/TabApi.java b/src/main/java/me/unurled/raxen/utils/TabApi.java index b9b403a..8314f00 100644 --- a/src/main/java/me/unurled/raxen/utils/TabApi.java +++ b/src/main/java/me/unurled/raxen/utils/TabApi.java @@ -8,26 +8,28 @@ import me.unurled.raxen.Raxen; public class TabApi { - private ProtocolManager protocolManager; - private Raxen main; + private ProtocolManager protocolManager; + private Raxen main; - /** - * instance of tabapi - * @param main running instance of main - */ - public TabApi(Raxen main) { - this.main = main; - this.protocolManager = main.getProtocolManager(); - } - - /** - * stuff for protocolmanager, used to add player and infos to the ping list - */ - public void packetListener() { - protocolManager.addPacketListener( - new PacketAdapter(main, ListenerPriority.NORMAL, PacketType.Play.Server.PLAYER_INFO) { - } - ); - } + /** + * instance of tabapi + * @param main running instance of main + */ + public TabApi(Raxen main) { + this.main = main; + this.protocolManager = main.getProtocolManager(); + } + /** + * stuff for protocolmanager, used to add player and infos to the ping list + */ + public void packetListener() { + protocolManager.addPacketListener( + new PacketAdapter( + main, + ListenerPriority.NORMAL, + PacketType.Play.Server.PLAYER_INFO + ) {} + ); + } } diff --git a/src/main/java/me/unurled/raxen/utils/Utils.java b/src/main/java/me/unurled/raxen/utils/Utils.java index 17e08aa..6f3e936 100644 --- a/src/main/java/me/unurled/raxen/utils/Utils.java +++ b/src/main/java/me/unurled/raxen/utils/Utils.java @@ -1,5 +1,7 @@ package me.unurled.raxen.utils; +import java.io.IOException; +import java.nio.file.*; import me.unurled.raxen.Raxen; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; @@ -18,447 +20,458 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; -import java.io.IOException; -import java.nio.file.*; - public class Utils { - /** - * convert a string with mini-message formatting to a colored Component - * @param stringToComponent a string - * @return a component - */ - public static @NotNull Component colorComp(String stringToComponent) { - MiniMessage minimessage = MiniMessage.builder() - .tags(TagResolver.builder() - .resolver(StandardTags.color()) - .resolver(StandardTags.decorations()) - .resolver(StandardTags.reset()) - .build() - ) - .build(); - return minimessage.deserialize(stringToComponent); - } + /** + * convert a string with mini-message formatting to a colored Component + * @param stringToComponent a string + * @return a component + */ + public static @NotNull Component colorComp(String stringToComponent) { + MiniMessage minimessage = MiniMessage + .builder() + .tags( + TagResolver + .builder() + .resolver(StandardTags.color()) + .resolver(StandardTags.decorations()) + .resolver(StandardTags.reset()) + .build() + ) + .build(); + return minimessage.deserialize(stringToComponent); + } - /** - * convert a string with mini-message formatting to a colored TextComponent - * @param stringToComponent a string - * @return a component - */ - public static @NotNull TextComponent colorTextComp(String stringToComponent) { - MiniMessage minimessage = MiniMessage.builder() - .tags(TagResolver.builder() - .resolver(StandardTags.color()) - .resolver(StandardTags.decorations()) - .resolver(StandardTags.reset()) - .build() - ) - .build(); - return (TextComponent) minimessage.deserialize(stringToComponent); - } + /** + * convert a string with mini-message formatting to a colored TextComponent + * @param stringToComponent a string + * @return a component + */ + public static @NotNull TextComponent colorTextComp(String stringToComponent) { + MiniMessage minimessage = MiniMessage + .builder() + .tags( + TagResolver + .builder() + .resolver(StandardTags.color()) + .resolver(StandardTags.decorations()) + .resolver(StandardTags.reset()) + .build() + ) + .build(); + return (TextComponent) minimessage.deserialize(stringToComponent); + } - /** - * change the mini-message colorized format to the legacy format, with § - * @param string a string - * @return a colored string - */ - public static @NotNull String colorString(String string) { - MiniMessage minimessage = MiniMessage.builder() - .tags(TagResolver.builder() - .resolver(StandardTags.color()) - .resolver(StandardTags.decorations()) - .resolver(StandardTags.reset()) - .build() - ) - .build(); - return LegacyComponentSerializer.legacyAmpersand().serialize(minimessage.deserialize(string)); - } + /** + * change the mini-message colorized format to the legacy format, with § + * @param string a string + * @return a colored string + */ + public static @NotNull String colorString(String string) { + MiniMessage minimessage = MiniMessage + .builder() + .tags( + TagResolver + .builder() + .resolver(StandardTags.color()) + .resolver(StandardTags.decorations()) + .resolver(StandardTags.reset()) + .build() + ) + .build(); + return LegacyComponentSerializer + .legacyAmpersand() + .serialize(minimessage.deserialize(string)); + } - /** - * change the mini-message colorized format to the legacy format, with § - * @param string a string - * @return a String - */ - public static String coloredString(String string) { - MiniMessage minimessage = MiniMessage.builder() - .tags(TagResolver.builder() - .resolver(StandardTags.color()) - .resolver(StandardTags.decorations()) - .resolver(StandardTags.reset()) - .build() - ) - .build(); - return ChatColor.translateAlternateColorCodes('&', LegacyComponentSerializer.legacyAmpersand() - .serialize(minimessage.deserialize(string))); - } + /** + * change the mini-message colorized format to the legacy format, with § + * @param string a string + * @return a String + */ + public static String coloredString(String string) { + return LegacyComponentSerializer + .legacyAmpersand() + .serialize(colorComp(string)); + } - /** - * transform a text-component to a string - * @param comp a string - * @return a String - */ - public static String textCompToString(TextComponent comp) { - /* MiniMessage minimessage = MiniMessage.builder() - .tags(TagResolver.builder() - .resolver(StandardTags.color()) - .resolver(StandardTags.decorations()) - .resolver(StandardTags.reset()) - .build() - ) - .build(); */ - return ChatColor.translateAlternateColorCodes('&', LegacyComponentSerializer.legacyAmpersand() - .serialize(comp)); - } + /** + * transform a text-component to a string + * @param comp a string + * @return a String + */ + public static String textCompToString(TextComponent comp) { + return LegacyComponentSerializer.legacyAmpersand().serialize(comp); + } - /** - * transform a text-component to a string - * @param comp a string - * @return a String - */ - public static String textCompToString(Component comp) { - /* MiniMessage minimessage = MiniMessage.builder() - .tags(TagResolver.builder() - .resolver(StandardTags.color()) - .resolver(StandardTags.decorations()) - .resolver(StandardTags.reset()) - .build() - ) - .build(); */ - return ChatColor.translateAlternateColorCodes('§', LegacyComponentSerializer.legacyAmpersand() - .serialize(comp)); - } + /** + * transform a text-component to a string + * @param comp a string + * @return a String + */ + public static String textCompToString(Component comp) { + return LegacyComponentSerializer.legacyAmpersand().serialize(comp); + } - public static void comp(Component comp) { - LegacyComponentSerializer.legacyAmpersand().serialize(comp); - } + public static void comp(Component comp) { + LegacyComponentSerializer.legacyAmpersand().serialize(comp); + } - /** - * Strips all color from a string. - * @param string the string that wants to be decolored. - * @return a decolored string - */ - public static String decolor(String string) { - return MiniMessage.miniMessage().stripTags(string); - } + /** + * Strips all color from a string. + * @param string the string that wants to be decolored. + * @return a decolored string + */ + public static String decolor(String string) { + return MiniMessage.miniMessage().stripTags(string); + } - /** - * debug output to console if debug is set to true in config - * @param main Raxen instance - * @param strings output to console - */ - public static void debug(Raxen main, String... strings) { - FileConfiguration config = main.getConfig(); - if(config.getBoolean("debug")) { - for(String string : strings) { - main.getLogger().info(string); - } - } - } + /** + * transform a new line to a component + * @param string + * @return + */ + public static Component stringToComp(String string) { + return Component.text(string); + } - /** - * debug output to console if debug is set to true in config - * @param strings output to console - */ - public static void debug(String... strings) { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - assert main != null; - FileConfiguration config = main.getConfig(); - if(config.getBoolean("debug")) { - for(String string : strings) { - main.getLogger().info(string); - } - } + /** + * debug output to console if debug is set to true in config + * @param main Raxen instance + * @param strings output to console + */ + public static void debug(Raxen main, String... strings) { + FileConfiguration config = main.getConfig(); + if (config.getBoolean("debug")) { + for (String string : strings) { + main.getLogger().info(string); + } } + } - /** - * debug output to console if debug is set to true in config - * @param config main file config - * @param strings ouput to console - */ - public static void debug(FileConfiguration config, String... strings) { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - assert main != null; - if(config.getBoolean("debug")) { - for(String string : strings) { - main.getLogger().info(string); - } - } + /** + * debug output to console if debug is set to true in config + * @param strings output to console + */ + public static void debug(String... strings) { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; + FileConfiguration config = main.getConfig(); + if (config.getBoolean("debug")) { + for (String string : strings) { + main.getLogger().info(string); + } } + } - /** - * debug output to console if debug is set to true in config - * @param comps output to console - */ - public static void debug(TextComponent... comps) { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - assert main != null; - FileConfiguration config = main.getConfig(); - if(config.getBoolean("debug")) { - for(TextComponent comp : comps) { - main.getLogger().info(textCompToString(comp)); - } - } + /** + * debug output to console if debug is set to true in config + * @param config main file config + * @param strings ouput to console + */ + public static void debug(FileConfiguration config, String... strings) { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; + if (config.getBoolean("debug")) { + for (String string : strings) { + main.getLogger().info(string); + } } + } - /** - * Log the strings to the console - * @param main a main instance running - * @param strings string that want to be outputted. - */ - public static void log(Raxen main, String... strings) { - for(String string : strings) { - main.getLogger().info(string); - } + /** + * debug output to console if debug is set to true in config + * @param comps output to console + */ + public static void debug(TextComponent... comps) { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; + FileConfiguration config = main.getConfig(); + if (config.getBoolean("debug")) { + for (TextComponent comp : comps) { + main.getLogger().info(textCompToString(comp)); + } } + } - /** - * Log the strings to the console - * @param strings string that want to be outputted. - */ - public static void log(String... strings) { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - assert main != null; - for(String string : strings) { - main.getLogger().info(string); - } + /** + * Log the strings to the console + * @param main a main instance running + * @param strings string that want to be outputted. + */ + public static void log(Raxen main, String... strings) { + for (String string : strings) { + main.getLogger().info(string); } + } - /** - * Log the TextComponent to the console - * @param comp TextComponent that want to be outputted. - */ - public static void log(TextComponent... comp) { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - assert main != null; - for(TextComponent string : comp) { - main.getServer().sendMessage(string); - } + /** + * Log the strings to the console + * @param strings string that want to be outputted. + */ + public static void log(String... strings) { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; + for (String string : strings) { + main.getLogger().info(string); } + } - /** - * Warns strings to the console using the logger - * @param strings to warn message - */ - public static void warn(String... strings) { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - assert main != null; - for(String string : strings) { - main.getLogger().warning(string); - } + /** + * Log the TextComponent to the console + * @param comp TextComponent that want to be outputted. + */ + public static void log(TextComponent... comp) { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; + for (TextComponent string : comp) { + main.getServer().sendMessage(string); } + } - /** - * Warns strings to the console using the logger - * @param strings to warn message - * @param main a running instance - */ - public static void warn(Raxen main, String... strings) { - for(String string : strings) { - main.getLogger().warning(string); - } + /** + * Warns strings to the console using the logger + * @param strings to warn message + */ + public static void warn(String... strings) { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; + for (String string : strings) { + main.getLogger().warning(string); } + } - /** - * Error strings to the console using the logger - * @param strings to error message - */ - public static void error(String... strings) { - Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); - assert main != null; - for(String string : strings) { - main.getLogger().severe(string); - } + /** + * Warns strings to the console using the logger + * @param strings to warn message + * @param main a running instance + */ + public static void warn(Raxen main, String... strings) { + for (String string : strings) { + main.getLogger().warning(string); } + } - /** - * Error strings to the console using the logger - * @param strings to error message - * @param main a main instance running - */ - public static void error(Raxen main, String... strings) { - for(String string : strings) { - main.getLogger().severe(string); - } + /** + * Error strings to the console using the logger + * @param strings to error message + */ + public static void error(String... strings) { + Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; + for (String string : strings) { + main.getLogger().severe(string); } + } - /** - * message strings to player. - * @param player an online player - * @param strings strings that will be sent. - */ - public static void msgPlayer(Player player, String... strings) { - for(String string : strings) { - player.sendMessage(colorComp(string)); - } + /** + * Error strings to the console using the logger + * @param strings to error message + * @param main a main instance running + */ + public static void error(Raxen main, String... strings) { + for (String string : strings) { + main.getLogger().severe(string); } + } - /** - * message textComponent to player. - * @param player an online player - * @param comp textComponent that will be sent. - */ - public static void msgPlayer(Player player, TextComponent comp) { - player.sendMessage(colorComp(PlainTextComponentSerializer.plainText().serialize(comp))); + /** + * message strings to player. + * @param player an online player + * @param strings strings that will be sent. + */ + public static void msgPlayer(Player player, String... strings) { + for (String string : strings) { + player.sendMessage(colorComp(string)); } + } - /** - * message the command sender with textComponent. - * @param player the command sender - * @param textComponent message - */ - public static void msgSender(CommandSender player, TextComponent textComponent) { - player.sendMessage(colorComp(PlainTextComponentSerializer.plainText().serialize(textComponent))); + /** + * message textComponent to player. + * @param player an online player + * @param comp textComponent that will be sent. + */ + public static void msgPlayer(Player player, TextComponent comp) { + player.sendMessage( + colorComp(PlainTextComponentSerializer.plainText().serialize(comp)) + ); + } + + /** + * message the command sender with textComponent. + * @param player the command sender + * @param textComponent message + */ + public static void msgSender( + CommandSender player, + TextComponent textComponent + ) { + player.sendMessage( + colorComp( + PlainTextComponentSerializer.plainText().serialize(textComponent) + ) + ); + } + + /** + * message the command sender with strings. + * @param player the command sender + * @param strings message + */ + public static void msgSender(CommandSender player, String... strings) { + for (String string : strings) { + player.sendMessage(colorComp(string)); } + } - /** - * message the command sender with strings. - * @param player the command sender - * @param strings message - */ - public static void msgSender(CommandSender player, String... strings) { - for(String string : strings) { - player.sendMessage(colorComp(string)); - } + /** + * fill an inventory with grey glass pane. + * @param inv an inventory + * @return the inventory filled + */ + public static Inventory fillGreyPane(Inventory inv) { + int in = -1; + for (ItemStack it : inv) { + in++; + if (it == null || it.getType() == Material.AIR) { + inv.setItem(in, Items.greyPane()); + } } + return inv; + } - /** - * fill an inventory with grey glass pane. - * @param inv an inventory - * @return the inventory filled - */ - public static Inventory fillGreyPane(Inventory inv) { - int in = -1; - for (ItemStack it : inv) { - in++; - if (it == null || it.getType() == Material.AIR) { - inv.setItem(in, Items.greyPane()); - } - } - return inv; - } + /** + * output message when player have no perms + * @return a component + */ + public static Component noPerms() { + return colorComp("You don't have the permission to use this feature."); + } - /** - * output message when player have no perms - * @return a component - */ - public static Component noPerms() { - return colorComp("You don't have the permission to use this feature."); - } + /** + * error message output to player + * @return a component + */ + public static Component error() { + return colorComp( + "An Error has occurred. Please retry or contact an Admin." + ); + } - /** - * error message output to player - * @return a component - */ - public static Component error() { - return colorComp("An Error has occurred. Please retry or contact an Admin."); - } + public static void errorConsoleSender(CommandSender sender) { + sender.sendMessage( + colorComp("Can't use this command as the console.") + ); + } - public static void errorConsoleSender(CommandSender sender) { - sender.sendMessage(colorComp("Can't use this command as the console.")); - } - - /** - * Copy folder from sourceDirectoryLocation to destinationDirectoryLocation - * @param sourceDirectoryLocation the source directory - * @param destinationDirectoryLocation the copy location - * @throws IOException exception with coping data - */ - public static void copyDirectory(String sourceDirectoryLocation, String destinationDirectoryLocation) throws IOException { - Files.walk(Paths.get(sourceDirectoryLocation)) - .forEach(source -> { - Path destination = Paths.get(destinationDirectoryLocation, source.toString() - .substring(sourceDirectoryLocation.length())); - try { - Files.copy(source, destination); - } catch (IOException e) { - e.printStackTrace(); - } - }); - } - - /** - * remove path directory - * @param path removed folder - * @throws IOException error with handling data - */ - public static void removeDirectory(Path path) throws IOException { - if (Files.isDirectory(path, LinkOption.NOFOLLOW_LINKS)) { - try (DirectoryStream entries = Files.newDirectoryStream(path)) { - for (Path entry : entries) { - removeDirectory(entry); - } - } - } - Files.delete(path); - } - - public static boolean isInt(String strNum) { - if (strNum == null) { - return false; - } + /** + * Copy folder from sourceDirectoryLocation to destinationDirectoryLocation + * @param sourceDirectoryLocation the source directory + * @param destinationDirectoryLocation the copy location + * @throws IOException exception with coping data + */ + public static void copyDirectory( + String sourceDirectoryLocation, + String destinationDirectoryLocation + ) throws IOException { + Files + .walk(Paths.get(sourceDirectoryLocation)) + .forEach(source -> { + Path destination = Paths.get( + destinationDirectoryLocation, + source.toString().substring(sourceDirectoryLocation.length()) + ); try { - double d = Integer.parseInt(strNum); - } catch (NumberFormatException nfe) { - return false; + Files.copy(source, destination); + } catch (IOException e) { + e.printStackTrace(); } - return true; - } + }); + } - /** - * get a string from args which contains "" - * @param args a string list - * @return a string - */ - public static String getStringFromArg(String[] args) { - String result = ""; - boolean getFColon = false; - boolean getLColon = false; - for (String arg : args) { - if (arg.contains("\"")) { - if (!getFColon) { - getFColon = true; - } else if (getFColon && !getLColon) { - result += arg.replace("\"", ""); - return result; - } else if (getFColon) { - result += arg.replace("\"", ""); - } - } + /** + * remove path directory + * @param path removed folder + * @throws IOException error with handling data + */ + public static void removeDirectory(Path path) throws IOException { + if (Files.isDirectory(path, LinkOption.NOFOLLOW_LINKS)) { + try (DirectoryStream entries = Files.newDirectoryStream(path)) { + for (Path entry : entries) { + removeDirectory(entry); } - return result; + } } + Files.delete(path); + } - /** - * search if there is an args that is null or do not exist - * @param args a list of string - * @param n a number of entries a list should have - * @return a boolean if true or not - */ - public static Boolean validateArgs(String[] args, Integer n) { - for (int i = 0; i < n ; i++) { - if (args.length < n-1) { - return false; - } else if (args[i] == null) { - return false; - } - } - return true; + public static boolean isInt(String strNum) { + if (strNum == null) { + return false; } + try { + double d = Integer.parseInt(strNum); + } catch (NumberFormatException nfe) { + return false; + } + return true; + } - /** - * changes every "null" in list to the object null - * @param args a list of strings - * @return return a new list - */ - public static String[] setNullInArgs(String[] args) { - String[] newList = new String[args.length]; - for (int i = 0 ; i < args.length ; i++) { - if (args[i].equalsIgnoreCase("null")) { - newList[i] = null; - } else { - newList[i] = args[i]; - } + /** + * get a string from args which contains "" + * @param args a string list + * @return a string + */ + public static String getStringFromArg(String[] args) { + String result = ""; + boolean getFColon = false; + boolean getLColon = false; + for (String arg : args) { + if (arg.contains("\"")) { + if (!getFColon) { + getFColon = true; + } else if (getFColon && !getLColon) { + result += arg.replace("\"", ""); + return result; + } else if (getFColon) { + result += arg.replace("\"", ""); } - return newList; + } } + return result; + } + + /** + * search if there is an args that is null or do not exist + * @param args a list of string + * @param n a number of entries a list should have + * @return a boolean if true or not + */ + public static Boolean validateArgs(String[] args, Integer n) { + for (int i = 0; i < n; i++) { + if (args.length < n - 1) { + return false; + } else if (args[i] == null) { + return false; + } + } + return true; + } + + /** + * changes every "null" in list to the object null + * @param args a list of strings + * @return return a new list + */ + public static String[] setNullInArgs(String[] args) { + String[] newList = new String[args.length]; + for (int i = 0; i < args.length; i++) { + if (args[i].equalsIgnoreCase("null")) { + newList[i] = null; + } else { + newList[i] = args[i]; + } + } + return newList; + } } diff --git a/src/main/java/me/unurled/raxen/utils/libs/CitizensApi.java b/src/main/java/me/unurled/raxen/utils/libs/CitizensApi.java index 5c6f1a7..1ad87c6 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/CitizensApi.java +++ b/src/main/java/me/unurled/raxen/utils/libs/CitizensApi.java @@ -5,17 +5,16 @@ import org.bukkit.entity.Entity; public class CitizensApi { - private Raxen main; + private Raxen main; - public CitizensApi(Raxen main) { - this.main = main; - } + public CitizensApi(Raxen main) { + this.main = main; + } - public boolean isNPC(Entity e) { - return e.hasMetadata("NPC"); - } - - /* + public boolean isNPC(Entity e) { + return e.hasMetadata("NPC"); + } + /* public void createNPC(EntityType type) { NPC npc = CitizensAPI.getNPCRegistry().createNPC(type); } diff --git a/src/main/java/me/unurled/raxen/utils/libs/HolographicDisplay.java b/src/main/java/me/unurled/raxen/utils/libs/HolographicDisplay.java deleted file mode 100644 index 20362b3..0000000 --- a/src/main/java/me/unurled/raxen/utils/libs/HolographicDisplay.java +++ /dev/null @@ -1,82 +0,0 @@ -package me.unurled.raxen.utils.libs; - -import lombok.Getter; -import me.filoghost.holographicdisplays.api.HolographicDisplaysAPI; -import me.filoghost.holographicdisplays.api.hologram.Hologram; -import me.filoghost.holographicdisplays.api.hologram.line.ItemHologramLine; -import me.filoghost.holographicdisplays.api.hologram.line.TextHologramLine; -import me.unurled.raxen.Raxen; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; -import org.bukkit.plugin.Plugin; - -public class HolographicDisplay { - private Raxen main; - - @Getter - private HolographicDisplaysAPI holographicDisplaysAPI; - - public HolographicDisplay(Raxen main) { - this.main = main; - holographicDisplaysAPI = HolographicDisplaysAPI.get(main); - } - - /** - * create a Hologram at Loc - * @param text the text to be displayed (one line only) - * @param loc the location of the hologram - * @return the created hologram - */ - public Hologram createHologram(String text, Location loc) { - Hologram hologram = null; - if (text != null && !text.equals("")) { - hologram = holographicDisplaysAPI.createHologram(loc); - TextHologramLine textLine = hologram.getLines().appendText(text); - } - return hologram; - } - - /** - * create a Hologram at Loc - * @param item the item to be displayed (only one) - * @param loc the location of the hologram - * @return the created hologram - */ - public Hologram createHologram(ItemStack item, Location loc) { - Hologram hologram = null; - if (item != null && !item.getType().equals(Material.AIR)) { - hologram = holographicDisplaysAPI.createHologram(loc); - ItemHologramLine textLine = hologram.getLines().appendItem(item); - } - return hologram; - } - - /** - * insert in the holo - * @param holo the hologram to insert - * @param text the text that is inserted - * @param line the line to change (start at 0) - * @return the hologram - */ - public Hologram insertHologram(Hologram holo, String text, Integer line) { - if (text != null && !text.equals("")) { - TextHologramLine textLine = holo.getLines().insertText(line, text); - } - return holo; - } - - /** - * insert in the holo - * @param holo the hologram to insert - * @param item the item that is inserted - * @param line the line to change (start at 0) - * @return the hologram - */ - public Hologram insertHologram(Hologram holo, ItemStack item, Integer line) { - if (item != null && !item.getType().equals(Material.AIR)) { - ItemHologramLine textLine = holo.getLines().insertItem(line, item); - } - return holo; - } -} diff --git a/src/main/java/me/unurled/raxen/utils/libs/LuckPerm.java b/src/main/java/me/unurled/raxen/utils/libs/LuckPerm.java index d7483f2..62ef532 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/LuckPerm.java +++ b/src/main/java/me/unurled/raxen/utils/libs/LuckPerm.java @@ -8,17 +8,18 @@ import org.bukkit.plugin.RegisteredServiceProvider; public class LuckPerm { - private static RegisteredServiceProvider provider; - @Getter - private static LuckPerms api; + private static RegisteredServiceProvider provider; - public LuckPerm(Raxen main) { - provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class); - } + @Getter + private static LuckPerms api; - public static void register() { - if (provider != null) { - api = provider.getProvider(); - } + public LuckPerm(Raxen main) { + provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class); + } + + public static void register() { + if (provider != null) { + api = provider.getProvider(); } + } } diff --git a/src/main/java/me/unurled/raxen/utils/libs/MongoDB.java b/src/main/java/me/unurled/raxen/utils/libs/MongoDB.java index 9effefb..ef4e9f7 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/MongoDB.java +++ b/src/main/java/me/unurled/raxen/utils/libs/MongoDB.java @@ -1,49 +1,57 @@ package me.unurled.raxen.utils.libs; +import static me.unurled.raxen.utils.Utils.*; + import com.mongodb.ConnectionString; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; +import java.util.Objects; +import java.util.logging.Level; +import java.util.logging.Logger; import lombok.Getter; import org.bson.Document; import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; -import java.util.Objects; -import java.util.logging.Level; -import java.util.logging.Logger; - -import static me.unurled.raxen.utils.Utils.*; - public class MongoDB { - @Getter - private MongoClient mongoClient; - @Getter - private MongoDatabase mongoDatabase; - @Getter - private MongoCollection mongoCollection; - @Getter - private MongoCollection mongoConfigs; - public void connect() { - FileConfiguration config = Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen")).getConfig(); - String uri = (String) config.get("url"); - assert uri != null; - debug("URI " + uri); - ConnectionString connectionString = new ConnectionString(uri); - mongoClient = MongoClients.create(connectionString); - mongoDatabase = mongoClient.getDatabase("Raxen"); - mongoCollection = mongoDatabase.getCollection("player"); - mongoConfigs = mongoDatabase.getCollection("config"); + @Getter + private MongoClient mongoClient; + @Getter + private MongoDatabase mongoDatabase; - Bukkit.getConsoleSender().sendMessage(colorComp("MongoDB connected!")); - } + @Getter + private MongoCollection mongoCollection; - public void close() { - mongoClient.close(); + @Getter + private MongoCollection mongoConfigs; - Bukkit.getConsoleSender().sendMessage(colorComp("MongoDB disconnected!")); - } + public void connect() { + FileConfiguration config = Objects + .requireNonNull(Bukkit.getPluginManager().getPlugin("Raxen")) + .getConfig(); + String uri = (String) config.get("url"); + assert uri != null; + debug("URI " + uri); + ConnectionString connectionString = new ConnectionString(uri); + mongoClient = MongoClients.create(connectionString); + mongoDatabase = mongoClient.getDatabase("Raxen"); + mongoCollection = mongoDatabase.getCollection("player"); + mongoConfigs = mongoDatabase.getCollection("config"); + + Bukkit + .getConsoleSender() + .sendMessage(colorComp("MongoDB connected!")); + } + + public void close() { + mongoClient.close(); + + Bukkit + .getConsoleSender() + .sendMessage(colorComp("MongoDB disconnected!")); + } } diff --git a/src/main/java/me/unurled/raxen/utils/libs/Multiverse.java b/src/main/java/me/unurled/raxen/utils/libs/Multiverse.java index 5bbed17..f036518 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/Multiverse.java +++ b/src/main/java/me/unurled/raxen/utils/libs/Multiverse.java @@ -6,19 +6,23 @@ import org.bukkit.Bukkit; public class Multiverse { - private MultiverseCore core; - private MVWorldManager worldManager; + private MultiverseCore core; + private MVWorldManager worldManager; - public Multiverse() { - this.core = (MultiverseCore) Bukkit.getServer().getPluginManager().getPlugin("Multiverse-Core"); - this.worldManager = core.getMVWorldManager(); - } + public Multiverse() { + this.core = + (MultiverseCore) Bukkit + .getServer() + .getPluginManager() + .getPlugin("Multiverse-Core"); + this.worldManager = core.getMVWorldManager(); + } - public MVWorldManager getWorldManager() { - return worldManager; - } + public MVWorldManager getWorldManager() { + return worldManager; + } - public MultiverseCore getMultiverseCore() { - return core; - } + public MultiverseCore getMultiverseCore() { + return core; + } } diff --git a/src/main/java/me/unurled/raxen/utils/libs/Mysql.java b/src/main/java/me/unurled/raxen/utils/libs/Mysql.java index b6a5748..4606463 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/Mysql.java +++ b/src/main/java/me/unurled/raxen/utils/libs/Mysql.java @@ -1,46 +1,37 @@ package me.unurled.raxen.utils.libs; +import java.sql.SQLException; import me.unurled.raxen.Raxen; import me.unurled.raxen.config.Config; import me.unurled.raxen.manager.entity.StorageManager; import org.bukkit.entity.Player; -import java.sql.SQLException; - public class Mysql { - private static String username; - private static String password; - private static String url; + private static String username; + private static String password; + private static String url; - private Raxen main; - private StorageManager sto; - private Config config; + private Raxen main; + private StorageManager sto; + private Config config; - public Mysql(Raxen main) { - this.main = main; - this.sto = main.getManager().getStorageManager(); - this.config = main.getConf(); - this.username = (String) config.getConfig().get("username"); - this.url = (String) config.getConfig().get("url"); - this.password = (String) config.getConfig().get("password"); + public Mysql(Raxen main) { + this.main = main; + this.sto = main.getManager().getStorageManager(); + this.config = main.getConf(); + this.username = (String) config.getConfig().get("username"); + this.url = (String) config.getConfig().get("url"); + this.password = (String) config.getConfig().get("password"); + } - } + public static void init() {} - public static void init() { + public static String get(Player player, String str) throws SQLException { + return "False"; + } - } - - public static String get(Player player, String str) throws SQLException { - return "False"; - } - - public static void connect() { - - } - - public static void disconnect() { - - } + public static void connect() {} + public static void disconnect() {} } diff --git a/src/main/java/me/unurled/raxen/utils/libs/PlaceHolderAPI.java b/src/main/java/me/unurled/raxen/utils/libs/PlaceHolderAPI.java index fa75cfd..4c2e5bb 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/PlaceHolderAPI.java +++ b/src/main/java/me/unurled/raxen/utils/libs/PlaceHolderAPI.java @@ -4,13 +4,12 @@ import me.unurled.raxen.Raxen; public class PlaceHolderAPI { - private Raxen main; + private Raxen main; - public PlaceHolderAPI(Raxen main) { - this.main = main; - } - - /* + public PlaceHolderAPI(Raxen main) { + this.main = main; + } + /* public static setPlaceholders() { } diff --git a/src/main/java/me/unurled/raxen/utils/libs/Vault.java b/src/main/java/me/unurled/raxen/utils/libs/Vault.java index fa454ff..7bfe477 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/Vault.java +++ b/src/main/java/me/unurled/raxen/utils/libs/Vault.java @@ -1,5 +1,8 @@ package me.unurled.raxen.utils.libs; +import static me.unurled.raxen.utils.Utils.error; + +import java.text.DecimalFormat; import lombok.Getter; import me.unurled.raxen.Raxen; import net.milkbowl.vault.economy.Economy; @@ -7,42 +10,48 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; -import java.text.DecimalFormat; - -import static me.unurled.raxen.utils.Utils.error; - public class Vault { - @Getter - private Economy econ = null; - //econ.depositPlayer(player,amount) - //econ.withdrawPlayer(player,amount) - //econ.getBalance(player); + @Getter + private Economy econ = null; - private static Raxen main; + //econ.depositPlayer(player,amount) + //econ.withdrawPlayer(player,amount) + //econ.getBalance(player); - public Vault(Raxen main) { - this.main = main; - setupEconomy(); + private static Raxen main; + + public Vault(Raxen main) { + this.main = main; + setupEconomy(); + } + + private void setupEconomy() { + if (main.getServer().getPluginManager().getPlugin("Vault") == null) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Need to install plugin Vault. (https://github.com/milkbowl/Vault)" + ); + return; } - - private void setupEconomy() { - if (main.getServer().getPluginManager().getPlugin("Vault") == null) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Need to install plugin Vault. (https://github.com/milkbowl/Vault)"); - return; - } - RegisteredServiceProvider rsp = main.getServer().getServicesManager().getRegistration(Economy.class); - if (rsp == null) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Some bug happend in the initialisation of Vault and Raxen."); - return; - } - econ = rsp.getProvider(); - return; + RegisteredServiceProvider rsp = main + .getServer() + .getServicesManager() + .getRegistration(Economy.class); + if (rsp == null) { + error( + (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"), + "Some bug happend in the initialisation of Vault and Raxen." + ); + return; } + econ = rsp.getProvider(); + return; + } - public String getBalanceString(Player player) { - double bal = econ.getBalance(player); - DecimalFormat format = new DecimalFormat("#,###.00"); - return format.format(bal); - } + public String getBalanceString(Player player) { + double bal = econ.getBalance(player); + DecimalFormat format = new DecimalFormat("#,###.00"); + return format.format(bal); + } } diff --git a/src/main/java/me/unurled/raxen/utils/libs/WorldEdit.java b/src/main/java/me/unurled/raxen/utils/libs/WorldEdit.java index 7672e9f..a9947da 100644 --- a/src/main/java/me/unurled/raxen/utils/libs/WorldEdit.java +++ b/src/main/java/me/unurled/raxen/utils/libs/WorldEdit.java @@ -1,5 +1,3 @@ package me.unurled.raxen.utils.libs; -public class WorldEdit { - -} +public class WorldEdit {} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 7438c47..a53200c 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -42,8 +42,6 @@ commands: description: not very much used, more with right click on device itemto64: description: transform an item to it's 64encoded byte - testholo: - description: test command for the holograms permissions: raxen.reload.cmd: