WPZjjB#739J`bg7ybfnO_Wvk7XR&f+?1hbZT96
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
b^L9Mn!1E4ri95wk@o6d+cgxXX8D98b_zI4T
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/base/Command$CommandContext.class b/bin/main/dev/colbster937/originblacklist/base/Command$CommandContext.class
new file mode 100644
index 0000000000000000000000000000000000000000..f1621598f7797ab7b5cc89f64a53ad35a5f03205
GIT binary patch
literal 435
zcmb7=%}N6?6ot?2-?U>}tJXJg(E)K5E<}n8DTsnpq2NMSndxOr%_NefMPJQ@58y+I
zX)TBp7jANrd(X{1d>@~0?*Puwk5C~Dr@TmWqcZ2&o*tj1#>ztKOo{wSN$1l{I8H~V
zEQOvPtaW6x=NBKLM(EANLZnLQBE89GoO?o4upf((3H?EG{nMX#D|Im>)Ga@&SHk{a
zvzy!zI*-ELvMr@^(^Y_uq@oZQ+)VB7J5s_q
zb`f?6hyQ^==>En*XpY(WOXGZlK&S@HKrJw;qY*A4FPbZDAztYg+QCspC!7^@u^luH
OlYuIB8!hau>b)-t407uL
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/base/Command.class b/bin/main/dev/colbster937/originblacklist/base/Command.class
new file mode 100644
index 0000000000000000000000000000000000000000..91c01d56719e4890e556aed1d94ec35094efc2be
GIT binary patch
literal 1584
zcmbtU-Ez}b5dMzsSc;>BMERxAAZP$vNvsxHQewx27-$1dV46;5_?gZe%cr)eBBhd?
z!et+$c>ykZ#Z5|j!8OCf^Z}TbVb76=K+?{TVQioEu6FnAxBIPLzW(bufF-PI$S};c
z#J1yxelt!)bot_f6GmR!3z|N6fA+mNahg09PCeY*LA|54`(uR%^hKVZwrORu*hw)<7QThNzF|J{Z
zp>mY+4qRej0+Up6B)0s=4CBSdemB>X$P3!4jN=T&YCGbOYnC-{9h`|32|whms-rxp
z>u&OhVdYM?{-m9D8B#Kd|rVC^9ToBhjke4ZBt=w1P0PI(%DLTW^D{B(%D*uq0J1H>G8{
z>d2r17;FPWI99+M${Ob1BWv1T0}eiC7)ZiK_^XKO#BPSMV(BnAndE|ji};d3CjcGE
zYDMuC9hazIDNgD3wSmi6B$FWK_^Ms+j`cBD&JE3sG-hK
zSP#3AD{gplX^q}alw~ZbD?vaV^m!Z$!aVf;I#G|;M4YS&x%Dwl({Qr%-T|G&f8^=Z
zNOMRsl704{(4W$u3<`A0$I^9xP9t?7IY?T+957jAaGkuR--vAv@4?K#Hm8)_Pc)=%
z9fD3l!}QrtID$`bLM1%;HsRltFh@4m-ovL14ck1uhtD$Dfnl5H)6}!icc9zPP
zy|9bf)w#QCyZGV{3L`22?8VLBekWVF&pq7;Q^MZEA(2&0AOd|gePH6bH|6fdNn4|B&;42Ev;yZer!3u7YlnXRUzgzi!G)T`${S7L=eeVDO
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/base/ConfigManager$Blacklist.class b/bin/main/dev/colbster937/originblacklist/base/ConfigManager$Blacklist.class
new file mode 100644
index 0000000000000000000000000000000000000000..4b26a813f5d57c691f8d938dbe077b739b56e359
GIT binary patch
literal 702
zcmbtSO)o=16g|@qk1DFZ)kh>2Sa=Bw5!HnzLh{t2(uIx8dmYa(=E=-d;%8Y&Ec^gJ
zO5DEEM6JZ;o_prboO|cYynnpD0XW2}hYUltEgtK#5@@kXkf4_n|NsJXADlIY=U|THMGk|60ts
z8%e{|g8#Tk7c4ZBj)}yvOgsH>d%J5OL-AB=Vd{!oE3AhlhMm9nB=h@k$1vOw)}18Q
zVGU#ieTqC`9zzs8Vi^omHZs5q1AG)k+RHG8@f68Bl!#9f^9dPYe(MG0XG$`drr2!&
h)GNwh3Uu(gIx-g&%QLCGZDAu~Dbf1~VY1)`TlGg8XCAjbd{3!8u
zD2PiXaB|PN_qOx(9q
zm&t2Y^!c^s;e2+6K%)O*s08|wphKqk;%FgjJ#77>|1
ze2Ew@GC=j<4e=`pB_xD3l7Ty{5GF-j#VQ)a%4ianu!a`haq)Z|n^bJ8(AU2KxLAL+
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/base/ConfigManager$MOTD.class b/bin/main/dev/colbster937/originblacklist/base/ConfigManager$MOTD.class
new file mode 100644
index 0000000000000000000000000000000000000000..e7767e68768796244971babd14676047cbe088a6
GIT binary patch
literal 534
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
NIX8{0BIVPl_#d%~$$kI;
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/bukkit/CommandBukkit$1.class b/bin/main/dev/colbster937/originblacklist/bukkit/CommandBukkit$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..40160d7bde5dde674de9a9dba5bd79ffcf39954b
GIT binary patch
literal 1619
zcmbVM+iuf95Ivil+r()@nwC41VjxK`ZfWR+UJyhekkW!w)Q9r4Nfy_wV^?0cf`8%x
zBq~%M_y9f%G3&Yz(u7F0WY4ZWbLO0xS^xa?{Repy`~rh!zCRW2GnXq#~{*b
zHL4>6J&ian>&W5?L%gVhhHJJfHV<2M;lJf|M=<1TUV}T^+_%*}dYMqAW>~tABx8>1
zqFEx?2zI@uhDQvQi;TC9MJzE4dTx}5;eE0HaQ(+)<$TS$
zs4VR;=&xK?_*I8XDWnE!|5RTIZ6}>!sPn83Yzi5?^khKArykOsL_C*MgAU~KYRp4R
zLr#CJB;8pIk=HP-))7O3Y@s}Pj9hu@82R$_F>SwL>@R@e)2-!A-^dE$~Fd~E}2LZ_^eHd)DtQv!2gvWJ)_n?MB%
XSf*8;m?!ZVt10#CIlb1%#8CMS`u>Vo
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/bukkit/CommandBukkit.class b/bin/main/dev/colbster937/originblacklist/bukkit/CommandBukkit.class
new file mode 100644
index 0000000000000000000000000000000000000000..9674d6a46b0d0da828dc29f82791c2678b4aa790
GIT binary patch
literal 1226
zcmbVL+iuf95IvhZapQ(Gq);f7TM3Y)6&9i@LI#A0Ktf8(Lr^5(Y3*#&ZJf2VcB+09
zFFX~2#0T(E6|;^bE-fjHZ`p7{^Rv
zUml8Jlth}L@I)$^JY$%vH@XZ~E9wacb66*fK(O~fYr-*-4fua0+Sr`^}M4W63GcGZ1fyRpd
zJPmn{EDaQ`MLM};8QFaE2+pVUxkPIry`0B6+Ly)-C}WXMG~+l=s|nsEKm%F%it4-O
z`igag3!ibx`bc*t&&%rwAU;YX+Qqf$ykI_{Q)b*Q0o8y
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit$1.class b/bin/main/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..1c8f2a4c8fee6f0f3d264334ba0d6c1c942e7c9e
GIT binary patch
literal 1268
zcmbu8TW=CU6vzJq3k&OL5iMe+7ZsI@c8jfP47KScHJV`iP{aGOjN2*OT{FAj=Q7cn
z_}~ZdLmAHijR`jJz;5Pt=Hz#-^ZU=wUjW|Vm5BtyZdVL!H}pGEEY$1GZ97!blR?LK
z+@3F^*zWXuJsI04L-E0t_+Th4H%u4|xpQaW*uE2Z_DSblxUq>e!}d(F6AAl(rgAIv
zJfZfx&S!FhAswH|sJubWwPrG=c-JJ-jtpeH%dlUW4^?e57>8k3WWjKg!$ihH5(^wz
zdeM3|UXaqcSm+D%Fv}ek^_4r{a-Cdvx2hu!1!cs|>}V
zQ`hKlETTY3yNEoUqW^rSz`i&t(4;3EPqnV81!RRGC6o%4zN>Q7^j$g<1EDC})@j&R
zu6QeT>X)wV*mZ4;Ds>dNei#w(gNV<SyYZiH^=3izt29I+bRiPVpx294}}!sLR)}LAyN3QfOc^t>5VA+oC0b;$Km>DewRQ
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit.class b/bin/main/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit.class
new file mode 100644
index 0000000000000000000000000000000000000000..63b233707088dc358b3874a9236fe2d8ac9fd327
GIT binary patch
literal 3937
zcmb_f>37sr6#u=pH0?A9RCW;tD9{B72(mbcwxvLEh9bqXiJE2})6g^-l1v4~6?esb
zLEQJ{n|>$-&e3mv@Ne>X{Jmtx&d@2)gYB6l@8!PVefQqqz4zs>f3Exv;6D7Kp+;bP
zR*o8$=L`m+^tWx?VtBrtv)w_*w1yo!2#vwQ@UR^kebIDRX}T+#)les}-1BoKsk~F*
zV&kMaY8rca*&mHH)C(*s6O*IT4UIJ6r7L}b`t7!BhdTsnTiXT%>bkwGOrRD`Iy5v0
z%u3s?+*cSGl>R|;(2)YoY0om90n@kDxHwrC4%vagj`XeAloDw0+#XlqCO}O(ZpU1K
z#+(fMr9Z0nJFm4ZU1m-^ood2-EYz?-V9unMIu>EEz-)rVKFOG_nNwIRE3t|mtPn~y
zUw(Ox)!X~uu5RzRJwGmL94)RG;*g5EZ@$Dw&x0TT*t&R!Ckf^Qwg+Vt%eSPHB+g%
zW{HlwuudRBtpm~zB8_vYaguS3SdY6kY!GO>AwkSQ8eP2T*oaLesF}A3u6Q>IHbL0U
zI<{adnPUw}YdDfzQ^mcL7q=Z%9J^OX3ftrGq`h3kizOu!3Zd;74rdu4BYvA|W(M!j
zaX%gqSTJG^%WluL%aTBWkUjeIG_~u3v{;LTCr#wP~m@A#{dp7et`^2
z@!NhA$R(Dw#EUw!W}a0zr9hA1n1-VQ-L4D`$2`3uTgXa7PLu#+kQG|GStE#wl0k-+
zs&IwJ=wTg?;5f-?N6fGozfO{CI>5cxLNZU+<1rnN!;EMVcIIt?uGU*bjooSK$f~lh
z`_l2uEE#>m&MAc_bmY{FI@K;3K#jAmX;&(nhIKd?i7P_4H!@o|iaS$=()Q=QfCQC*g*w^o2u_TE%Eer3UL8)(2;fw^ghKxUJ%RmoUJ
zm5gU}JgbTVgK>gRs*m5W089-jpcRu{U}k?v0%y#8v3YBr%Pg?jF8Zg(qT&H1wkzgo
z)FUIb$Om)~&mYBVG++m+@^rec7qSSkTC#hVZ@CDhoVSOBV9Slj{+f>0@djJ?P&7$W
zy3&gKTV{G2jujMBs@hg(L=pn~r*CNpOzqn-rle_Kr3ce-P0fhXmdemK~+8U$Z<#}Nc`er^O!yzvl
zB=8A7)o@XuWuo!f?x;5`i-)SXHSaPlX7m}=vp*BKP+pCS(lKC6xquzP8!qHilTQp~
zGZhODp2^E9;>XJ5`vy;vvOMHX+G)4xIQ@1gQ?u%Ep#fhCEUBpYNs+XJq%ThuY+q)V
zvo!aT{(iS(27wGTd?T>shDEY^w__!!=zbc$7g#lEht<5J;YWd`*B2$_V^^}Y?vp{7
zk?JcVz;ZTdzcYAkJwCOmX7Wi$Ey>LPDGRI7!@PZH$N6C>Z3S!a-K^C-oo2AfPLp$*o}nUG$rf@1g*n|
u+*1uc!pFQTQhd(e7x;>!#WekER=IEM8+nF||GvWy_=#V4KXa&v)b}qO|AsXH
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/bungee/CommandBungee$1.class b/bin/main/dev/colbster937/originblacklist/bungee/CommandBungee$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..b6f8737c1e9be29fa5414548b2e0a8bfe85d92ff
GIT binary patch
literal 1575
zcmbW1TTc@~6vzM5+d{iQDFyErq-t9(3sP=!G1_P}DQJS>K_AStoh*ynU9z(!_?>*v
zL}Kv458#I~o>>;GrAh
zEg4WtxMxa+vG@md3Ze0w5VN{2P0W})a
zF^HrZjq6B3Pa=vdI)-qSA(~fTncw_Ps1d`WY0S2xP{vcaZeoDpD48aWn5uT0Uzjih#W&o
z6?t1o$xYfn+K{FSvqSZU_PKl`yoM#E3@#OoYF%DdG6F~S5h}^3xD6OYgl3^_0!=xRJydX>=7ZRS3cZAlY6k+-l_akT*F&ZEy&fG!-EkGWH
zV0-GNF0h#hKDX%^>jIk#VFukppCss7o2tFwX6OX
zPema306q#ac3ec$NR;?tcV;|$_RP%LpTEBT0Pqxd4CEN@d*Z-$1AnL^5pLgmWCx)f
zNj3Dj`^lF&vWKx631Rnw@t7;`Md}$SFsvyN*<$>#*fs`aH3JMnlZ!nb_r3x;|>aJj$BLz(zlun_G@&G4{4PrDojLmUb>jtG9c
z-JjLCtiJ=HJP|rG$r`vs4CW!wx@)3|%SpekFa+)Ss+gCziEFrF;5tM1pX9mzBQ*;v
zSS1DRk?fMWJU;{NzmB)Ej`ji-iNnZAhF#QYdl}ZxPz$M*ha(z#W5zTX%s~)`u6QX^
z&7621TZtSQtXE2ju;+8Fg*MP(aQ>(MsR9_PCo5to?+6{e7KwH>RzZ)99yX98YXL=C
z4e}fm$O0;zdZ}*azr#90^>dnbj#iV>lhr~Qb+W8UG8#Bf9>WD(%z)kyXmUaI8=CJr
zo82QUf5Fvhq#7z%PLWn7*%=a@!y498^eS4oN%!V)i|}%|jW+FdvNlL6o5e*E>*VXw
Ime6nh28tLAr$R?*jTwN#UIx`tlylWF_JCH%L!?0JI4^{6n7za^L$Z-!9hP*G5QJEMjwfe|lKM6uRq~ei9dvx2ju!2<+_ZiAV
zr>@Z9SVW1Eb{_jWMgRFufqik5)TGB8PqeP71!RRGBb17izN>RI^j$U<1EDC})=AV?
zo_G`J)GuAxv1{5GRq9ZBVH6Yay+}@@9*3>Vn2Y409953LlTxUI(1~Lan|Q%cpP9wW
zex?qY=;+*$h?BQboM4suCru**Rw(E;qPJ+!$ipJ(HQH?=ML%FQn%}`2KXBtKol>|-
zbCz^K1u4?ZhkFaRaGOrl1t^UPyJG@xd;`D0o#q9WCmEF?qcpU{#|+JUfQLk3cr=Yx
xoun<#pgo;Nt4-2YrqT>FDc%&G;W@1ab@>|BX;&m!1}$u4^&1_1o3x}*{tG@|DG&ev
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/bungee/OriginBlacklistBungee.class b/bin/main/dev/colbster937/originblacklist/bungee/OriginBlacklistBungee.class
new file mode 100644
index 0000000000000000000000000000000000000000..169b89e6312cf1ceb04124387499fb705bbc48c0
GIT binary patch
literal 3908
zcmb_fX;;)%7=A7wfia3w+^vp+2&lxh)(*7=#EQ-c3dOC~hMCI{8Im!{Q0%_heP69z
z|3dp=gnlolS}~_S!&_TBzg1R=iQ$BzIXoo`_69w9>>obDg-(*a>7VE
zxna+j?vVqB4ac>zmOY#^(_=Zy^Nrzxot4t)3&dR|aaSPKP$jU=npO$ss$S7QA^U0w52Oh-C^05e^j8drFBT4s@uuP7%H(`hlUz~x};^x(}nS2
z=?l(eRw?`-aVgU_vnnmS?_+0Hnj`H*4K~x+
z9y6PhZrU|R{PUqFF>FCx!&ZToa*mY4(y8Uwy-+1W(-
zB+LS28YNUDz!Uqx~W2
zdV%c*+MW|pE!weHgCWqmAcag%8eRO-u@C!6Ve+5gikWj@V}w1Z;}9MpjnbnsJr-#0
zER)l@i(4-$7Cx%u2p$V-l60~GJvNs@DEL;+$Wh9w7~$JQJ$HMD&JE99wQk%TliiM;
zHvMy!Kgv7LH*KF=rMZj?W%3fkljzdWDX=~Wu8ct)-8jZHc#`br23=DQc}T-?fsNA%
zI$N-PYh3nBre(m18l0ewUOVlK=S|<@7L0fH_r?jSsun{JPO6r0tOiM%NLil8kmDig
zBfe`m%@(j=`R3_wP5WXesOdO&hU(B!U!RpRW?08XTp~HG
zfEj7luQS@4iv{kz7m}N`9hY@Hiz@*w{LZ{3(A5%j&i{@Yrqk3htOkSb%A8|n$mkI(
zs|;pzNcEyh4HOMofrE>rLbo$MZrYh}#Kkaz<*IXD)iH(~Cy*<%YFxRIn!w30l6gm9
zqU@N6I%I?t)N%`K9S-sw10_S#)A7`US}H-&R1Mgo8j{SJ%*4Z3g>3&?5Vb0O(j;p%W-_qcg=iC`lC+9i{TS|
zrr}dEX?kv1_JlJgqk~X5S&y4(-*K<2k^8y8&6(pb(hdPb%6V+)&R8Lzm^<)iNMF;*uOwW^^hMPPBF4#!R4=c8VS;I@icLF=+cvvnw8h#MiGQTP*AEr`Z`Dy9-DXD%Y
zc-Y2MQzbvkco3@Ml|Ll-UCSqfSHbJDw%dsP!kY@{{H_j!%dvv@dZ>VvsN)k^QCciw
z1goU%Mq3f9i^?sfdS@yZ%7?t|A(X*qPe>EA~v`z%4XWl(ITvpgx7I}TYs$xPdQ&1IDa&7
zw2scN!fO6+Ks_4y!(~4j(1CS0j!ihjoSegUj`~Ji=8@b%GhXD0`Yp5uLC3?uqM%n`
z5)*iy!Ed1cB#|m`o%U)`@fSKYRMzs<3k0aZOBAc@y&Sw&zcK}-Oz^HLyfU5OSRmZP
z1hxnE)`m)vJ*wjkyve149^F^~_U(IN_Y?NOePQ1xXca!7PZjtOAMvWl@C83#;%h!_
cWa!_}t#7MqdGrhaZsB|U$l!nCqasl1A67Mck^lez
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/velocity/CommandVelocity$1.class b/bin/main/dev/colbster937/originblacklist/velocity/CommandVelocity$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..99769cf19e0d7605b526bf19f4b538d3d4ccd947
GIT binary patch
literal 2212
zcmbtVT~`}L7=9)R*+7;yrU4ZdTa7je(CwG@BS5WbE7(A*R4(*tvY8XM-H)7|Ni6;#
zue{K6M8yk_*Z!y;-`NZylwuTf&hET3nfH00_jCVx@%tYDR`8XD6vOSd=sRxYx1sZ!QeFAC>Z+EjlLDJ
zXgj>?k?)CH2V}Mq1yVnw)xEGExmzT$S5EKK
zSOUhh@nP)s6ZuxR88VHiEhfS6nhgs%EuFJ5i7743*vP}4LK?5zn8q6n>55i5+w?-Q
z*$Y}Ce!^Qm1-{s%0Q%cJ_VnHyW^{rXmQNju@)e4y)e&lw2V|sFsWuPma7)Er*r{uF
z=WSfTJVQ=JgHwiySakhea-niurMjKR2e@eALx#(tP|mYmY6pk6`yy1mSU9>qoq$pq
z2q}3-I2$By3}hP>R2lO6Z*#fpU}F(W1lJZ)Q1E>3J96~qDCt4J)&Ic&
z)k8N5i910$poXQMS{hfyM~cYCRa_$$QiScHQx_{I`*dhh*F!px9bE&*lEW~)!{uWU
z2cDEkd%ZFrUu)jCYpJ;&;|^8POr`qGaRYg*;u8yZC}!gvKB*0C+{LF1
zlRWP90tzD8I$CHZ0T%92Z@hv7Q69A715dX?$wc;Gf?m>5p`N)Px_%_7WH*G`iP{#{
ziS%g)pN)rTQg4Xo!tE)tx>EUnbHH8?LlHN8E~Stb9{r07IucL{!r>&e@Fm0IINwG;
z4m5~O*oL2n+@_FfEs_f7X%waDnLxTw&{GO16!nZsR+>=sp_`y*8fWO%S&~+fLWb5-
zZD9|E+TtFHwWU4U{)*Y3=sblt>7Aw9T5FEpb|RPX7T%^E!#kKaSXXJ)_j0wLQTzq(
z{z&queqlsEH`IR*?;HJx#63ki=d}KBC@<`zmcl+RrEo}PD!DR)B4!h~*@23IBV}C2
zM+p(?5d(aO?r7k=1}4;-Dg5vfx499p{17aU+Xk$TWdo)`lV}iFX&);Lf1>fStMenS
sP8+xk?k7ec;4@k?Si|SoAZd==Ud1LJXD2B+Uto(?Z9xB?(38U2-w_E`sQ>@~
literal 0
HcmV?d00001
diff --git a/bin/main/dev/colbster937/originblacklist/velocity/CommandVelocity.class b/bin/main/dev/colbster937/originblacklist/velocity/CommandVelocity.class
new file mode 100644
index 0000000000000000000000000000000000000000..4ed656f1350cdcbb49f6aac70d02d3e7d503d10c
GIT binary patch
literal 1508
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
literal 0
HcmV?d00001
diff --git a/bin/main/plugin.yml b/bin/main/plugin.yml
new file mode 100644
index 0000000..e583b2c
--- /dev/null
+++ b/bin/main/plugin.yml
@@ -0,0 +1,9 @@
+name: OriginBlacklist
+version: ${version}
+main: dev.colbster937.originblacklist.bukkit.OriginBlacklistBukkit
+description: ${description}
+author: Colbster937
+depend:
+ - EaglercraftXServer
+commands:
+ originblacklist:
\ No newline at end of file
diff --git a/bin/main/server-blocked.png b/bin/main/server-blocked.png
new file mode 100644
index 0000000000000000000000000000000000000000..001ee13eee4b5db17c1187baec2d0bf2cb5accdc
GIT binary patch
literal 5380
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
b+qQX(G~NGj+s;uJ02JbQc(e1}RwVofS$Hu&
literal 0
HcmV?d00001
diff --git a/bin/main/velocity-plugin.json b/bin/main/velocity-plugin.json
new file mode 100644
index 0000000..bf1052d
--- /dev/null
+++ b/bin/main/velocity-plugin.json
@@ -0,0 +1,14 @@
+{
+ "id": "originblacklist",
+ "name": "OriginBlacklist",
+ "version": "${version}",
+ "description": "${description}",
+ "main": "dev.colbster937.originblacklist.velocity.OriginBlacklistVelocity",
+ "authors": ["Colbster937"],
+ "dependencies": [
+ {
+ "id": "eaglerxserver",
+ "optional": false
+ }
+ ]
+}
diff --git a/build.gradle b/build.gradle
index 5df1ba4..308e6b2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -8,7 +8,7 @@ plugins {
group = 'dev.colbster937'
-version = '1.0.4'
+version = '1.0.5'
description = 'A reimplementation of OriginBlacklist for EaglerXServer'
def targetJavaVersion = 17
@@ -64,7 +64,7 @@ java {
}
processResources {
- filesMatching(['plugin.yml', 'bungee.yml', 'velocity-plugin.json']) {
+ filesMatching(['plugin.yml', 'bungee.yml', 'velocity-plugin.json', 'Base.java']) {
expand(
version: project.version,
description: project.description
diff --git a/src/main/java/dev/colbster937/originblacklist/base/Base.java b/src/main/java/dev/colbster937/originblacklist/base/Base.java
index a423c34..892bfc2 100644
--- a/src/main/java/dev/colbster937/originblacklist/base/Base.java
+++ b/src/main/java/dev/colbster937/originblacklist/base/Base.java
@@ -5,20 +5,21 @@ import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import net.lax1dude.eaglercraft.backend.server.api.*;
import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftClientBrandEvent;
+import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftLoginEvent;
import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftMOTDEvent;
import net.lax1dude.eaglercraft.backend.server.api.query.IMOTDConnection;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
+import java.net.HttpURLConnection;
import java.net.URL;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.util.List;
+import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
public class Base {
@@ -42,46 +43,51 @@ public class Base {
for (int i = 0; i < Math.max(c.length, r.length); i++) {
int c1 = i < c.length ? Integer.parseInt(c[i]) : 0;
int r1 = i < r.length ? Integer.parseInt(r[i]) : 0;
- if (c1 < r1) return false;
- if (c1 > r1) return true;
+ if (c1 < r1)
+ return false;
+ if (c1 > r1)
+ return true;
}
return true;
- }
+ }
public static LoggerAdapter getLogger() {
- if (adapter == null) throw new IllegalStateException("Logger not initialized!");
+ if (adapter == null)
+ throw new IllegalStateException("Logger not initialized!");
return adapter;
}
public interface LoggerAdapter {
void info(String msg);
+
void warn(String msg);
+
void error(String msg);
}
- public static void handleConnection(IEaglercraftClientBrandEvent e) {
- IEaglerPendingConnection conn = e.getPendingConnection();
+ public static void handleConnection(IEaglercraftLoginEvent e) {
+ IEaglerLoginConnection conn = e.getLoginConnection();
String origin = conn.getWebSocketHeader(EnumWebSocketHeader.HEADER_ORIGIN);
String brand = conn.getEaglerBrandString();
- if ((origin != "null" || origin != null) && !config.blacklist.missing_origin) {
+
+ if (origin != null && !origin.equals("null") && !config.blacklist.missing_origin) {
for (String origin1 : config.blacklist.origins) {
if (matches(origin, origin1)) {
- setKickMessage(e, kick("origin", "website", origin, conn.getWebSocketHost()));
+ setKick(e, kick("origin", "website", origin, conn.getWebSocketHost()));
webhook(conn, origin, brand, "origin");
return;
}
}
- } else {
- if (origin != "null" || origin != null) {
- setKickMessage(e, kick("origin", "website", origin, conn.getWebSocketHost()));
- webhook(conn, "null", brand, "origin");
- return;
- }
+ } else if (origin != null && !origin.equals("null")) {
+ setKick(e, kick("origin", "website", origin, conn.getWebSocketHost()));
+ webhook(conn, "null", brand, "origin");
+ return;
}
- if (brand != "null" && brand != null) {
+
+ if (brand != null && !brand.equals("null")) {
for (String brand1 : config.blacklist.brands) {
if (matches(brand, brand1)) {
- setKickMessage(e, kick("brand", "client", brand, conn.getWebSocketHost()));
+ setKick(e, kick("brand", "client", brand, conn.getWebSocketHost()));
webhook(conn, origin, brand, "brand");
return;
}
@@ -89,9 +95,15 @@ public class Base {
}
}
- public static void setKickMessage(IEaglercraftClientBrandEvent e, Component msg) {
+ public static void setKick(IEaglercraftLoginEvent e, Component msg) {
try {
- e.setKickMessage(msg);
+ String redir = config.blacklist.blacklist_redirect;
+ if (redir.equals("") || redir.equals("null")) {
+ e.setKickMessage(msg);
+ } else {
+ e.setKickRedirect(redir);
+ }
+ getLogger().info("Kicked " + e.getProfileUsername());
} catch (Throwable ignored) {
String msg1 = LegacyComponentSerializer.legacySection().serialize(msg);
e.setKickMessage(msg1);
@@ -104,26 +116,23 @@ public class Base {
String origin = conn.getWebSocketHeader(EnumWebSocketHeader.HEADER_ORIGIN);
List m = List.of(config.messages.motd.text.split("\n")).stream()
.map(line -> line
- .replaceAll("%blocktype%", "origin")
- .replaceAll("%easyblocktype%", "website")
- .replaceAll("%blocked%", origin)
- .replaceAll("%host%", conn.getWebSocketHost()))
+ .replaceAll("%blocktype%", "origin")
+ .replaceAll("%easyblocktype%", "website")
+ .replaceAll("%blocked%", origin)
+ .replaceAll("%host%", conn.getWebSocketHost()))
.map(line -> LegacyComponentSerializer.legacySection().serialize(
- MiniMessage.miniMessage().deserialize(
- line
- )
- )).collect(Collectors.toList());
- if ((origin != "null" || origin != null) && !config.blacklist.missing_origin) {
+ MiniMessage.miniMessage().deserialize(line)))
+ .collect(Collectors.toList());
+
+ if (origin != null && !origin.equals("null") && !config.blacklist.missing_origin) {
for (String origin1 : config.blacklist.origins) {
if (matches(origin, origin1)) {
setMOTD(conn, m);
return;
}
}
- } else {
- if (origin != "null" || origin != null) {
- setMOTD(conn, m);
- }
+ } else if (origin != null && !origin.equals("null")) {
+ setMOTD(conn, m);
}
}
}
@@ -133,13 +142,15 @@ public class Base {
conn.setPlayerTotal(0);
conn.setPlayerMax(0);
conn.setPlayerList(List.of());
- if (config.messages.motd.icon != null && !config.messages.motd.icon.isEmpty())
+
+ if (config.messages.motd.icon != null && !config.messages.motd.icon.isEmpty()) {
try {
BufferedImage img = ImageIO.read(new File(config.messages.motd.icon));
if (img.getWidth() != 64 || img.getHeight() != 64) {
getLogger().warn("Icon must be 64x64");
return;
}
+
byte[] bytes = new byte[64 * 64 * 4];
for (int y = 0; y < 64; y++) {
for (int x = 0; x < 64; x++) {
@@ -155,6 +166,7 @@ public class Base {
} catch (IOException ex) {
getLogger().error(ex.toString());
}
+ }
}
public static boolean matches(String text1, String text2) {
@@ -163,55 +175,58 @@ public class Base {
public static Component kick(String type, String easytype, String value, String host) {
return MiniMessage.miniMessage().deserialize(
- config.messages.kick
- .replaceAll("%blocktype%", type)
- .replaceAll("%easyblocktype%", easytype)
- .replaceAll("%blocked%", value)
- .replaceAll("%host%", host)
- );
+ config.messages.kick
+ .replaceAll("%blocktype%", type)
+ .replaceAll("%easyblocktype%", easytype)
+ .replaceAll("%blocked%", value)
+ .replaceAll("%host%", host));
}
- public static void webhook(IEaglerPendingConnection plr, String origin, String brand, String type) {
+ public static void webhook(IEaglerLoginConnection plr, String origin, String brand, String type) {
String webhook = config.discord.webhook;
- if (webhook == null || webhook.isBlank()) return;
+ if (webhook == null || webhook.isBlank())
+ return;
- String addr = plr.getPlayerAddress() != null ? plr.getPlayerAddress().toString().substring(1) : "undefined";
- String protocol = plr.isEaglerXRewindPlayer()
- ? (String.valueOf(plr.getRewindProtocolVersion()) != null ? String.valueOf(plr.getRewindProtocolVersion()) : "undefined")
- : (String.valueOf(plr.getMinecraftProtocol()) != null ? String.valueOf(plr.getMinecraftProtocol()) : "undefined");
- String rewind = plr.isEaglerXRewindPlayer() ? "Yes" : "No";
- String host = plr.getWebSocketHost();
- String userAgent = plr.getWebSocketHeader(EnumWebSocketHeader.HEADER_USER_AGENT);
- if (userAgent == null || userAgent.isEmpty()) userAgent = "undefined";
+ CompletableFuture.runAsync(() -> {
+ String addr = (plr.getPlayerAddress() != null ? plr.getPlayerAddress().toString().substring(1) : "undefined:undefined").split(":")[0];
+ int protocol = !plr.isEaglerXRewindPlayer() ? plr.getMinecraftProtocol() : plr.getRewindProtocolVersion();
+ String host = plr.getWebSocketHost();
+ String userAgent = plr.getWebSocketHeader(EnumWebSocketHeader.HEADER_USER_AGENT);
+ Boolean rewind = plr.isEaglerXRewindPlayer();
+ if (userAgent == null || userAgent.isEmpty())
+ userAgent = "undefined";
- String payload = String.format("""
- {
- "content": "Blocked a blacklisted %s from joining",
- "embeds": [
- {
- "title": "Player Information",
- "description": "๐ฎ **Name:** %s\\n๐ **Address:** %s\\n๐ **PVN:** %s\\n๐ **Origin:** %s\\n๐ **Brand:** %s\\n๐ช **Host:** %s\\n๐ง **User Agent:** %s\\nโช **Rewind:** %s"
+ String payload = String.format(
+ """
+ {
+ "content": "Blocked a blacklisted %s from joining",
+ "embeds": [
+ {
+ "title": "Player Information",
+ "description": "๐ฎ **Name:** %s\\n๐ **IP:** %s\\n๐ **PVN:** %s\\n๐ **Origin:** %s\\n๐ **Brand:** %s\\n๐ช **Host:** %s\\n๐ง **User Agent:** %s\\nโช **Rewind:** %s"
+ }
+ ]
+ }
+ """,
+ type, plr.getUsername(), addr, protocol, origin, brand, plr.isWebSocketSecure() ? "wss://" : "ws://" + host, userAgent, rewind ? "Yes" : "No");
+
+ try {
+ HttpURLConnection conn = (HttpURLConnection) new URL(webhook).openConnection();
+ conn.setRequestMethod("POST");
+ conn.setRequestProperty("Content-Type", "application/json");
+ conn.setDoOutput(true);
+ conn.setConnectTimeout(5000);
+ conn.setReadTimeout(5000);
+
+ try (OutputStream os = conn.getOutputStream()) {
+ os.write(payload.getBytes());
+ }
+
+ conn.getInputStream().close();
+ } catch (Exception e) {
+ getLogger().warn("Failed to send webhook: " + e);
}
- ]
- }
- """, type, plr.getAuthUsername(), addr, protocol, origin, brand, host, userAgent, rewind);
-
- try {
- HttpURLConnection conn = (HttpURLConnection) new URL(webhook).openConnection();
- conn.setRequestMethod("POST");
- conn.setRequestProperty("Content-Type", "application/json");
- conn.setDoOutput(true);
- conn.setConnectTimeout(5000);
- conn.setReadTimeout(5000);
-
- try (OutputStream os = conn.getOutputStream()) {
- os.write(payload.getBytes());
- }
-
- conn.getInputStream().close();
- } catch (Exception e) {
- getLogger().warn("Failed to send webhook: " + e);
- }
+ });
}
public static void init() {
diff --git a/src/main/java/dev/colbster937/originblacklist/base/ConfigManager.java b/src/main/java/dev/colbster937/originblacklist/base/ConfigManager.java
index 2310ba4..f0a6268 100644
--- a/src/main/java/dev/colbster937/originblacklist/base/ConfigManager.java
+++ b/src/main/java/dev/colbster937/originblacklist/base/ConfigManager.java
@@ -3,47 +3,73 @@ package dev.colbster937.originblacklist.base;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.constructor.Constructor;
-import java.io.File;
-import java.io.InputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
+import org.yaml.snakeyaml.DumperOptions;
+import java.io.*;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.util.List;
+import java.util.Map;
public class ConfigManager {
public Messages messages = new Messages();
- public List subscriptions;
+ public List subscriptions = List.of();
public Blacklist blacklist = new Blacklist();
public Discord discord = new Discord();
public static ConfigManager loadConfig(Base.LoggerAdapter logger) {
- File conf = new File("plugins/originblacklist/config.yml");
+ File f = new File("plugins/originblacklist/config.yml");
try {
- if (!conf.exists()) {
- conf.getParentFile().mkdirs();
+ if (!f.exists()) {
+ f.getParentFile().mkdirs();
try (InputStream in = ConfigManager.class.getResourceAsStream("/config.yml")) {
- if (in != null) {
- Files.copy(in, conf.toPath(), StandardCopyOption.REPLACE_EXISTING);
- }
+ if (in != null) Files.copy(in, f.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
}
- LoaderOptions options = new LoaderOptions();
- Constructor constructor = new Constructor(ConfigManager.class, options);
- Yaml yaml = new Yaml(constructor);
- return yaml.load(new FileInputStream(conf));
+ Yaml y = new Yaml(new Constructor(ConfigManager.class, new LoaderOptions()));
+ ConfigManager l;
+ try (InputStream in = new FileInputStream(f)) { l = y.load(in); }
+
+ if (l == null) l = new ConfigManager();
+
+ Yaml raw = new Yaml();
+ Map u = raw.load(new FileInputStream(f));
+ Map d = raw.load(ConfigManager.class.getResourceAsStream("/config.yml"));
+ if (mergeConfig(u, d)) saveConfig(u, f);
+
+ return l;
} catch (IOException e) {
return new ConfigManager();
}
}
+ @SuppressWarnings("unchecked")
+ private static boolean mergeConfig(Map u, Map d) {
+ boolean c = false;
+ for (String k : d.keySet()) {
+ if (!u.containsKey(k)) {
+ u.put(k, d.get(k));
+ c = true;
+ } else if (u.get(k) instanceof Map && d.get(k) instanceof Map)
+ c |= mergeConfig((Map) u.get(k), (Map) d.get(k));
+ }
+ return c;
+ }
+
+ private static void saveConfig(Map m, File f) throws IOException {
+ DumperOptions o = new DumperOptions();
+ o.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
+ o.setPrettyFlow(true);
+ new Yaml(o).dump(m, new FileWriter(f));
+ }
+
public static class Blacklist {
public List origins;
public List brands;
public List players;
public boolean missing_origin;
+ public String blacklist_redirect;
}
public static class Discord {
diff --git a/src/main/java/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit.java b/src/main/java/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit.java
index 5354538..4735e1a 100644
--- a/src/main/java/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit.java
+++ b/src/main/java/dev/colbster937/originblacklist/bukkit/OriginBlacklistBukkit.java
@@ -2,7 +2,7 @@ package dev.colbster937.originblacklist.bukkit;
import dev.colbster937.originblacklist.base.Base;
import net.lax1dude.eaglercraft.backend.server.api.bukkit.EaglerXServerAPI;
-import net.lax1dude.eaglercraft.backend.server.api.bukkit.event.EaglercraftClientBrandEvent;
+import net.lax1dude.eaglercraft.backend.server.api.bukkit.event.EaglercraftLoginEvent;
import net.lax1dude.eaglercraft.backend.server.api.bukkit.event.EaglercraftMOTDEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -42,7 +42,7 @@ public class OriginBlacklistBukkit extends JavaPlugin implements Listener {
}
@EventHandler
- public void onLogin(EaglercraftClientBrandEvent event) {
+ public void onLogin(EaglercraftLoginEvent event) {
Base.handleConnection(event);
}
diff --git a/src/main/java/dev/colbster937/originblacklist/bungee/OriginBlacklistBungee.java b/src/main/java/dev/colbster937/originblacklist/bungee/OriginBlacklistBungee.java
index 5ed6065..aea4236 100644
--- a/src/main/java/dev/colbster937/originblacklist/bungee/OriginBlacklistBungee.java
+++ b/src/main/java/dev/colbster937/originblacklist/bungee/OriginBlacklistBungee.java
@@ -2,7 +2,7 @@ package dev.colbster937.originblacklist.bungee;
import dev.colbster937.originblacklist.base.Base;
import net.lax1dude.eaglercraft.backend.server.api.bungee.EaglerXServerAPI;
-import net.lax1dude.eaglercraft.backend.server.api.bungee.event.EaglercraftClientBrandEvent;
+import net.lax1dude.eaglercraft.backend.server.api.bungee.event.EaglercraftLoginEvent;
import net.lax1dude.eaglercraft.backend.server.api.bungee.event.EaglercraftMOTDEvent;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.api.plugin.Listener;
@@ -41,7 +41,7 @@ public class OriginBlacklistBungee extends Plugin implements Listener {
}
@EventHandler
- public void onLogin(EaglercraftClientBrandEvent event) {
+ public void onLogin(EaglercraftLoginEvent event) {
Base.handleConnection(event);
}
diff --git a/src/main/java/dev/colbster937/originblacklist/velocity/OriginBlacklistVelocity.java b/src/main/java/dev/colbster937/originblacklist/velocity/OriginBlacklistVelocity.java
index 2019582..ed6f89a 100644
--- a/src/main/java/dev/colbster937/originblacklist/velocity/OriginBlacklistVelocity.java
+++ b/src/main/java/dev/colbster937/originblacklist/velocity/OriginBlacklistVelocity.java
@@ -6,7 +6,7 @@ import com.velocitypowered.api.event.Subscribe;
import com.velocitypowered.api.proxy.ProxyServer;
import dev.colbster937.originblacklist.base.Base;
import net.lax1dude.eaglercraft.backend.server.api.velocity.EaglerXServerAPI;
-import net.lax1dude.eaglercraft.backend.server.api.velocity.event.EaglercraftClientBrandEvent;
+import net.lax1dude.eaglercraft.backend.server.api.velocity.event.EaglercraftLoginEvent;
import net.lax1dude.eaglercraft.backend.server.api.velocity.event.EaglercraftMOTDEvent;
import org.slf4j.Logger;
@@ -44,7 +44,7 @@ public class OriginBlacklistVelocity {
}
@Subscribe
- public void onLogin(EaglercraftClientBrandEvent event) {
+ public void onLogin(EaglercraftLoginEvent event) {
Base.handleConnection(event);
}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index e7e8b09..6d34b2b 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -28,6 +28,7 @@ blacklist:
- "*dragonx*"
- "*piclient*"
missing_origin: false
+ blacklist_redirect: ""
discord:
webhook: ""
@@ -63,7 +64,6 @@ discord:
-
# :>
\ No newline at end of file