From 06c738b8549a2a4000623561e0fd0a0eaddec249 Mon Sep 17 00:00:00 2001 From: newt_00 Date: Fri, 7 Feb 2025 13:20:57 -0500 Subject: [PATCH] began working on wither contract mechanic --- .gradle/8.8/fileHashes/fileHashes.bin | Bin 20847 -> 20897 bytes .gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 22339 -> 22441 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../stash-dir/CoswayUtil$1.class.uniqueId1 | Bin 2193 -> 0 bytes .../CoswayUtil$AnchorShield$1.class.uniqueId8 | Bin 2042 -> 0 bytes .../CoswayUtil$AnchorShield$2.class.uniqueId3 | Bin 1871 -> 0 bytes .../CoswayUtil$AnchorShield$3.class.uniqueId6 | Bin 1160 -> 0 bytes .../CoswayUtil$AnchorShield$4.class.uniqueId4 | Bin 3355 -> 0 bytes .../CoswayUtil$AnchorShield.class.uniqueId7 | Bin 8596 -> 0 bytes .../stash-dir/CoswayUtil.class.uniqueId2 | Bin 8771 -> 0 bytes .../stash-dir/GravityGauntlet.class.uniqueId0 | Bin 6096 -> 0 bytes .../stash-dir/ShadowStep.class.uniqueId5 | Bin 3998 -> 0 bytes src/main/java/CoswayUtil/CoswayUtil.java | 2 + src/main/java/CoswayUtil/GravityGauntlet.java | 2 +- src/main/java/CoswayUtil/WitherContract.java | 97 ++++++++++++++++++ 16 files changed, 100 insertions(+), 1 deletion(-) delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$1.class.uniqueId1 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$1.class.uniqueId8 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$2.class.uniqueId3 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$3.class.uniqueId6 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$4.class.uniqueId4 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield.class.uniqueId7 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil.class.uniqueId2 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/GravityGauntlet.class.uniqueId0 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ShadowStep.class.uniqueId5 create mode 100644 src/main/java/CoswayUtil/WitherContract.java diff --git a/.gradle/8.8/fileHashes/fileHashes.bin b/.gradle/8.8/fileHashes/fileHashes.bin index 86b6d0af7d22851462b0272abfb1e4190eecd8bd..595bb14ddb1ee783f5949ec85a2b3480443ddb59 100644 GIT binary patch delta 181 zcmaFAh;iX!#tkMCj0T%cB@&ng{LTn`cstKx3IiAf=5OwmmS$v}xKZ(k_(p>cVLfA@ zxF!%Qg0MhMIiKROQ+X`+_D4--+?LVBz`!`=;bJycux19wjhpj5TG%9%V-!wGE$%;N znm^%MAs>S?Sk;1GcQ$kTr!X0zn)rLEp>vA%%am1F&$2lhYqcRJ9*BgP$ae@x>j40d Cp*5cX delta 113 zcmZ3unDPB0#tkMCjQX2RB@&o7uay>NWUSn%_(Oc7!2)4DV+IBWO(0eTVS#0vQ=d4k z|2a$ZO4AOht?dE~42)AA&b=HDlmr4tt46D>|RNzN~#9zE#ww?%I*}U{%#| Ko}0P-Q7&(b1~6b_0028W1gQW3 literal 17 VcmZR6<8?PB>7&(b1~6d#1^_%R1)cx^ diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin index 66761821252eccbf056e0d4dc7a982f2f40eccd2..86fd29cc254a64d45a7416fded44208e13199ae0 100644 GIT binary patch delta 198 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 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$2.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$2.class.uniqueId3 deleted file mode 100644 index 0360541c3d602dabf3fc82383d71b40fb93709b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1871 zcma)7?Q#=06g{#Nuj2@893XtO)PPBCLvcyJaSA0SX=v<(#v!!OkCE3(ym+(9?8@on zUmv5>w_pZR$d5iiUx^vot6dvA#kA~#NIvaxaGk#f6KGm%5StC>9+E-4A!o2^RBWPPSljYRc>}W9Y>dI$`;yDUd5m$ zIVO-|Na(f`i zN8ezG7m6Db$YRREagGx>$#CKS4`nzaZ0+pID9wN&U3(;UMY(HesEeJ-Bu?S9g)`QBsJ!UEyt&SDTNdtt-U`DWc>Y$9pELge^Q2*egqc_{ck!bS=o;Hrf($A_RwX2Sf#{Q5x~MReur=D%X-r#~to zhD%9&%y2ehBj@+(nKQ+7gqE$`H52Kl9G~HHhOF&NvfdTGc5GL!g=C#7j1*vzLeAnk zN5y!iJC5rvsesBU>#9ja%@y88jBkKu7^|ulk(I7Fo?Pi}H>JNGDKTrVfV&}l$9(sU zW99}BF>i5XezrpN)}?N%79}dSrItSV#)%x#T|*1ILxSu9ry8p3+j5c8qF@F>ziR43 zmIcptRX{vNfE;%W8&jkfU-xNT*xV$6k^om^pbbYBY9xaJ*w9s_(B_rWf%e5t1Q{f; z%5aS2O#LCqMc3$hjwSK!t6P<$MnR@@0*w^banHhr5%PWN2m>8C-mdD%awMln+lz#z ze7aD-4Xe7hF*<%pcr8~3`I=Il?oQ=(l?_=AIj-;R$PwEg4(%Ty-5x|$xNgJIl1jzz zc%JmDt_T82W#Yq)(!xWM_-iSSirm7F4CnrPE47U%P2{MRaOwxKOvZF=fJSPy#zMa| z=4kwqW>p&F#!|ZS6s&alDXh{Tn0y>=yg}~-7`%)O=O$T1us5A37Rv$JQoa)8-a zrtC+w_PD>ek52~EFHFpFn3!iMF5o4m@HeLE^fIFuSq#f8PQo20StZb9R+tly!b6nP zZSorjdx07a3-l4gBEF_^j9SGKz6mYMsMC0q*4D^*C4Aq-cVs(50c5d^@5yd>HqQh6 IfS+*sAEc1!^8f$< diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$3.class.uniqueId6 b/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$3.class.uniqueId6 deleted file mode 100644 index 2e070acea61b0249c2e5f315c01ed6b6887bde3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1160 zcma)5ZBG+H5Pp`{9xn$i5k;}ah*hIWON=Of@yqqPp=+e@Qms;qfVpYjd z^Pps~2W4w*ce5YVJU_hdJSH0`#dNaiClhv2;-QrFll27(+o2)gwuI33>|QN!ptz0%b%0dWz1T*V&f{VF^t6k zd%^v65o%X@l+ASROql$W)T3=`3N4f3qKzd}VJhG)bx2`vbCv&JdMOTlx|~x-CyABv z`wYplsuMxFA|&5!w`x3i-MP1{ar5`xK$!ooF{v9OWLUXCHqK^=3NZf82F=U`BFH~e z<+`EjFWtaxaT*WeN(61mFubQ-uUU0JbQ2leQ|-Xx&xC1lx_3A0@7+U}EKjB9t5C>; z4xo)q+$M8V`2KSh(ya5UsuB8m{h*ua-{qk;&KB;{MD{phL(gEpkdg;w-wi`fcy|2V zV4jA1gnHVS$(W}DkfcdB7WzivkX$CMOfpF_U06LvqOf+1fx-_Ae~lbhXitFwY!25+ zpNxXj$RSUE6odk9(D^Fq!wKM1CgL$%3~R{JZaCf%1A$~;sF%f24@GE--f)IQwA21&zo3wI*R7VeSE(iy`R KwrMw&()tH9&5&j_K0(md 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

