Home›Java›Mods›Glass Dropper (World Guard Support)
Glass Dropper (World Guard Support)
ModsJava

Glass Dropper (World Guard Support)

Java mod listed for Minecraft 1.11. Downloads from the MC Java Mods app on Android.

⬇ Download on Spigot
Follow me on spigot :') [Click] It would be so cool if you followed me :D

Permission: "glass.drop"
Protect glasses in world guard region from dropping (flag: block-break = deny)
Depend: WorldGuard, WorldEdit

Spoiler: Source Code
Code (Text):
package me.joseph.glass;

import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;

import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.bukkit.BukkitUtil;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.ApplicableRegionSet;
import com.sk89q.worldguard.protection.flags.DefaultFlag;
import com.sk89q.worldguard.protection.managers.RegionManager;

@SuppressWarnings("deprecation")
public class Main extends JavaPlugin implements Listener {

    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        getWorldGuard();
    }

    private WorldGuardPlugin getWorldGuard() {
        Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("WorldGuard");

        // WorldGuard may not be loaded
        if (plugin == null || !(plugin instanceof WorldGuardPlugin)) {
            return null; // Maybe you want throw an exception instead
        }

        return (WorldGuardPlugin) plugin;
    }

    @EventHandler
    public void ds(BlockBreakEvent e) {
        if (e.getPlayer().hasPermission("glass.drop")) {
            if (e.getPlayer().getGameMode() != GameMode.CREATIVE) {
                Location l = e.getBlock().getLocation();
                Vector v = BukkitUtil.toVector(l);

                WorldGuardPlugin worldGuard = getWorldGuard();

                RegionManager regionManager = worldGuard.getRegionManager(e.getPlayer().getWorld());
                ApplicableRegionSet set = regionManager.getApplicableRegions(v);

                if (!set.allows(DefaultFlag.BLOCK_BREAK)) {

                    return;
                }
                if (e.getBlock().getType().equals(org.bukkit.Material.GLASS)) {
                    e.getBlock().getWorld().dropItem(e.getBlock().getLocation(),
                            new ItemStack(Material.GLASS, 1, (short) e.getBlock().getData()));
                }
                if (e.getBlock().getType().equals(org.bukkit.Material.STAINED_GLASS)) {
                    e.getBlock().getWorld().dropItem(e.getBlock().getLocation(),
                            new ItemStack(Material.STAINED_GLASS, 1, (short) e.getBlock().getData()));
                }
                if (e.getBlock().getType().equals(org.bukkit.Material.STAINED_GLASS_PANE)) {
                    e.getBlock().getWorld().dropItem(e.getBlock().getLocation(),
                            new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) e.getBlock().getData()));
                }

            }
        }

    }
}

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Glass Dropper (World Guard Support) is a free Minecraft Java mod. Compatible with Minecraft 1.11. Downloaded 432 times (via Spigot). Download it and open it directly in the game.

Explore more