Skip to content

Commit fc8492e

Browse files
committed
Added Freeze Staff (Now fully working)
1 parent f68e25d commit fc8492e

File tree

4 files changed

+34
-2
lines changed

4 files changed

+34
-2
lines changed

src/main/java/com/leprofi/trolladdon/TrollAddon.java

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.leprofi.trolladdon.commands.TrollCommand;
44
import com.leprofi.trolladdon.listener.HitListener;
55
import com.leprofi.trolladdon.listener.InventoryClickListener;
6+
import com.leprofi.trolladdon.listener.PlayerMoveListener;
67
import com.leprofi.trolladdon.listener.PlayerStatChangeListener;
78
import com.leprofi.trolladdon.utils.Metrics;
89
import de.marcely.bedwars.api.arena.Arena;
@@ -15,6 +16,7 @@ public final class TrollAddon extends JavaPlugin {
1516
public static String prefix = "§cTrollAddon §8» §7";
1617
public static ArrayList<Arena> trollArenas = new ArrayList<>();
1718
public static ArrayList<String> invisPlayers = new ArrayList<>();
19+
public static ArrayList<String> frozenPlayers = new ArrayList<>();
1820
private static TrollAddon instance;
1921

2022
public TrollAddon() {
@@ -47,6 +49,7 @@ public void onEnable() {
4749
Bukkit.getPluginManager().registerEvents(new InventoryClickListener(), this);
4850
Bukkit.getPluginManager().registerEvents(new PlayerStatChangeListener(), this);
4951
Bukkit.getPluginManager().registerEvents(new HitListener(), this);
52+
Bukkit.getPluginManager().registerEvents(new PlayerMoveListener(), this);
5053

5154
//Commands
5255
getCommand("troll").setExecutor(new TrollCommand());

src/main/java/com/leprofi/trolladdon/commands/TrollCommand.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
3232
openGUI(player);
3333
}
3434
} else {
35-
player.sendMessage(TrollAddon.prefix + "§cYou do not have the right to use this command!<");
35+
player.sendMessage(TrollAddon.prefix + "§cYou do not have the right to use this command!");
3636
}
3737

3838

src/main/java/com/leprofi/trolladdon/listener/HitListener.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.leprofi.trolladdon.listener;
22

3+
import com.leprofi.trolladdon.TrollAddon;
34
import com.leprofi.trolladdon.utils.Items;
45
import org.bukkit.entity.Player;
56
import org.bukkit.event.EventHandler;
@@ -15,7 +16,13 @@ public void onPlayerAttack(EntityDamageByEntityEvent event) {
1516

1617
if(damager.getInventory().getItemInMainHand().equals(Items.getItem("freeze"))) {
1718
if(!target.hasPermission("trolladdon.prevent")) {
18-
target.setFreezeTicks(20 * 5);
19+
TrollAddon.frozenPlayers.add(target.getName());
20+
TrollAddon.getInstance().getServer().getScheduler().scheduleSyncDelayedTask(TrollAddon.getInstance(), new Runnable() {
21+
22+
public void run() {
23+
TrollAddon.frozenPlayers.remove(target.getName());
24+
}
25+
}, 20*5L);
1926
}
2027
}
2128
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.leprofi.trolladdon.listener;
2+
3+
import com.leprofi.trolladdon.TrollAddon;
4+
import org.bukkit.Location;
5+
import org.bukkit.entity.Player;
6+
import org.bukkit.event.EventHandler;
7+
import org.bukkit.event.EventPriority;
8+
import org.bukkit.event.Listener;
9+
import org.bukkit.event.player.PlayerMoveEvent;
10+
11+
public class PlayerMoveListener implements Listener {
12+
@EventHandler(priority = EventPriority.HIGHEST)
13+
public void onPlayerMove(PlayerMoveEvent event) {
14+
Player player = event.getPlayer();
15+
if(TrollAddon.frozenPlayers.contains(player.getName())) {
16+
//Thanks to Metallic 😁
17+
final Location from = event.getFrom();
18+
final Location to = event.getTo();
19+
event.setTo(new Location(to.getWorld(), from.getX(), from.getY(), from.getZ(), to.getYaw(), to.getPitch()));
20+
}
21+
}
22+
}

0 commit comments

Comments
 (0)