diff --git a/src/main/scala/li/cil/oc/client/Proxy.scala b/src/main/scala/li/cil/oc/client/Proxy.scala index 5d82aa38a..e05107fa3 100644 --- a/src/main/scala/li/cil/oc/client/Proxy.scala +++ b/src/main/scala/li/cil/oc/client/Proxy.scala @@ -65,9 +65,6 @@ private[oc] class Proxy extends CommonProxy { ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Screen], ScreenRenderer) MinecraftForgeClient.registerItemRenderer(Items.multi, ItemRenderer) - if (Mods.AppliedEnergistics2.isAvailable) { - MinecraftForgeClient.registerItemRenderer(api.Items.get("appengTunnel").item(), BusRenderer.instance) - } ClientRegistry.registerKeyBinding(KeyBindings.extendedTooltip) ClientRegistry.registerKeyBinding(KeyBindings.materialCosts) diff --git a/src/main/scala/li/cil/oc/common/Proxy.scala b/src/main/scala/li/cil/oc/common/Proxy.scala index a181e0188..633208993 100644 --- a/src/main/scala/li/cil/oc/common/Proxy.scala +++ b/src/main/scala/li/cil/oc/common/Proxy.scala @@ -1,5 +1,6 @@ package li.cil.oc.common +import com.google.common.base.Strings import cpw.mods.fml.common.event._ import cpw.mods.fml.common.network.NetworkRegistry import cpw.mods.fml.common.registry.GameRegistry @@ -100,23 +101,28 @@ class Proxy { OpenComputers.ID + ":" + Settings.namespace + "special" -> "special", OpenComputers.ID + ":" + Settings.namespace + "special_redstone" -> "special_redstone", OpenComputers.ID + ":" + Settings.namespace + "keyboard" -> "keyboard", - OpenComputers.ID + ":rack" -> "serverRack" + OpenComputers.ID + ":rack" -> "serverRack", + "appengTunnel" -> "" // Avoid breaking worlds for people that used the dev builds. ) def missingMappings(e: FMLMissingMappingsEvent) { for (missing <- e.get()) { if (missing.`type` == GameRegistry.Type.BLOCK) { blockRenames.get(missing.name) match { - case Some(name) => missing.remap(GameRegistry.findBlock(OpenComputers.ID, name)) + case Some(name) => + if (Strings.isNullOrEmpty(name)) missing.ignore() + else missing.remap(GameRegistry.findBlock(OpenComputers.ID, name)) case _ => missing.warn() } } else if (missing.`type` == GameRegistry.Type.ITEM) { itemRenames.get(missing.name) match { - case Some(name) => missing.remap(GameRegistry.findItem(OpenComputers.ID, name)) + case Some(name) => + if (Strings.isNullOrEmpty(name)) missing.ignore() + else missing.remap(GameRegistry.findItem(OpenComputers.ID, name)) case _ => missing.warn() } } } } -} \ No newline at end of file +} diff --git a/src/main/scala/li/cil/oc/common/init/Items.scala b/src/main/scala/li/cil/oc/common/init/Items.scala index 1317caff7..c9c292d33 100644 --- a/src/main/scala/li/cil/oc/common/init/Items.scala +++ b/src/main/scala/li/cil/oc/common/init/Items.scala @@ -304,9 +304,6 @@ object Items extends ItemAPI { registerItem(new item.Debugger(multi), "debugger") // 1.4.2 - if (Mods.AppliedEnergistics2.isAvailable) { - Recipes.addItem(new item.AppliedEnergisticsP2PTunnel(), "appengTunnel") - } val eeprom = new item.EEPROM() Recipes.addItem(eeprom, "eeprom", "oc:eeprom") Recipes.addRecipe(createLuaBios(), "luaBios") diff --git a/src/main/scala/li/cil/oc/common/item/AppliedEnergisticsP2PTunnel.scala b/src/main/scala/li/cil/oc/common/item/AppliedEnergisticsP2PTunnel.scala deleted file mode 100644 index de69c9f1c..000000000 --- a/src/main/scala/li/cil/oc/common/item/AppliedEnergisticsP2PTunnel.scala +++ /dev/null @@ -1,30 +0,0 @@ -package li.cil.oc.common.item - -import appeng.api.AEApi -import appeng.api.parts.IPartItem -import appeng.core.CreativeTab -import cpw.mods.fml.relauncher.Side -import cpw.mods.fml.relauncher.SideOnly -import li.cil.oc.api -import li.cil.oc.integration.appeng.PartP2POCNode -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.Item -import net.minecraft.item.ItemStack -import net.minecraft.world.World - -class AppliedEnergisticsP2PTunnel extends SimpleItem with IPartItem { - override def createPartFromItemStack(stack: ItemStack) = new PartP2POCNode(stack) - - override def onItemUse(stack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float) = - AEApi.instance().partHelper().placeBus(stack, x, y, z, side, player, world) || super.onItemUse(stack, player, world, x, y, z, side, hitX, hitY, hitZ) - - @SideOnly(Side.CLIENT) - override def getSpriteNumber = 0 - - @SideOnly(Side.CLIENT) - override def getIconFromDamage(damage: Int) = api.Items.get("adapter").block().getIcon(2, 0) - - // Override instead of setting manually to be independent of load order. - @SideOnly(Side.CLIENT) - override def getCreativeTab = CreativeTab.instance -} diff --git a/src/main/scala/li/cil/oc/integration/appeng/LayerSidedEnvironment.scala b/src/main/scala/li/cil/oc/integration/appeng/LayerSidedEnvironment.scala deleted file mode 100644 index dfb4ac581..000000000 --- a/src/main/scala/li/cil/oc/integration/appeng/LayerSidedEnvironment.scala +++ /dev/null @@ -1,17 +0,0 @@ -package li.cil.oc.integration.appeng - -import appeng.api.parts.LayerBase -import li.cil.oc.api.network._ -import net.minecraftforge.common.util.ForgeDirection - -class LayerSidedEnvironment extends LayerBase with SidedEnvironment { - override def sidedNode(side: ForgeDirection) = getPart(side) match { - case env: SidedEnvironment => env.sidedNode(side) - case _ => null - } - - override def canConnect(side: ForgeDirection) = getPart(side) match { - case env: SidedEnvironment => env.canConnect(side) - case _ => false - } -} diff --git a/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala b/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala index 5b63c1673..02fbfec23 100644 --- a/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala +++ b/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala @@ -1,6 +1,5 @@ package li.cil.oc.integration.appeng -import appeng.api.AEApi import li.cil.oc.api.Driver import li.cil.oc.integration.ModProxy import li.cil.oc.integration.Mods @@ -9,8 +8,6 @@ object ModAppEng extends ModProxy { override def getMod = Mods.AppliedEnergistics2 override def initialize() { - AEApi.instance().partHelper().registerNewLayer("li.cil.oc.integration.appeng.LayerSidedEnvironment", "li.cil.oc.api.network.SidedEnvironment") - Driver.add(DriverController) Driver.add(DriverExportBus) diff --git a/src/main/scala/li/cil/oc/integration/appeng/PartP2POCNode.scala b/src/main/scala/li/cil/oc/integration/appeng/PartP2POCNode.scala deleted file mode 100644 index 65bdaf47e..000000000 --- a/src/main/scala/li/cil/oc/integration/appeng/PartP2POCNode.scala +++ /dev/null @@ -1,80 +0,0 @@ -package li.cil.oc.integration.appeng - -import appeng.api.config.TunnelType -import appeng.parts.p2p.PartP2PTunnel -import cpw.mods.fml.relauncher.Side -import cpw.mods.fml.relauncher.SideOnly -import li.cil.oc.api -import li.cil.oc.api.network._ -import li.cil.oc.common.EventHandler -import net.minecraft.item.ItemStack -import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.common.util.ForgeDirection - -class PartP2POCNode(stack: ItemStack) extends PartP2PTunnel[PartP2POCNode](stack) with Environment with SidedEnvironment { - val node = api.Network.newNode(this, Visibility.None).create() - api.Network.joinNewNetwork(node) - - var input: Option[Node] = None - - // ----------------------------------------------------------------------- // - - override def onConnect(node: Node) {} - - override def onMessage(message: Message) {} - - override def onDisconnect(node: Node) {} - - override def sidedNode(side: ForgeDirection) = if (proxy.isActive) node else null - - @SideOnly(Side.CLIENT) - override def canConnect(side: ForgeDirection) = true - - // ----------------------------------------------------------------------- // - - // TODO Never called, might as well return null. May have to, if enum gets removed. - override def getTunnelType = TunnelType.COMPUTER_MESSAGE - - @SideOnly(Side.CLIENT) - override def getTypeTexture = api.Items.get("adapter").block().getIcon(2, 0) - - // ----------------------------------------------------------------------- // - - override def onTunnelNetworkChange() { - super.onTunnelNetworkChange() - if (node != null) { - input.foreach(in => if (in != node) node.disconnect(in)) - input = None - if (output) { - Option(getInput) match { - case Some(part) => - input = Option(part.node) - input.foreach(node.connect) - case _ => - } - } - } - } - - override def addToWorld() { - super.addToWorld() - EventHandler.schedule(() => api.Network.joinOrCreateNetwork(getHost.getTile)) - } - - override def removeFromWorld() { - super.removeFromWorld() - if (node != null) node.remove() - } - - // ----------------------------------------------------------------------- // - - override def readFromNBT(data: NBTTagCompound) { - super.readFromNBT(data) - node.load(data) - } - - override def writeToNBT(data: NBTTagCompound) { - super.writeToNBT(data) - node.save(data) - } -}