|
5 | 5 | import com.github.elic0de.hungergames.game.HungerGame; |
6 | 6 | import com.github.elic0de.hungergames.game.phase.InGamePhase; |
7 | 7 | import com.github.elic0de.hungergames.game.phase.WaitingPhase; |
8 | | -import com.github.elic0de.hungergames.modifier.ModifierManager; |
9 | | -import com.github.elic0de.hungergames.modifier.modifiers.GameModifier; |
10 | 8 | import com.github.elic0de.hungergames.user.GameUser; |
11 | 9 | import com.github.elic0de.hungergames.user.GameUserManager; |
12 | 10 | import de.themoep.minedown.MineDown; |
13 | 11 | import net.md_5.bungee.api.ChatMessageType; |
14 | 12 | import net.md_5.bungee.api.chat.ComponentBuilder; |
15 | | -import org.bukkit.*; |
| 13 | +import org.bukkit.ChatColor; |
| 14 | +import org.bukkit.GameMode; |
| 15 | +import org.bukkit.Location; |
| 16 | +import org.bukkit.Material; |
16 | 17 | import org.bukkit.block.Block; |
17 | 18 | import org.bukkit.block.BlockFace; |
18 | 19 | import org.bukkit.entity.Arrow; |
|
28 | 29 | import org.bukkit.event.entity.PlayerDeathEvent; |
29 | 30 | import org.bukkit.event.player.*; |
30 | 31 | import org.bukkit.inventory.ItemStack; |
31 | | -import org.bukkit.scheduler.BukkitRunnable; |
32 | 32 | import org.spigotmc.event.entity.EntityDismountEvent; |
33 | 33 |
|
34 | | -import java.util.ArrayList; |
35 | | -import java.util.Arrays; |
36 | | -import java.util.List; |
37 | | -import java.util.Random; |
38 | | - |
39 | 34 | public class EventListener implements Listener { |
40 | 35 |
|
41 | 36 | private final HungerGame game = HungerGames.getInstance().getGame(); |
42 | 37 |
|
43 | 38 | @EventHandler |
44 | 39 | private void onJoin(PlayerJoinEvent event) { |
45 | 40 | game.join(GameUserManager.getGameUser(event.getPlayer())); |
46 | | - //GameUserManager.getGameUser(event.getPlayer()).sendTitle("&c[ Game Modifier ]", "A game modifier is being picked!"); |
47 | | - new ModifierManager(game).modify(); |
48 | | - //startSlotAnimationTitle(event.getPlayer()); |
49 | | - //startGameModifierAnimation(event.getPlayer(), List.of("Magic Power", "UHC True", "Flower Power")); |
50 | | - /* sendAnimatedTitle(event.getPlayer(), new String[]{ |
51 | | - "&c[ Game Modifier ]", |
52 | | - "&6[ Game Modifier ]", |
53 | | - "&c[ Game Modifier ]", |
54 | | - "&6[ Game Modifier ]", |
55 | | - "&c[ Game Modifier ]", |
56 | | - "&6[ Game Modifier ]", |
57 | | - "&c[ Game Modifier ]", |
58 | | - "&6[ Game Modifier ]", |
59 | | - "&c[ Game Modifier ]", |
60 | | - "&6[ Game Modifier ]", |
61 | | - "&c[ Game Modifier ]", |
62 | | - "&6[ Game Modifier ]", |
63 | | - "&c[ Game Modifier ]", |
64 | | - "&c[ Game Modifier ]", |
65 | | - "&6[ Game Modifier ]", |
66 | | - "&c[ Game Modifier ]", |
67 | | - "&6[ Game Modifier ]", |
68 | | - "&c[ Game Modifier ]", |
69 | | - "&6[ Game Modifier ]", |
70 | | - "&c[ Game Modifier ]", |
71 | | - "&6[ Game Modifier ]", |
72 | | - "&c[ Game Modifier ]", |
73 | | - "&6[ Game Modifier ]", |
74 | | - "&c[ Game Modifier ]", |
75 | | - "&6[ Game Modifier ]", |
76 | | - "&c[ Game Modifier ]", |
77 | | - "&6[ Game Modifier ]", |
78 | | - "&c[ Game Modifier ]", |
79 | | - "&6[Game Modifier]", |
80 | | - }, 2);*/ |
81 | | -/* sendRandomRouletteTitle(event.getPlayer(), new String[]{ |
82 | | - "&c[ Game Modifier ]", |
83 | | - "&6[ Game Modifier ]", |
84 | | - "&c[ Game Modifier ]", |
85 | | - "&6[ Game Modifier ]", |
86 | | - "&c[ Game Modifier ]", |
87 | | - "&6[ Game Modifier ]", |
88 | | - "&c[ Game Modifier ]", |
89 | | - "&6[ Game Modifier ]", |
90 | | - "&c[ Game Modifier ]", |
91 | | - "&6[ Game Modifier ]", |
92 | | - "&c[ Game Modifier ]", |
93 | | - "&6[ Game Modifier ]", |
94 | | - "&c[ Game Modifier ]", |
95 | | - "&c[ Game Modifier ]", |
96 | | - "&6[ Game Modifier ]", |
97 | | - "&c[ Game Modifier ]", |
98 | | - "&6[ Game Modifier ]", |
99 | | - "&c[ Game Modifier ]", |
100 | | - "&6[ Game Modifier ]", |
101 | | - "&c[ Game Modifier ]", |
102 | | - "&6[ Game Modifier ]", |
103 | | - "&c[ Game Modifier ]", |
104 | | - "&6[ Game Modifier ]", |
105 | | - "&c[ Game Modifier ]", |
106 | | - "&6[ Game Modifier ]", |
107 | | - "&c[ Game Modifier ]", |
108 | | - "&6[ Game Modifier ]", |
109 | | - "&c[ Game Modifier ]", |
110 | | - "&6[Game Modifier]", |
111 | | - }, 2,10);*/ |
112 | | - } |
113 | | - |
114 | | - public void sendRandomRouletteTitle(Player player, String[] frames, int minCycles, int maxCycles) { |
115 | | - int cycleCount = new Random().nextInt(maxCycles - minCycles + 1) + minCycles; |
116 | | - |
117 | | - new BukkitRunnable() { |
118 | | - int frameIndex = 0; |
119 | | - int cyclesCompleted = 0; |
120 | | - int delay = 5; |
121 | | - |
122 | | - @Override |
123 | | - public void run() { |
124 | | - if (cyclesCompleted >= cycleCount) { |
125 | | - player.sendTitle(frames[frameIndex], null, 0, 70, 0); |
126 | | - this.cancel(); |
127 | | - } else { |
128 | | - if (delay <= 0) { |
129 | | - player.sendTitle(frames[frameIndex], null, 0, 70, 0); |
130 | | - |
131 | | - frameIndex++; |
132 | | - if (frameIndex >= frames.length) { |
133 | | - frameIndex = 0; |
134 | | - cyclesCompleted++; |
135 | | - } |
136 | | - |
137 | | - delay = 5; |
138 | | - } else { |
139 | | - player.sendTitle(frames[new Random().nextInt(frames.length)], null, 0, 70, 0); |
140 | | - delay--; |
141 | | - } |
142 | | - } |
143 | | - } |
144 | | - }.runTaskTimer(HungerGames.getInstance(), 0L, 1L); |
145 | | - } |
146 | | - private void sendAnimatedTitle(Player player, String[] frames, int delay) { |
147 | | - new BukkitRunnable() { |
148 | | - int frame = 0; |
149 | | - |
150 | | - @Override |
151 | | - public void run() { |
152 | | - player.sendTitle(ChatColor.translateAlternateColorCodes('&', frames[frame]), "A game modifier is being picked!", 0, 70, 0); |
153 | | - //player.playSound(player.getLocation(), Sound.BLOCK_PISTON_EXTEND, 1f, 1f); |
154 | | - frame++; |
155 | | - |
156 | | - if (frame == frames.length) { |
157 | | - cancel(); |
158 | | - } |
159 | | - } |
160 | | - }.runTaskTimer(HungerGames.getInstance(), 0L, delay); |
161 | | - } |
162 | | - |
163 | | - public void startGameModifierAnimation(Player player, List<String> modifiers) { |
164 | | - List<String> colors = Arrays.asList("§a", "§e", "§c"); // Green, Yellow, Red |
165 | | - List<String> frames = new ArrayList<>(); |
166 | | - |
167 | | - // Generate the animation frames |
168 | | - for (String modifier : modifiers) { |
169 | | - String color = colors.get(new Random().nextInt(colors.size())); |
170 | | - String frame = color + modifier; |
171 | | - frames.add(frame); |
172 | | - } |
173 | | - |
174 | | - new BukkitRunnable() { |
175 | | - int frameIndex = 0; |
176 | | - |
177 | | - @Override |
178 | | - public void run() { |
179 | | - player.sendTitle(frames.get(frameIndex), null, 0, 20, 0); |
180 | | - |
181 | | - frameIndex++; |
182 | | - if (frameIndex >= frames.size()) { |
183 | | - frameIndex = 0; |
184 | | - } |
185 | | - } |
186 | | - }.runTaskTimer(HungerGames.getInstance(), 0L, 10L); |
187 | | - } |
188 | | - |
189 | | - public void startSlotAnimationTitle(Player player) { |
190 | | - List<String> symbols = Arrays.asList("§b§l⬛", "§6§l⬛", "§f§l⬛"); // Diamond, Gold, Iron |
191 | | - List<String> frames = Arrays.asList( |
192 | | - symbols.get(0) + " " + symbols.get(1) + " " + symbols.get(2), |
193 | | - symbols.get(1) + " " + symbols.get(2) + " " + symbols.get(0), |
194 | | - symbols.get(2) + " " + symbols.get(0) + " " + symbols.get(1) |
195 | | - ); |
196 | | - |
197 | | - new BukkitRunnable() { |
198 | | - int frameIndex = 0; |
199 | | - int cycles = new Random().nextInt(3) + 3; // Random cycle count between 3 and 5 |
200 | | - |
201 | | - @Override |
202 | | - public void run() { |
203 | | - player.sendTitle("§6§lSLOTS", frames.get(frameIndex), 0, 20, 0); |
204 | | - |
205 | | - frameIndex++; |
206 | | - if (frameIndex >= frames.size()) { |
207 | | - frameIndex = 0; |
208 | | - cycles--; |
209 | | - |
210 | | - if (cycles <= 0) { |
211 | | - cancel(); |
212 | | - } |
213 | | - } |
214 | | - } |
215 | | - }.runTaskTimer(HungerGames.getInstance(), 0L, 5L); |
216 | 41 | } |
217 | 42 |
|
218 | 43 | @EventHandler |
|
0 commit comments