Skip to content

Commit

Permalink
Add "on block burns", "on entity tamed" and "on player tames entity" …
Browse files Browse the repository at this point in the history
…world events.
  • Loading branch information
davidcernat committed Jul 3, 2013
1 parent d787ace commit f6f8eaa
Showing 1 changed file with 45 additions and 1 deletion.
Expand Up @@ -23,6 +23,7 @@
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockIgniteEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.BlockRedstoneEvent;
Expand All @@ -32,6 +33,7 @@
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.event.entity.EntityRegainHealthEvent;
import org.bukkit.event.entity.EntityTameEvent;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.entity.ExplosionPrimeEvent;
Expand Down Expand Up @@ -136,6 +138,23 @@ public void blockBreak(BlockBreakEvent event) {
event.setCancelled(true);
}

@EventHandler
public void blockBurn(BlockBurnEvent event) {

Map<String, Object> context = new HashMap<String, Object>();

context.put("location", new dLocation(event.getBlock().getLocation()));
context.put("type", event.getBlock().getType().name());

String determination = doEvents(Arrays.asList
("block burns",
event.getBlock().getType().name() + " burns"),
null, null, context);

if (determination.toUpperCase().startsWith("CANCELLED"))
event.setCancelled(true);
}

@EventHandler
public void blockIgnite(BlockIgniteEvent event) {

Expand Down Expand Up @@ -420,7 +439,8 @@ public void entityExplode(EntityExplodeEvent event) {
context.put("location", new dLocation(event.getLocation()));

String determination = doEvents(Arrays.asList
(entity.getType().name() + " explodes"),
("entity explodes",
entity.getType().name() + " explodes"),
null, null, context);

if (determination.toUpperCase().startsWith("CANCELLED"))
Expand Down Expand Up @@ -448,6 +468,30 @@ public void entityRegainHealth(EntityRegainHealthEvent event) {
}
}

@EventHandler
public void entityTame(EntityTameEvent event) {

Map<String, Object> context = new HashMap<String, Object>();
Entity entity = event.getEntity();
context.put("entity", new dEntity(entity));
Player player = null;

List<String> events = new ArrayList<String>();
events.add("entity tamed");
events.add(entity.getType().name() + " tamed");

if (event.getOwner() instanceof Player) {
player = (Player) event.getOwner();
events.add("player tames entity");
events.add("player tames " + entity.getType().name());
}

String determination = doEvents(events, null, player, context);

if (determination.toUpperCase().startsWith("CANCELLED"))
event.setCancelled(true);
}

@EventHandler
public void entityTarget(EntityTargetEvent event) {

Expand Down

0 comments on commit f6f8eaa

Please sign in to comment.