Fixed fire being logged as air

This commit is contained in:
Intelli committed 2026-04-24 12:05:10 -06:00
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() });