From 9540cb44fb797c57543f24a27c593a34afa94dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 11 Jul 2015 18:04:21 +0200 Subject: [PATCH] Netsplitter it is. Also added a recipe for it and added sound when toggling states. --- assets/blocks.psd | Bin 177490 -> 176246 bytes .../opencomputers/doc/en_US/block/index.md | 2 +- .../{toggleThinger.md => netSplitter.md} | 2 +- .../assets/opencomputers/lang/en_US.lang | 4 +-- .../opencomputers/recipes/default.recipes | 5 ++++ ...{ToggleThingerOn.png => NetSplitterOn.png} | Bin ...gleThingerSide.png => NetSplitterSide.png} | Bin ...oggleThingerTop.png => NetSplitterTop.png} | Bin src/main/scala/li/cil/oc/Constants.scala | 2 +- .../li/cil/oc/client/PacketHandler.scala | 6 ++--- src/main/scala/li/cil/oc/client/Proxy.scala | 2 +- .../scala/li/cil/oc/client/Textures.scala | 2 +- .../cil/oc/client/renderer/PetRenderer.scala | 5 +++- .../client/renderer/block/BlockRenderer.scala | 24 +++++++++--------- ...{ToggleThinger.scala => NetSplitter.scala} | 2 +- ...nderer.scala => NetSplitterRenderer.scala} | 20 +++++++-------- .../scala/li/cil/oc/common/PacketType.scala | 2 +- src/main/scala/li/cil/oc/common/Proxy.scala | 6 ++--- ...{ToggleThinger.scala => NetSplitter.scala} | 24 +++++++++--------- .../scala/li/cil/oc/common/init/Blocks.scala | 4 +-- ...{ToggleThinger.scala => NetSplitter.scala} | 8 +++--- .../scala/li/cil/oc/server/PacketSender.scala | 4 +-- 22 files changed, 67 insertions(+), 57 deletions(-) rename src/main/resources/assets/opencomputers/doc/en_US/block/{toggleThinger.md => netSplitter.md} (93%) rename src/main/resources/assets/opencomputers/textures/blocks/{ToggleThingerOn.png => NetSplitterOn.png} (100%) rename src/main/resources/assets/opencomputers/textures/blocks/{ToggleThingerSide.png => NetSplitterSide.png} (100%) rename src/main/resources/assets/opencomputers/textures/blocks/{ToggleThingerTop.png => NetSplitterTop.png} (100%) rename src/main/scala/li/cil/oc/client/renderer/block/{ToggleThinger.scala => NetSplitter.scala} (99%) rename src/main/scala/li/cil/oc/client/renderer/tileentity/{ToggleThingerRenderer.scala => NetSplitterRenderer.scala} (83%) rename src/main/scala/li/cil/oc/common/block/{ToggleThinger.scala => NetSplitter.scala} (73%) rename src/main/scala/li/cil/oc/common/tileentity/{ToggleThinger.scala => NetSplitter.scala} (88%) diff --git a/assets/blocks.psd b/assets/blocks.psd index 6c585ac8ef8af627fc37bac68dd792efe5e9c830..950f8f81331487bfc7af6950f7a79978de23883f 100644 GIT binary patch delta 330 zcmccgitF10t_ccE=XY&XGGb&}=(stI@f#z%xs|b*m8r?(U}k$5d-F_YO(q3rBUcks zLsutbS0f`=V?#p=3m^t^O)OkYjoeI~CKn1QY~INl$;jw3**#BTvoZVI%*p(&?O<*U z%&f@=_>XT^D6G+EWY|1s!DVLNSr$&7zAQ`(K)@Kcxp7Gx)Kr)0w9-8gUdC+hxmminMt}2+MVFa*=U6y-`m!)F00Cpl=Eh~AjFTrUe08RVwNp^Dm4VlgI7yQmKnoloKWNcu+njv`OcAVklgLkc_f9__KneIKG z(T34zddGZ5Rbe9r29VV`m6<6(%UOUHTTMSOpK%eZ;ByDltJ59lFt)p}W#ktWq!vLG zmgZ#w6$$_`8$$*|K0^TzrZN20+$7M*lb#X7ChSibs6L9>r*c< ed2BzO!xX|a{j?>M$o2t(jB+ diff --git a/src/main/resources/assets/opencomputers/doc/en_US/block/index.md b/src/main/resources/assets/opencomputers/doc/en_US/block/index.md index 4aed941c8..a33f40557 100644 --- a/src/main/resources/assets/opencomputers/doc/en_US/block/index.md +++ b/src/main/resources/assets/opencomputers/doc/en_US/block/index.md @@ -38,7 +38,7 @@ Keep in mind that some of these may not be available, depending on the recipe se ## Networking * [Access Point](accessPoint.md) * [Cable](cable.md) -* [Net Splitter](toggleThinger.md) +* [Net Splitter](netSplitter.md) * [Switch](switch.md) ## Power management diff --git a/src/main/resources/assets/opencomputers/doc/en_US/block/toggleThinger.md b/src/main/resources/assets/opencomputers/doc/en_US/block/netSplitter.md similarity index 93% rename from src/main/resources/assets/opencomputers/doc/en_US/block/toggleThinger.md rename to src/main/resources/assets/opencomputers/doc/en_US/block/netSplitter.md index 91c418962..230e4484f 100644 --- a/src/main/resources/assets/opencomputers/doc/en_US/block/toggleThinger.md +++ b/src/main/resources/assets/opencomputers/doc/en_US/block/netSplitter.md @@ -1,6 +1,6 @@ # Net Splitter -![*.net *.split](oredict:oc:toggleThinger) +![*.net *.split](oredict:oc:netSplitter) The net splitter is a device that allows controlling connectivity between subnetworks. Unlike the [switch](switch.md) or [power converter](powerConverter.md) it directly connects adjacent subnetworks, i.e. components can be accessed. Each side's connectivity can be toggled using a wrench (e.g. the [scrench](../item/wrench.md)). When a redstone signal is applied to the net splitter, all sides' connectivity is inverted. diff --git a/src/main/resources/assets/opencomputers/lang/en_US.lang b/src/main/resources/assets/opencomputers/lang/en_US.lang index ddee8cb38..51d960d4a 100644 --- a/src/main/resources/assets/opencomputers/lang/en_US.lang +++ b/src/main/resources/assets/opencomputers/lang/en_US.lang @@ -36,7 +36,7 @@ tile.oc.screen2.name=Screen (Tier 2) tile.oc.screen3.name=Screen (Tier 3) tile.oc.serverRack.name=Server Rack tile.oc.switch.name=Switch -tile.oc.toggleThinger.name=Net Splitter +tile.oc.netSplitter.name=Net Splitter tile.oc.waypoint.name=Waypoint # Items @@ -332,7 +332,7 @@ oc:tooltip.TabletCase=Basic case for tablets. Place it into the assembler to add oc:tooltip.Terminal=Allows controlling a server remotely, as long as you are in range of it. Acts like a portable screen and keyboard. Shift-right-click a server in a server rack to bind the terminal to it. oc:tooltip.TexturePicker=This tool allows showing a string describing a block's surface, for use in 3D printer shape definitions. Totally not texture names, nope. No sir. oc:tooltip.Tier=§8Tier %s -oc:tooltip.ToggleThinger=Acts as a dynamic connector. Connectivity of each side can be toggled by hitting it with a wrench. Connectivity of all sides can be inverted by applying a redstone signal. +oc:tooltip.NetSplitter=Acts as a dynamic connector. Connectivity of each side can be toggled by hitting it with a wrench. Connectivity of all sides can be inverted by applying a redstone signal. oc:tooltip.TooLong=Hold [§f%s§7] for a detailed tooltip. oc:tooltip.Transistor=A basic element in most other computer parts. It's a bit twisted, but it does the job. oc:tooltip.UpgradeAngel=Allows robots to place blocks in thin air, even if there is no point of reference. diff --git a/src/main/resources/assets/opencomputers/recipes/default.recipes b/src/main/resources/assets/opencomputers/recipes/default.recipes index c4dc61add..be4e6880f 100644 --- a/src/main/resources/assets/opencomputers/recipes/default.recipes +++ b/src/main/resources/assets/opencomputers/recipes/default.recipes @@ -576,6 +576,11 @@ motionSensor { [daylightDetector, "oc:cpu2", daylightDetector] [ingotGold, "oc:materialCircuitBoardPrinted", ingotGold]] } +netSplitter { + input: [[ingotIron, "oc:cable", ingotIron] + ["oc:cable", craftingPiston, "oc:cable"] + [ingotIron, "oc:materialCircuitBoardPrinted", ingotIron]] +} printer { input: [[ingotIron, hopper, ingotIron] [craftingPiston, "oc:circuitChip3", craftingPiston] diff --git a/src/main/resources/assets/opencomputers/textures/blocks/ToggleThingerOn.png b/src/main/resources/assets/opencomputers/textures/blocks/NetSplitterOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/ToggleThingerOn.png rename to src/main/resources/assets/opencomputers/textures/blocks/NetSplitterOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/ToggleThingerSide.png b/src/main/resources/assets/opencomputers/textures/blocks/NetSplitterSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/ToggleThingerSide.png rename to src/main/resources/assets/opencomputers/textures/blocks/NetSplitterSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/ToggleThingerTop.png b/src/main/resources/assets/opencomputers/textures/blocks/NetSplitterTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/ToggleThingerTop.png rename to src/main/resources/assets/opencomputers/textures/blocks/NetSplitterTop.png diff --git a/src/main/scala/li/cil/oc/Constants.scala b/src/main/scala/li/cil/oc/Constants.scala index d65482adc..ff3ecc7c4 100644 --- a/src/main/scala/li/cil/oc/Constants.scala +++ b/src/main/scala/li/cil/oc/Constants.scala @@ -38,7 +38,7 @@ object Constants { final val ScreenTier3 = "screen3" final val ServerRack = "serverRack" final val Switch = "switch" - final val ToggleThinger = "toggleThinger" + final val NetSplitter = "netSplitter" final val Waypoint = "waypoint" def Case(tier: Int) = ItemUtils.caseNameWithTierSuffix("case", tier) diff --git a/src/main/scala/li/cil/oc/client/PacketHandler.scala b/src/main/scala/li/cil/oc/client/PacketHandler.scala index b9b514010..9cf57901b 100644 --- a/src/main/scala/li/cil/oc/client/PacketHandler.scala +++ b/src/main/scala/li/cil/oc/client/PacketHandler.scala @@ -56,6 +56,7 @@ object PacketHandler extends CommonPacketHandler { case PacketType.HologramTranslation => onHologramPositionOffsetY(p) case PacketType.HologramValues => onHologramValues(p) case PacketType.LootDisk => onLootDisk(p) + case PacketType.NetSplitterState => onNetSplitterState(p) case PacketType.ParticleEffect => onParticleEffect(p) case PacketType.PetVisibility => onPetVisibility(p) case PacketType.PowerState => onPowerState(p) @@ -74,7 +75,6 @@ object PacketHandler extends CommonPacketHandler { case PacketType.TextBufferInit => onTextBufferInit(p) case PacketType.TextBufferPowerChange => onTextBufferPowerChange(p) case PacketType.TextBufferMulti => onTextBufferMulti(p) - case PacketType.ToggleThingerState => onToggleThingerState(p) case PacketType.ScreenTouchMode => onScreenTouchMode(p) case PacketType.ServerPresence => onServerPresence(p) case PacketType.Sound => onSound(p) @@ -592,8 +592,8 @@ object PacketHandler extends CommonPacketHandler { buffer.rawSetForeground(col, row, color) } - def onToggleThingerState(p: PacketParser) = - p.readTileEntity[ToggleThinger]() match { + def onNetSplitterState(p: PacketParser) = + p.readTileEntity[NetSplitter]() match { case Some(t) => t.isInverted = p.readBoolean() t.openSides = t.uncompressSides(p.readByte()) diff --git a/src/main/scala/li/cil/oc/client/Proxy.scala b/src/main/scala/li/cil/oc/client/Proxy.scala index 6d61adb77..aa96dcb65 100644 --- a/src/main/scala/li/cil/oc/client/Proxy.scala +++ b/src/main/scala/li/cil/oc/client/Proxy.scala @@ -69,7 +69,7 @@ private[oc] class Proxy extends CommonProxy { ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.AccessPoint], SwitchRenderer) ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.RobotProxy], RobotRenderer) ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Screen], ScreenRenderer) - ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.ToggleThinger], ToggleThingerRenderer) + ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.NetSplitter], NetSplitterRenderer) MinecraftForgeClient.registerItemRenderer(Items.get(Constants.ItemName.Floppy).createItemStack(1).getItem, ItemRenderer) MinecraftForgeClient.registerItemRenderer(Items.get(Constants.BlockName.Print).createItemStack(1).getItem, ItemRenderer) diff --git a/src/main/scala/li/cil/oc/client/Textures.scala b/src/main/scala/li/cil/oc/client/Textures.scala index 8c8adaa77..6e21bbc54 100644 --- a/src/main/scala/li/cil/oc/client/Textures.scala +++ b/src/main/scala/li/cil/oc/client/Textures.scala @@ -97,7 +97,7 @@ object Textures { var iconSideActivity: IIcon = _ } - object ToggleThinger { + object NetSplitter { var iconOn: IIcon = _ } diff --git a/src/main/scala/li/cil/oc/client/renderer/PetRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/PetRenderer.scala index 16d7e6103..cd0768b64 100644 --- a/src/main/scala/li/cil/oc/client/renderer/PetRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/PetRenderer.scala @@ -31,7 +31,10 @@ object PetRenderer { "DaKaTotal" ->(0.5, 0.7, 1.0), "MichiyoRavencroft" ->(1.0, 0.0, 0.0), "Vexatos" ->(0.18, 0.95, 0.922), - "StoneNomad" ->(0.8, 0.77, 0.75) + "StoneNomad" ->(0.8, 0.77, 0.75), + "LizzyTheSiren" ->(0.3, 0.3, 1.0), + "vifino" ->(0.2, 1.0, 0.1), + "Izaya" ->(0.0, 0.2, 0.6) ) private val petLocations = com.google.common.cache.CacheBuilder.newBuilder(). diff --git a/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala index 90098f754..782c7dcc9 100644 --- a/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala @@ -25,14 +25,14 @@ object BlockRenderer extends ISimpleBlockRenderingHandler { val renderer = patchedRenderer(realRenderer, block) GL11.glPushMatrix() block match { - case assembler: Assembler => + case _: Assembler => GL11.glTranslatef(-0.5f, -0.5f, -0.5f) Tessellator.instance.startDrawingQuads() Assembler.render(block, metadata, renderer) Tessellator.instance.draw() RenderState.checkError(getClass.getName + ".renderInventoryBlock: assembler") - case cable: Cable => + case _: Cable => GL11.glScalef(1.6f, 1.6f, 1.6f) GL11.glTranslatef(-0.5f, -0.5f, -0.5f) Tessellator.instance.startDrawingQuads() @@ -40,33 +40,33 @@ object BlockRenderer extends ISimpleBlockRenderingHandler { Tessellator.instance.draw() RenderState.checkError(getClass.getName + ".renderInventoryBlock: cable") - case hologram: Hologram => + case _: Hologram => GL11.glTranslatef(-0.5f, -0.5f, -0.5f) Tessellator.instance.startDrawingQuads() Hologram.render(block, metadata, renderer) Tessellator.instance.draw() RenderState.checkError(getClass.getName + ".renderInventoryBlock: hologram") - case printer: Printer => + case _: Printer => GL11.glTranslatef(-0.5f, -0.5f, -0.5f) Tessellator.instance.startDrawingQuads() Printer.render(block, metadata, renderer) Tessellator.instance.draw() RenderState.checkError(getClass.getName + ".renderInventoryBlock: printer") - case proxy@(_: RobotProxy | _: RobotAfterimage) => + case _@(_: RobotProxy | _: RobotAfterimage) => GL11.glScalef(1.5f, 1.5f, 1.5f) GL11.glTranslatef(-0.5f, -0.4f, -0.5f) RobotRenderer.renderChassis() RenderState.checkError(getClass.getName + ".renderInventoryBlock: robot") - case toggle: ToggleThinger => + case _: NetSplitter => GL11.glTranslatef(-0.5f, -0.5f, -0.5f) Tessellator.instance.startDrawingQuads() - ToggleThinger.render(block, metadata, renderer) + NetSplitter.render(block, metadata, renderer) Tessellator.instance.draw() - RenderState.checkError(getClass.getName + ".renderInventoryBlock: toggleThinger") + RenderState.checkError(getClass.getName + ".renderInventoryBlock: splitter") case _ => block match { case simple: SimpleBlock => @@ -139,10 +139,10 @@ object BlockRenderer extends ISimpleBlockRenderingHandler { RenderState.checkError(getClass.getName + ".renderWorldBlock: rack") true - case toggle: tileentity.ToggleThinger => - ToggleThinger.render(ForgeDirection.VALID_DIRECTIONS.map(toggle.isSideOpen), block, x, y, z, renderer) + case splitter: tileentity.NetSplitter => + NetSplitter.render(ForgeDirection.VALID_DIRECTIONS.map(splitter.isSideOpen), block, x, y, z, renderer) - RenderState.checkError(getClass.getName + ".renderWorldBlock: toggleThinger") + RenderState.checkError(getClass.getName + ".renderWorldBlock: splitter") true case _ => @@ -158,7 +158,7 @@ object BlockRenderer extends ISimpleBlockRenderingHandler { block.isInstanceOf[Hologram] || block.isInstanceOf[Printer] || block.isInstanceOf[Print] || - block.isInstanceOf[ToggleThinger] + block.isInstanceOf[NetSplitter] // The texture flip this works around only seems to occur for blocks with custom block renderers? def patchedRenderer(renderer: RenderBlocks, block: Block) = diff --git a/src/main/scala/li/cil/oc/client/renderer/block/ToggleThinger.scala b/src/main/scala/li/cil/oc/client/renderer/block/NetSplitter.scala similarity index 99% rename from src/main/scala/li/cil/oc/client/renderer/block/ToggleThinger.scala rename to src/main/scala/li/cil/oc/client/renderer/block/NetSplitter.scala index 4b783af5c..a7f227d3f 100644 --- a/src/main/scala/li/cil/oc/client/renderer/block/ToggleThinger.scala +++ b/src/main/scala/li/cil/oc/client/renderer/block/NetSplitter.scala @@ -4,7 +4,7 @@ import net.minecraft.block.Block import net.minecraft.client.renderer.RenderBlocks import net.minecraftforge.common.util.ForgeDirection -object ToggleThinger { +object NetSplitter { def render(openSides: Array[Boolean], block: Block, x: Int, y: Int, z: Int, renderer: RenderBlocks) { val previousRenderAllFaces = renderer.renderAllFaces renderer.renderAllFaces = true diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/ToggleThingerRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/NetSplitterRenderer.scala similarity index 83% rename from src/main/scala/li/cil/oc/client/renderer/tileentity/ToggleThingerRenderer.scala rename to src/main/scala/li/cil/oc/client/renderer/tileentity/NetSplitterRenderer.scala index 5b919f433..b0eeca6de 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/ToggleThingerRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/NetSplitterRenderer.scala @@ -10,12 +10,12 @@ import net.minecraft.tileentity.TileEntity import net.minecraftforge.common.util.ForgeDirection import org.lwjgl.opengl.GL11 -object ToggleThingerRenderer extends TileEntitySpecialRenderer { +object NetSplitterRenderer extends TileEntitySpecialRenderer { override def renderTileEntityAt(tileEntity: TileEntity, x: Double, y: Double, z: Double, f: Float) { RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)") - val toggleThinger = tileEntity.asInstanceOf[tileentity.ToggleThinger] - if (toggleThinger.openSides.contains(!toggleThinger.isInverted)) { + val splitter = tileEntity.asInstanceOf[tileentity.NetSplitter] + if (splitter.openSides.contains(!splitter.isInverted)) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS) RenderState.disableLighting() @@ -31,44 +31,44 @@ object ToggleThingerRenderer extends TileEntitySpecialRenderer { val t = Tessellator.instance t.startDrawingQuads() - val sideActivity = Textures.ToggleThinger.iconOn + val sideActivity = Textures.NetSplitter.iconOn - if (toggleThinger.isSideOpen(ForgeDirection.DOWN)) { + if (splitter.isSideOpen(ForgeDirection.DOWN)) { t.addVertexWithUV(0, 1, 0, sideActivity.getMaxU, sideActivity.getMinV) t.addVertexWithUV(1, 1, 0, sideActivity.getMinU, sideActivity.getMinV) t.addVertexWithUV(1, 1, 1, sideActivity.getMinU, sideActivity.getMaxV) t.addVertexWithUV(0, 1, 1, sideActivity.getMaxU, sideActivity.getMaxV) } - if (toggleThinger.isSideOpen(ForgeDirection.UP)) { + if (splitter.isSideOpen(ForgeDirection.UP)) { t.addVertexWithUV(0, 0, 0, sideActivity.getMaxU, sideActivity.getMaxV) t.addVertexWithUV(0, 0, 1, sideActivity.getMaxU, sideActivity.getMinV) t.addVertexWithUV(1, 0, 1, sideActivity.getMinU, sideActivity.getMinV) t.addVertexWithUV(1, 0, 0, sideActivity.getMinU, sideActivity.getMaxV) } - if (toggleThinger.isSideOpen(ForgeDirection.NORTH)) { + if (splitter.isSideOpen(ForgeDirection.NORTH)) { t.addVertexWithUV(1, 1, 0, sideActivity.getMinU, sideActivity.getMaxV) t.addVertexWithUV(0, 1, 0, sideActivity.getMaxU, sideActivity.getMaxV) t.addVertexWithUV(0, 0, 0, sideActivity.getMaxU, sideActivity.getMinV) t.addVertexWithUV(1, 0, 0, sideActivity.getMinU, sideActivity.getMinV) } - if (toggleThinger.isSideOpen(ForgeDirection.SOUTH)) { + if (splitter.isSideOpen(ForgeDirection.SOUTH)) { t.addVertexWithUV(0, 1, 1, sideActivity.getMinU, sideActivity.getMaxV) t.addVertexWithUV(1, 1, 1, sideActivity.getMaxU, sideActivity.getMaxV) t.addVertexWithUV(1, 0, 1, sideActivity.getMaxU, sideActivity.getMinV) t.addVertexWithUV(0, 0, 1, sideActivity.getMinU, sideActivity.getMinV) } - if (toggleThinger.isSideOpen(ForgeDirection.WEST)) { + if (splitter.isSideOpen(ForgeDirection.WEST)) { t.addVertexWithUV(0, 1, 0, sideActivity.getMinU, sideActivity.getMaxV) t.addVertexWithUV(0, 1, 1, sideActivity.getMaxU, sideActivity.getMaxV) t.addVertexWithUV(0, 0, 1, sideActivity.getMaxU, sideActivity.getMinV) t.addVertexWithUV(0, 0, 0, sideActivity.getMinU, sideActivity.getMinV) } - if (toggleThinger.isSideOpen(ForgeDirection.EAST)) { + if (splitter.isSideOpen(ForgeDirection.EAST)) { t.addVertexWithUV(1, 1, 1, sideActivity.getMinU, sideActivity.getMaxV) t.addVertexWithUV(1, 1, 0, sideActivity.getMaxU, sideActivity.getMaxV) t.addVertexWithUV(1, 0, 0, sideActivity.getMaxU, sideActivity.getMinV) diff --git a/src/main/scala/li/cil/oc/common/PacketType.scala b/src/main/scala/li/cil/oc/common/PacketType.scala index 2d90662f0..770e3c389 100644 --- a/src/main/scala/li/cil/oc/common/PacketType.scala +++ b/src/main/scala/li/cil/oc/common/PacketType.scala @@ -50,7 +50,7 @@ object PacketType extends Enumeration { TextBufferMultiRawSetBackground, TextBufferMultiRawSetForeground, TextBufferPowerChange, - ToggleThingerState, + NetSplitterState, ScreenTouchMode, ServerPresence, Sound, diff --git a/src/main/scala/li/cil/oc/common/Proxy.scala b/src/main/scala/li/cil/oc/common/Proxy.scala index a7a6b1e89..4e934476a 100644 --- a/src/main/scala/li/cil/oc/common/Proxy.scala +++ b/src/main/scala/li/cil/oc/common/Proxy.scala @@ -119,9 +119,9 @@ class Proxy { // Example usage: OpenComputers.ID + ":tabletCase" -> "tabletCase1" private val itemRenames = Map[String, String]( - OpenComputers.ID + ":microcontrollerCase" -> "microcontrollerCase1", - OpenComputers.ID + ":droneCase" -> "droneCase1", - OpenComputers.ID + ":tabletCase" -> "tabletCase1" + OpenComputers.ID + ":microcontrollerCase" -> Constants.ItemName.MicrocontrollerCaseTier1, + OpenComputers.ID + ":droneCase" -> Constants.ItemName.DroneCaseTier1, + OpenComputers.ID + ":tabletCase" -> Constants.ItemName.TabletCaseTier1 ) def missingMappings(e: FMLMissingMappingsEvent) { diff --git a/src/main/scala/li/cil/oc/common/block/ToggleThinger.scala b/src/main/scala/li/cil/oc/common/block/NetSplitter.scala similarity index 73% rename from src/main/scala/li/cil/oc/common/block/ToggleThinger.scala rename to src/main/scala/li/cil/oc/common/block/NetSplitter.scala index fa66fba1f..64892defa 100644 --- a/src/main/scala/li/cil/oc/common/block/ToggleThinger.scala +++ b/src/main/scala/li/cil/oc/common/block/NetSplitter.scala @@ -13,27 +13,27 @@ import net.minecraft.world.IBlockAccess import net.minecraft.world.World import net.minecraftforge.common.util.ForgeDirection -class ToggleThinger extends RedstoneAware { +class NetSplitter extends RedstoneAware { override protected def customTextures = Array( - Some("ToggleThingerTop"), - Some("ToggleThingerTop"), - Some("ToggleThingerSide"), - Some("ToggleThingerSide"), - Some("ToggleThingerSide"), - Some("ToggleThingerSide") + Some("NetSplitterTop"), + Some("NetSplitterTop"), + Some("NetSplitterSide"), + Some("NetSplitterSide"), + Some("NetSplitterSide"), + Some("NetSplitterSide") ) @SideOnly(Side.CLIENT) override def registerBlockIcons(iconRegister: IIconRegister): Unit = { super.registerBlockIcons(iconRegister) - Textures.ToggleThinger.iconOn = iconRegister.registerIcon(Settings.resourceDomain + ":ToggleThingerOn") + Textures.NetSplitter.iconOn = iconRegister.registerIcon(Settings.resourceDomain + ":NetSplitterOn") } override def isSideSolid(world: IBlockAccess, x: Int, y: Int, z: Int, side: ForgeDirection): Boolean = false // ----------------------------------------------------------------------- // - override def createTileEntity(world: World, metadata: Int) = new tileentity.ToggleThinger() + override def createTileEntity(world: World, metadata: Int) = new tileentity.NetSplitter() // ----------------------------------------------------------------------- // @@ -41,10 +41,10 @@ class ToggleThinger extends RedstoneAware { if (Wrench.holdsApplicableWrench(player, BlockPosition(x, y, z))) { val sideToToggle = if (player.isSneaking) side.getOpposite else side world.getTileEntity(x, y, z) match { - case toggleThinger: tileentity.ToggleThinger => + case splitter: tileentity.NetSplitter => if (!world.isRemote) { - val oldValue = toggleThinger.openSides(sideToToggle.ordinal()) - toggleThinger.setSideOpen(sideToToggle, !oldValue) + val oldValue = splitter.openSides(sideToToggle.ordinal()) + splitter.setSideOpen(sideToToggle, !oldValue) } true case _ => false diff --git a/src/main/scala/li/cil/oc/common/init/Blocks.scala b/src/main/scala/li/cil/oc/common/init/Blocks.scala index 5c86471d7..7acf21d27 100644 --- a/src/main/scala/li/cil/oc/common/init/Blocks.scala +++ b/src/main/scala/li/cil/oc/common/init/Blocks.scala @@ -34,7 +34,7 @@ object Blocks { GameRegistry.registerTileEntity(classOf[tileentity.Switch], Settings.namespace + "switch") GameRegistry.registerTileEntity(classOf[tileentity.Screen], Settings.namespace + "screen") GameRegistry.registerTileEntity(classOf[tileentity.ServerRack], Settings.namespace + "serverRack") - GameRegistry.registerTileEntity(classOf[tileentity.ToggleThinger], Settings.namespace + "toggleThinger") + GameRegistry.registerTileEntity(classOf[tileentity.NetSplitter], Settings.namespace + "netSplitter") GameRegistry.registerTileEntity(classOf[tileentity.Waypoint], Settings.namespace + "waypoint") Recipes.addBlock(new AccessPoint(), Constants.BlockName.AccessPoint, "oc:accessPoint") @@ -78,6 +78,6 @@ object Blocks { Recipes.addBlock(new FakeEndstone(), Constants.BlockName.Endstone, "oc:stoneEndstone") // v1.5.14 - Recipes.addBlock(new ToggleThinger(), Constants.BlockName.ToggleThinger, "oc:toggleThinger") + Recipes.addBlock(new NetSplitter(), Constants.BlockName.NetSplitter, "oc:netSplitter") } } diff --git a/src/main/scala/li/cil/oc/common/tileentity/ToggleThinger.scala b/src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala similarity index 88% rename from src/main/scala/li/cil/oc/common/tileentity/ToggleThinger.scala rename to src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala index 312a0d3c2..4922243a2 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/ToggleThinger.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala @@ -10,7 +10,7 @@ import li.cil.oc.server.{PacketSender => ServerPacketSender} import net.minecraft.nbt.NBTTagCompound import net.minecraftforge.common.util.ForgeDirection -class ToggleThinger extends traits.Environment with traits.RedstoneAware with api.network.SidedEnvironment { +class NetSplitter extends traits.Environment with traits.RedstoneAware with api.network.SidedEnvironment { private final val SideCount = ForgeDirection.VALID_DIRECTIONS.length val node = api.Network.newNode(this, Visibility.None). @@ -34,7 +34,8 @@ class ToggleThinger extends traits.Environment with traits.RedstoneAware with ap if (isServer) { node.remove() api.Network.joinOrCreateNetwork(this) - ServerPacketSender.sendToggleThingerState(this) + ServerPacketSender.sendNetSplitterState(this) + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "tile.piston.out", 0.5f, world.rand.nextFloat() * 0.25f + 0.7f) } else { world.markBlockForUpdate(x, y, z) @@ -67,7 +68,8 @@ class ToggleThinger extends traits.Environment with traits.RedstoneAware with ap if (isServer) { node.remove() api.Network.joinOrCreateNetwork(this) - ServerPacketSender.sendToggleThingerState(this) + ServerPacketSender.sendNetSplitterState(this) + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "tile.piston.in", 0.5f, world.rand.nextFloat() * 0.25f + 0.7f) } else { world.markBlockForUpdate(x, y, z) diff --git a/src/main/scala/li/cil/oc/server/PacketSender.scala b/src/main/scala/li/cil/oc/server/PacketSender.scala index 92ccccd86..df0ba86e4 100644 --- a/src/main/scala/li/cil/oc/server/PacketSender.scala +++ b/src/main/scala/li/cil/oc/server/PacketSender.scala @@ -529,8 +529,8 @@ object PacketSender { pb.sendToPlayersNearHost(host) } - def sendToggleThingerState(t: tileentity.ToggleThinger): Unit = { - val pb = new SimplePacketBuilder(PacketType.ToggleThingerState) + def sendNetSplitterState(t: tileentity.NetSplitter): Unit = { + val pb = new SimplePacketBuilder(PacketType.NetSplitterState) pb.writeTileEntity(t) pb.writeBoolean(t.isInverted)