fixed event commands, removed infinite saturation, added player join check
This commit is contained in:
@@ -19,10 +19,10 @@ public class EventOpenSessionCommand extends ApplianceCommand<Event> {
|
||||
|
||||
@Override
|
||||
protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception {
|
||||
if(args.length == 1) {
|
||||
if(args.length == 0) {
|
||||
this.getAppliance().openEvent(Event.EventType.SMALL);
|
||||
} else {
|
||||
this.getAppliance().openEvent(Event.EventType.valueOf(args[1]));
|
||||
this.getAppliance().openEvent(Event.EventType.valueOf(args[0]));
|
||||
}
|
||||
sender.sendMessage(Component.text("Event-Server gestartet!", NamedTextColor.GREEN));
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
|
||||
public class DeathrunPlayerDamageListener extends ApplianceListener<Deathrun> {
|
||||
@EventHandler
|
||||
@@ -23,9 +22,4 @@ public class DeathrunPlayerDamageListener extends ApplianceListener<Deathrun> {
|
||||
if(!(event.getEntity() instanceof Player)) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onHunger(FoodLevelChangeEvent event) {
|
||||
if(!this.getAppliance().isBeforeStart()) event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,6 +81,10 @@ public class EventController extends Appliance {
|
||||
this.selectedEvent = null;
|
||||
}
|
||||
|
||||
public boolean hasLoadedEvent() {
|
||||
return this.selectedEvent != null;
|
||||
}
|
||||
|
||||
public void scheduleStart(long durationMinutes) {
|
||||
if(this.selectedEvent == null) throw new ApplianceCommand.Error("There is no event selected!");
|
||||
this.durationMinutes = durationMinutes;
|
||||
@@ -88,7 +92,7 @@ public class EventController extends Appliance {
|
||||
}
|
||||
|
||||
public void cancelStart() {
|
||||
this.countdown.cancel();
|
||||
if(this.countdown.isRunning()) this.countdown.cancel();
|
||||
}
|
||||
|
||||
private Component format(Countdown.AnnouncementData data) {
|
||||
@@ -154,7 +158,10 @@ public class EventController extends Appliance {
|
||||
|
||||
Bukkit.getScheduler().runTaskLater(
|
||||
Main.instance(),
|
||||
() -> Bukkit.getOnlinePlayers().forEach(player -> PluginMessage.connect(player, "craftattack")),
|
||||
() -> {
|
||||
Bukkit.getOnlinePlayers().forEach(player -> PluginMessage.connect(player, "craftattack"));
|
||||
this.unloadEvent();
|
||||
},
|
||||
Ticks.TICKS_PER_SECOND * 7
|
||||
);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package eu.mhsl.craftattack.spawn.event.appliances.eventController;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class EventPlayerLoginListener extends ApplianceListener<EventController> {
|
||||
@EventHandler
|
||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
if(event.getPlayer().hasPermission("admin")) return;
|
||||
if(this.getAppliance().hasLoadedEvent()) return;
|
||||
event.getPlayer().kick(Component.text("Es ist kein Event geladen."));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user