summaryrefslogtreecommitdiff
path: root/src/com/redstoner/modules/blockplacemods/mods/ModToggledStep.java
blob: fe42fa41f1d5f640b74055b89df03061d8533851 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.redstoner.modules.blockplacemods.mods;

import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.block.BlockPlaceEvent;

public class ModToggledStep extends ModToggledAbstract
{
	public ModToggledStep()
	{
		super("step", true);
		getAliases().add("slab");
	}
	
	@Override
	public String getDescription()
	{
		return "If active, placed steps will always turn upside-down";
	}
	
	@SuppressWarnings("deprecation")
	@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
	public void onBlockPlace(BlockPlaceEvent event)
	{
		if (isStep(event.getBlock().getType()) && !event.getPlayer().isSneaking() && hasEnabled(event.getPlayer()))
		{
			byte data = event.getBlock().getData();
			if (data != (data |= 0x8))
			{
				event.getBlock().setData(data);
			}
		}
	}
	
	private boolean isStep(Material block)
	{
		return block == Material.STEP || block == Material.STONE_SLAB2;
	}
}