General 1.7 update

This commit is contained in:
Calclavia 2014-07-18 19:48:40 -04:00
parent 9bbdd4ec0b
commit 9881d2d209
7 changed files with 35 additions and 45 deletions

View file

@ -2,6 +2,7 @@ package resonantinduction.archaic.blocks
import codechicken.multipart.TileMultipart
import cpw.mods.fml.relauncher.{Side, SideOnly}
import net.minecraft.block.Block
import net.minecraft.block.material.Material
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.util.IIcon
@ -34,7 +35,7 @@ class TileTurntable extends SpatialBlock(Material.piston) with TRotatable with R
TileTurntable.top = iconReg.registerIcon(Reference.prefix + "turntable")
}
override def updateEntity()
override def update()
{
updateTurntableState(world, x, y, z)
}
@ -60,7 +61,7 @@ class TileTurntable extends SpatialBlock(Material.piston) with TRotatable with R
return getIcon
}
override def onNeighborChanged()
override def onNeighborChanged(block: Block)
{
scheduleTick(10)
}

View file

@ -5,7 +5,7 @@ import net.minecraft.block.material.Material
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.nbt.NBTTagCompound
import net.minecraft.network.Packet
import net.minecraftforge.fluids.{IFluidHandler, FluidStack, FluidTank}
import net.minecraftforge.fluids.{FluidStack, FluidTank, IFluidHandler}
import resonant.content.spatial.block.SpatialTile
import resonant.lib.network.ByteBufWrapper.ByteBufWrapper
import resonant.lib.network.discriminator.PacketType
@ -69,7 +69,7 @@ abstract class TileFluidNodeProvider(material: Material) extends SpatialTile(mat
nbt.setTag("FluidTank", tank.writeToNBT(new NBTTagCompound))
}
def write(buf: ByteBuf, id: Int)
override def write(buf: ByteBuf, id: Int)
{
super.write(buf, id)

View file

@ -104,7 +104,7 @@ object ResourceGenerator
FluidRegistry.registerFluid(fluidMolten)
val blockFluidMaterial = new BlockFluidMaterial(fluidMolten)
CoreContent.manager.newBlock("molten" + nameCaps, blockFluidMaterial)
FluidContainerRegistry.registerFluidContainer(fluidMolten, CoreContent.bucketMolten.getStackFromMaterial(materialName))
FluidContainerRegistry.registerFluidContainer(fluidMolten, setMaterial(new ItemStack(CoreContent.bucketMolten), materialName))
/**
* Generate mixture fluid
@ -113,7 +113,7 @@ object ResourceGenerator
FluidRegistry.registerFluid(fluidMixture)
val blockFluidMixture = new BlockFluidMixture(fluidMixture)
GameRegistry.registerBlock(blockFluidMixture, "mixture" + nameCaps)
FluidContainerRegistry.registerFluidContainer(fluidMixture, CoreContent.bucketMixture.getStackFromMaterial(materialName))
FluidContainerRegistry.registerFluidContainer(fluidMixture, setMaterial(new ItemStack(CoreContent.bucketMixture), materialName))
if (allowOreDictCompatibility)
MachineRecipes.INSTANCE.addRecipe(RecipeType.SMELTER.name, new FluidStack(fluidMolten, FluidContainerRegistry.BUCKET_VOLUME), "ingot" + nameCaps)
@ -314,6 +314,12 @@ object ResourceGenerator
return NBTUtility.getNBTTagCompound(stack).getString("material")
}
def setMaterial(stack: ItemStack, material: String): ItemStack =
{
NBTUtility.getNBTTagCompound(stack).setString("material", material)
return stack
}
def getName(itemStack: ItemStack): String =
{
return LanguageUtility.decapitalizeFirst(OreDictionary.getOreName(OreDictionary.getOreID(itemStack)).replace("dirtyDust", "").replace("dust", "").replace("ore", "").replace("ingot", ""))
@ -321,10 +327,13 @@ object ResourceGenerator
def getColor(name: String): Int =
{
assert(name != null, "getColor(name) received a null name!")
if (name != null && materialColorCache.contains(name))
{
return materialColorCache(name)
}
return 0xFFFFFF
}

View file

@ -16,11 +16,13 @@ import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.event.entity.player.FillBucketEvent
import net.minecraftforge.fluids.{BlockFluidFinite, FluidRegistry}
import resonant.lib.utility.LanguageUtility
import resonant.lib.wrapper.WrapList._
import resonantinduction.core.resource.ResourceGenerator
/** Modified version of the MC bucket to meet the needs of a dynamic fluid registry system
*
* @author Calclavia */
* @author Calclavia
*/
class ItemResourceBucket(isMolten: Boolean) extends Item
{
setMaxStackSize(1)
@ -209,17 +211,12 @@ class ItemResourceBucket(isMolten: Boolean) extends Item
override def getSubItems(item: Item, tabs: CreativeTabs, list: List[_])
{
import scala.collection.JavaConversions._
for (materialName <- ResourceGenerator.materials.keySet)
{
list.add(getStackFromMaterial(materialName))
}
ResourceGenerator.materials foreach (m => list.add(ResourceGenerator.setMaterial(new ItemStack(this), m)))
}
@SideOnly(Side.CLIENT)
override def getColorFromItemStack(itemStack: ItemStack, par2: Int): Int =
{
val name = ResourceGenerator.getMaterialFromStack(itemStack)
return ResourceGenerator.getColor(name)
return ResourceGenerator.getColor(ResourceGenerator.getMaterial(itemStack))
}
}

View file

@ -9,8 +9,7 @@ import net.minecraft.item.ItemStack
import net.minecraft.tileentity.TileEntity
import net.minecraftforge.common.util.ForgeDirection
import resonant.content.spatial.block.SpatialTile
import resonant.lib.content.module.TileBase
import resonant.lib.content.prefab.{TElectric, TInventory, TraitElectrical, TraitInventory}
import resonant.lib.content.prefab.{TElectric, TInventory}
import resonant.lib.utility.inventory.InventoryUtility
import universalelectricity.core.transform.vector.Vector3
@ -23,7 +22,7 @@ import universalelectricity.core.transform.vector.Vector3
class TileDistributor extends SpatialTile(Material.rock) with TInventory with TElectric
{
var state: EnumDistributorMode = EnumDistributorMode.PUSH
var targetNode: Vector3 = new Vector3(this)
var targetNode = position
override def update(): Unit =
{
@ -52,15 +51,11 @@ class TileDistributor extends SpatialTile(Material.rock) with TInventory with TE
}
if (!targetNode.equals(prevNode) && hasInventoriesAround)
{
val inv: IInventory = targetNode.getTileEntity(world()).asInstanceOf[IInventory]
val inv: IInventory = targetNode.getTileEntity(world).asInstanceOf[IInventory]
callAction(inv)
}
else
targetNode = new Vector3(this)
targetNode = position
}

View file

@ -1,15 +1,15 @@
package resonantinduction.electrical.em
import cpw.mods.fml.client.FMLClientHandler
import net.minecraft.world.World
import cpw.mods.fml.client.registry.{RenderingRegistry, ClientRegistry}
import resonantinduction.electrical.em.laser.emitter.{RenderLaserReceiver, TileLaserReceiver, TileLaserEmitter, RenderLaserEmitter}
import resonantinduction.electrical.em.laser.focus.mirror.{RenderMirror, TileMirror}
import resonantinduction.electrical.em.laser.BlockRenderingHandler
import cpw.mods.fml.client.registry.{ClientRegistry, RenderingRegistry}
import net.minecraft.block.Block
import resonantinduction.electrical.em.laser.fx.{EntityLaserFX, EntityBlockParticleFX, EntityScorchFX}
import net.minecraft.world.World
import net.minecraftforge.client.model.AdvancedModelLoader
import resonantinduction.electrical.em.laser.focus.crystal.{TileFocusCrystal, RenderFocusCrystal}
import resonantinduction.electrical.em.laser.BlockRenderingHandler
import resonantinduction.electrical.em.laser.emitter.{RenderLaserEmitter, TileLaserEmitter}
import resonantinduction.electrical.em.laser.focus.crystal.{RenderFocusCrystal, TileFocusCrystal}
import resonantinduction.electrical.em.laser.focus.mirror.{RenderMirror, TileMirror}
import resonantinduction.electrical.em.laser.fx.{EntityBlockParticleFX, EntityLaserFX, EntityScorchFX}
/**
* @author Calclavia
@ -24,7 +24,6 @@ class ClientProxy extends CommonProxy
RenderingRegistry.registerBlockHandler(BlockRenderingHandler)
ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileLaserEmitter], RenderLaserEmitter)
ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileLaserReceiver], RenderLaserReceiver)
ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileMirror], RenderMirror)
ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileFocusCrystal], RenderFocusCrystal)
}

View file

@ -1,25 +1,14 @@
package resonantinduction.electrical.em
import net.minecraft.world.World
import cpw.mods.fml.common.registry.GameRegistry
import resonantinduction.electrical.em.laser.emitter.{TileLaserReceiver, TileLaserEmitter}
import resonantinduction.electrical.em.laser.focus.mirror.TileMirror
import net.minecraft.block.Block
import resonantinduction.electrical.em.laser.focus.crystal.TileFocusCrystal
import net.minecraft.world.World
import resonant.lib.prefab.AbstractProxy
/**
* @author Calclavia
*/
class CommonProxy
class CommonProxy extends AbstractProxy
{
def init()
{
GameRegistry.registerTileEntity(classOf[TileLaserEmitter], "RILaserEmitter")
GameRegistry.registerTileEntity(classOf[TileLaserReceiver], "RILaserReceiver")
GameRegistry.registerTileEntity(classOf[TileMirror], "RIMirror")
GameRegistry.registerTileEntity(classOf[TileFocusCrystal], "RIFocusCrystal")
}
def renderBlockParticle(world: World, position: Vector3, block: Block, side: Int)
{