Some work on glass jar item rendering
This commit is contained in:
parent
d3ebaac06d
commit
3c70f362a4
|
@ -23,6 +23,7 @@ item.resonantinduction:oreRefinedDust.name=%v Refined Dust
|
|||
item.resonantinduction:oreRubble.name=%v Rubble
|
||||
item.resonantinduction:bucketMixture.name=%v Bucket
|
||||
item.resonantinduction:bucketMolten.name=%v Bucket
|
||||
item.resonantinduction:bucketMolten.name=%v Bucket
|
||||
|
||||
#Misc
|
||||
misc.ingot=Ingot
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
package resonantinduction.archaic.process.mixing
|
||||
|
||||
import java.util
|
||||
|
||||
import net.minecraft.block.Block
|
||||
import net.minecraft.entity.Entity
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.world.World
|
||||
import org.lwjgl.input.Keyboard
|
||||
import resonant.lib.prefab.tile.item.ItemBlockSaved
|
||||
import resonant.lib.render.EnumColor
|
||||
import resonant.lib.transform.vector.{IVector3, Vector3}
|
||||
import resonant.lib.utility.nbt.NBTUtility
|
||||
import resonant.lib.wrapper.StringWrapper._
|
||||
import resonant.lib.wrapper.WrapList._
|
||||
import resonantinduction.core.resource.Alloy
|
||||
|
||||
/**
|
||||
* The ItemBlock for the glass jar
|
||||
|
@ -17,6 +24,22 @@ class ItemGlassJar(block: Block) extends ItemBlockSaved(block)
|
|||
{
|
||||
var lastLook: Vector3 = null
|
||||
|
||||
override def addInformation(itemStack: ItemStack, player: EntityPlayer, list: util.List[_], par4: Boolean)
|
||||
{
|
||||
super.addInformation(itemStack, player, list, par4)
|
||||
|
||||
if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))
|
||||
{
|
||||
list.add("tooltip.noShift".getLocal.replace("#0", EnumColor.AQUA.toString).replace("#1", EnumColor.GREY.toString))
|
||||
}
|
||||
else
|
||||
{
|
||||
val nbt = NBTUtility.getNBTTagCompound(itemStack)
|
||||
val alloy = new Alloy(nbt)
|
||||
alloy.content.map(c => EnumColor.ORANGE + c._1.capitalizeFirst + EnumColor.DARK_RED + " " + Math.round(alloy.percentage(c._1) * 100) + "%").foreach(m => list.add(m))
|
||||
}
|
||||
}
|
||||
|
||||
override def onUpdate(stack: ItemStack, world: World, entity: Entity, p_77663_4_ : Int, p_77663_5_ : Boolean): Unit =
|
||||
{
|
||||
val player = entity.asInstanceOf[EntityPlayer]
|
||||
|
|
|
@ -11,8 +11,10 @@ import net.minecraft.entity.player.EntityPlayer
|
|||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.nbt.NBTTagCompound
|
||||
import net.minecraft.util.ResourceLocation
|
||||
import net.minecraftforge.client.IItemRenderer.ItemRenderType
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader
|
||||
import org.lwjgl.opengl.GL11
|
||||
import resonant.api.items.ISimpleItemRenderer
|
||||
import resonant.lib.factory.resources.item.TItemResource
|
||||
import resonant.lib.network.discriminator.PacketType
|
||||
import resonant.lib.network.handle.{TPacketReceiver, TPacketSender}
|
||||
|
@ -23,6 +25,7 @@ import resonant.lib.render.model.ModelCube
|
|||
import resonant.lib.transform.region.Cuboid
|
||||
import resonant.lib.transform.vector.Vector3
|
||||
import resonant.lib.utility.inventory.InventoryUtility
|
||||
import resonant.lib.utility.nbt.NBTUtility
|
||||
import resonant.lib.wrapper.ByteBufWrapper._
|
||||
import resonantinduction.core.Reference
|
||||
import resonantinduction.core.resource.Alloy
|
||||
|
@ -38,7 +41,7 @@ object TileGlassJar
|
|||
val dustMaterialTexture = new ResourceLocation(Reference.domain, Reference.blockTextureDirectory + "material_sand.png")
|
||||
}
|
||||
|
||||
class TileGlassJar extends SpatialTile(Material.wood) with TPacketReceiver with TPacketSender
|
||||
class TileGlassJar extends SpatialTile(Material.wood) with TPacketReceiver with TPacketSender with ISimpleItemRenderer
|
||||
{
|
||||
var alloy = new Alloy(8)
|
||||
var mixed = false
|
||||
|
@ -87,6 +90,11 @@ class TileGlassJar extends SpatialTile(Material.wood) with TPacketReceiver with
|
|||
InventoryUtility.dropItemStack(world, center, stack)
|
||||
}
|
||||
|
||||
override def renderInventoryItem(`type`: ItemRenderType, itemStack: ItemStack, data: AnyRef*): Unit =
|
||||
{
|
||||
renderInventory(itemStack)
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
override def renderInventory(itemStack: ItemStack): Unit =
|
||||
{
|
||||
|
@ -118,10 +126,7 @@ class TileGlassJar extends SpatialTile(Material.wood) with TPacketReceiver with
|
|||
{
|
||||
val alloy: Alloy =
|
||||
if (itemStack != null)
|
||||
if (itemStack.getTagCompound != null)
|
||||
new Alloy(itemStack.getTagCompound)
|
||||
else
|
||||
null
|
||||
new Alloy(NBTUtility.getNBTTagCompound(itemStack))
|
||||
else
|
||||
this.alloy
|
||||
|
||||
|
|
|
@ -13,10 +13,12 @@ import net.minecraft.entity.player.EntityPlayer
|
|||
import net.minecraft.item.Item
|
||||
import net.minecraft.tileentity.TileEntity
|
||||
import net.minecraft.world.World
|
||||
import resonant.lib.render.wrapper.ItemRenderHandler
|
||||
import resonant.lib.render.fx.FXElectricBolt2
|
||||
import resonant.lib.render.wrapper.ItemRenderHandler
|
||||
import resonant.lib.transform.vector.Vector3
|
||||
import resonantinduction.archaic.ArchaicContent
|
||||
import resonantinduction.archaic.firebox.{RenderHotPlate, TileHotPlate}
|
||||
import resonantinduction.archaic.process.mixing.TileGlassJar
|
||||
import resonantinduction.archaic.process.{RenderCastingMold, RenderMillstone, TileCastingMold, TileMillstone}
|
||||
import resonantinduction.atomic.gate.RenderQuantumGlyph
|
||||
import resonantinduction.atomic.machine.accelerator.{EntityParticle, GuiAccelerator, RenderParticle, TileAccelerator}
|
||||
|
@ -50,6 +52,7 @@ import resonantinduction.mechanical.mech.turbine._
|
|||
override def init()
|
||||
{
|
||||
//Mech content TODO no-load if mech content is not loaded
|
||||
ItemRenderHandler.register(Item.getItemFromBlock(ArchaicContent.blockJar), new TileGlassJar)
|
||||
ItemRenderHandler.register(MechanicalContent.itemGear, RenderGear)
|
||||
ItemRenderHandler.register(MechanicalContent.itemGearShaft, RenderGearShaft)
|
||||
ItemRenderHandler.register(MechanicalContent.itemPipe, RenderPipe)
|
||||
|
|
Loading…
Reference in a new issue