From db8726612879869ed113fa3564d8579745bc6c21 Mon Sep 17 00:00:00 2001 From: Kubuxu Date: Sun, 12 Jul 2015 11:08:10 +0200 Subject: [PATCH 1/9] Fix ProjectRed dependency --- build.gradle | 21 +++++++++++++-------- build.properties | 4 +++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 799b0ec78..c85d53611 100644 --- a/build.gradle +++ b/build.gradle @@ -106,7 +106,10 @@ repositories { name 'DVS1 Maven FS' url 'http://dvs1.progwml6.com/files/maven' } - + maven { + name 'ProjectRed' + url 'http://files.projectredwiki.com/maven/' + } ivy { name "BuildCraft" artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" @@ -119,19 +122,18 @@ repositories { name 'Mekanism' artifactPattern "http://ci.cil.li/job/Mekanism/${config.mekanism.build}/artifact/output/[module]-${config.minecraft.version}-[revision].${config.mekanism.build}.[ext]" } - ivy { - name 'ProjectRed' - artifactPattern "http://projectredwiki.com/maven/mrtjp/[module]/${config.minecraft.version}-[revision]/[module]-${config.minecraft.version}-[revision]-dev.[ext]" - } ivy { name 'immibis' artifactPattern "https://dl.dropboxusercontent.com/u/2944265/mods/autobuilt/files/[module]-[revision].[ext]" } - ivy { name 'CoFHLib' artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhlib.cf}/[module]-[revision].[ext]" } + ivy { + name 'CoFHCore' + artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhcore.cf}/[module]-[revision].[ext]" + } ivy { name 'MineFactoryReloaded' artifactPattern "http://addons-origin.cursecdn.com/files/${config.mfr.cf}/[module]-[revision].[ext]" @@ -182,14 +184,17 @@ dependencies { provided "notenoughkeys:NeK:${config.minecraft.version}-${config.nek.version}:deobf-dev" provided "qmunity:QmunityLib:${config.qmunitylib.version}:deobf" provided "tmech:TMechworks:${config.minecraft.version}-${config.tmech.version}:deobf" + provided("mrtjp:ProjectRed:${config.projred.version}:dev") { + exclude module: 'CoFHCore' + } - provided name: "buildcraft", version: "${config.bc.version}", classifier: "dev", ext: 'jar' + provided name: 'buildcraft', version: config.bc.version, classifier: "dev", ext: 'jar' provided name: 'GalacticraftCoreAll', version: config.gc.version, ext: 'jar' provided name: 'MekanismAll', version: config.mekanism.version, ext: 'jar' - provided name: 'ProjectRed', version: config.projred.version, ext: 'jar' provided name: 'redlogic', version: config.redlogic.version, ext: 'jar' provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' + provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' provided name: 'MineFactoryReloaded', version: config.mfr.version, ext: 'jar' provided name: 'ComputerCraft', version: config.cc.version, ext: 'jar' provided name: 'EnderIO', version: config.eio.version, ext: 'jar' diff --git a/build.properties b/build.properties index e22e68f43..b71d7d412 100644 --- a/build.properties +++ b/build.properties @@ -32,7 +32,7 @@ mfr.cf=2229/626 mfr.version=[1.7.10]2.8.0RC8-86 nei.version=1.0.3.57 nek.version=1.0.0b35dev -projred.version=4.7.0pre2.87 +projred.version=1.7.10-4.6.2.82 qmunitylib.version=0.1.105 rc.cf=2219/321 rc.version=1.7.10-9.4.0.0 @@ -42,5 +42,7 @@ tmech.version=75.0afb56c re.version=3.0.0.342 waila.version=1.5.8a wrcbe.version=1.4.1.2 +cofhcore.cf=2246/697 +cofhcore.version=[1.7.10]3.0.3B4-302-dev maven.url=file:///home/www/maven.cil.li/web \ No newline at end of file From 6b3c3f98d75daf61d4bbceef17b18800fadb16c2 Mon Sep 17 00:00:00 2001 From: Kubuxu Date: Sun, 12 Jul 2015 11:08:41 +0200 Subject: [PATCH 2/9] Make hollow covers from FMP close on Cables --- src/main/scala/li/cil/oc/integration/fmp/CablePart.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala b/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala index 652c57049..db5d27990 100644 --- a/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala +++ b/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala @@ -4,6 +4,7 @@ import codechicken.lib.data.MCDataInput import codechicken.lib.data.MCDataOutput import codechicken.lib.vec.Cuboid6 import codechicken.lib.vec.Vector3 +import codechicken.microblock.ISidedHollowConnect import codechicken.multipart._ import cpw.mods.fml.relauncher.Side import cpw.mods.fml.relauncher.SideOnly @@ -31,7 +32,7 @@ import net.minecraft.util.MovingObjectPosition import scala.collection.convert.WrapAsJava import scala.collection.convert.WrapAsScala._ -class CablePart(val original: Option[tileentity.Cable] = None) extends SimpleBlockPart with TCuboidPart with TNormalOcclusion with network.Environment { +class CablePart(val original: Option[tileentity.Cable] = None) extends SimpleBlockPart with TCuboidPart with TSlottedPart with ISidedHollowConnect with TNormalOcclusion with network.Environment { val node = api.Network.newNode(this, Visibility.None).create() private var _color = Color.LightGray @@ -68,6 +69,11 @@ class CablePart(val original: Option[tileentity.Cable] = None) extends SimpleBlo override def getRenderBounds = new Cuboid6(Cable.bounds(world, x, y, z).offset(x, y, z)) + override def getHollowSize(side: Int) = 4 // 4 pixels as this is width of cable. + + override def getSlotMask = 1 << 6 // 6 is center part. + + // ----------------------------------------------------------------------- // override def activate(player: EntityPlayer, hit: MovingObjectPosition, item: ItemStack) = { From e0f9f04e357b7181470fc1a8545d0fa6fc6b7a61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 12 Jul 2015 12:20:33 +0200 Subject: [PATCH 3/9] Made the touch inversion check in screens use the origin block as it should. First part of #1291. --- src/main/scala/li/cil/oc/common/block/Screen.scala | 2 +- src/main/scala/li/cil/oc/common/tileentity/Screen.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/scala/li/cil/oc/common/block/Screen.scala b/src/main/scala/li/cil/oc/common/block/Screen.scala index 5685f70ea..df519361e 100644 --- a/src/main/scala/li/cil/oc/common/block/Screen.scala +++ b/src/main/scala/li/cil/oc/common/block/Screen.scala @@ -337,7 +337,7 @@ class Screen(val tier: Int) extends RedstoneAware { if (Wrench.holdsApplicableWrench(player, BlockPosition(x, y, z)) && getValidRotations(world, x, y, z).contains(side) && !force) false else if (api.Items.get(player.getHeldItem) == api.Items.get(Constants.ItemName.Analyzer)) false else world.getTileEntity(x, y, z) match { - case screen: tileentity.Screen if screen.hasKeyboard && (force || player.isSneaking == screen.invertTouchMode) => + case screen: tileentity.Screen if screen.hasKeyboard && (force || player.isSneaking == screen.origin.invertTouchMode) => // Yep, this GUI is actually purely client side. We could skip this // if, but it is clearer this way (to trigger it from the server we // would have to give screens a "container", which we do not want). diff --git a/src/main/scala/li/cil/oc/common/tileentity/Screen.scala b/src/main/scala/li/cil/oc/common/tileentity/Screen.scala index 8f061df85..68cc3cacb 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/Screen.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/Screen.scala @@ -243,7 +243,7 @@ class Screen(var tier: Int) extends traits.TextBuffer with SidedEnvironment with } }) } - if (arrows.size > 0) { + if (arrows.nonEmpty) { for (arrow <- arrows) { val hitX = arrow.posX - x val hitY = arrow.posY - y From 919e3c9397cd39745111be93f4c908e0568571ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 12 Jul 2015 12:21:09 +0200 Subject: [PATCH 4/9] Fixes drivers to use proper tier getter. Closes #1291. --- .../scala/li/cil/oc/integration/opencomputers/DriverAPU.scala | 2 +- .../scala/li/cil/oc/integration/opencomputers/DriverCPU.scala | 2 +- .../cil/oc/integration/opencomputers/DriverGraphicsCard.scala | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala b/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala index a41112f13..17493abaa 100644 --- a/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala +++ b/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala @@ -27,7 +27,7 @@ object DriverAPU extends DriverCPU with HostAware with EnvironmentAware { override def cpuTier(stack: ItemStack) = Delegator.subItem(stack) match { - case Some(apu: common.item.APU) => apu.tier + case Some(apu: common.item.APU) => apu.cpuTier case _ => Tier.One } diff --git a/src/main/scala/li/cil/oc/integration/opencomputers/DriverCPU.scala b/src/main/scala/li/cil/oc/integration/opencomputers/DriverCPU.scala index df3cdd997..14db12664 100644 --- a/src/main/scala/li/cil/oc/integration/opencomputers/DriverCPU.scala +++ b/src/main/scala/li/cil/oc/integration/opencomputers/DriverCPU.scala @@ -33,7 +33,7 @@ abstract class DriverCPU extends Item with Processor { def cpuTier(stack: ItemStack): Int = Delegator.subItem(stack) match { - case Some(cpu: item.CPU) => cpu.tier + case Some(cpu: item.CPU) => cpu.cpuTier case _ => Tier.One } diff --git a/src/main/scala/li/cil/oc/integration/opencomputers/DriverGraphicsCard.scala b/src/main/scala/li/cil/oc/integration/opencomputers/DriverGraphicsCard.scala index 31b594c1d..b39c4f4d8 100644 --- a/src/main/scala/li/cil/oc/integration/opencomputers/DriverGraphicsCard.scala +++ b/src/main/scala/li/cil/oc/integration/opencomputers/DriverGraphicsCard.scala @@ -30,7 +30,7 @@ object DriverGraphicsCard extends Item with HostAware with EnvironmentAware { override def tier(stack: ItemStack) = Delegator.subItem(stack) match { - case Some(gpu: common.item.GraphicsCard) => gpu.tier + case Some(gpu: common.item.GraphicsCard) => gpu.gpuTier case _ => Tier.One } From 77751ffb158efe41487c2ad7bbc01beea8d370b6 Mon Sep 17 00:00:00 2001 From: Kubuxu Date: Sun, 12 Jul 2015 11:08:10 +0200 Subject: [PATCH 5/9] Fix ProjectRed dependency --- build.gradle | 25 ++++++++++++++++--------- build.properties | 4 +++- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 799b0ec78..647c2c92f 100644 --- a/build.gradle +++ b/build.gradle @@ -106,7 +106,10 @@ repositories { name 'DVS1 Maven FS' url 'http://dvs1.progwml6.com/files/maven' } - + maven { + name 'ProjectRed' + url 'http://files.projectredwiki.com/maven/' + } ivy { name "BuildCraft" artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" @@ -119,19 +122,18 @@ repositories { name 'Mekanism' artifactPattern "http://ci.cil.li/job/Mekanism/${config.mekanism.build}/artifact/output/[module]-${config.minecraft.version}-[revision].${config.mekanism.build}.[ext]" } - ivy { - name 'ProjectRed' - artifactPattern "http://projectredwiki.com/maven/mrtjp/[module]/${config.minecraft.version}-[revision]/[module]-${config.minecraft.version}-[revision]-dev.[ext]" - } ivy { name 'immibis' artifactPattern "https://dl.dropboxusercontent.com/u/2944265/mods/autobuilt/files/[module]-[revision].[ext]" } - ivy { name 'CoFHLib' artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhlib.cf}/[module]-[revision].[ext]" } + ivy { + name 'CoFHCore' + artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhcore.cf}/[module]-[revision].[ext]" + } ivy { name 'MineFactoryReloaded' artifactPattern "http://addons-origin.cursecdn.com/files/${config.mfr.cf}/[module]-[revision].[ext]" @@ -166,7 +168,9 @@ configurations { dependencies { provided "appeng:RotaryCraft:${config.rotc.version}:api" - provided "appeng:appliedenergistics2:${config.ae2.version}:dev" + provided ("appeng:appliedenergistics2:${config.ae2.version}:dev") { + exclude module: 'buildcraft' + } provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.ccl.version}:dev" provided "codechicken:EnderStorage:${config.minecraft.version}-${config.es.version}:dev" provided "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev" @@ -182,14 +186,17 @@ dependencies { provided "notenoughkeys:NeK:${config.minecraft.version}-${config.nek.version}:deobf-dev" provided "qmunity:QmunityLib:${config.qmunitylib.version}:deobf" provided "tmech:TMechworks:${config.minecraft.version}-${config.tmech.version}:deobf" + provided ("mrtjp:ProjectRed:${config.projred.version}:dev") { + exclude module: 'CoFHCore' + } - provided name: "buildcraft", version: "${config.bc.version}", classifier: "dev", ext: 'jar' + provided name: 'buildcraft', version: config.bc.version, classifier: "dev", ext: 'jar' provided name: 'GalacticraftCoreAll', version: config.gc.version, ext: 'jar' provided name: 'MekanismAll', version: config.mekanism.version, ext: 'jar' - provided name: 'ProjectRed', version: config.projred.version, ext: 'jar' provided name: 'redlogic', version: config.redlogic.version, ext: 'jar' provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' + provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' provided name: 'MineFactoryReloaded', version: config.mfr.version, ext: 'jar' provided name: 'ComputerCraft', version: config.cc.version, ext: 'jar' provided name: 'EnderIO', version: config.eio.version, ext: 'jar' diff --git a/build.properties b/build.properties index e22e68f43..b71d7d412 100644 --- a/build.properties +++ b/build.properties @@ -32,7 +32,7 @@ mfr.cf=2229/626 mfr.version=[1.7.10]2.8.0RC8-86 nei.version=1.0.3.57 nek.version=1.0.0b35dev -projred.version=4.7.0pre2.87 +projred.version=1.7.10-4.6.2.82 qmunitylib.version=0.1.105 rc.cf=2219/321 rc.version=1.7.10-9.4.0.0 @@ -42,5 +42,7 @@ tmech.version=75.0afb56c re.version=3.0.0.342 waila.version=1.5.8a wrcbe.version=1.4.1.2 +cofhcore.cf=2246/697 +cofhcore.version=[1.7.10]3.0.3B4-302-dev maven.url=file:///home/www/maven.cil.li/web \ No newline at end of file From 4305aae16d512362d44a861da5bf93653a2efca9 Mon Sep 17 00:00:00 2001 From: Kubuxu Date: Sun, 12 Jul 2015 11:08:41 +0200 Subject: [PATCH 6/9] Make hollow covers from FMP close on Cables --- src/main/scala/li/cil/oc/integration/fmp/CablePart.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala b/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala index 652c57049..db5d27990 100644 --- a/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala +++ b/src/main/scala/li/cil/oc/integration/fmp/CablePart.scala @@ -4,6 +4,7 @@ import codechicken.lib.data.MCDataInput import codechicken.lib.data.MCDataOutput import codechicken.lib.vec.Cuboid6 import codechicken.lib.vec.Vector3 +import codechicken.microblock.ISidedHollowConnect import codechicken.multipart._ import cpw.mods.fml.relauncher.Side import cpw.mods.fml.relauncher.SideOnly @@ -31,7 +32,7 @@ import net.minecraft.util.MovingObjectPosition import scala.collection.convert.WrapAsJava import scala.collection.convert.WrapAsScala._ -class CablePart(val original: Option[tileentity.Cable] = None) extends SimpleBlockPart with TCuboidPart with TNormalOcclusion with network.Environment { +class CablePart(val original: Option[tileentity.Cable] = None) extends SimpleBlockPart with TCuboidPart with TSlottedPart with ISidedHollowConnect with TNormalOcclusion with network.Environment { val node = api.Network.newNode(this, Visibility.None).create() private var _color = Color.LightGray @@ -68,6 +69,11 @@ class CablePart(val original: Option[tileentity.Cable] = None) extends SimpleBlo override def getRenderBounds = new Cuboid6(Cable.bounds(world, x, y, z).offset(x, y, z)) + override def getHollowSize(side: Int) = 4 // 4 pixels as this is width of cable. + + override def getSlotMask = 1 << 6 // 6 is center part. + + // ----------------------------------------------------------------------- // override def activate(player: EntityPlayer, hit: MovingObjectPosition, item: ItemStack) = { From 5a9a6ef3bc0fa2c19413f6df39821d2d83ed5faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 12 Jul 2015 13:57:53 +0200 Subject: [PATCH 7/9] Make assembler render without fake full bright to avoid Colored Lights' rendering to break. Also added Colored Lights integration while I was at it. --- build.gradle | 7 +++++- build.properties | 1 + .../oc/client/renderer/block/Assembler.scala | 5 ++-- .../li/cil/oc/common/block/Assembler.scala | 3 ++- .../li/cil/oc/common/block/Capacitor.scala | 5 +++- .../li/cil/oc/common/block/Geolyzer.scala | 3 ++- .../li/cil/oc/common/block/Hologram.scala | 3 ++- .../oc/common/block/PowerDistributor.scala | 3 ++- .../scala/li/cil/oc/common/block/Screen.scala | 3 ++- .../scala/li/cil/oc/integration/Mods.scala | 2 ++ .../coloredlights/ModColoredLights.scala | 25 +++++++++++++++++++ 11 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 src/main/scala/li/cil/oc/integration/coloredlights/ModColoredLights.scala diff --git a/build.gradle b/build.gradle index c85d53611..2ad68a282 100644 --- a/build.gradle +++ b/build.gradle @@ -110,6 +110,10 @@ repositories { name 'ProjectRed' url 'http://files.projectredwiki.com/maven/' } + maven { + name 'ColoredLightCore' + url "http://coloredlightscore.us.to/maven/clc/" + } ivy { name "BuildCraft" artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" @@ -185,8 +189,9 @@ dependencies { provided "qmunity:QmunityLib:${config.qmunitylib.version}:deobf" provided "tmech:TMechworks:${config.minecraft.version}-${config.tmech.version}:deobf" provided("mrtjp:ProjectRed:${config.projred.version}:dev") { - exclude module: 'CoFHCore' + exclude module: 'CoFHCore' } + provided "coloredlightscore:ColoredLightsCore:${config.coloredlights.version}:api" provided name: 'buildcraft', version: config.bc.version, classifier: "dev", ext: 'jar' provided name: 'GalacticraftCoreAll', version: config.gc.version, ext: 'jar' diff --git a/build.properties b/build.properties index b71d7d412..2c2e55c76 100644 --- a/build.properties +++ b/build.properties @@ -14,6 +14,7 @@ cc.version=1.73 ccl.version=1.1.1.104 cofhlib.cf=2230/207 cofhlib.version=[1.7.10]1.0.0RC7-127 +coloredlights.version=1.3.7.35 ec.cf=2242/839 ec.version=deobf-1.7.10-2.2.73b129 eio.cf=2219/296 diff --git a/src/main/scala/li/cil/oc/client/renderer/block/Assembler.scala b/src/main/scala/li/cil/oc/client/renderer/block/Assembler.scala index c2509c521..20b104df0 100644 --- a/src/main/scala/li/cil/oc/client/renderer/block/Assembler.scala +++ b/src/main/scala/li/cil/oc/client/renderer/block/Assembler.scala @@ -4,6 +4,7 @@ import li.cil.oc.client.Textures import li.cil.oc.util.RenderState import net.minecraft.block.Block import net.minecraft.client.renderer.RenderBlocks +import net.minecraft.client.renderer.RenderHelper import org.lwjgl.opengl.GL11 object Assembler { @@ -55,7 +56,7 @@ object Assembler { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS) RenderState.makeItBlend() - RenderState.disableLighting() + RenderHelper.disableStandardItemLighting() renderer.setOverrideBlockTexture(Textures.Assembler.iconTopOn) renderer.setRenderBounds(0, 0, 0, 1, 1.05, 1) @@ -70,7 +71,7 @@ object Assembler { BlockRenderer.renderFaceZNeg(block, metadata, renderer) renderer.clearOverrideBlockTexture() - RenderState.enableLighting() + RenderHelper.enableStandardItemLighting() GL11.glPopAttrib() } } diff --git a/src/main/scala/li/cil/oc/common/block/Assembler.scala b/src/main/scala/li/cil/oc/common/block/Assembler.scala index d5621d5d6..b3f56932e 100644 --- a/src/main/scala/li/cil/oc/common/block/Assembler.scala +++ b/src/main/scala/li/cil/oc/common/block/Assembler.scala @@ -4,13 +4,14 @@ import li.cil.oc.Settings import li.cil.oc.client.Textures import li.cil.oc.common.GuiType import li.cil.oc.common.tileentity +import li.cil.oc.integration.coloredlights.ModColoredLights import net.minecraft.client.renderer.texture.IIconRegister import net.minecraft.world.IBlockAccess import net.minecraft.world.World import net.minecraftforge.common.util.ForgeDirection class Assembler extends SimpleBlock with traits.SpecialBlock with traits.PowerAcceptor with traits.StateAware with traits.GUI { - setLightLevel(0.34f) + ModColoredLights.setLightLevel(this, 0, 3, 5) override protected def customTextures = Array( None, diff --git a/src/main/scala/li/cil/oc/common/block/Capacitor.scala b/src/main/scala/li/cil/oc/common/block/Capacitor.scala index 136e5e798..c98579e37 100644 --- a/src/main/scala/li/cil/oc/common/block/Capacitor.scala +++ b/src/main/scala/li/cil/oc/common/block/Capacitor.scala @@ -3,11 +3,14 @@ package li.cil.oc.common.block import java.util.Random import li.cil.oc.common.tileentity +import li.cil.oc.integration.Mods +import li.cil.oc.integration.coloredlights.ModColoredLights import net.minecraft.block.Block import net.minecraft.world.World class Capacitor extends SimpleBlock { - setLightLevel(0.34f) + ModColoredLights.setLightLevel(this, 5, 5, 5) + setTickRandomly(true) override protected def customTextures = Array( diff --git a/src/main/scala/li/cil/oc/common/block/Geolyzer.scala b/src/main/scala/li/cil/oc/common/block/Geolyzer.scala index 03f7f4284..b79c2ea03 100644 --- a/src/main/scala/li/cil/oc/common/block/Geolyzer.scala +++ b/src/main/scala/li/cil/oc/common/block/Geolyzer.scala @@ -3,11 +3,12 @@ package li.cil.oc.common.block import li.cil.oc.Settings import li.cil.oc.client.Textures import li.cil.oc.common.tileentity +import li.cil.oc.integration.coloredlights.ModColoredLights import net.minecraft.client.renderer.texture.IIconRegister import net.minecraft.world.World class Geolyzer extends SimpleBlock { - setLightLevel(0.14f) + ModColoredLights.setLightLevel(this, 3, 1, 1) override protected def customTextures = Array( None, diff --git a/src/main/scala/li/cil/oc/common/block/Hologram.scala b/src/main/scala/li/cil/oc/common/block/Hologram.scala index 06da52a63..069e4b200 100644 --- a/src/main/scala/li/cil/oc/common/block/Hologram.scala +++ b/src/main/scala/li/cil/oc/common/block/Hologram.scala @@ -5,6 +5,7 @@ import java.util import cpw.mods.fml.relauncher.Side import cpw.mods.fml.relauncher.SideOnly import li.cil.oc.common.tileentity +import li.cil.oc.integration.coloredlights.ModColoredLights import li.cil.oc.util.Rarity import li.cil.oc.util.Tooltip import net.minecraft.entity.player.EntityPlayer @@ -14,7 +15,7 @@ import net.minecraft.world.World import net.minecraftforge.common.util.ForgeDirection class Hologram(val tier: Int) extends SimpleBlock with traits.SpecialBlock { - setLightLevel(1) + ModColoredLights.setLightLevel(this, 15, 15, 15) setBlockBounds(0, 0, 0, 1, 0.5f, 1) // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala b/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala index 97f216e23..f2f88120f 100644 --- a/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala +++ b/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala @@ -3,11 +3,12 @@ package li.cil.oc.common.block import li.cil.oc.Settings import li.cil.oc.client.Textures import li.cil.oc.common.tileentity +import li.cil.oc.integration.coloredlights.ModColoredLights import net.minecraft.client.renderer.texture.IIconRegister import net.minecraft.world.World class PowerDistributor extends SimpleBlock { - setLightLevel(0.34f) + ModColoredLights.setLightLevel(this, 5, 5, 3) override protected def customTextures = Array( None, diff --git a/src/main/scala/li/cil/oc/common/block/Screen.scala b/src/main/scala/li/cil/oc/common/block/Screen.scala index df519361e..58e8fefcb 100644 --- a/src/main/scala/li/cil/oc/common/block/Screen.scala +++ b/src/main/scala/li/cil/oc/common/block/Screen.scala @@ -10,6 +10,7 @@ import li.cil.oc.Settings import li.cil.oc.api import li.cil.oc.common.GuiType import li.cil.oc.common.tileentity +import li.cil.oc.integration.coloredlights.ModColoredLights import li.cil.oc.integration.util.Wrench import li.cil.oc.util._ import net.minecraft.client.Minecraft @@ -25,7 +26,7 @@ import net.minecraft.world.World import net.minecraftforge.common.util.ForgeDirection class Screen(val tier: Int) extends RedstoneAware { - setLightLevel(0.34f) + ModColoredLights.setLightLevel(this, 5, 5, 5) override def isSideSolid(world: IBlockAccess, x: Int, y: Int, z: Int, side: ForgeDirection) = toLocal(world, x, y, z, side) != ForgeDirection.SOUTH diff --git a/src/main/scala/li/cil/oc/integration/Mods.scala b/src/main/scala/li/cil/oc/integration/Mods.scala index 97b410ff7..4a508be9d 100644 --- a/src/main/scala/li/cil/oc/integration/Mods.scala +++ b/src/main/scala/li/cil/oc/integration/Mods.scala @@ -32,6 +32,7 @@ object Mods { val CoFHItem = new SimpleMod(IDs.CoFHItem) val CoFHTileEntity = new SimpleMod(IDs.CoFHTileEntity) val CoFHTransport = new SimpleMod(IDs.CoFHTransport) + val ColoredLights = new SimpleMod(IDs.ColoredLights) val ComputerCraft = new SimpleMod(IDs.ComputerCraft, version = "@[1.73,)") val CraftingCosts = new SimpleMod(IDs.CraftingCosts) val DeepStorageUnit = new ClassBasedMod(IDs.DeepStorageUnit, "powercrystals.minefactoryreloaded.api.IDeepStorageUnit")() @@ -166,6 +167,7 @@ object Mods { final val CoFHItem = "CoFHAPI|item" final val CoFHTileEntity = "CoFHAPI|tileentity" final val CoFHTransport = "CoFHAPI|transport" + final val ColoredLights = "easycoloredlights" final val ComputerCraft = "ComputerCraft" final val CraftingCosts = "CraftingCosts" final val ElectricalAge = "Eln" diff --git a/src/main/scala/li/cil/oc/integration/coloredlights/ModColoredLights.scala b/src/main/scala/li/cil/oc/integration/coloredlights/ModColoredLights.scala new file mode 100644 index 000000000..c52697549 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/coloredlights/ModColoredLights.scala @@ -0,0 +1,25 @@ +package li.cil.oc.integration.coloredlights + +import coloredlightscore.src.api.CLApi +import li.cil.oc.integration.Mods +import net.minecraft.block.Block + +// Doesn't need initialization, just a thin wrapper for block light value initialization. +object ModColoredLights { + def setLightLevel(block: Block, r: Int, g: Int, b: Int): Unit = { + // Extra layer of indirection because I've learned to be paranoid when it comes to class loading... + if (Mods.ColoredLights.isAvailable) + setColoredLightLevel(block, r, g, b) + else + setPlainLightLevel(block, r, g, b) + } + + private def setColoredLightLevel(block: Block, r: Int, g: Int, b: Int): Unit = { + CLApi.setBlockColorRGB(block, r, g, b) + } + + private def setPlainLightLevel(block: Block, r: Int, g: Int, b: Int): Unit = { + val brightness = Array(r, g, b).max + block.setLightLevel((brightness + 0.1f) / 15f) + } +} From 0fa31e854e734136f386f64cc2b2006602083519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 12 Jul 2015 13:58:10 +0200 Subject: [PATCH 8/9] Version bump. --- build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.properties b/build.properties index 2c2e55c76..98e9f2ea4 100644 --- a/build.properties +++ b/build.properties @@ -1,7 +1,7 @@ minecraft.version=1.7.10 forge.version=10.13.4.1448-1.7.10 -oc.version=1.5.13 +oc.version=1.5.14 oc.subversion=dev ae2.version=rv2-beta-26 From f1360f81581800460ff916b5f7646f39e7358e51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 12 Jul 2015 14:04:28 +0200 Subject: [PATCH 9/9] Make redstone visually connect to net splitter. Closes #1293. --- src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala b/src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala index 4922243a2..60c37b5db 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala @@ -13,6 +13,8 @@ import net.minecraftforge.common.util.ForgeDirection class NetSplitter extends traits.Environment with traits.RedstoneAware with api.network.SidedEnvironment { private final val SideCount = ForgeDirection.VALID_DIRECTIONS.length + _isOutputEnabled = true + val node = api.Network.newNode(this, Visibility.None). create()