From 66f73374ace0d80fdaaf7e40d35b4019899455fd Mon Sep 17 00:00:00 2001 From: boy0001 Date: Mon, 24 Aug 2015 04:31:33 +1000 Subject: [PATCH] Tweak block interaction flags --- .../plot/util/EventUtil.java | 42 +++++++++++------- target/PlotSquared-Bukkit.jar | Bin 1314899 -> 1314900 bytes target/PlotSquared-Sponge.jar | Bin 1079533 -> 1079533 bytes 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/intellectualcrafters/plot/util/EventUtil.java b/src/main/java/com/intellectualcrafters/plot/util/EventUtil.java index 365c14ede..11984fc32 100644 --- a/src/main/java/com/intellectualcrafters/plot/util/EventUtil.java +++ b/src/main/java/com/intellectualcrafters/plot/util/EventUtil.java @@ -82,51 +82,61 @@ public abstract class EventUtil { } case BREAK_BLOCK: { if (plot == null) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_ROAD.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_ROAD.s(), notifyPerms); } if (!plot.hasOwner()) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_UNOWNED.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_UNOWNED.s(), notifyPerms); } - Flag flag = FlagManager.getPlotFlag(plot, "break"); - HashSet value = flag == null ? null : (HashSet) flag.getValue(); - if (value == null || (!value.contains(PlotBlock.EVERYTHING) && !value.contains(block.getPlotBlock()))) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_OTHER.s(), notifyPerms); + Flag use = FlagManager.getPlotFlag(plot, "break"); + if (use != null) { + HashSet value = (HashSet) use.getValue(); + if (value.contains(PlotBlock.EVERYTHING) || value.contains(block.getPlotBlock())) { + return true; + } } - return true; + + Flag destroy = FlagManager.getPlotFlag(plot, "break"); + if (destroy != null) { + HashSet value = (HashSet) destroy.getValue(); + if (value.contains(PlotBlock.EVERYTHING) || value.contains(block.getPlotBlock())) { + return true; + } + } + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_OTHER.s(), notifyPerms); } case BREAK_HANGING: if (plot == null) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_ROAD.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_ROAD.s(), notifyPerms); } if (FlagManager.isPlotFlagTrue(plot, "hanging-break")) { return true; } if (plot.hasOwner()) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_OTHER.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_OTHER.s(), notifyPerms); } - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_UNOWNED.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_UNOWNED.s(), notifyPerms); case BREAK_MISC: if (plot == null) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_ROAD.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_ROAD.s(), notifyPerms); } if (FlagManager.isPlotFlagTrue(plot, "misc-break")) { return true; } if (plot.hasOwner()) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_OTHER.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_OTHER.s(), notifyPerms); } - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_UNOWNED.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_UNOWNED.s(), notifyPerms); case BREAK_VEHICLE: if (plot == null) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_ROAD.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_ROAD.s(), notifyPerms); } if (FlagManager.isPlotFlagTrue(plot, "vehicle-break")) { return true; } if (plot.hasOwner()) { - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_OTHER.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_OTHER.s(), notifyPerms); } - return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_UNOWNED.s(), notifyPerms); + return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_UNOWNED.s(), notifyPerms); case INTERACT_BLOCK: { if (plot == null) { return Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_ROAD.s(), notifyPerms); diff --git a/target/PlotSquared-Bukkit.jar b/target/PlotSquared-Bukkit.jar index ee9fddef2993991fe95cdaae4cad88f797f2153c..026179d9bfe55c2da58b96909e6d9a03a4e8c334 100644 GIT binary patch delta 6406 zcmZvg2|Sct`^RU-zRj4q$C{;tWX~3|wb@0k+7j)BZG|`HVW7%VWWbL8a5i(Xknv+jUG0JY782U z)JX@B5^`g0G9~W4WE# zn9FmMwz~+LL$)SWl&W;>8dbI`3eo8~WonXFrM^+9PbVaVIP*z)>%8R?dHLM?!-v-L zzk(rJck=;0t&hUleFzQ50bvVVu1Mz2T0^{4LR$iTm2yu&SM5~#?VVlWwT6{96;nua zF^pq7)|r+-q$&)}TAEngK7Q1C)!_G2G)FjZVOIQjHk%~$%HTIy{z#zJreUzYUg;NE zhs)=qjR^)?3wI<_2gjK4tnr>(`$_W2nKEruRHk(xZh zep&VWRSik@oYnhShGS6y8g^0T&jpjB&J}*>4w$jyC2-A-%`eJ-9v0%foa`#3?>WE@ z=pS_i`g{?UeDCmjGs}K+sp?j(USdwPkT0eFtByGLKL0h-m>%Vm%qnIt`yQkLos9 z{y2ZUQ~ExQ)0bBX@`8FAqcxIUOF=LG7`YnBBzMjUa?-^wy!4*9vnxA0$Xq<^PIlvY z#s?|f0~77`l}b+Ag%1T%W(_qo)ebc#r9PLuUyYZ_WfQW!2d%J2SijD6=nYVFJLs}n z>(75Tz~^FhV&E}B90s=cRE>9F?m!d$~0x zfu`Gp>C+!hYQ6YX%ChEAlfve_X~wyh6&7PUo8a-3{FiTK1LA=?FLe*@tb-RC!|e%>Q`JM`g9U7b;xd z+`Z5xG_Nh_K3Za}t|z~sA&)zpZ@zTa5Gz_*?dp>C4iU}v=*c?8n|N}*1cb5br@6;zg>K5^=1d5q)y2tm36%0uXT~%x32w^5mDug z{d$yLNqEFNse54QqJPvydFO<+MrZVo%l%u2xXXM0+3^Ti9T7jj(pj$K|7 zNo9-oXRAuQCyt@k&*PZn)=2d9p(AjO#d@~W)+`H!a~DwST8OzEPqb06x66!q9?!Hh z7G?OZyjt*V(P_nEgEUhtbVowM;ihWnQSD;yGGhhD){|#ld$e`loqNHpK3I^o$;PRh zPivykaHgu7g7C=C^wI4z-f0Y$3en2_i^Pd_1(&x=xw6)`g#L9HPJI4IFI#JF) zhJMzF-fSvEDAV+8^71cvrC702`SYPnGt)im<&{34EURP)gd7`8-QZB9d}BBrDnI~> zNrBYjb9Nqz&Ki1Vw4LW9L<8C2(|WG2TRJ5~CvE8ym_+Fg+0XiVMi}Nsus(M%mN~@` z%*MO&Rp=h)6{ez$VSKqmdY#AO&!ewhlfcI&F}@Mza`1 z^URTEsDqqfcJpM&hlX`#%Xf<|t2@8UG>NwsdvB_JvT9%{dZ76w%8_@eaJ@K`aHQ%z zpI3e8@cgS@pB!f4lmfS`klRa&-!~R2^4~0*KKuPNhM=ETdCD5yhI!<4i^ZUC`$Y`* zIB``z`8_s~#wMxB%ayrnKEP!9Yp(nbnOa45%7p(vcTl z1DAtb2UyK*De4nMv}5OmRgJ&g8i~kGED+PWBr@N9Ud6voILWR%J>EFO*VtgaBROfR z(@ij5uZ^{1-HO-T;2HyxnS!gwso@f@khICm)Kd!@bp(9j+w*sLneBZp6^K4n!W}m# zG@zJS(u^=K?2y*~P_opqez(Ygk0;J#rmd&nb~`D371R z@6$!!=9mlqnC9&*i|TJ>OTQr%O66mit#-1*UZ z>X0OZZZjpp-<>&lX!?Pwgkz^p-KcOiqd0%hs`_B6b}HXn+%?ta<+&882r4F#42{8e zdG4>ZCprx4^E;}Fcw{1_Yty`~{En6>GDWODq=^-0GgvUtQEP9TNl#!<)yQ}_A=A^C zaM^iewf=) z_jFS9ICknYt#p}&j&oJHTQbH1=x5qj&3J&B8HJ9T?F5nJ5HClgK|`LI;DG|Upd)WmIqv1+ ztUYu2uE_EwI$wHji+BK0}NLA0m@D6)rZs~6t zS>5!rgaDSxlfnu2DjY@w5`>IwsBVt)7ms#V-Wp)HqDvLX^-dCK;lF=XGUrCNc_rWb z@Dz8d8;|`(&Wzj>y(#dihO@zkoS#UInGqShq$)DXVCv37+m}iwpBwlB{=U^*)=s$ z@^MPAy{W|XSMAW4T$r0tZSVJ$+TLb`$iPRVS)+8udiS^JudG@;+b}%e zaSSKpbLR()OkAxx&Ec>Y&8tdEZ{^`TmI1WmMy?*&mDK=s|tKFq`!9 zp9>wqEH{NJJcKLi-xXeyO|MF}bc(znoJP!PdYTm$w{zBX1Ep0v#;x-Q+Aawa$S5)Q zmu}{3%pYC3XGQKRWt8C7n5&n^75nwd`?vuig0gJB|H)}hzl(M_rH#j#Z6*^61X^WZ z+!lJlFEDeZi61Vq%Xo(hUwZy{sZ!{YEyrPB85_8MVt3>zUWkwcHq7_wL)Zb-C^0`X<&l z)r7LsuL^mG6RHP?_>LXhLG3248a@7A!twFSZshK4n;EnCt)+*{Rd;AzKZannZ#X|r zs%<(W(4>iPOb?7vvd)eXi!5N|d?##u70Rudq)4oxNu1CL(-?hH-nU#c(R=7=w?;+F z3PbUZj{LG&$n?jMX*>DlQz6q#Eh~c7o1zwkEp}_av{Qb;;sLSZ0U6>A8V~Nc$vw!n z;@~%tI;owd8>sPH?dB1yWKR=!BVWzrsP^Sg?@DKiiX7#S&DM2x3cYEk#9Zgdkjh9H zxYvoz?+(u%(pGDZUEi`Xtk1CGYq02c7nv{2v`Y-Mkh2cRu{$11C6GM(ozlsau4J@b zi1618i-tkhbBg(lLE1tm1mv~P)`2rEN1WBaO$}@uN3o@C$_gC zr_Er(&(bOVZgsn~U^VUM1?G&8xdDE2zdb$7hOg$II{F)ae;-80w!dlhAcm7maz&|k znKoccDW!kLLD)+*_ zr>ko?6&v{c_RHl|5wPKY&ZlB z`js&}!2BC@4(SRWe}k@)-HiDMK8rvz0O<+n1le5Ne-S+Z6OcG+8v>_iAvSP09?cBa zCm<=*4EF(I@g0&uUEtd%^dNQ;!hkeB3>E164hf=C1plpxPr^&^5dL4Rfua;YKz1h~ zB~+#IKA{D_lrdPq@C{-F!BY@BibwN+W~GT?2cuJPwrZUNxRe&6OTK_%2HHPhX-fZq z1ka!aVwW*!(lkc!>IWP$*67~@=%*oh)IH~aWAAB54%OxPZ~SQ*Qa~;F9>8LLaLu|i zaPqJ_B+L)m?_e;Xltfkn_lR^51_ErQ5Ek&m+l-V3DzlIUN-v3|9tKUb&^eS)!@ffW zTpBPeAb$=n`g#+Fk^b*Lb>NTeK+C4RQL%IIl*VR&{0RvINj!uDcQqh#z%man@zJY2 zd}SUwi3%Oscc?(uJS2q-N&X30!*4?*ei(fI3DJP4pYSyhGrvz%P)bPf@;Af_+!i4Q z&_Ro50S*gr=n#qnxQ~L73UC#}MRt=k6zu`+0xhf^UWB(Gh;bh)q1ti#4g>h*1F?Yh zMR+O&$3CV9dK`?DK<^nG)^rKhj4k)HM@#T(>g@KM4Le3G&?|$-ur8BQJMUrRW%!(B zdy*V6@Y9o#7IZJeC5(CR5y6{`^gvM>qTkyrq1%iHx0dVn-l&*g@RfT!WZ$6#+rQxL zITW@>ELY&W<3i+~^NQpQ#O*m8@o>U5L%66jzu}@*6ZWu5A|o}hh=g$tjFE<*`8Q;R zR0Bs=p{pp5e9|CZz_iRBa8oxCY6BNHRP#pj(GC zXtt7w46s;->nrOfIa0|z@a|p6gtKY&{?GE1dPzDTxYNss2MZhU0HqB$#-X=+n6LqF zUD4QH+Rq!%DU{K~o};`8ud$XJjBi0)pqm#<4N^9t6R1SqJu)NZ&Sm z%I<7K63A6hwhft~?sy*%WOv|)ld|st@@NOHm_2l#Py@42EN${G9P(tu9(9YrqJc4q z%*E~zzBnu^s3Vc$B;bz3bAhQOn23?#8Iy$Z>?o0kBq|0X$ndO5u`tk0`5PpCz)PS! z()L6}Bwhmf5V#@nR!9K);Ra<;PLf1`6$&qoECTT;ygkabiNv@-UejI%K@?;A9#QGX zGLlkAps4!y2{YKxgwGd}9L`!fvX3!fdjv}bl-ps=nxw^jKA;tl<4>U2za1d76fkN3 zaey#R!}B+N;Q4_R@cfJO2eeKKyc();VV|IZG9|nMJ>W)(w?w_$1n!i0VZgZsM{uZu zBNS|758h2_+j|4dsNkeAyL(O@?2y$XaiE_PF9g`AVQ-P_AJ2#6IZ*!X34&ru93>c~ z#tV|M(c!>pHr#PwNe3eiwg23`>NI$EvVNw2#26a94B26pf4oH+{3$X%w!b|^aGe$o zgXjE5GvUNxKpzRA4*!GH4&xYrDCw3M6vi>q{r720gp=Y;QL`t&6*~MeK=ln`25WS1 z-UTIGVhk-05K+eAKo1H}FFVJ>s&*_Whi5dR0YP}_e1 delta 6453 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