diff --git a/build.gradle.kts b/build.gradle.kts index b5da34a4..b757e366 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { id("maven-publish") id("org.jetbrains.gradle.plugin.idea-ext") version "1.1.7" id("eclipse") - id("com.gtnewhorizons.retrofuturagradle") version "1.4.0" + id("com.gtnewhorizons.retrofuturagradle") version "1.4.2" } // Project properties @@ -343,4 +343,4 @@ idea { tasks.processIdeaSettings.configure { dependsOn(tasks.injectTags) -} \ No newline at end of file +} diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/java/ink/ikx/mmce/common/assembly/MachineAssembly.java b/src/main/java/ink/ikx/mmce/common/assembly/MachineAssembly.java index 4b6caa1f..964448e3 100644 --- a/src/main/java/ink/ikx/mmce/common/assembly/MachineAssembly.java +++ b/src/main/java/ink/ikx/mmce/common/assembly/MachineAssembly.java @@ -22,7 +22,6 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.BlockSnapshot; import net.minecraftforge.event.world.BlockEvent; @@ -320,10 +319,15 @@ public static boolean replaceCheck(final BlockPos realPos, final World world, fi IBlockState blockState = world.getBlockState(realPos); Block block = blockState.getBlock(); - if (world.isAirBlock(realPos) || - block instanceof IPlantable || - block instanceof BlockLiquid || - block instanceof IFluidBlock) { + if (world.isAirBlock(realPos)) { + return true; + } + + // Never replace blocks with TileEntities, since doing so may destroy machine or inventory data. + if (world.getTileEntity(realPos) == null && + (block.isReplaceable(world, realPos) || + block instanceof BlockLiquid || + block instanceof IFluidBlock)) { return true; }