forked from github-mirror/CoreProtect
Fixed fire being logged as air
This commit is contained in:
1 parent
def5a99096
commit
7ccb3eff34
1 file changed
+9
-3
@@ -30,7 +30,8 @@ public final class BlockIgniteListener extends Queue implements Listener {
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
protected void onBlockIgnite(BlockIgniteEvent event) {
|
||||
World world = event.getBlock().getWorld();
|
||||
if (!event.isCancelled() && Config.getConfig(world).BLOCK_IGNITE) {
|
||||
Config config = Config.getConfig(world);
|
||||
if (!event.isCancelled() && config.BLOCK_IGNITE) {
|
||||
Block block = event.getBlock();
|
||||
if (block == null) {
|
||||
return;
|
||||
@@ -60,6 +61,7 @@ public final class BlockIgniteListener extends Queue implements Listener {
|
||||
|
||||
BlockState replacedBlock = null;
|
||||
BlockData forceBlockData = block.getBlockData();
|
||||
String blockDataString;
|
||||
if (BlockGroup.LIGHTABLES.contains(blockType)) {
|
||||
// Set block as lit campfire, rather than as fire block
|
||||
blockIgnited = blockType;
|
||||
@@ -68,6 +70,10 @@ public final class BlockIgniteListener extends Queue implements Listener {
|
||||
Lightable lightable = (Lightable) forceBlockData;
|
||||
lightable.setLit(true);
|
||||
}
|
||||
blockDataString = forceBlockData.getAsString();
|
||||
}
|
||||
else {
|
||||
blockDataString = blockIgnited.createBlockData().getAsString();
|
||||
}
|
||||
|
||||
if (event.getPlayer() == null) {
|
||||
@@ -127,7 +133,7 @@ public final class BlockIgniteListener extends Queue implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
Queue.queueBlockPlace("#fire", block.getState(), block.getType(), replacedBlock, blockIgnited, -1, 0, forceBlockData.getAsString());
|
||||
Queue.queueBlockPlace("#fire", block.getState(), block.getType(), replacedBlock, blockIgnited, -1, 0, blockDataString);
|
||||
}
|
||||
else {
|
||||
if (event.getCause() == IgniteCause.FIREBALL) {
|
||||
@@ -135,7 +141,7 @@ public final class BlockIgniteListener extends Queue implements Listener {
|
||||
}
|
||||
|
||||
Player player = event.getPlayer();
|
||||
Queue.queueBlockPlace(player.getName(), block.getState(), block.getType(), replacedBlock, blockIgnited, -1, 0, forceBlockData.getAsString());
|
||||
Queue.queueBlockPlace(player.getName(), block.getState(), block.getType(), replacedBlock, blockIgnited, -1, 0, blockDataString);
|
||||
int unixtimestamp = (int) (System.currentTimeMillis() / 1000L);
|
||||
int world_id = WorldUtils.getWorldId(block.getWorld().getName());
|
||||
CacheHandler.lookupCache.put("" + block.getX() + "." + block.getY() + "." + block.getZ() + "." + world_id + "", new Object[] { unixtimestamp, player.getName(), block.getType() });
|
||||
|
||||
Reference in new issue
Block a user