door knocking no longer triggers when destroying doors

This commit is contained in:
Elias Müller 2024-08-31 11:39:40 +02:00
parent 825fed639c
commit d21f009f7d
2 changed files with 5 additions and 10 deletions

View File

@ -2,6 +2,7 @@ package eu.mhsl.craftattack.spawn.appliances.doubeDoor;
import eu.mhsl.craftattack.spawn.appliance.ApplianceListener;
import eu.mhsl.craftattack.spawn.appliances.settings.Settings;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
@ -18,6 +19,7 @@ public class OnDoorInteractListener extends ApplianceListener<DoubleDoor> {
if(!event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) return;
Block clickedBlock = event.getClickedBlock();
if(clickedBlock == null) return;
if(clickedBlock.getType().equals(Material.IRON_DOOR)) return;
if(!Settings.instance().getSetting(event.getPlayer(), Settings.Key.DoubleDoors, Boolean.class)) return;
getAppliance().openNextDoor(clickedBlock);
}

View File

@ -5,20 +5,13 @@ import org.bukkit.GameMode;
import org.bukkit.block.Block;
import org.bukkit.block.data.type.Door;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.EquipmentSlot;
import java.util.Objects;
import org.bukkit.event.block.BlockDamageAbortEvent;
public class KnockDoorListener extends ApplianceListener<KnockDoor> {
@EventHandler
public void onKnock(PlayerInteractEvent event) {
if(!event.getAction().equals(Action.LEFT_CLICK_BLOCK)) return;
if(!Objects.equals(event.getHand(), EquipmentSlot.HAND)) return;
public void onKnock(BlockDamageAbortEvent event) {
if(event.getPlayer().getGameMode() != GameMode.SURVIVAL) return;
Block block = event.getClickedBlock();
if(block == null) return;
Block block = event.getBlock();
if(!(block.getBlockData() instanceof Door)) return;
getAppliance().knockAtDoor(event.getPlayer(), block);
}