From 57fc53c056cde25f7f3cf57edee2513ae53237ce Mon Sep 17 00:00:00 2001 From: iTakinn Date: Sun, 18 Feb 2024 22:12:02 -0300 Subject: [PATCH] sla, so criei isso --- .gitignore | 2 + effective-pom.xml | 298 ++++++++++++++++++ pom.xml | 87 +++++ .../java/com/itakinn/LightningStrike.java | 89 ++++++ src/main/java/plugin.yml | 8 + .../com/itakinn/LightningStrike$1.class | Bin 0 -> 1340 bytes .../classes/com/itakinn/LightningStrike.class | Bin 0 -> 4016 bytes target/classes/plugin.yml | 8 + 8 files changed, 492 insertions(+) create mode 100644 .gitignore create mode 100644 effective-pom.xml create mode 100644 pom.xml create mode 100644 src/main/java/com/itakinn/LightningStrike.java create mode 100644 src/main/java/plugin.yml create mode 100644 target/classes/com/itakinn/LightningStrike$1.class create mode 100644 target/classes/com/itakinn/LightningStrike.class create mode 100644 target/classes/plugin.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..042a2b8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +zerv/* +.vscode/settings.json diff --git a/effective-pom.xml b/effective-pom.xml new file mode 100644 index 0000000..d886f19 --- /dev/null +++ b/effective-pom.xml @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + 4.0.0 + com.itakinn + plzao + 1.0-SNAPSHOT + plzao + http://www.example.com + + 17 + 17 + UTF-8 + + + + junit + junit + 4.11 + test + + + org.bukkit + bukkit + 1.20.1-R0.1-SNAPSHOT + provided + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + false + + central + Central Repository + https://repo.maven.apache.org/maven2 + + + + + + never + + + false + + central + Central Repository + https://repo.maven.apache.org/maven2 + + + + c:\Users\iTakinn\Desktop\plzao\src\main\java + c:\Users\iTakinn\Desktop\plzao\src\main\scripts + c:\Users\iTakinn\Desktop\plzao\src\test\java + c:\Users\iTakinn\Desktop\plzao\target\classes + c:\Users\iTakinn\Desktop\plzao\target\test-classes + + + c:\Users\iTakinn\Desktop\plzao\src\main\resources + + + + + c:\Users\iTakinn\Desktop\plzao\src\test\resources + + + c:\Users\iTakinn\Desktop\plzao\target + plzao-1.0-SNAPSHOT + + + + maven-antrun-plugin + 3.1.0 + + + maven-assembly-plugin + 3.6.0 + + + maven-dependency-plugin + 3.6.0 + + + maven-release-plugin + 3.0.1 + + + maven-clean-plugin + 3.1.0 + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + + maven-clean-plugin + 3.1.0 + + + default-clean + clean + + clean + + + + + + maven-resources-plugin + 3.0.2 + + + default-testResources + process-test-resources + + testResources + + + + default-resources + process-resources + + resources + + + + + + maven-jar-plugin + 3.0.2 + + + default-jar + package + + jar + + + + + + maven-compiler-plugin + 3.8.0 + + + default-compile + compile + + compile + + + + default-testCompile + test-compile + + testCompile + + + + + + maven-surefire-plugin + 2.22.1 + + + default-test + test + + test + + + + + + maven-install-plugin + 2.5.2 + + + default-install + install + + install + + + + + + maven-deploy-plugin + 2.8.2 + + + default-deploy + deploy + + deploy + + + + + + maven-site-plugin + 3.7.1 + + + default-site + site + + site + + + c:\Users\iTakinn\Desktop\plzao\target\site + + + org.apache.maven.plugins + maven-project-info-reports-plugin + + + + + + default-deploy + site-deploy + + deploy + + + c:\Users\iTakinn\Desktop\plzao\target\site + + + org.apache.maven.plugins + maven-project-info-reports-plugin + + + + + + + c:\Users\iTakinn\Desktop\plzao\target\site + + + org.apache.maven.plugins + maven-project-info-reports-plugin + + + + + + + + c:\Users\iTakinn\Desktop\plzao\target\site + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..42cc649 --- /dev/null +++ b/pom.xml @@ -0,0 +1,87 @@ + + + + 4.0.0 + + com.itakinn + plzao + 1.0-SNAPSHOT + + plzao + + http://www.example.com + + + UTF-8 + 17 + 17 + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + junit + junit + 4.11 + test + + + org.spigotmc + spigot-api + 1.20.1-R0.1-SNAPSHOT + provided + + + + + + + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + diff --git a/src/main/java/com/itakinn/LightningStrike.java b/src/main/java/com/itakinn/LightningStrike.java new file mode 100644 index 0000000..22a81e8 --- /dev/null +++ b/src/main/java/com/itakinn/LightningStrike.java @@ -0,0 +1,89 @@ +package com.itakinn; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitRunnable; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +public class LightningStrike extends JavaPlugin implements Listener { + private final Map tasks = new HashMap<>(); + + @Override + public void onEnable() { + getLogger().info("Plugin LightningStrike habilitado!"); + getCommand("raios").setExecutor(this); + getServer().getPluginManager().registerEvents(this, this); + } + + @Override + public void onDisable() { + getLogger().info("Plugin LightningStrike desabilitado!"); + for (BukkitRunnable task : tasks.values()) { + task.cancel(); + } + tasks.clear(); + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if (args.length != 1) { + sender.sendMessage("Uso correto: /raios "); + return false; + } + + Player target = Bukkit.getPlayer(args[0]); + if (target == null) { + sender.sendMessage("Jogador não encontrado."); + return false; + } + + toggleLightning(target); + return true; + } + + private void toggleLightning(Player player) { + UUID playerId = player.getUniqueId(); + if (tasks.containsKey(playerId)) { + // Se o jogador já está sendo atingido por raios, cancela a tarefa + tasks.get(playerId).cancel(); + tasks.remove(playerId); + player.sendMessage("Os raios foram desativados."); + } else { + // Inicia uma tarefa que atinge o jogador com raios constantemente enquanto ele se move + BukkitRunnable task = new BukkitRunnable() { + @Override + public void run() { + if (!player.isOnline() || player.isDead()) { + // Se o jogador desconectar ou morrer, cancela a tarefa + cancel(); + tasks.remove(playerId); + return; + } + player.getWorld().strikeLightning(player.getLocation()); + } + }; + task.runTaskTimer(this, 0, 1); // A cada segundo (20 ticks) + tasks.put(playerId, task); + player.sendMessage("Os raios foram ativados. Mantenha-se em movimento!"); + } + } + + @EventHandler + public void onPlayerMove(PlayerMoveEvent event) { + Player player = event.getPlayer(); + UUID playerId = player.getUniqueId(); + if (!player.isDead() && tasks.containsKey(playerId)) { + // Se o jogador está se movendo e sendo atingido por raios, não faz nada + return; + } + } +} diff --git a/src/main/java/plugin.yml b/src/main/java/plugin.yml new file mode 100644 index 0000000..86ca6a5 --- /dev/null +++ b/src/main/java/plugin.yml @@ -0,0 +1,8 @@ +name: LightningStrike +version: 1.0 +main: com.itakinn.LightningStrike +author: iTakinn +commands: + raios: + description: Ativa ou desativa raios sobre um jogador + usage: /raios diff --git a/target/classes/com/itakinn/LightningStrike$1.class b/target/classes/com/itakinn/LightningStrike$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8dab8f72e60c36883c2087048c762546996c9a91 GIT binary patch literal 1340 zcmaJ>>rN9v6#k|yEwl^N%3TnZify^9c$b?(xfKf-5lH;EY$s*tGD~)+Bs_(`eGC%N z;13_bhcceoRwx)~vNLDqeCM2R&ZWQq{QL!A1|MPwF$~!5fhm+#5mK5(QQlKh$nvK0 zM1`j(Vu&ydxn9}atyU^RnZCWpOI3$^=6rDRsVb$l>u`ps+7o{IDS0g3;&O^1eq=f6 zL&rMi9z$QT!8w;osAKbEpd+Mli7b>DlEr=N$TF)+IOf(?VSy0QX(5H0WmwJJ8ujKV z*L`NU86tVN#9P47ZlDQKE!{B?L$j9d8fZa0jxah6B+$hW&S<0dqL6&Oda%pA&$W!C zimq)r+mjc$5^o)-41GJydM#&DmZ=cY6ncz}lt&BEW14lxMme9?wO z2GUv;75)OZN^#;oY~YDz9JMWJbEgGajKq**xOYp*42)uop-EYOg_yTDWNghkoJzn1 z^$8We^|CyqFz^h|DU`<#+#{kjoT(W)mMohayZhW$Q`!HoH1n4RUg0%8s?61n>p4{W zj!d?(hQTd`9>7}zlc01Z2&?n0gew`kufqQ+$YKWXVxWdeHY7CgX5c;M=y`t7`WKVH zFqvtLeBtT}pL*wBSk>l-Xti!C%dSv5>gA7bx>e8SOG1xK$2I)8P9RZOl(ysgG=^(j z?YSib%UGdn<(A71zp$Z6yTa`1^yro}3Q}?}?^wRisdCNh+*d2Euc&3HP3TV`oJ{Hl z2a+k>-oZ}IO_~sW2^fTHC25w<5!yR)BWGyKjh-Qy8#_ZP_X8a#0lJ&kD4{jBhgNM# zc=V!=c4{zm)qQ;>Us|`EJ4Nyw{S4pGUXvebxi|M6kLlcYiVSV3bBu?ub5cXRV5kXi z7|t=R733-m9llRL1alNVkA5s*42u}2)GcA9fzooF(mY`!2=#Q*nkP9#7K_1MmMjV+ P>4DKi^>3BF5VC&(-rh(| literal 0 HcmV?d00001 diff --git a/target/classes/com/itakinn/LightningStrike.class b/target/classes/com/itakinn/LightningStrike.class new file mode 100644 index 0000000000000000000000000000000000000000..017b284a3eff3cb1d544ade235179d96931defe7 GIT binary patch literal 4016 zcmai1`Bxj)75<)(7!YF{4o zOOh^0+H|jzwrQKT?&2I9Rfm@}_4jnwFIxH_Hp2Wm@Ga&oLLJhNM87?UeJy>f)m5<(Dhf zvT5b78Y@PAj2{>LwT60u)`*x~k(Nhgt|u+&2&6p2U33L@jr%97o>|FH7|R8L#woLG z8D7@lJ73t(p`N*EAT9#3)$ifhn)(@JN=?w|gb#~1P zB!}&JnMNIU>1cwkp+%sj2IQ>aE)Yx_&Dhllfjv4jG$^p9B`2#(Md?f{)dHDuyJS>m z4aZdLa5L#Gm~`#X_&sJG&wdSGdbCX)DW-MB7TDVv7_AsIrh;yj z3th7fIL@FshH1MBZkLW6x&_jNJ8Um48P>eO$?Z-?LqtB5WIjM0o-3r$i@b(Dfovq4 z+sf*A5Bdd~TlcwXH+t~=UuZz(Ih5Nla-iP-GG*3xqMbW&MG)D{v+l3}P zh=(;i#KhS0QpW%oz-BrhxH4f_h99z{ab3$nam0kE`4K#-fysC{qIo+}9Us7B0y`a9 zR)yn?s3Kx!JrwgeURtr5h$$rnblkR1o32XM2AmdX51?&Hpm|A|^%QEt8JyMdxWJBD z3b8(PjAD$nwPIANlCbv2@^#p*RAk9BZHpd{V^YHeE2*ZS_Fl(%TwpzzbkXobx-X__ zG~B12CorvHigj1hv;J1c3{+`b@|s6O>l*wtK3}{_Cf>y1=1!Jaq-v!^6 zK;QrCC9DL~yUtdku(2DiF#pEvGFzULwf_F9ot0L}wmgR$eX8=W>9~$hu!no>qZPT) zG1;eM1jqHNlBri-s77%l8qG~Khk;;jgfB?uJ;WLFRK+Mtl9|~W4d##Glvz=`w+R&i zd3-BL*ny~pIB*Tml8{KM$6hz#8GKpCSMXH^iK=ES^Qo#FWe?A+*NuN8`Bdrn^8bX9~k7SzLwI=+E#^1AhLc0_}@E*Eh-+){?Vt>ZiDV7()k>=ibt z@9}Ot?`DHkyka}XQdTu5&sQ0%%D>{CRp9ttq)tYA6Pn%0BTON(2RlF0Ajm55<&7DDMVY54fS9SahKPQdL zRfd~w-*0=-mbP^#oEf4*4Y({7OIh+x4=m4aV;F+kXLAm| zs1#}5OoN77yrgO!S!E6Bu&tmtCm2V8o){g$ofYT|Ygmc-7o2}jwQ_v(2xHcCOn!X>%qVkJrQd$D%0-h zctc$P^`?7T8ssA7JHmNrE2Ql$vGCJVcGW4#Go~6K_iQwxV7~5CG?Khgi(~R|#c*A9 zvo=ji*PD=P@O06}ZdS+t6#p}7Fy*t6<9h;W)bl$BT7K@}&M99GXwKci&fHsQzIX?j z*RlJyFTIzaJ1GIQAW2QT_}s^pI?Xe<5BvG#7{8(KQmC&zw~7Oq2Ud~IWja>T$z>1! zPpsjjKrXk2!8+7zWT+j~+(?bPsq-i`*6g%z*g3Uf=Vkh$a1Hu)hLxSyuzL+70&6%Y zFmV$tJ!|-&z~3-8-o1*8TzyF3rFZ`w2!2fX_UoX0JU~`}L$v<@j^Qx6_&h-t3pnEA z*hg!$72-HXv?a{bZ^_*jB;LhA)M;F6oB&8GZ)BADsR;fvk1FN;t;x5OuV6=aW?>Ci z3I0}VvhKtium@7Dseh>bYPg?kO|9bN$y+=WpzH8s*Fo*a8G%k(>?YzK;_T&4AJO(B zPrQn;p}<&(lxFcse2P%iw@>3Uz90SgEI#M6*N@NR3-smy<-drhnJ>ztMkHF^!F?LD zIiYUE(35{rwF*wWF};c(&G~}8YxrrMlKh1)sS+b_y^pC1oTTdyVhS{FzHi}3s7!QP{c3knhMTk{0hIOPb2&xr2<&D?(RDn(D0iM3jG$pqrmTJ zRMp8J_*6lBfqTmJb|%v82|7*xC;3=qLZL;uKo5K(lDBK%_mNL9BT|@R-cB=@W|`Sf zMnJA-HZ?PC-=xJ9qpIL0cw)Z~HvriL@gMag?HS@E?zgBo!QA=_pK5fu!KeCDztNLw F{Xf3_DlGs2 literal 0 HcmV?d00001 diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml new file mode 100644 index 0000000..86ca6a5 --- /dev/null +++ b/target/classes/plugin.yml @@ -0,0 +1,8 @@ +name: LightningStrike +version: 1.0 +main: com.itakinn.LightningStrike +author: iTakinn +commands: + raios: + description: Ativa ou desativa raios sobre um jogador + usage: /raios