From fb7aa123ef4ddfca847deaa4e59b2dac8f8fba70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 20 Mar 2016 16:42:05 +0100 Subject: [PATCH] Added setting to allow disabling nanomachine particle effects client side for people running MC on a toaster. Closes #1550. --- src/main/resources/application.conf | 6 ++++++ src/main/scala/li/cil/oc/Settings.scala | 1 + .../li/cil/oc/common/nanomachines/ControllerImpl.scala | 2 +- .../oc/common/nanomachines/provider/ParticleProvider.scala | 3 ++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application.conf b/src/main/resources/application.conf index d02de6f30..974b07302 100644 --- a/src/main/resources/application.conf +++ b/src/main/resources/application.conf @@ -106,6 +106,12 @@ opencomputers { # treated as relative positions, values in [1, inf) will be treated as # absolute positions. nanomachineHudPos: [-1, -1] + + # Whether to emit particle effects around players via nanomachines. This + # includes the basic particles giving a rough indication of the current + # power level of the nanomachines as well as particles emitted by the + # particle effect behaviors. + enableNanomachinePfx: true } # Computer related settings, concerns server performance and security. diff --git a/src/main/scala/li/cil/oc/Settings.scala b/src/main/scala/li/cil/oc/Settings.scala index 912a10c2e..8f0224742 100644 --- a/src/main/scala/li/cil/oc/Settings.scala +++ b/src/main/scala/li/cil/oc/Settings.scala @@ -45,6 +45,7 @@ class Settings(val config: Config) { OpenComputers.log.warn("Bad number of HUD coordiantes, ignoring.") (-1.0, -1.0) } + val enableNanomachinePfx = config.getBoolean("client.enableNanomachinePfx") // ----------------------------------------------------------------------- // // computer diff --git a/src/main/scala/li/cil/oc/common/nanomachines/ControllerImpl.scala b/src/main/scala/li/cil/oc/common/nanomachines/ControllerImpl.scala index 6b50161c6..7d005cfbc 100644 --- a/src/main/scala/li/cil/oc/common/nanomachines/ControllerImpl.scala +++ b/src/main/scala/li/cil/oc/common/nanomachines/ControllerImpl.scala @@ -279,7 +279,7 @@ class ControllerImpl(val player: EntityPlayer) extends Controller with WirelessE } } - if (isClient) { + if (isClient && Settings.get.enableNanomachinePfx) { val energyRatio = getLocalBuffer / (getLocalBufferSize + 1) val triggerRatio = activeInputs / (configuration.triggers.length + 1) val intensity = (energyRatio + triggerRatio) * 0.25 diff --git a/src/main/scala/li/cil/oc/common/nanomachines/provider/ParticleProvider.scala b/src/main/scala/li/cil/oc/common/nanomachines/provider/ParticleProvider.scala index b4f8db4b9..88cc051e5 100644 --- a/src/main/scala/li/cil/oc/common/nanomachines/provider/ParticleProvider.scala +++ b/src/main/scala/li/cil/oc/common/nanomachines/provider/ParticleProvider.scala @@ -1,5 +1,6 @@ package li.cil.oc.common.nanomachines.provider +import li.cil.oc.Settings import li.cil.oc.api import li.cil.oc.api.nanomachines.Behavior import li.cil.oc.api.prefab.AbstractBehavior @@ -44,7 +45,7 @@ object ParticleProvider extends ScalaProvider("b48c4bbd-51bb-4915-9367-16cff3220 override def update(): Unit = { val world = player.getEntityWorld - if (world.isRemote) { + if (world.isRemote && Settings.get.enableNanomachinePfx) { PlayerUtils.spawnParticleAround(player, effectName, api.Nanomachines.getController(player).getInputCount(this) * 0.25) } }