forked from SteamWar/SteamWar
Fix IngameListener and StartCommand
This commit is contained in:
@@ -22,6 +22,7 @@ package de.steamwar.towerrun.commands;
|
|||||||
import de.steamwar.command.SWCommand;
|
import de.steamwar.command.SWCommand;
|
||||||
import de.steamwar.command.TypeValidator;
|
import de.steamwar.command.TypeValidator;
|
||||||
import de.steamwar.linkage.Linked;
|
import de.steamwar.linkage.Linked;
|
||||||
|
import de.steamwar.linkage.LinkedInstance;
|
||||||
import de.steamwar.sql.SteamwarUser;
|
import de.steamwar.sql.SteamwarUser;
|
||||||
import de.steamwar.sql.UserPerm;
|
import de.steamwar.sql.UserPerm;
|
||||||
import de.steamwar.towerrun.TowerRun;
|
import de.steamwar.towerrun.TowerRun;
|
||||||
@@ -30,6 +31,8 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
@Linked
|
@Linked
|
||||||
public class StartCommand extends SWCommand {
|
public class StartCommand extends SWCommand {
|
||||||
|
|
||||||
|
@LinkedInstance
|
||||||
private LobbyCountdown countdown;
|
private LobbyCountdown countdown;
|
||||||
|
|
||||||
public StartCommand() {
|
public StartCommand() {
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import org.bukkit.event.entity.EntityRegainHealthEvent;
|
|||||||
import org.bukkit.event.entity.ItemSpawnEvent;
|
import org.bukkit.event.entity.ItemSpawnEvent;
|
||||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -158,10 +159,16 @@ public class IngameListener extends GameStateBukkitListener {
|
|||||||
public void onKeyUse(PlayerInteractEvent event) {
|
public void onKeyUse(PlayerInteractEvent event) {
|
||||||
if (!event.hasItem()) return;
|
if (!event.hasItem()) return;
|
||||||
if (event.getItem().getType() != Material.LEVER) return;
|
if (event.getItem().getType() != Material.LEVER) return;
|
||||||
event.setCancelled(true);
|
|
||||||
if (!event.hasBlock()) return;
|
if (!event.hasBlock()) return;
|
||||||
if (event.getClickedBlock().getType() != Material.IRON_DOOR) return;
|
if (event.getClickedBlock().getType() != Material.IRON_DOOR) return;
|
||||||
event.getPlayer().getInventory().remove(event.getItem());
|
if (event.getHand() == null) return;
|
||||||
|
event.setCancelled(true);
|
||||||
|
ItemStack itemStack = event.getItem();
|
||||||
|
itemStack.setAmount(event.getItem().getAmount() - 1);
|
||||||
|
switch (event.getHand()) {
|
||||||
|
case OFF_HAND -> event.getPlayer().getInventory().setItemInOffHand(itemStack);
|
||||||
|
case HAND -> event.getPlayer().getInventory().setItemInMainHand(itemStack);
|
||||||
|
}
|
||||||
event.getClickedBlock().breakNaturally();
|
event.getClickedBlock().breakNaturally();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user