From f4ada773a71369c3f70b8aa366945ebb982a34cc Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sat, 24 Jun 2017 20:06:20 +0200 Subject: [PATCH] Fixed crash when node data mismatches between world and dat file, fixes #1326 and #1307 --- CHANGELOG.md | 1 + .../raoulvdberge/refinedstorage/tile/TileNode.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21fc4d046..1ade7d0fd 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### 1.5.4 - Fixed External Storage crashing (raoulvdberge) +- Fixed crash when node data mismatches between world and dat file (raoulvdberge) ### 1.5.3 - Updated Forge to 2359 (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java index d61995f4a..9b5aba4c8 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java @@ -112,7 +112,16 @@ public abstract class TileNode extends TileBase implement doLegacyCheck(node); } - return (N) node; + N castedNode; + + try { + castedNode = (N) node; + } catch (ClassCastException e) { + manager.setNode(pos, castedNode = createNode(world, pos)); + manager.markForSaving(); + } + + return castedNode; } private void doLegacyCheck(NetworkNode node) {