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) @EventHandler(priority = EventPriority.MONITOR)
protected void onBlockIgnite(BlockIgniteEvent event) { protected void onBlockIgnite(BlockIgniteEvent event) {
World world = event.getBlock().getWorld(); 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(); Block block = event.getBlock();
if (block == null) { if (block == null) {
return; return;
@@ -60,6 +61,7 @@ public final class BlockIgniteListener extends Queue implements Listener {
BlockState replacedBlock = null; BlockState replacedBlock = null;
BlockData forceBlockData = block.getBlockData(); BlockData forceBlockData = block.getBlockData();
String blockDataString;
if (BlockGroup.LIGHTABLES.contains(blockType)) { if (BlockGroup.LIGHTABLES.contains(blockType)) {
// Set block as lit campfire, rather than as fire block // Set block as lit campfire, rather than as fire block
blockIgnited = blockType; blockIgnited = blockType;
@@ -68,6 +70,10 @@ public final class BlockIgniteListener extends Queue implements Listener {
Lightable lightable = (Lightable) forceBlockData; Lightable lightable = (Lightable) forceBlockData;
lightable.setLit(true); lightable.setLit(true);
} }
blockDataString = forceBlockData.getAsString();
}
else {
blockDataString = blockIgnited.createBlockData().getAsString();
} }
if (event.getPlayer() == null) { 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 { else {
if (event.getCause() == IgniteCause.FIREBALL) { if (event.getCause() == IgniteCause.FIREBALL) {
@@ -135,7 +141,7 @@ public final class BlockIgniteListener extends Queue implements Listener {
} }
Player player = event.getPlayer(); 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 unixtimestamp = (int) (System.currentTimeMillis() / 1000L);
int world_id = WorldUtils.getWorldId(block.getWorld().getName()); 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() }); CacheHandler.lookupCache.put("" + block.getX() + "." + block.getY() + "." + block.getZ() + "." + world_id + "", new Object[] { unixtimestamp, player.getName(), block.getType() });