Skip to content

Commit 3fc59f0

Browse files
Prevent mob from interacting with blocks.
Including villager vs doors and enderman vs blocks.
1 parent cfe787c commit 3fc59f0

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/me/crafter/mc/lockettepro/BlockEnvironmentListener.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import org.bukkit.block.Block;
66
import org.bukkit.block.BlockState;
7+
import org.bukkit.entity.Enderman;
78
import org.bukkit.entity.Villager;
89
import org.bukkit.event.EventHandler;
910
import org.bukkit.event.EventPriority;
@@ -87,15 +88,23 @@ public void onBlockRedstoneChange(BlockRedstoneEvent event){
8788

8889
// Prevent villager open door
8990
@EventHandler(priority = EventPriority.HIGH)
90-
public void onSomeMobOpenDoor(EntityInteractEvent event){
91+
public void onVillagerOpenDoor(EntityInteractEvent event){
9192
if (Config.isProtectionExempted("villager")) return;
9293
// Explicitly to villager vs all doors
9394
if (event.getEntity() instanceof Villager &&
9495
(LocketteProAPI.isSingleDoorBlock(event.getBlock()) || LocketteProAPI.isDoubleDoorBlock(event.getBlock())) &&
9596
LocketteProAPI.isProtected(event.getBlock())){
97+
event.setCancelled(true);
9698
}
9799
}
98100

99101
// Prevent Enderman take block
102+
@EventHandler(priority = EventPriority.HIGH)
103+
public void onEndermanGreif(EntityInteractEvent event){
104+
if (Config.isProtectionExempted("enderman")) return;
105+
if (event.getEntity() instanceof Enderman && LocketteProAPI.isProtected(event.getBlock())){
106+
event.setCancelled(true);
107+
}
108+
}
100109

101110
}

0 commit comments

Comments
 (0)