C_far icon

[Spigot] My first plugin

C_far | PRO | 07/31/16 10:31:11 PM UTC | 0 ⭐ | 402 👁️ | Never ⏰ | []
Java |

1.7 KB

|

None

|

0 👍

/

0 👎

package fr.c_far.apprentissage;
 
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockRedstoneEvent;
import org.bukkit.plugin.java.JavaPlugin;
 
public class Main extends JavaPlugin implements Listener
{       
    @Override
    public void onEnable()
    {
        getServer().getPluginManager().registerEvents(this, this);
        
        System.out.println("\n\nLoad.\n");
    }
    
    @Override
    public void onDisable()
    {
        System.out.println("\n\nUnload.\n");
    }
    
    @EventHandler
    public void onBlockRedstone(BlockRedstoneEvent e)
    {
        final int MAX_HEIGHT_FLOOR_LAMP = 10;
        final Material BASE = Material.COBBLE_WALL;
        
        Block lamp = e.getBlock();
        Material m = lamp.getType();
        
        if(!(m.equals(Material.REDSTONE_LAMP_ON) || m.equals(Material.REDSTONE_LAMP_OFF))) return;
        
        World world = lamp.getWorld();
        
        int lamp_x = lamp.getX();
        int lamp_y = lamp.getY();
        int lamp_z = lamp.getZ();
        
        int distance = 1;
        
        Block base;
        
        for(; distance <= MAX_HEIGHT_FLOOR_LAMP; distance++)
        {
            Location loc = new Location(world, lamp_x, lamp_y - distance, lamp_z);
            base = loc.getBlock();
            
            if(base.getType().equals(BASE))
            {
                break;
            }
        }
        
        if(distance == MAX_HEIGHT_FLOOR_LAMP + 1 || distance == 1) return;
        
        for(int base_y = lamp_y - distance + 1; base_y < lamp_y; base_y++)
        {
            Location loc_fence = new Location(world, lamp_x, base_y, lamp_z);
            
            if(!loc_fence.getBlock().getType().equals(Material.FENCE)) return;
        }
                        
        e.setNewCurrent(15);
        lamp.setType(Material.REDSTONE_LAMP_ON);
    }
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