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
0 B
|👍
/👎