mirror of
https://github.com/ArthurDanjou/WitchRush.git
synced 2026-01-14 12:14:39 +01:00
Timer done !
This commit is contained in:
7
.idea/modules/WitchRush_main.iml
generated
7
.idea/modules/WitchRush_main.iml
generated
@@ -3,6 +3,13 @@
|
||||
<component name="FacetManager">
|
||||
<facet type="minecraft" name="Minecraft">
|
||||
<configuration>
|
||||
<userChosenTypes>
|
||||
<map>
|
||||
<entry key="PAPER" value="false" />
|
||||
<entry key="SPIGOT" value="true" />
|
||||
<entry key="BUKKIT" value="false" />
|
||||
</map>
|
||||
</userChosenTypes>
|
||||
<autoDetectTypes>
|
||||
<platformType>SPIGOT</platformType>
|
||||
</autoDetectTypes>
|
||||
|
||||
11
build.gradle
11
build.gradle
@@ -7,11 +7,22 @@ version '1.0-SNAPSHOT'
|
||||
|
||||
sourceCompatibility = 1.8
|
||||
|
||||
compileJava.options.encoding = 'UTF-8'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
name 'Sonatype'
|
||||
url 'https://oss.sonatype.org/content/repositories/snapshots/'
|
||||
}
|
||||
maven {
|
||||
name 'Spigot'
|
||||
url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||
compileOnly 'org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT'
|
||||
}
|
||||
|
||||
|
||||
@@ -88,6 +88,11 @@ public class WitchPlayer {
|
||||
return WitchPlayer.witchMap;
|
||||
}
|
||||
|
||||
public void removePlayer(){
|
||||
if (WitchPlayer.witchMap.get(player) == null) return;
|
||||
witchMap.remove(player);
|
||||
}
|
||||
|
||||
static {
|
||||
WitchPlayer.witchMap = new HashMap<>();
|
||||
}
|
||||
|
||||
@@ -3,12 +3,11 @@ package net.berrygames.witchrush;
|
||||
import net.berrygames.witchrush.commands.CommandsManager;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.listeners.ListenersManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class WitchRush extends JavaPlugin {
|
||||
|
||||
private static WitchRush instance;
|
||||
@@ -17,7 +16,9 @@ public class WitchRush extends JavaPlugin {
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
gameState = GameState.WAITING;
|
||||
instance = this;
|
||||
|
||||
this.gameState = GameState.WAITING;
|
||||
|
||||
new CommandsManager().register(this);
|
||||
new ListenersManager().register(this);
|
||||
@@ -38,6 +39,10 @@ public class WitchRush extends JavaPlugin {
|
||||
System.out.println("Desactive");
|
||||
System.out.println("*-*-*-*-*-*-*-*");
|
||||
super.onDisable();
|
||||
|
||||
for(Player pls : Bukkit.getOnlinePlayers()){
|
||||
pls.kickPlayer(ChatColor.RED+"Le serveur redémarre");
|
||||
}
|
||||
}
|
||||
|
||||
public void setState(GameState state){
|
||||
@@ -48,10 +53,10 @@ public class WitchRush extends JavaPlugin {
|
||||
}
|
||||
|
||||
public static WitchRush get() {
|
||||
return WitchRush.instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static String prefix(){
|
||||
return "&5&lWitchRush &8&l| &d";
|
||||
return "§5§lWitchRush §8§l| §d";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package net.berrygames.witchrush.commands;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.commands.admins.GameCMD;
|
||||
|
||||
public class CommandsManager {
|
||||
|
||||
public void register(WitchRush main){
|
||||
|
||||
main.getCommand("game").setExecutor(new GameCMD());
|
||||
|
||||
System.out.println("Commandes register");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package net.berrygames.witchrush.commands.admins;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.game.StartTask;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class GameCMD implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player)) return false;
|
||||
|
||||
Player player = (Player) sender;
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
|
||||
if(args.length == 1 && args[0].equals("start")){
|
||||
if(!player.isOp())return false;
|
||||
|
||||
new StartTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
WitchRush.get().setState(GameState.STARTING);
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"§c"+player.getName()+" a forcé le démarrage de la partie !");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
16
src/main/java/net/berrygames/witchrush/game/NoPVPTask.java
Normal file
16
src/main/java/net/berrygames/witchrush/game/NoPVPTask.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package net.berrygames.witchrush.game;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class NoPVPTask extends BukkitRunnable {
|
||||
|
||||
private int timer = 60 * 3;
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
WitchRush.get().setState(GameState.NOPVP);
|
||||
|
||||
timer--;
|
||||
}
|
||||
}
|
||||
36
src/main/java/net/berrygames/witchrush/game/StartTask.java
Normal file
36
src/main/java/net/berrygames/witchrush/game/StartTask.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package net.berrygames.witchrush.game;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class StartTask extends BukkitRunnable {
|
||||
|
||||
private int timer = 120;
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
if(timer == 0){
|
||||
new NoPVPTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"§CLa partie commence ! Vous avez 3minutes pour vous preparer !");
|
||||
cancel();
|
||||
}
|
||||
|
||||
if(timer == 120 || timer == 60 || timer == 30 || timer == 15
|
||||
|| timer == 10 || timer == 5 || timer == 4 || timer == 3 || timer == 2){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Lancement de la partie dans §5"+timer+" §dsecondes");
|
||||
}
|
||||
if(timer == 1){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Lancement de la partie dans §5"+timer+" §dseconde");
|
||||
}
|
||||
|
||||
for(Player pls : Bukkit.getOnlinePlayers()){
|
||||
pls.setLevel(timer);
|
||||
}
|
||||
|
||||
timer--;
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package net.berrygames.witchrush.listeners;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.listeners.players.PlayerJoin;
|
||||
import net.berrygames.witchrush.listeners.players.PlayerQuit;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
@@ -12,6 +13,7 @@ public class ListenersManager {
|
||||
|
||||
// --- PLAYERS ---//
|
||||
pm.registerEvents(new PlayerJoin(), main);
|
||||
pm.registerEvents(new PlayerQuit(), main);
|
||||
|
||||
// --- WORLD ---//
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ package net.berrygames.witchrush.listeners.players;
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.game.StartTask;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -14,20 +16,25 @@ public class PlayerJoin implements Listener {
|
||||
@EventHandler
|
||||
public void join(PlayerJoinEvent e){
|
||||
Player player = e.getPlayer();
|
||||
WitchPlayer witchPlayer = new WitchPlayer(player);
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) ||
|
||||
WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setJoinMessage(
|
||||
WitchRush.prefix()+player.getName()
|
||||
+" a rejoint la partie §7(§d"
|
||||
+WitchPlayer.getwitchMap().size()
|
||||
+"§8/§d16§7)");
|
||||
WitchRush.prefix()+player.getName()+
|
||||
" a rejoint la partie §7(§d"+
|
||||
WitchPlayer.getwitchMap().size()+
|
||||
"§8/§d16§7)");
|
||||
player.setGameMode(GameMode.ADVENTURE);
|
||||
player.setLevel(0);
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
witchPlayer.teleportPlayer();
|
||||
witchPlayer.sendGameScoreboard();
|
||||
|
||||
if(WitchPlayer.getwitchMap().size() >= 4){
|
||||
new StartTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
WitchRush.get().setState(GameState.STARTING);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package net.berrygames.witchrush.listeners.players;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.StartTask;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
public class PlayerQuit implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void quit(PlayerQuitEvent e){
|
||||
Player player = e.getPlayer();
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
|
||||
witchPlayer.removePlayer();
|
||||
|
||||
if(WitchPlayer.getwitchMap().size() < 4){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"§CLe lancement de la partie est annulé. Il n'y a pas assez de joueurs !");
|
||||
new StartTask().cancel();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
43
src/main/java/net/berrygames/witchrush/tools/Locations.java
Normal file
43
src/main/java/net/berrygames/witchrush/tools/Locations.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package net.berrygames.witchrush.tools;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
||||
public enum Locations {
|
||||
|
||||
//PLAYERS
|
||||
PLAYER_SPAWN_WAITING_ROOM(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
PLAYER_SPAWN_BLEU(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
PLAYER_SPAWN_ROUGE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
PLAYER_SPAWN_JAUNE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
PLAYER_SPAWN_VERT(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
|
||||
SPAWN_SPECTATORS(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
|
||||
//WITCH
|
||||
WITCH_BLEU(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
WITCH_ROUGE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
WITCH_JAUNE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
WITCH_ERT(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
|
||||
//PNJ SHOP
|
||||
SHOP_BLEU(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
SHOP_ROUGE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
SHOP_JAUNE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
SHOP_VERT(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
|
||||
//PNJ SOLO UPGRADE
|
||||
UPGRADE_BLEU(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
UPGRADE_ROUGE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
UPGRADE_JAUNE(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
UPGRADE_VERT(new Location(Bukkit.getWorld("world"), 0, 0, 0)),
|
||||
|
||||
;
|
||||
|
||||
private Location location;
|
||||
|
||||
Locations(Location location) {
|
||||
this.location = location;
|
||||
}
|
||||
}
|
||||
8
src/main/resources/plugin.yml
Normal file
8
src/main/resources/plugin.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
name: WitchRush
|
||||
version: 1.0
|
||||
author: BunSLaPatate
|
||||
main: net.berrygames.witchrush.WitchRush
|
||||
website: berrygames.net
|
||||
|
||||
commands:
|
||||
game:
|
||||
Reference in New Issue
Block a user