(YAs8hq~Al#exF4giWF5 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 J(JQti@L%3(Y@q-E diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ShadowStep.class.uniqueId5 b/build/tmp/compileJava/compileTransaction/stash-dir/ShadowStep.class.uniqueId5 deleted file mode 100644 index b63243ae0a0953de7b2662a768d8b8b4a7b4a437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3998 zcmai1i(eeo75*;l?f{vDNC*OXkc4Pq7u>{Ft=X7{u$!>S?uN1nY0#DqyAzl&%&faZ z614A!_WiW2w6(R3nm$r%(z+>Xt=d*w|D!&Bw%?uEU1ksze$3;}Ip?19o$s7`c>A4~ zUIj3Mx7*N!W(6S?VMGMBUeqpWaZ|HqIFw2a@ep8=ZHY_z~E#nTF|PXO~odt z0^3LJ%4KcotYet*{G3*_FXtV-M4ghkIBQq}w`Y73tB;8`Y(cw%ttxIqhd|6O&&FpK z=jRP4u3yqECtfnOCA}OUcW-IS(aT!FNy$$Ft+Tr0eGu3=FqrWxTaMu@)zlK3(24B| zx>VebZh`KN1O?iRO5W17dBd7@1D%o%_Nv%{o!)*U1;?-%(B3usxz5g*c40p5i7>R? z=u@yq#a`?a*yZ2!UD5(Aj-7YP?!KM0y^6oLnrOj(flU+X6JuwlM>FZsQ*F2tA5bu$ zVi3_l#_D!j3by5FhE);RG2pW}I;WNM`ooL5RnQZIQxcsa6~nkoKqaJUOS)&5mjnia zQ5y9xjeOK3iSPj&RB*S758^`t`+dP~s3dTk+|AJ!(pHvkj%ij=VBbbtO2NFN73PWT zy|_=ohgIBwdB)Z1Y*H%Mkoj zE}5E`9#4%-WJq~G-ReRvpO2{+MUq%nbZ1l}#-^z=u+YHN;A9)?=D3Oz7-PmR7*;W- zYh}ISq%3`bc;7qVx5_N|NW31uQ?3MeZNW(ur$E29Il8Hr?6PxApQHVn;rrgh@H$)8 z?0Wv@RGh}RK&MtJnM=n^TD9~_C3WF~+ZT4NXS!h^a&$i%41Xlc&ZszxNphVDIcJwm zq9VEOL)%>?n?8o~3Z_&%h=&N&S^?&Q7Ti4yo$T(Q5w~C#Wdq6>6^AB1foTPwRH0!; zU`y~bT`*)TAXf+YoysCX2g3R1o+2hv;@Nem_xd`6(hmm=MxZPvCb#8U3_ITfGB z7rgG0G|Hrn+e3SUxp$K{$&YrKjQ$e7tl%*fk4wcapLw4cVY2MD~6#|wT5J+Z!SH<`6eVVCP z-^PGVDfmIKX_ah=M||A9d1cj#AK^&_%PM}1pRg(V;$KJFYi_N_GU;40m&)hafc-_a zfd=D$0#C^U|7QY&fuJ|iNT&xUWw=kP_yv9`(5@AWezyhs-_H&Y90kt=0jM!1V_f3- z=hea{T*cE0uC1Y#dvMAE*Dal;+dHtqTrtQl6B@OPByM}gu=L#G!i-)%qs_>A>X4~3 zCpETyzSkB*&YZzk5*SogN0|g0zHNEK#@ULVvWj|noUPjwI1q^V{ic?L^i1W5;p_Un z{$$m#@KE5kVb`L-a6rh#VdL3|dK|svBzWC6IU?zvnk;^9|~S zc+bSD*qj|&!8U-SV3H%ihFJ%@f>!=LRE}JhpI^BhTp`N z=+JN#=_oH*=~c7q)t&SO=wS>yIOOicLG*DX+s7fQA4jpD5#7OIWWe<{N@DUA0P-!}96pZK?;<0ZUI5l&8gl_CC%hNT;t z$adnRCu1vM-&?^sdHJ}&p>R)l1qC;3`7|f+8q7nHo=EIj#G*ZsDy(JfqZ(_ZC$fS| z5`@e5E8WWAlTV?wTRGVi$zJ>4D?=}E6EE&4u?AvvV~9EAz|7wV5a)Pw0Fy-FJnqIr zxChfjLuTp-rA{-3NAU_2SNhLHAtIe_prE<23)-A^F>2!X2k|O3nq53P(EJX%6`1_* ztoR>{{+p6baz?1ZFvGiKPiO3PbS@(ty3U7ByARFRx$b%1#asaidU2Sb9l=%(x*Ztt z@u{=nQ75FA5)BaIrdG*cj+V9ko}on>Q#4Sg9e71@&9tsWjgu+#PrHXGH z3dbbu-)X|RRpRuzswp~ioP}_LgdSsoq!Go*24E84I<;dpaOB!w=u{K6`k2Sp>BM#x z!W;N2UEIsG{Ecg2*X3r2Fa cooldowns = new HashMap<>(); - private static final long COOLDOWN_TIME = 10 * 1000; // 5 seconds in milliseconds + private static final long COOLDOWN_TIME = 15 * 1000; // 5 seconds in milliseconds public GravityGauntlet(CoswayUtil plugin) { this.plugin = plugin; diff --git a/src/main/java/CoswayUtil/WitherContract.java b/src/main/java/CoswayUtil/WitherContract.java new file mode 100644 index 0000000..5542a7c --- /dev/null +++ b/src/main/java/CoswayUtil/WitherContract.java @@ -0,0 +1,97 @@ +package CoswayUtil; + +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Monster; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.scheduler.BukkitRunnable; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.World; +import org.bukkit.Location; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class WitherContract implements Listener { + + private final CoswayUtil plugin; + + public WitherContract(CoswayUtil plugin) { + this.plugin = plugin; + } + + // Event handler for Wither Skull placed on Soul Sand + @EventHandler + public void onWitherSkullPlace(BlockPlaceEvent event) { + // Check if the block placed is Wither Skull on Soul Sand + Block block = event.getBlockPlaced(); + if (block.getType() == Material.SOUL_SAND && event.getItemInHand().getType() == Material.WITHER_SKELETON_SKULL) { + Player player = event.getPlayer(); + World world = block.getWorld(); + + // Find a random hostile mob within 30 blocks + LivingEntity target = findRandomHostileEntity(block.getLocation(), 30); + if (target != null) { + // Apply Wither Curse to the found mob + applyWitherCurse(target); + player.sendMessage("Wither Contract activated on " + target.getName()); + } else { + player.sendMessage("No nearby hostile mobs found to mark."); + } + } + } + + // Find a random hostile entity within the specified radius of the location + private LivingEntity findRandomHostileEntity(Location location, double radius) { + List hostileEntities = new ArrayList<>(); + for (Entity entity : location.getWorld().getEntities()) { + if (entity instanceof LivingEntity && entity instanceof Monster) { + LivingEntity livingEntity = (LivingEntity) entity; + if (livingEntity.getLocation().distance(location) <= radius) { + hostileEntities.add(livingEntity); + } + } + } + if (hostileEntities.isEmpty()) { + return null; + } + // Return a random entity from the list + Random rand = new Random(); + return hostileEntities.get(rand.nextInt(hostileEntities.size())); + } + + // Apply Wither Curse: Damage over time and handle spread when the mob dies + private void applyWitherCurse(LivingEntity target) { + // Damage over time effect (every second) + new BukkitRunnable() { + @Override + public void run() { + if (target.isDead()) { + cancel(); // Stop task if the mob is dead + } else { + target.damage(1); // Deal 1 damage per tick (20 ticks = 1 second) + } + } + }.runTaskTimer(plugin, 0, 20); // Run every 20 ticks (1 second) + + // Listen for the mob's death and apply curse to nearby mobs + target.getServer().getPluginManager().registerEvents(new Listener() { + @EventHandler + public void onEntityDeath(EntityDeathEvent deathEvent) { + if (deathEvent.getEntity() == target) { + // When the marked mob dies, spread the curse + LivingEntity nextTarget = findRandomHostileEntity(target.getLocation(), 30); + if (nextTarget != null) { + applyWitherCurse(nextTarget); + } + } + } + }, plugin); + } +} \ No newline at end of file