[SPIGOT-610] Tile data not cleaned up when replacing a Comparator block Created: 23/Feb/15  Updated: 02/Mar/15  Resolved: 27/Feb/15

Status: Closed
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Mark Summers Assignee: Unassigned
Resolution: Duplicate Votes: 1
Labels: None
Environment:

Spigot 1.8, bug has been present since at least 1.5


Issue Links:
Duplicate
duplicates SPIGOT-611 Tile data not cleaned up when replaci... Resolved

 Description   

I'm the dev for Movecraft, a plugin that allows you to move vehicles. When a vehicle that has a comparator on it moves, the plugin will replace the comparator with another block (air for example). This will often result in minor chunk corruption, with Spigot claiming a block has the wrong tile type every time the chunk is loaded. I learned if I replace it with a sign first and then replace it with air, the chunk corruption does not occur, but it does report this on the console:

[Server thread/ERROR]: Block at 21,242,163,3,870 is SIGN_POST but has net.minecraft.server.v1_8_R1.TileEntityComparator@97eae6. Bukkit will attempt to fix this, but there may be additional damage that we cannot recover.

My server console will be filled with hundreds of thousands of these messages, every time a craft with a comparator moves. A fairly reliable way to reproduce this error is by running:

w.getBlockAt(x, y, z).setType(org.bukkit.Material.SIGN_POST);
BlockState state=w.getBlockAt( x, y, z ).getState();
Sign s=(Sign)state;
s.setLine(0, "PLACEHOLDER");
s.update();
w.getBlockAt(x, y, z).setType(org.bukkit.Material.AIR);

Where x,y,z refer to a block which is a comparator. It seems to happen more often if the comparator is powered, but it also happens when it is not.



 Comments   
Comment by Mark Summers [ 02/Mar/15 ]

This is not actually a duplicate of my other issue. I posted them both at the same time, but they are different errors caused by different things. For example, the error reported in Spigot-611 can be bypassed by first replacing the block with air, and then with the intended block type. Also, Spigot-611 was not occuring until recent 1.8 Spigot builds, but the error described here has been occurring since at least 1.5

Generated at Sat Apr 05 06:16:53 UTC 2025 using Jira 10.3.3#10030003-sha1:d220e3fefc8dfc6d47f522d3b9a20c1455e12b7b.