Skip to content

Commit b931c39

Browse files
committed
Prevent golems from opening doors
1 parent 5a55c34 commit b931c39

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

src/main/java/nl/rutgerkok/blocklocker/impl/event/InteractListener.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
2222
import org.bukkit.block.data.type.WallSign;
2323
import org.bukkit.block.sign.Side;
2424
import org.bukkit.block.sign.SignSide;
25-
import org.bukkit.entity.Player;
26-
import org.bukkit.entity.Villager;
25+
import org.bukkit.entity.*;
2726
import org.bukkit.event.EventHandler;
2827
import org.bukkit.event.block.Action;
2928
import org.bukkit.event.block.BlockPlaceEvent;
@@ -273,15 +272,22 @@ private boolean isSneakPlacing(Player player) {
273272

274273
@EventHandler(ignoreCancelled = true)
275274
public void onEntityInteract(EntityInteractEvent event) {
276-
// Prevents villagers from opening doors
277-
if (!(event.getEntity() instanceof Villager)) {
278-
return;
279-
}
280-
if (plugin.getChestSettings().allowDestroyBy(AttackType.VILLAGER)) {
281-
return;
282-
}
283-
if (isProtected(event.getBlock())) {
284-
event.setCancelled(true);
275+
// Prevents villagers and golems from opening doors
276+
Entity entity = event.getEntity();
277+
if (entity instanceof Villager) {
278+
if (plugin.getChestSettings().allowDestroyBy(AttackType.VILLAGER)) {
279+
return;
280+
}
281+
if (isProtected(event.getBlock())) {
282+
event.setCancelled(true);
283+
}
284+
} else if (entity instanceof Golem) {
285+
if (plugin.getChestSettings().allowDestroyBy(AttackType.GOLEM)) {
286+
return;
287+
}
288+
if (isProtected(event.getBlock())) {
289+
event.setCancelled(true);
290+
}
285291
}
286292
}
287293

0 commit comments

Comments
 (0)