diff --git a/src/main/java/forestry/mail/PostRegistry.java b/src/main/java/forestry/mail/PostRegistry.java index 0668e6fd7..54e0239cc 100755 --- a/src/main/java/forestry/mail/PostRegistry.java +++ b/src/main/java/forestry/mail/PostRegistry.java @@ -82,7 +82,7 @@ public class PostRegistry implements IPostRegistry { */ @Override public boolean isValidTradeAddress(World world, IMailAddress address) { - return address.isTrader() && address.getName().matches("^[a-zA-Z0-9]+$"); + return address != null && address.isTrader() && address.getName().matches("^[a-zA-Z0-9]+$"); } /** @@ -92,12 +92,12 @@ public class PostRegistry implements IPostRegistry { */ @Override public boolean isAvailableTradeAddress(World world, IMailAddress address) { - return getTradeStation(world, address) == null; + return address != null && getTradeStation(world, address) == null; } @Override public TradeStation getTradeStation(World world, IMailAddress address) { - if (address.getName() == null) { + if (address == null || address.getName() == null) { return null; } diff --git a/src/main/java/forestry/mail/gadgets/MachineTrader.java b/src/main/java/forestry/mail/gadgets/MachineTrader.java index 701db9c7e..df92ac73a 100755 --- a/src/main/java/forestry/mail/gadgets/MachineTrader.java +++ b/src/main/java/forestry/mail/gadgets/MachineTrader.java @@ -25,6 +25,7 @@ import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.common.Optional; import forestry.api.core.ForestryAPI; +import forestry.api.core.IErrorState; import forestry.api.mail.IMailAddress; import forestry.api.mail.IStamps; import forestry.api.mail.PostManager; @@ -173,7 +174,12 @@ public class MachineTrader extends TileBase { /* STATE INFORMATION */ public boolean isLinked() { - return address.isValid() && getErrorState() != EnumErrorCode.NOTALPHANUMERIC && getErrorState() != EnumErrorCode.NOTUNIQUE; + if (address == null || !address.isValid()) { + return false; + } + + IErrorState errorState = getErrorState(); + return errorState != EnumErrorCode.NOTALPHANUMERIC && errorState != EnumErrorCode.NOTUNIQUE; } /** @@ -274,7 +280,7 @@ public class MachineTrader extends TileBase { throw new NullPointerException("address must not be null"); } - if (this.address.isValid() && this.address.equals(address)) { + if (this.address != null && this.address.isValid() && this.address.equals(address)) { return; }