Skip to content

Commit

Permalink
Merge pull request #53 from Alathra/fix/disable-trapdoor-flipping-in-…
Browse files Browse the repository at this point in the history
…spawn

feat: disable trapdoor flipping in spawn
  • Loading branch information
darksaid98 authored Feb 15, 2024
2 parents 9a7372a + c222b09 commit 46cd442
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import me.ShermansWorld.AlathraExtras.crafting.*;
import me.ShermansWorld.AlathraExtras.disabledispensereggs.DispenserListener;
import me.ShermansWorld.AlathraExtras.disablespawners.DisableSpawners;
import me.ShermansWorld.AlathraExtras.disabletrapdoorflipping.TrapdoorListener;
import me.ShermansWorld.AlathraExtras.enderchersblock.EnderChestBlockListener;
import me.ShermansWorld.AlathraExtras.endermanexp.EndermanExpDropListener;
import me.ShermansWorld.AlathraExtras.funny.AetherPortalListener;
Expand Down Expand Up @@ -155,6 +156,7 @@ public void onEnable() {
this.getServer().getPluginManager().registerEvents(new VotingListener(), this);
this.getServer().getPluginManager().registerEvents(new DispenserListener(), this);
this.getServer().getPluginManager().registerEvents(new NPCListener(), this);
this.getServer().getPluginManager().registerEvents(new TrapdoorListener(), this);

initRecipeItems();
FurnaceRecipes furnaceRecipes = new FurnaceRecipes();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package me.ShermansWorld.AlathraExtras.disabletrapdoorflipping;

import com.destroystokyo.paper.MaterialTags;
import me.ShermansWorld.AlathraExtras.AlathraExtras;
import org.bukkit.GameMode;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;

/**
* Listens for trapdoor interaction events
*/
public class TrapdoorListener implements Listener {

/**
* Checks for player interactions with a trapdoor.
* @param e the player interaction event
*/
@EventHandler
public void onInteract(PlayerInteractEvent e) {
// Checks if the action is right click, and the right click is at a block.
if(e.getAction() == Action.RIGHT_CLICK_BLOCK
&& e.getClickedBlock() != null
&& MaterialTags.TRAPDOORS.isTagged(e.getClickedBlock().getType())
&& e.getClickedBlock().getWorld().getName().equals("world")
&& e.getPlayer().getGameMode() != GameMode.CREATIVE
) // If so, cancel the interaction.
{
e.setCancelled(true);
}
}
}

0 comments on commit 46cd442

Please sign in to comment.