mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-17 19:25:20 -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)
|
||||
|
||||
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)
|
||||
|
||||
ClientRegistry.registerKeyBinding(KeyBindings.materialCosts)
|
||||
|
@ -31,14 +31,6 @@ object BlockRenderer extends ISimpleBlockRenderingHandler {
|
||||
Tessellator.instance.draw()
|
||||
|
||||
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 =>
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f)
|
||||
Tessellator.instance.startDrawingQuads()
|
||||
|
@ -5,7 +5,8 @@ import li.cil.oc.client.Textures
|
||||
import li.cil.oc.common
|
||||
import li.cil.oc.integration.Mods
|
||||
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.util.AxisAlignedBB
|
||||
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
|
||||
renderer.renderAllFaces = true
|
||||
|
||||
|
@ -6,7 +6,7 @@ import li.cil.oc.Settings
|
||||
import li.cil.oc.api
|
||||
import li.cil.oc.api.detail.ItemInfo
|
||||
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.common.item.data.PrintData
|
||||
import li.cil.oc.util.Color
|
||||
@ -14,6 +14,7 @@ import li.cil.oc.util.ExtendedAABB
|
||||
import li.cil.oc.util.RenderState
|
||||
import net.minecraft.client.Minecraft
|
||||
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.RenderManager
|
||||
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 lootDisk = api.Items.get(Constants.ItemName.LootDisk)
|
||||
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))
|
||||
|
||||
@ -44,12 +46,14 @@ object ItemRenderer extends IItemRenderer {
|
||||
val descriptor = 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 == cable) ||
|
||||
((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) =
|
||||
if (renderType == ItemRenderType.ENTITY) true
|
||||
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
|
||||
// the code that applies if no helper is used...
|
||||
else helper == ItemRendererHelper.EQUIPPED_BLOCK
|
||||
@ -144,6 +148,28 @@ object ItemRenderer extends IItemRenderer {
|
||||
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")
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
package li.cil.oc.common.block
|
||||
|
||||
import java.util
|
||||
|
||||
import codechicken.lib.vec.Cuboid6
|
||||
import codechicken.multipart.JNormalOcclusion
|
||||
import codechicken.multipart.NormalOcclusionTest
|
||||
@ -17,7 +16,7 @@ import li.cil.oc.client.Textures
|
||||
import li.cil.oc.common.tileentity
|
||||
import li.cil.oc.integration.Mods
|
||||
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.client.renderer.texture.IIconRegister
|
||||
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
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
override def getRenderColor(metadata: Int) = metadata
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def getPickBlock(target: MovingObjectPosition, world: World, x: Int, y: Int, z: Int) =
|
||||
|
@ -1,7 +1,8 @@
|
||||
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.Settings
|
||||
import li.cil.oc.api
|
||||
@ -64,14 +65,15 @@ class Item(value: Block) extends ItemBlock(value) {
|
||||
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 (ItemColorizer.hasColor(stack)) {
|
||||
ItemColorizer.getColor(stack)
|
||||
}
|
||||
else Color.LightGray
|
||||
}
|
||||
else super.getDamage(stack)
|
||||
else super.getColorFromItemStack(stack, v)
|
||||
}
|
||||
|
||||
override def isBookEnchantable(a: ItemStack, b: ItemStack) = false
|
||||
|
Loading…
x
Reference in New Issue
Block a user