master-big-events #11

Merged
Pupsi merged 4 commits from master-big-events into master 2025-12-23 23:54:14 +00:00
4 changed files with 26 additions and 10 deletions
Showing only changes of commit 5e3db1e78c - Show all commits

View File

@@ -19,10 +19,10 @@ public class EventOpenSessionCommand extends ApplianceCommand<Event> {
@Override @Override
protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception { 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); this.getAppliance().openEvent(Event.EventType.SMALL);
} else { } 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)); sender.sendMessage(Component.text("Event-Server gestartet!", NamedTextColor.GREEN));
} }

View File

@@ -6,7 +6,6 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.FoodLevelChangeEvent;
public class DeathrunPlayerDamageListener extends ApplianceListener<Deathrun> { public class DeathrunPlayerDamageListener extends ApplianceListener<Deathrun> {
@EventHandler @EventHandler
@@ -23,9 +22,4 @@ public class DeathrunPlayerDamageListener extends ApplianceListener<Deathrun> {
if(!(event.getEntity() instanceof Player)) return; if(!(event.getEntity() instanceof Player)) return;
event.setCancelled(true); event.setCancelled(true);
} }
@EventHandler
public void onHunger(FoodLevelChangeEvent event) {
if(!this.getAppliance().isBeforeStart()) event.setCancelled(true);
}
} }

View File

@@ -81,6 +81,10 @@ public class EventController extends Appliance {
this.selectedEvent = null; this.selectedEvent = null;
} }
public boolean hasLoadedEvent() {
return this.selectedEvent != null;
}
public void scheduleStart(long durationMinutes) { public void scheduleStart(long durationMinutes) {
if(this.selectedEvent == null) throw new ApplianceCommand.Error("There is no event selected!"); if(this.selectedEvent == null) throw new ApplianceCommand.Error("There is no event selected!");
this.durationMinutes = durationMinutes; this.durationMinutes = durationMinutes;
@@ -88,7 +92,7 @@ public class EventController extends Appliance {
} }
public void cancelStart() { public void cancelStart() {
this.countdown.cancel(); if(this.countdown.isRunning()) this.countdown.cancel();
} }
private Component format(Countdown.AnnouncementData data) { private Component format(Countdown.AnnouncementData data) {
@@ -154,7 +158,10 @@ public class EventController extends Appliance {
Bukkit.getScheduler().runTaskLater( Bukkit.getScheduler().runTaskLater(
Main.instance(), 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 Ticks.TICKS_PER_SECOND * 7
); );
} }

View File

@@ -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."));
}
}