diff --git a/build.gradle b/build.gradle index 98faf4d21..d587f542f 100755 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ group = "refinedstorage" archivesBaseName = "refinedstorage" minecraft { - version = "1.9.4-12.17.0.1968" + version = "1.9.4-12.17.0.1969" runDir = "run" useDepAts = true mappings = "snapshot_20160518" @@ -30,7 +30,7 @@ repositories { } dependencies { - deobfCompile "mezz.jei:jei_1.9.4:3.4.+" + deobfCompile "mezz.jei:jei_1.9.4:3.6.+" } processResources { diff --git a/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java b/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java index 5eb738074..11b124b16 100755 --- a/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java +++ b/src/main/java/refinedstorage/api/network/NetworkMasterEventHandler.java @@ -27,4 +27,9 @@ public class NetworkMasterEventHandler { public void onWorldLoad(WorldEvent.Load e) { NetworkMasterSavedData.getOrLoad(e.getWorld()); } + + @SubscribeEvent + public void onWorldUnload(WorldEvent.Unload e) { + NetworkMasterRegistry.clear(); + } } diff --git a/src/main/java/refinedstorage/api/network/NetworkMasterRegistry.java b/src/main/java/refinedstorage/api/network/NetworkMasterRegistry.java index b0a6bc6e1..0fe579b5e 100755 --- a/src/main/java/refinedstorage/api/network/NetworkMasterRegistry.java +++ b/src/main/java/refinedstorage/api/network/NetworkMasterRegistry.java @@ -35,4 +35,8 @@ public class NetworkMasterRegistry { public static Map get(int dimension) { return NETWORKS.get(dimension); } + + public static void clear() { + NETWORKS.clear(); + } } diff --git a/src/main/java/refinedstorage/block/BlockController.java b/src/main/java/refinedstorage/block/BlockController.java index 94ea38a12..c420be9a8 100755 --- a/src/main/java/refinedstorage/block/BlockController.java +++ b/src/main/java/refinedstorage/block/BlockController.java @@ -15,6 +15,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import refinedstorage.RefinedStorage; @@ -83,7 +84,11 @@ public class BlockController extends BlockBase { @Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { if (!world.isRemote) { - player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONTROLLER, world, pos.getX(), pos.getY(), pos.getZ()); + if (((TileController) world.getTileEntity(pos)).getNetwork() == null) { + player.addChatComponentMessage(new TextComponentTranslation("misc.refinedstorage:no_network")); + } else { + player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONTROLLER, world, pos.getX(), pos.getY(), pos.getZ()); + } } return true; diff --git a/src/main/java/refinedstorage/jei/SoldererRecipeHandler.java b/src/main/java/refinedstorage/jei/SoldererRecipeHandler.java index ba96b8b96..ce122bb10 100755 --- a/src/main/java/refinedstorage/jei/SoldererRecipeHandler.java +++ b/src/main/java/refinedstorage/jei/SoldererRecipeHandler.java @@ -3,6 +3,8 @@ package refinedstorage.jei; import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeWrapper; +import javax.annotation.Nonnull; + public class SoldererRecipeHandler implements IRecipeHandler { @Override public Class getRecipeClass() { @@ -14,6 +16,12 @@ public class SoldererRecipeHandler implements IRecipeHandler