mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-16 02:39:48 -04:00
general clean up and formatting; removed gt api import; returning y position together with x and y in nav upgrade
This commit is contained in:
parent
4fd46c3f48
commit
8fbbd92f99
@ -37,6 +37,7 @@ oc:item.GraphicsCard1.name=Hochwertige Grafikkarte
|
||||
oc:item.GraphicsCard2.name=Ausgezeichnete Grafikkarte
|
||||
oc:item.HardDiskDrive.name=Festplatte
|
||||
oc:item.IronNugget.name=Eisennugget
|
||||
oc:item.Locator.name=Navigationsupgrade
|
||||
oc:item.Memory.name=Speicher
|
||||
oc:item.Microchip0.name=Einfacher Microchip
|
||||
oc:item.Microchip1.name=Hochwertiger Microchip
|
||||
@ -45,7 +46,7 @@ oc:item.NetworkCard.name=Netzwerkkarte
|
||||
oc:item.NumPad.name=Ziffernblock
|
||||
oc:item.PrintedCircuitBoard.name=Gedruckte Leiterplatte (PCB)
|
||||
oc:item.RawCircuitBoard.name=Leiterplattenrohling
|
||||
oc:item.Reader.name=Leser Upgrade
|
||||
oc:item.Reader.name=Schild-E/A Upgrade
|
||||
oc:item.RedstoneCard.name=Redstonekarte
|
||||
oc:item.SolarGenerator.name=Solar Generator Upgrade
|
||||
oc:item.Transistor.name=Transistor
|
||||
@ -91,7 +92,7 @@ oc:tooltip.Generator=Kann verwendet werden um unterwegs Energie aus Brennstoffen
|
||||
oc:tooltip.GraphicsCard=Erlaubt es den angezeigten Inhalt von Bildschirmen zu ändern.[nl] Höchstauflösung: §f%sx%s§7.[nl] Maximale Farbtiefe: §f%s§7.[nl] Operationen/Tick: §f%s§7.
|
||||
oc:tooltip.IronNugget=Ein Nugget das aus Eisen besteht, darum wird es ja auch Eisennugget genannt, duh...
|
||||
oc:tooltip.Keyboard=Kann an Bildschirmen befestigt werden um auf ihnen zu tippen.
|
||||
oc:tooltip.Locator=Kann benutzt werden um die Position des Robters zu bestimmen. Die Position ist relativ zur Mitte der Karte, die im Locator verbaut wurde.
|
||||
oc:tooltip.Locator=Erlaubt es Robotern ihre Position und Ausrichtung zu bestimmen. Die Position ist relativ zur Mitte der Karte, die in diesem Upgrade verbaut wurde.
|
||||
oc:tooltip.Memory=Braucht ein jeder Computer um zu starten. Je mehr vorhanden, desto komplexere Programme können ausgeführt werden.
|
||||
oc:tooltip.Microchip=Tritt auch unter dem Alias Integrierter Schaltkreis auf. Keine Ahnung warum das auch mit Redstone klappt, aber es funktioniert.
|
||||
oc:tooltip.NetworkCard=Erlaubt es Computern die über mehrere Blöcke miteinander verbunden sind (z.B. Kabel) mittels Netzwerknachrichten zu kommunizieren.
|
||||
@ -103,7 +104,7 @@ oc:tooltip.PowerConverter=Wandelt Strom anderer Mods in den internen Energietyp
|
||||
oc:tooltip.PowerDistributor=Verteilt Energie zwischen mehreren Netwerken. Nützlich um Energie mit einem Wandler auf mehrere Subnetze, die voneinander getrennt sein sollen, zu verteilen.
|
||||
oc:tooltip.PrintedCircuitBoard=Hierauf basieren alle alle Erweiterungskarten, Speicher und so weiter.
|
||||
oc:tooltip.RawCircuitBoard=Kann in einer Ofenkompatiblen Schmelze freier Wahl gehärtet werden.
|
||||
oc:tooltip.Reader=Erlaubt das lesen und schreiben von Schildern.
|
||||
oc:tooltip.Reader=Erlaubt das Lesen und Schreiben von Text auf Schildern.
|
||||
oc:tooltip.Redstone=Erlaubt das Lesen und Ausgeben von Redstonesignalen um den Block herum. Kann von jedem Computer der mit dem Block verbunden ist gesteuert werden. Dieser Block ist quasi wie eine externe Redstonekarte.
|
||||
oc:tooltip.RedstoneCard.RedLogic=§fRedLogic§7 wird §aunterstützt§7.
|
||||
oc:tooltip.RedstoneCard.RedNet=§fRedNet§7 wird §aunterstützt§7.
|
||||
@ -113,7 +114,7 @@ oc:tooltip.Robot_Level=§fStufe§7: §a%s§7.
|
||||
oc:tooltip.Robot_StoredEnergy=§fGespeicherte Energie§7: §a%s§7.
|
||||
oc:tooltip.Router=Erlaubt es mehrere Netzwerke miteinander zu verbinden. Leitet ausschließlich Netzwerknachrichten weiter, Komponenten "hinter" dem Router sind nicht sichtbar. Nützlich um Netzwerke zu trennen, jedoch nach wie vor Kommunikation zwischen den Netzwerken zu erlauben, z.b. mittels Netzwerkkarten.
|
||||
oc:tooltip.Screen=Zeigt Text an, gesteuert von Grafikkarten in Computern.[nl] Höchstauflösung: §f%sx%s§7.[nl] Maximale Farbtiefe: §f%s§7.
|
||||
oc:tooltip.SolarGenerator=Kann verwendet werden um unterwegs Energie aus Sonnenlicht zu generieren.[nl] §fEffizienz§7: §a%s%%§7
|
||||
oc:tooltip.SolarGenerator=Kann verwendet werden um unterwegs Energie aus Sonnenlicht zu generieren. Benötigt eine ungehinderte Sicht zum Himmel über dem Roboter. Generiert Energie mit %s%% der Geschwindigkeit einer Stirling Engine.
|
||||
oc:tooltip.TooLong=Shift gedrückt halten für mehr Infos.
|
||||
oc:tooltip.Transistor=Elementarer Baustein der meisten Computerkomponenten. Nicht zu verwechseln mit Steinelementaren.
|
||||
oc:tooltip.WirelessNetworkCard=Erlaubt das drahtlose Senden von Netzwerknachrichten, zusätzlich zu normalen. Drahtlose Nachrichten werden nur gesendet, wenn eine §fSignalstärke§7 festgelegt wurde!
|
@ -42,7 +42,7 @@ oc:item.GraphicsCard2.name=Superior Graphics Card
|
||||
oc:item.Acid.name=Grog
|
||||
oc:item.HardDiskDrive.name=Hard Disk Drive
|
||||
oc:item.IronNugget.name=Iron Nugget
|
||||
oc:item.Locator.name=Locator
|
||||
oc:item.Locator.name=Navigation Upgrade
|
||||
oc:item.Memory.name=Memory
|
||||
oc:item.Microchip0.name=Simple Microchip
|
||||
oc:item.Microchip1.name=Advanced Microchip
|
||||
@ -51,7 +51,7 @@ oc:item.NetworkCard.name=Network Card
|
||||
oc:item.NumPad.name=Numeric Keypad
|
||||
oc:item.PrintedCircuitBoard.name=Printed Circuit Board (PCB)
|
||||
oc:item.RawCircuitBoard.name=Raw Circuit Board
|
||||
oc:item.Reader.name=Reader Upgrade
|
||||
oc:item.Reader.name=Sign I/O Upgrade
|
||||
oc:item.RedstoneCard.name=Redstone Card
|
||||
oc:item.SolarGenerator.name=Solar Generator Upgrade
|
||||
oc:item.Transistor.name=Transistor
|
||||
@ -97,7 +97,7 @@ oc:tooltip.Generator=Can be used to generate energy from fuel on the go. Burns i
|
||||
oc:tooltip.GraphicsCard=Used to change what's displayed on screens.[nl] Maximum resolution: §f%sx%s§7.[nl] Maximum color depth: §f%s§7.[nl] Operations/tick: §f%s§7.
|
||||
oc:tooltip.IronNugget=A nugget made of iron, that's why it's called an Iron Nugget, duh...
|
||||
oc:tooltip.Keyboard=Can be attached to screens to allow typing on them.
|
||||
oc:tooltip.Locator=Can be used to identify the position of the Robot. The position is relative to the center of the Map that is built in to the Locator.
|
||||
oc:tooltip.Locator=Can be used to determine the position and orientation of the robot. The position is relative to the center of the map that was used to craft this upgrade.
|
||||
oc:tooltip.Memory=Required to get computers to run. The more you have, the more complex the programs you can run.
|
||||
oc:tooltip.Microchip=The chip formerly known as Integrated Circuit. I have no idea why this works with redstone, but it does.
|
||||
oc:tooltip.NetworkCard=Allows distant computers connected by other blocks (such as cable) to communicate by sending messages to each other.
|
||||
@ -109,7 +109,7 @@ oc:tooltip.PowerConverter=Converts power from other mods to the internal energy
|
||||
oc:tooltip.PowerDistributor=Distributes energy among different networks. This is useful for sharing power fed into your system from one converter among different sub-networks that should remain separate.
|
||||
oc:tooltip.PrintedCircuitBoard=The basic building block for expansion cards and memory and such.
|
||||
oc:tooltip.RawCircuitBoard=Can be hardened in any furnace compatible oven.
|
||||
oc:tooltip.Reader=Allows reading and writing to signs.
|
||||
oc:tooltip.Reader=Allows reading text on and writing text to signs.
|
||||
oc:tooltip.Redstone=Allows reading and emitting redstone signals around the block. Can be controlled by any computer the block is connected to. This is basically like an external redstone card.
|
||||
oc:tooltip.RedstoneCard.RedLogic=§fRedLogic§7 is §asupported§7.
|
||||
oc:tooltip.RedstoneCard.RedNet=§fRedNet§7 is §asupported§7.
|
||||
@ -120,7 +120,7 @@ oc:tooltip.Robot_Level=§fLevel§7: §a%s§7.
|
||||
oc:tooltip.Robot_StoredEnergy=§fStored energy§7: §a%s§7.
|
||||
oc:tooltip.Router=Allows connecting different networks to each other. Only network messages will be passed along, components will not be visible through this. Use this to separate networks while still allowing communication using Network Cards, for example.
|
||||
oc:tooltip.Screen=Display text, controlled by a Graphics Card in a Case.[nl] Maximum resolution: §f%sx%s§7.[nl] Maximum color depth: §f%s§7.
|
||||
oc:tooltip.SolarGenerator=Can be used to generate energy from sunlight on the go.[nl] §fEfficiency§7: §a%s%%§7
|
||||
oc:tooltip.SolarGenerator=Can be used to generate energy from sunlight on the go. Requires a clear line of sight to the sky above the robot. Generates energy at %s%% of the speed of a Stirling Engine.
|
||||
oc:tooltip.TooLong=Hold shift for a detailed tooltip.
|
||||
oc:tooltip.Transistor=A basic element in most other computer parts. It's a bit twisted, but it does the job.
|
||||
oc:tooltip.WirelessNetworkCard=Allows wireless sending of network messages in addition to normal ones. Make sure to set the §fsignal strength§7 or no wireless packet will be sent!
|
@ -3,8 +3,8 @@ package li.cil.oc
|
||||
import cpw.mods.fml.common.registry.GameRegistry
|
||||
import li.cil.oc.common.block._
|
||||
import li.cil.oc.common.tileentity
|
||||
import net.minecraftforge.oredict.OreDictionary
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraftforge.oredict.OreDictionary
|
||||
|
||||
object Blocks {
|
||||
var blockSimple: SimpleDelegator = _
|
||||
@ -75,8 +75,6 @@ object Blocks {
|
||||
|
||||
redstone = new Redstone(blockSimpleWithRedstone)
|
||||
|
||||
|
||||
|
||||
register("craftingMonitorBasic", screen1.createItemStack())
|
||||
register("craftingMonitorAdvanced", screen2.createItemStack())
|
||||
register("craftingMonitorElite", screen3.createItemStack())
|
||||
@ -86,11 +84,11 @@ object Blocks {
|
||||
register("craftingWireCopper", cable.createItemStack())
|
||||
register("craftingCapacitor", capacitor.createItemStack())
|
||||
register("craftingDiscDrive", diskDrive.createItemStack())
|
||||
def register(name:String,item:ItemStack){
|
||||
if(!OreDictionary.getOres(name).contains(item)){
|
||||
println("registered "+name)
|
||||
OreDictionary.registerOre(name,item)
|
||||
}
|
||||
|
||||
private def register(name: String, item: ItemStack) {
|
||||
if (!OreDictionary.getOres(name).contains(item)) {
|
||||
OreDictionary.registerOre(name, item)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,13 +1,11 @@
|
||||
package li.cil.oc
|
||||
|
||||
import cpw.mods.fml.common.ICraftingHandler
|
||||
import li.cil.oc.server.driver.Registry
|
||||
import li.cil.oc.util.ExtendedNBT._
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.inventory.IInventory
|
||||
import net.minecraft.item.{ItemMap, Item, ItemStack}
|
||||
import net.minecraftforge.oredict.OreDictionary
|
||||
import net.minecraft.world.storage.{MapData, MapInfo}
|
||||
import li.cil.oc.server.driver.Registry
|
||||
import net.minecraft.nbt.NBTTagCompound
|
||||
|
||||
object CraftingHandler extends ICraftingHandler {
|
||||
override def onCrafting(player: EntityPlayer, craftedStack: ItemStack, inventory: IInventory) = {
|
||||
@ -32,38 +30,39 @@ object CraftingHandler extends ICraftingHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!player.getEntityWorld.isRemote&&craftedStack.isItemEqual(Items.locator.createItemStack())) {
|
||||
val nbt = Registry.driverFor(craftedStack) match {
|
||||
case Some(driver)=>driver.dataTag(craftedStack)
|
||||
case _ => null
|
||||
}
|
||||
val compOld = nbt.getCompoundTag(Settings.namespace +"map")
|
||||
|
||||
if (!player.getEntityWorld.isRemote && craftedStack.isItemEqual(Items.locator.createItemStack())) {
|
||||
Registry.driverFor(craftedStack) match {
|
||||
case Some(driver) =>
|
||||
for (i <- 0 to inventory.getSizeInventory) {
|
||||
val stack = inventory.getStackInSlot(i)
|
||||
if(stack!= null&&stack.isItemEqual(Items.locator.createItemStack())&&compOld!=null){
|
||||
val container = ItemStack.loadItemStackFromNBT(compOld)
|
||||
println("created map")
|
||||
if (!player.inventory.addItemStackToInventory(container)) {
|
||||
player.dropPlayerItem(container)
|
||||
if (stack != null) {
|
||||
// FIXME this could cause the built-in map to be re-used if the
|
||||
// crafting inventory is the player's inventory - which is the
|
||||
// case for robots, for example - by it added to a slot not yet
|
||||
// checked but before the actual map to be used.
|
||||
if (stack.isItemEqual(Items.locator.createItemStack())) {
|
||||
// Restore the map currently used in the upgrade.
|
||||
val nbt = driver.dataTag(stack)
|
||||
val map = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag(Settings.namespace + "map"))
|
||||
if (!player.inventory.addItemStackToInventory(map)) {
|
||||
player.dropPlayerItem(map)
|
||||
}
|
||||
}
|
||||
else if(stack != null && stack.getItem== Item.map)
|
||||
{
|
||||
var map = stack.getItem.asInstanceOf[ItemMap]
|
||||
else if (stack.getItem == Item.map) {
|
||||
// Store information of the map used for crafting in the result.
|
||||
val nbt = driver.dataTag(craftedStack)
|
||||
val map = stack.getItem.asInstanceOf[ItemMap]
|
||||
val info = map.getMapData(stack, player.getEntityWorld)
|
||||
nbt.setInteger(Settings.namespace +"xCenter",info.xCenter)
|
||||
nbt.setInteger(Settings.namespace +"zCenter",info.zCenter)
|
||||
nbt.setInteger(Settings.namespace +"scale",128*(1<<info.scale))
|
||||
val comp = new NBTTagCompound()
|
||||
stack.writeToNBT(comp)
|
||||
nbt.setCompoundTag(Settings.namespace +"map",comp)
|
||||
|
||||
|
||||
nbt.setInteger(Settings.namespace + "xCenter", info.xCenter)
|
||||
nbt.setInteger(Settings.namespace + "zCenter", info.zCenter)
|
||||
nbt.setInteger(Settings.namespace + "scale", 128 * (1 << info.scale))
|
||||
nbt.setNewCompoundTag(Settings.namespace + "map", stack.writeToNBT)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,8 +2,8 @@ package li.cil.oc
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry
|
||||
import li.cil.oc.common.item
|
||||
import net.minecraftforge.oredict.OreDictionary
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraftforge.oredict.OreDictionary
|
||||
|
||||
object Items {
|
||||
var multi: item.Delegator = null
|
||||
@ -32,9 +32,9 @@ object Items {
|
||||
// Upgrades
|
||||
var crafting: item.Crafting = null
|
||||
var generator: item.Generator = null
|
||||
var locator: item.Locator = null
|
||||
var signUpgrade: item.Reader = null
|
||||
var solarGenerator: item.SolarGenerator = null
|
||||
var reader:item.Reader = null
|
||||
var locator:item.Locator = null
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
// Crafting
|
||||
@ -106,13 +106,14 @@ object Items {
|
||||
pcb = new item.PrintedCircuitBoard(multi)
|
||||
card = new item.CardBase(multi)
|
||||
|
||||
|
||||
//new for next release
|
||||
// v1.1.0
|
||||
solarGenerator = new item.SolarGenerator(multi)
|
||||
reader = new item.Reader(multi)
|
||||
signUpgrade = new item.Reader(multi)
|
||||
locator = new item.Locator(multi)
|
||||
|
||||
registerExclusice("nuggetIron", ironNugget.createItemStack())
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
registerExclusive("nuggetIron", ironNugget.createItemStack())
|
||||
register("oc:craftingCircuitBoardRaw", rawCircuitBoard.createItemStack())
|
||||
register("craftingCircuitBoardBasic", circuitBoard.createItemStack())
|
||||
register("craftingCircuitBoardAdvanced", pcb.createItemStack())
|
||||
@ -120,39 +121,38 @@ object Items {
|
||||
register("circuitBasic", chip1.createItemStack())
|
||||
register("circuitAdvanced", chip2.createItemStack())
|
||||
register("circuitElite", chip3.createItemStack())
|
||||
register("craftingTransistor",transistor.createItemStack())
|
||||
register("craftingControlUnit",cu.createItemStack())
|
||||
register("craftingALU",alu.createItemStack())
|
||||
register("craftingCPU",cpu.createItemStack())
|
||||
register("componentCardRedstone",rs.createItemStack())
|
||||
register("componentCardLand",lan.createItemStack())
|
||||
register("craftingGPUBasic",gpu1.createItemStack())
|
||||
register("craftingGPUAdvanced",gpu2.createItemStack())
|
||||
register("craftingGPUElite",gpu3.createItemStack())
|
||||
register("craftingRAMBasic",ram1.createItemStack())
|
||||
register("craftingRAMAdvanced",ram2.createItemStack())
|
||||
register("craftingRAMElite",ram3.createItemStack())
|
||||
register("craftingHDDBasic",hdd1.createItemStack())
|
||||
register("craftingHDDAdvanced",hdd2.createItemStack())
|
||||
register("craftingHDDElite",hdd3.createItemStack())
|
||||
register("oc:craftingButtonGroup",buttonGroup.createItemStack())
|
||||
register("oc:craftingArrowKey",arrowKeys.createItemStack())
|
||||
register("oc:craftingNumPad",numPad.createItemStack())
|
||||
register("oc:craftingDisk",disk.createItemStack())
|
||||
register("oc:craftingAcid",acid.createItemStack())
|
||||
register("oc:craftingGenerator",generator.createItemStack())
|
||||
register("craftingTransistor", transistor.createItemStack())
|
||||
register("craftingControlUnit", cu.createItemStack())
|
||||
register("craftingALU", alu.createItemStack())
|
||||
register("craftingCPU", cpu.createItemStack())
|
||||
register("componentCardRedstone", rs.createItemStack())
|
||||
register("componentCardLand", lan.createItemStack())
|
||||
register("craftingGPUBasic", gpu1.createItemStack())
|
||||
register("craftingGPUAdvanced", gpu2.createItemStack())
|
||||
register("craftingGPUElite", gpu3.createItemStack())
|
||||
register("craftingRAMBasic", ram1.createItemStack())
|
||||
register("craftingRAMAdvanced", ram2.createItemStack())
|
||||
register("craftingRAMElite", ram3.createItemStack())
|
||||
register("craftingHDDBasic", hdd1.createItemStack())
|
||||
register("craftingHDDAdvanced", hdd2.createItemStack())
|
||||
register("craftingHDDElite", hdd3.createItemStack())
|
||||
register("oc:craftingButtonGroup", buttonGroup.createItemStack())
|
||||
register("oc:craftingArrowKey", arrowKeys.createItemStack())
|
||||
register("oc:craftingNumPad", numPad.createItemStack())
|
||||
register("oc:craftingDisk", disk.createItemStack())
|
||||
register("oc:craftingAcid", acid.createItemStack())
|
||||
register("oc:craftingGenerator", generator.createItemStack())
|
||||
}
|
||||
|
||||
def register(name:String,item:ItemStack){
|
||||
if(!OreDictionary.getOres(name).contains(item)){
|
||||
println("registered "+name)
|
||||
OreDictionary.registerOre(name,item)
|
||||
def register(name: String, item: ItemStack) {
|
||||
if (!OreDictionary.getOres(name).contains(item)) {
|
||||
OreDictionary.registerOre(name, item)
|
||||
}
|
||||
}
|
||||
def registerExclusice(name:String,item:ItemStack){
|
||||
if(OreDictionary.getOres(name).isEmpty){
|
||||
println("registered "+name)
|
||||
OreDictionary.registerOre(name,item)
|
||||
|
||||
def registerExclusive(name: String, item: ItemStack) {
|
||||
if (OreDictionary.getOres(name).isEmpty) {
|
||||
OreDictionary.registerOre(name, item)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,21 +1,17 @@
|
||||
package li.cil.oc
|
||||
|
||||
import com.typesafe.config.{Config, ConfigFactory}
|
||||
import cpw.mods.fml.common.Loader
|
||||
import cpw.mods.fml.common.registry.GameRegistry
|
||||
import java.io.File
|
||||
import java.net.URL
|
||||
import net.minecraft.block.Block
|
||||
import net.minecraft.item.crafting.FurnaceRecipes
|
||||
import net.minecraft.item.{ItemStack, Item}
|
||||
import net.minecraftforge.oredict.{OreDictionary, ShapelessOreRecipe, ShapedOreRecipe}
|
||||
import gregtechmod.api.GregTech_API
|
||||
import scala.collection.convert.wrapAsScala._
|
||||
import com.typesafe.config.{ConfigValueType, Config, ConfigFactory}
|
||||
import java.io.{IOException, FileOutputStream, File}
|
||||
import scala.collection.mutable.ListBuffer
|
||||
import scala.collection.mutable
|
||||
import java.util
|
||||
import org.apache.commons.io.FileUtils
|
||||
import java.net.URL
|
||||
import cpw.mods.fml.common.event.FMLInterModComms
|
||||
import scala.collection.convert.wrapAsScala._
|
||||
import scala.collection.mutable.ListBuffer
|
||||
|
||||
object Recipes {
|
||||
def init() {
|
||||
@ -76,7 +72,7 @@ object Recipes {
|
||||
loadRecipe(config.getConfig("crafting"), Items.crafting.createItemStack())
|
||||
loadRecipe(config.getConfig("locator"), Items.locator.createItemStack())
|
||||
loadRecipe(config.getConfig("solarGenerator"), Items.solarGenerator.createItemStack())
|
||||
loadRecipe(config.getConfig("reader"), Items.reader.createItemStack())
|
||||
loadRecipe(config.getConfig("reader"), Items.signUpgrade.createItemStack())
|
||||
loadRecipe(config.getConfig("chip1"), Items.chip1.createItemStack())
|
||||
loadRecipe(config.getConfig("chip2"), Items.chip2.createItemStack())
|
||||
loadRecipe(config.getConfig("chip3"), Items.chip3.createItemStack())
|
||||
@ -86,11 +82,11 @@ object Recipes {
|
||||
loadRecipe(config.getConfig("pcb"), Items.pcb.createItemStack())
|
||||
loadRecipe(config.getConfig("acid"), Items.acid.createItemStack())
|
||||
loadRecipe(config.getConfig("rawBoard"), Items.rawCircuitBoard.createItemStack())
|
||||
loadRecipe(config.getConfig("circuitBoard"),Items.circuitBoard.createItemStack())
|
||||
loadRecipe(config.getConfig("circuitBoard"), Items.circuitBoard.createItemStack())
|
||||
if (OreDictionary.getOres("nuggetIron").contains(Items.ironNugget.createItemStack())) {
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(Items.ironNugget.createItemStack(9), "nuggetIron"))
|
||||
}
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(Items.locator.createItemStack(),Items.locator.createItemStack(),new ItemStack(Item.map,1,OreDictionary.WILDCARD_VALUE)))
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(Items.locator.createItemStack(), Items.locator.createItemStack(), new ItemStack(Item.map, 1, OreDictionary.WILDCARD_VALUE)))
|
||||
}
|
||||
}
|
||||
|
||||
@ -98,7 +94,7 @@ object Recipes {
|
||||
conf.getString("type") match {
|
||||
case "shaped" => addShapedRecipe(result, conf)
|
||||
case "shapeless" => addShapelessRecipe(result, conf)
|
||||
case "furnace" => addSmeltingRecipe(result,conf)
|
||||
case "furnace" => addSmeltingRecipe(result, conf)
|
||||
case _ => throw new Exception("Don't know what to do with " + conf.getString("type"))
|
||||
|
||||
}
|
||||
@ -379,25 +375,24 @@ object Recipes {
|
||||
var itemSubID: Int = 0
|
||||
item.unwrapped() match {
|
||||
|
||||
|
||||
case list: java.util.HashMap[String, Object] => {
|
||||
for (entrySet <- list.entrySet()) {
|
||||
entrySet.getKey match {
|
||||
case "oreDict" => {
|
||||
entrySet.getValue match {
|
||||
case value: String => obj= value
|
||||
case value: String => obj = value
|
||||
case _ => throw new Exception("This case is not implemented please try adding a different way ore report the recipe you tried to add. " + entrySet)
|
||||
}
|
||||
}
|
||||
case "item" => {
|
||||
entrySet.getValue match {
|
||||
case value: String => obj= getItemFromName(value)
|
||||
case value: String => obj = getItemFromName(value)
|
||||
case _ => throw new Exception("This case is not implemented please try adding a different way ore report the recipe you tried to add. " + entrySet)
|
||||
}
|
||||
}
|
||||
case "block" =>
|
||||
entrySet.getValue match {
|
||||
case value: String => obj= getBlockFromName(value)
|
||||
case value: String => obj = getBlockFromName(value)
|
||||
case _ => throw new Exception("This case is not implemented please try adding a different way ore report the recipe you tried to add. " + entrySet)
|
||||
}
|
||||
|
||||
@ -412,23 +407,22 @@ object Recipes {
|
||||
}
|
||||
}
|
||||
case value: String => {
|
||||
obj= getNameOrStackFromName(value)
|
||||
obj = getNameOrStackFromName(value)
|
||||
}
|
||||
case _ => println(item.unwrapped())
|
||||
}
|
||||
obj match {
|
||||
case item: Item => {
|
||||
|
||||
|
||||
val newItem= new ItemStack(item, 1, itemSubID)
|
||||
val newItem = new ItemStack(item, 1, itemSubID)
|
||||
FurnaceRecipes.smelting().addSmelting(newItem.itemID, newItem.getItemDamage, out, 0)
|
||||
}
|
||||
case block: Block => {
|
||||
val newItem= new ItemStack(block, 1, itemSubID)
|
||||
val newItem = new ItemStack(block, 1, itemSubID)
|
||||
FurnaceRecipes.smelting().addSmelting(newItem.itemID, newItem.getItemDamage, out, 0)
|
||||
}
|
||||
case value: String => {
|
||||
for(stack<-OreDictionary.getOres(value)){
|
||||
for (stack <- OreDictionary.getOres(value)) {
|
||||
FurnaceRecipes.smelting().addSmelting(stack.itemID, stack.getItemDamage, out, 0)
|
||||
}
|
||||
}
|
||||
@ -438,7 +432,6 @@ object Recipes {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def inputToFile(is: URL, f: java.io.File) {
|
||||
FileUtils.copyURLToFile(is, f)
|
||||
}
|
||||
@ -461,7 +454,6 @@ object Recipes {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def getNameOrStackFromName(name: String) = {
|
||||
if (name.isEmpty)
|
||||
null
|
||||
|
@ -1,5 +0,0 @@
|
||||
package li.cil.oc.common.block;
|
||||
|
||||
|
||||
public class KeyboardPart {
|
||||
}
|
@ -1,21 +1,23 @@
|
||||
package li.cil.oc.common.item
|
||||
|
||||
import cpw.mods.fml.common.Loader
|
||||
import li.cil.oc.Settings
|
||||
import net.minecraft.client.renderer.texture.IconRegister
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import java.util
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.util.Tooltip
|
||||
import net.minecraft.client.renderer.texture.IconRegister
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
|
||||
class IronNugget(val parent: Delegator) extends Delegate {
|
||||
val unlocalizedName = "IronNugget"
|
||||
|
||||
override val showInItemList = !Loader.isModLoaded("gregtech_addon")
|
||||
|
||||
override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
super.tooltipLines(stack, player, tooltip, advanced)
|
||||
}
|
||||
|
||||
override def registerIcons(iconRegister: IconRegister) = {
|
||||
super.registerIcons(iconRegister)
|
||||
|
||||
|
@ -6,8 +6,6 @@ import li.cil.oc.util.Tooltip
|
||||
import net.minecraft.client.renderer.texture.IconRegister
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.{EnumRarity, ItemStack}
|
||||
import li.cil.oc.api
|
||||
import li.cil.oc.server.driver.Registry
|
||||
|
||||
class Locator(val parent: Delegator) extends Delegate {
|
||||
val unlocalizedName = "Locator"
|
||||
@ -15,7 +13,7 @@ class Locator(val parent: Delegator) extends Delegate {
|
||||
override def rarity = EnumRarity.epic
|
||||
|
||||
override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName, (Settings.get.generatorEfficiency * 100).toInt))
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
super.tooltipLines(stack, player, tooltip, advanced)
|
||||
}
|
||||
|
||||
@ -24,5 +22,4 @@ class Locator(val parent: Delegator) extends Delegate {
|
||||
|
||||
icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_locator")
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,55 +1,37 @@
|
||||
package li.cil.oc.server.component
|
||||
|
||||
import li.cil.oc.api
|
||||
import li.cil.oc.api.network._
|
||||
import li.cil.oc.util.ExtendedNBT._
|
||||
import li.cil.oc.{Settings, api}
|
||||
import net.minecraft.entity.item.EntityItem
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.nbt.NBTTagCompound
|
||||
import net.minecraft.tileentity.{TileEntity => MCTileEntity, TileEntitySign, TileEntityFurnace}
|
||||
import scala.Some
|
||||
import li.cil.oc.common.tileentity.Rotatable
|
||||
import li.cil.oc.util.RotationHelper
|
||||
import net.minecraft.tileentity.{TileEntity => MCTileEntity}
|
||||
|
||||
class Locator(val owner: MCTileEntity, val xCenter: Int, val zCenter: Int,val scale:Int) extends ManagedComponent {
|
||||
class Locator(val owner: MCTileEntity, val xCenter: Int, val zCenter: Int, val scale: Int) extends ManagedComponent {
|
||||
val node = api.Network.newNode(this, Visibility.Network).
|
||||
withComponent("locator", Visibility.Neighbors).
|
||||
|
||||
create()
|
||||
|
||||
@LuaCallback("getPosition")
|
||||
def getPosition(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val player = context.player()
|
||||
val x = player.posX.floor.toInt
|
||||
val z = player.posZ.floor.toInt
|
||||
val xDist = x - xCenter
|
||||
val zDist = z - zCenter
|
||||
|
||||
if (math.abs(xDist) <= scale/2 && math.abs(zDist) <= scale/2)
|
||||
result(xDist, zDist)
|
||||
else
|
||||
result(Unit, "out of range")
|
||||
}
|
||||
@LuaCallback("getFacing")
|
||||
def getFacing(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val player = context.player()
|
||||
val d = RotationHelper.fromYaw(player.rotationYaw)
|
||||
|
||||
result(d.offsetX,d.offsetY,d.offsetZ)
|
||||
}
|
||||
@LuaCallback("getHeight")
|
||||
def getHeight(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val player = context.player()
|
||||
|
||||
|
||||
result(player.posY.floor)
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override val canUpdate = false
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
@LuaCallback("getPosition")
|
||||
def getPosition(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val x = owner.xCoord
|
||||
val z = owner.zCoord
|
||||
val y = owner.yCoord
|
||||
val relativeX = x - xCenter
|
||||
val relativeY = z - zCenter
|
||||
|
||||
if (math.abs(relativeX) <= scale / 2 && math.abs(relativeY) <= scale / 2)
|
||||
result(relativeX, relativeY, y)
|
||||
else
|
||||
result(Unit, "out of range")
|
||||
}
|
||||
|
||||
@LuaCallback("getFacing")
|
||||
def getFacing(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
result(RotationHelper.fromYaw(context.player().rotationYaw).ordinal())
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,9 @@
|
||||
package li.cil.oc.server.component
|
||||
|
||||
import li.cil.oc.api
|
||||
import li.cil.oc.api.network._
|
||||
import li.cil.oc.util.ExtendedNBT._
|
||||
import li.cil.oc.{Settings, api}
|
||||
import net.minecraft.entity.item.EntityItem
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.nbt.NBTTagCompound
|
||||
import net.minecraft.tileentity.{TileEntity => MCTileEntity, TileEntitySign, TileEntityFurnace}
|
||||
import scala.Some
|
||||
import li.cil.oc.common.tileentity.Rotatable
|
||||
import li.cil.oc.util.RotationHelper._
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
import li.cil.oc.util.RotationHelper
|
||||
import net.minecraft.tileentity.{TileEntity => MCTileEntity, TileEntitySign}
|
||||
|
||||
class Reader(val owner: MCTileEntity) extends ManagedComponent {
|
||||
val node = api.Network.newNode(this, Visibility.Network).
|
||||
@ -19,58 +11,34 @@ class Reader(val owner: MCTileEntity) extends ManagedComponent {
|
||||
withConnector().
|
||||
create()
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
@LuaCallback("read")
|
||||
def read(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val player = context.player()
|
||||
val d = RotationHelper.fromYaw(player.rotationYaw)
|
||||
val te = player.getEntityWorld.getBlockTileEntity(player.posX.floor.toInt + d.offsetX, player.posY.floor.toInt + d.offsetY, player.posZ.floor.toInt + d.offsetZ)
|
||||
te match {
|
||||
case sign: TileEntitySign => {
|
||||
val text = sign.signText.mkString("\n")
|
||||
|
||||
return result(text)
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
|
||||
result(Unit, "no sign")
|
||||
}
|
||||
|
||||
@LuaCallback("write")
|
||||
def write(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val player = context.player()
|
||||
val d = RotationHelper.fromYaw(player.rotationYaw)
|
||||
val te = player.getEntityWorld.getBlockTileEntity(player.posX.floor.toInt + d.offsetX, player.posY.floor.toInt + d.offsetY, player.posZ.floor.toInt + d.offsetZ)
|
||||
te match {
|
||||
case sign: TileEntitySign => {
|
||||
val text = args.checkString(0).split("\n")
|
||||
val number = Math.min(4, text.size)
|
||||
for (i <- 0 to number - 1) {
|
||||
var line = text(i)
|
||||
if (line.size > 15) {
|
||||
line = line.substring(0, 15)
|
||||
}
|
||||
sign.signText(i) = line
|
||||
}
|
||||
|
||||
sign.worldObj.markBlockForUpdate(player.posX.floor.toInt + d.offsetX, player.posY.floor.toInt + d.offsetY, player.posZ.floor.toInt + d.offsetZ)
|
||||
return result(true)
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
result(Unit, "no sign")
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override val canUpdate = false
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
@LuaCallback("getValue")
|
||||
def read(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val player = context.player()
|
||||
val facing = RotationHelper.fromYaw(player.rotationYaw)
|
||||
owner.getWorldObj.getBlockTileEntity(owner.xCoord + facing.offsetX, owner.yCoord + facing.offsetY, owner.zCoord + facing.offsetZ) match {
|
||||
case sign: TileEntitySign => result(sign.signText.mkString("\n"))
|
||||
case _ => result(Unit, "no sign")
|
||||
}
|
||||
}
|
||||
|
||||
@LuaCallback("setValue")
|
||||
def write(context: RobotContext, args: Arguments): Array[AnyRef] = {
|
||||
val text = args.checkString(0).lines.padTo(4, "").map(line => if (line.size > 15) line.substring(0, 15) else line)
|
||||
val player = context.player()
|
||||
val facing = RotationHelper.fromYaw(player.rotationYaw)
|
||||
val (sx, sy, sz) = (owner.xCoord + facing.offsetX, owner.yCoord + facing.offsetY, owner.zCoord + facing.offsetZ)
|
||||
owner.getWorldObj.getBlockTileEntity(sx, sy, sz) match {
|
||||
case sign: TileEntitySign =>
|
||||
text.copyToArray(sign.signText)
|
||||
owner.getWorldObj.markBlockForUpdate(sx, sy, sz)
|
||||
result(sign.signText.mkString("\n"))
|
||||
case _ => result(Unit, "no sign")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,27 +1,24 @@
|
||||
package li.cil.oc.server.driver.item
|
||||
|
||||
import li.cil.oc.{Settings, Items}
|
||||
import li.cil.oc.api.driver.Slot
|
||||
import li.cil.oc.server.component
|
||||
import li.cil.oc.server.driver.Registry
|
||||
import li.cil.oc.{Settings, Items}
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.tileentity.{TileEntity => MCTileEntity}
|
||||
import li.cil.oc.server.driver.Registry
|
||||
|
||||
object Locator extends Item {
|
||||
override def worksWith(stack: ItemStack) = isOneOf(stack, Items.locator)
|
||||
|
||||
override def createEnvironment(stack: ItemStack, container: MCTileEntity) ={
|
||||
override def createEnvironment(stack: ItemStack, container: MCTileEntity) = {
|
||||
val nbt = Registry.driverFor(stack) match {
|
||||
case Some(driver)=>driver.dataTag(stack)
|
||||
case Some(driver) => driver.dataTag(stack)
|
||||
case _ => null
|
||||
}
|
||||
val x = if(nbt.hasKey(Settings.namespace +"xCenter")) nbt.getInteger(Settings.namespace +"xCenter")
|
||||
else container.xCoord
|
||||
val z = if(nbt.hasKey(Settings.namespace +"zCenter")) nbt.getInteger(Settings.namespace +"zCenter")
|
||||
else container.zCoord
|
||||
val scale = if(nbt.hasKey(Settings.namespace +"scale")) nbt.getInteger(Settings.namespace +"scale")
|
||||
else 512
|
||||
new component.Locator(container,x,z,scale)
|
||||
val x = if (nbt.hasKey(Settings.namespace + "xCenter")) nbt.getInteger(Settings.namespace + "xCenter") else container.xCoord
|
||||
val z = if (nbt.hasKey(Settings.namespace + "zCenter")) nbt.getInteger(Settings.namespace + "zCenter") else container.zCoord
|
||||
val scale = if (nbt.hasKey(Settings.namespace + "scale")) nbt.getInteger(Settings.namespace + "scale") else 512
|
||||
new component.Locator(container, x, z, scale)
|
||||
}
|
||||
|
||||
override def slot(stack: ItemStack) = Slot.Upgrade
|
||||
|
@ -7,7 +7,7 @@ import net.minecraft.item.ItemStack
|
||||
import net.minecraft.tileentity.{TileEntity => MCTileEntity}
|
||||
|
||||
object Reader extends Item {
|
||||
override def worksWith(stack: ItemStack) = isOneOf(stack, Items.reader)
|
||||
override def worksWith(stack: ItemStack) = isOneOf(stack, Items.signUpgrade)
|
||||
|
||||
override def createEnvironment(stack: ItemStack, container: MCTileEntity) = new component.Reader(container)
|
||||
|
||||
|
@ -2,10 +2,8 @@ package li.cil.oc.util
|
||||
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
|
||||
|
||||
object RotationHelper {
|
||||
|
||||
def fromYaw(yaw: Float ) = {
|
||||
def fromYaw(yaw: Float) = {
|
||||
(yaw / 360 * 4).round & 3 match {
|
||||
case 0 => ForgeDirection.SOUTH
|
||||
case 1 => ForgeDirection.WEST
|
||||
@ -13,6 +11,4 @@ object RotationHelper {
|
||||
case 3 => ForgeDirection.EAST
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user