mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-19 04:06:43 -04:00
remove improper getDamage() override from Cable, fix #3004
This commit is contained in:
parent
a7f93408d7
commit
112ca93155
@ -77,6 +77,7 @@ private[oc] class Proxy extends CommonProxy {
|
|||||||
ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Transposer], TransposerRenderer)
|
ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Transposer], TransposerRenderer)
|
||||||
|
|
||||||
MinecraftForgeClient.registerItemRenderer(Items.get(Constants.ItemName.Floppy).createItemStack(1).getItem, ItemRenderer)
|
MinecraftForgeClient.registerItemRenderer(Items.get(Constants.ItemName.Floppy).createItemStack(1).getItem, ItemRenderer)
|
||||||
|
MinecraftForgeClient.registerItemRenderer(Items.get(Constants.BlockName.Cable).createItemStack(1).getItem, ItemRenderer)
|
||||||
MinecraftForgeClient.registerItemRenderer(Items.get(Constants.BlockName.Print).createItemStack(1).getItem, ItemRenderer)
|
MinecraftForgeClient.registerItemRenderer(Items.get(Constants.BlockName.Print).createItemStack(1).getItem, ItemRenderer)
|
||||||
|
|
||||||
ClientRegistry.registerKeyBinding(KeyBindings.materialCosts)
|
ClientRegistry.registerKeyBinding(KeyBindings.materialCosts)
|
||||||
|
@ -31,14 +31,6 @@ object BlockRenderer extends ISimpleBlockRenderingHandler {
|
|||||||
Tessellator.instance.draw()
|
Tessellator.instance.draw()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderInventoryBlock: assembler")
|
RenderState.checkError(getClass.getName + ".renderInventoryBlock: assembler")
|
||||||
case _: common.block.Cable =>
|
|
||||||
GL11.glScalef(1.6f, 1.6f, 1.6f)
|
|
||||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f)
|
|
||||||
Tessellator.instance.startDrawingQuads()
|
|
||||||
Cable.render(block, metadata, renderer)
|
|
||||||
Tessellator.instance.draw()
|
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderInventoryBlock: cable")
|
|
||||||
case _: common.block.Hologram =>
|
case _: common.block.Hologram =>
|
||||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f)
|
GL11.glTranslatef(-0.5f, -0.5f, -0.5f)
|
||||||
Tessellator.instance.startDrawingQuads()
|
Tessellator.instance.startDrawingQuads()
|
||||||
|
@ -5,7 +5,8 @@ import li.cil.oc.client.Textures
|
|||||||
import li.cil.oc.common
|
import li.cil.oc.common
|
||||||
import li.cil.oc.integration.Mods
|
import li.cil.oc.integration.Mods
|
||||||
import net.minecraft.block.Block
|
import net.minecraft.block.Block
|
||||||
import net.minecraft.client.renderer.RenderBlocks
|
import net.minecraft.client.renderer.{RenderBlocks, Tessellator}
|
||||||
|
import net.minecraft.item.{ItemBlock, ItemStack}
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
import net.minecraft.util.AxisAlignedBB
|
import net.minecraft.util.AxisAlignedBB
|
||||||
import net.minecraft.world.IBlockAccess
|
import net.minecraft.world.IBlockAccess
|
||||||
@ -52,7 +53,10 @@ object Cable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def render(block: Block, metadata: Int, renderer: RenderBlocks) {
|
def render(stack: ItemStack, renderer: RenderBlocks) {
|
||||||
|
val block = stack.getItem.asInstanceOf[ItemBlock].field_150939_a
|
||||||
|
val metadata = 0
|
||||||
|
|
||||||
val previousRenderAllFaces = renderer.renderAllFaces
|
val previousRenderAllFaces = renderer.renderAllFaces
|
||||||
renderer.renderAllFaces = true
|
renderer.renderAllFaces = true
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import li.cil.oc.Settings
|
|||||||
import li.cil.oc.api
|
import li.cil.oc.api
|
||||||
import li.cil.oc.api.detail.ItemInfo
|
import li.cil.oc.api.detail.ItemInfo
|
||||||
import li.cil.oc.client.KeyBindings
|
import li.cil.oc.client.KeyBindings
|
||||||
import li.cil.oc.client.renderer.block.Print
|
import li.cil.oc.client.renderer.block.{Cable, Hologram, Print}
|
||||||
import li.cil.oc.client.renderer.entity.DroneRenderer
|
import li.cil.oc.client.renderer.entity.DroneRenderer
|
||||||
import li.cil.oc.common.item.data.PrintData
|
import li.cil.oc.common.item.data.PrintData
|
||||||
import li.cil.oc.util.Color
|
import li.cil.oc.util.Color
|
||||||
@ -14,6 +14,7 @@ import li.cil.oc.util.ExtendedAABB
|
|||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.gui.ScaledResolution
|
import net.minecraft.client.gui.ScaledResolution
|
||||||
|
import net.minecraft.client.renderer.{RenderBlocks, Tessellator}
|
||||||
import net.minecraft.client.renderer.entity.RenderItem
|
import net.minecraft.client.renderer.entity.RenderItem
|
||||||
import net.minecraft.client.renderer.entity.RenderManager
|
import net.minecraft.client.renderer.entity.RenderManager
|
||||||
import net.minecraft.client.renderer.texture.TextureMap
|
import net.minecraft.client.renderer.texture.TextureMap
|
||||||
@ -35,6 +36,7 @@ object ItemRenderer extends IItemRenderer {
|
|||||||
lazy val floppy = api.Items.get(Constants.ItemName.Floppy)
|
lazy val floppy = api.Items.get(Constants.ItemName.Floppy)
|
||||||
lazy val lootDisk = api.Items.get(Constants.ItemName.LootDisk)
|
lazy val lootDisk = api.Items.get(Constants.ItemName.LootDisk)
|
||||||
lazy val print = api.Items.get(Constants.BlockName.Print)
|
lazy val print = api.Items.get(Constants.BlockName.Print)
|
||||||
|
lazy val cable = api.Items.get(Constants.BlockName.Cable)
|
||||||
|
|
||||||
lazy val nullShape = new PrintData.Shape(ExtendedAABB.unitBounds, Settings.resourceDomain + ":White", Some(Color.Lime))
|
lazy val nullShape = new PrintData.Shape(ExtendedAABB.unitBounds, Settings.resourceDomain + ":White", Some(Color.Lime))
|
||||||
|
|
||||||
@ -44,12 +46,14 @@ object ItemRenderer extends IItemRenderer {
|
|||||||
val descriptor = api.Items.get(stack)
|
val descriptor = api.Items.get(stack)
|
||||||
(renderType == ItemRenderType.INVENTORY && isFloppy(api.Items.get(stack))) ||
|
(renderType == ItemRenderType.INVENTORY && isFloppy(api.Items.get(stack))) ||
|
||||||
((renderType == ItemRenderType.INVENTORY || renderType == ItemRenderType.ENTITY || renderType == ItemRenderType.EQUIPPED || renderType == ItemRenderType.EQUIPPED_FIRST_PERSON) && descriptor == drone) ||
|
((renderType == ItemRenderType.INVENTORY || renderType == ItemRenderType.ENTITY || renderType == ItemRenderType.EQUIPPED || renderType == ItemRenderType.EQUIPPED_FIRST_PERSON) && descriptor == drone) ||
|
||||||
|
((renderType == ItemRenderType.INVENTORY || renderType == ItemRenderType.ENTITY || renderType == ItemRenderType.EQUIPPED || renderType == ItemRenderType.EQUIPPED_FIRST_PERSON) && descriptor == cable) ||
|
||||||
((renderType == ItemRenderType.INVENTORY || renderType == ItemRenderType.ENTITY || renderType == ItemRenderType.EQUIPPED || renderType == ItemRenderType.EQUIPPED_FIRST_PERSON) && api.Items.get(stack) == print)
|
((renderType == ItemRenderType.INVENTORY || renderType == ItemRenderType.ENTITY || renderType == ItemRenderType.EQUIPPED || renderType == ItemRenderType.EQUIPPED_FIRST_PERSON) && api.Items.get(stack) == print)
|
||||||
}
|
}
|
||||||
|
|
||||||
override def shouldUseRenderHelper(renderType: ItemRenderType, stack: ItemStack, helper: ItemRendererHelper) =
|
override def shouldUseRenderHelper(renderType: ItemRenderType, stack: ItemStack, helper: ItemRendererHelper) =
|
||||||
if (renderType == ItemRenderType.ENTITY) true
|
if (renderType == ItemRenderType.ENTITY) true
|
||||||
else if (renderType == ItemRenderType.INVENTORY && api.Items.get(stack) == print) helper == ItemRendererHelper.INVENTORY_BLOCK
|
else if (renderType == ItemRenderType.INVENTORY && api.Items.get(stack) == print) helper == ItemRendererHelper.INVENTORY_BLOCK
|
||||||
|
else if (api.Items.get(stack) == cable) true
|
||||||
// Note: it's easier to revert changes introduced by this "helper" than by
|
// Note: it's easier to revert changes introduced by this "helper" than by
|
||||||
// the code that applies if no helper is used...
|
// the code that applies if no helper is used...
|
||||||
else helper == ItemRendererHelper.EQUIPPED_BLOCK
|
else helper == ItemRendererHelper.EQUIPPED_BLOCK
|
||||||
@ -144,6 +148,28 @@ object ItemRenderer extends IItemRenderer {
|
|||||||
RenderState.checkError("ItemRenderer.renderItem: print")
|
RenderState.checkError("ItemRenderer.renderItem: print")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (descriptor == cable) {
|
||||||
|
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS)
|
||||||
|
GL11.glPushMatrix()
|
||||||
|
|
||||||
|
Minecraft.getMinecraft.renderEngine.bindTexture(TextureMap.locationBlocksTexture)
|
||||||
|
|
||||||
|
GL11.glScalef(1.5f, 1.5f, 1.5f)
|
||||||
|
if (renderType == ItemRenderType.ENTITY) {
|
||||||
|
GL11.glTranslatef(-0.5f, 0, -0.5f)
|
||||||
|
}
|
||||||
|
|
||||||
|
Tessellator.instance.startDrawingQuads()
|
||||||
|
Tessellator.instance.setColorOpaque_I(stack.getItem.getColorFromItemStack(stack, 0))
|
||||||
|
Cable.render(stack, data(0).asInstanceOf[RenderBlocks])
|
||||||
|
Tessellator.instance.draw()
|
||||||
|
|
||||||
|
GL11.glPopMatrix()
|
||||||
|
GL11.glPopAttrib()
|
||||||
|
|
||||||
|
RenderState.checkError("ItemRenderer.renderItem: print")
|
||||||
|
}
|
||||||
|
|
||||||
RenderState.checkError("ItemRenderer.renderItem: leaving")
|
RenderState.checkError("ItemRenderer.renderItem: leaving")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package li.cil.oc.common.block
|
package li.cil.oc.common.block
|
||||||
|
|
||||||
import java.util
|
import java.util
|
||||||
|
|
||||||
import codechicken.lib.vec.Cuboid6
|
import codechicken.lib.vec.Cuboid6
|
||||||
import codechicken.multipart.JNormalOcclusion
|
import codechicken.multipart.JNormalOcclusion
|
||||||
import codechicken.multipart.NormalOcclusionTest
|
import codechicken.multipart.NormalOcclusionTest
|
||||||
@ -17,7 +16,7 @@ import li.cil.oc.client.Textures
|
|||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import li.cil.oc.integration.Mods
|
import li.cil.oc.integration.Mods
|
||||||
import li.cil.oc.integration.fmp.CablePart
|
import li.cil.oc.integration.fmp.CablePart
|
||||||
import li.cil.oc.util.Color
|
import li.cil.oc.util.{Color, ItemColorizer}
|
||||||
import net.minecraft.block.Block
|
import net.minecraft.block.Block
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister
|
import net.minecraft.client.renderer.texture.IIconRegister
|
||||||
import net.minecraft.entity.{Entity, EntityLivingBase}
|
import net.minecraft.entity.{Entity, EntityLivingBase}
|
||||||
@ -63,9 +62,6 @@ class Cable(protected implicit val tileTag: ClassTag[tileentity.Cable]) extends
|
|||||||
|
|
||||||
override def isSideSolid(world: IBlockAccess, x: Int, y: Int, z: Int, side: ForgeDirection) = false
|
override def isSideSolid(world: IBlockAccess, x: Int, y: Int, z: Int, side: ForgeDirection) = false
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
override def getRenderColor(metadata: Int) = metadata
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
override def getPickBlock(target: MovingObjectPosition, world: World, x: Int, y: Int, z: Int) =
|
override def getPickBlock(target: MovingObjectPosition, world: World, x: Int, y: Int, z: Int) =
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
package li.cil.oc.common.block
|
package li.cil.oc.common.block
|
||||||
|
|
||||||
import java.util
|
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
||||||
|
|
||||||
|
import java.util
|
||||||
import li.cil.oc.Constants
|
import li.cil.oc.Constants
|
||||||
import li.cil.oc.Settings
|
import li.cil.oc.Settings
|
||||||
import li.cil.oc.api
|
import li.cil.oc.api
|
||||||
@ -64,14 +65,15 @@ class Item(value: Block) extends ItemBlock(value) {
|
|||||||
case _ => Settings.namespace + "tile"
|
case _ => Settings.namespace + "tile"
|
||||||
}
|
}
|
||||||
|
|
||||||
override def getDamage(stack: ItemStack): Int = {
|
@SideOnly(Side.CLIENT)
|
||||||
|
override def getColorFromItemStack(stack: ItemStack, v: Int) = {
|
||||||
if (api.Items.get(stack) == api.Items.get(Constants.BlockName.Cable)) {
|
if (api.Items.get(stack) == api.Items.get(Constants.BlockName.Cable)) {
|
||||||
if (ItemColorizer.hasColor(stack)) {
|
if (ItemColorizer.hasColor(stack)) {
|
||||||
ItemColorizer.getColor(stack)
|
ItemColorizer.getColor(stack)
|
||||||
}
|
}
|
||||||
else Color.LightGray
|
else Color.LightGray
|
||||||
}
|
}
|
||||||
else super.getDamage(stack)
|
else super.getColorFromItemStack(stack, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
override def isBookEnchantable(a: ItemStack, b: ItemStack) = false
|
override def isBookEnchantable(a: ItemStack, b: ItemStack) = false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user