diff --git a/build.gradle b/build.gradle index 4d94dbceb..5c12d516b 100644 --- a/build.gradle +++ b/build.gradle @@ -61,15 +61,15 @@ runServer { } repositories { -/* - maven { - name = "bc" - url = "http://mod-buildcraft.com/" - } maven { name = "chickenbones" url = "http://chickenbones.net/maven/" } + /* + maven { + name = "bc" + url = "http://mod-buildcraft.com/" + } maven { name = "ic2, forestry" url = "http://maven.ic2.player.to/" @@ -128,7 +128,7 @@ repositories { name 'Railcraft' artifactPattern "http://addons.cursecdn.com/files/${config.rc.cf}/[module]_[revision].[ext]" } -*/ + */ } configurations { @@ -138,13 +138,14 @@ configurations { } dependencies { + provided "codechicken:CodeChickenCore:${config.minecraft.version}-${config.ccc.version}:dev" + provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.ccl.version}:dev" + provided "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" /* provided "api:rotarycraft:${config.rotc.version}" provided "appeng:appliedenergistics2:${config.ae2.version}:dev" - provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.ccl.version}:dev" provided "codechicken:EnderStorage:${config.minecraft.version}-${config.es.version}:dev" provided "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev" - provided "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" provided "codechicken:WR-CBE:${config.minecraft.version}-${config.wrcbe.version}:dev" provided "com.gregoriust.gregtech:gregtech_${config.minecraft.version}:${config.gt.version}:dev" provided "com.mod-buildcraft:buildcraft:${config.bc.version}:dev" @@ -171,7 +172,7 @@ dependencies { } idea.module.scopes.PROVIDED.plus += configurations.provided -eclipse.classpath.plusConfigurations += configurations.provided +// eclipse.classpath.plusConfigurations += configurations.provided sourceSets { main { @@ -187,7 +188,6 @@ sourceSets { exclude 'li/cil/oc/integration/ic2/**' exclude 'li/cil/oc/integration/mfr/**' exclude 'li/cil/oc/integration/mystcraft/**' - exclude 'li/cil/oc/integration/nei/**' exclude 'li/cil/oc/integration/railcraft/**' exclude 'li/cil/oc/integration/stargatetech2/**' exclude 'li/cil/oc/integration/tcon/**' diff --git a/build.properties b/build.properties index 7ca3fa1aa..afe8d24dc 100644 --- a/build.properties +++ b/build.properties @@ -8,7 +8,8 @@ ae2.version=rv1-stable-1 bc.version=6.1.8 cc.cf=2216/236 cc.version=1.65 -ccl.version=1.1.1.104 +ccc.version=1.0.5.34 +ccl.version=1.1.2.115 cofhlib.cf=2212/893 cofhlib.version=[1.7.10]1.0.0B6-dev-26 eio.cf=2219/296 @@ -24,7 +25,7 @@ mekanism.build=118 mekanism.version=7.1.1 mfr.cf=2213/46 mfr.version=[1.7.10]2.8.0RC3-dev-591 -nei.version=1.0.3.57 +nei.version=1.0.5.82 projred.version=4.5.8.59 rc.cf=2219/321 rc.version=1.7.10-9.4.0.0 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 678d9d8de..8f0513b28 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Jul 02 15:54:47 CDT 2014 +#Sat Jan 03 02:25:42 CET 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip diff --git a/gradlew.bat b/gradlew.bat index ca9c9360d..8a0b282aa 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -9,7 +9,7 @@ if "%OS%"=="Windows_NT" setlocal @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS=-Xmx1G -XX:MaxPermSize=256M +set DEFAULT_JVM_OPTS= set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. diff --git a/src/api/java/lordfokas/stargatetech2/api/IFactory.java b/src/api/java/lordfokas/stargatetech2/api/IFactory.java deleted file mode 100644 index f74141f74..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/IFactory.java +++ /dev/null @@ -1,15 +0,0 @@ -package lordfokas.stargatetech2.api; - -import lordfokas.stargatetech2.api.bus.IBusDevice; -import lordfokas.stargatetech2.api.bus.IBusDriver; -import lordfokas.stargatetech2.api.bus.IBusInterface; - -/** - * A factory for private classes that implement - * interfaces from the public API. - * - * @author LordFokas - */ -public interface IFactory { - public IBusInterface getIBusInterface(IBusDevice device, IBusDriver driver); -} diff --git a/src/api/java/lordfokas/stargatetech2/api/IStackManager.java b/src/api/java/lordfokas/stargatetech2/api/IStackManager.java deleted file mode 100644 index 4487931e5..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/IStackManager.java +++ /dev/null @@ -1,34 +0,0 @@ -package lordfokas.stargatetech2.api; - -import java.util.Collection; - -import net.minecraft.item.ItemStack; - -/** - * The way to get ItemStacks added to the game by StargateTech 2 - * - * @author LordFokas - */ -public interface IStackManager { - /** - * Used to fetch an ItemStack by it's name, with a default size of 1. - * - * @param stack The stack we want to fetch. - * @return The stack, or null if none was found. - */ - public ItemStack get(String stack); - - /** - * Used to fetch an ItemStack by it's name with a given size. - * - * @param stack The stack we want to fetch. - * @param size The size the stack comes with. Must be in the range 1 - 64. - * @return The stack, or null if none was found. - */ - public ItemStack get(String stack, int size); - - /** - * @return A list with the names of all the existing stacks. - */ - public Collection getAllStacks(); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/IStargateTechAPI.java b/src/api/java/lordfokas/stargatetech2/api/IStargateTechAPI.java deleted file mode 100644 index 8a98fe811..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/IStargateTechAPI.java +++ /dev/null @@ -1,33 +0,0 @@ -package lordfokas.stargatetech2.api; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraftforge.fluids.Fluid; -import lordfokas.stargatetech2.api.stargate.IStargateNetwork; -import lordfokas.stargatetech2.api.stargate.IStargatePlacer; - -public interface IStargateTechAPI { - /** - * @return The Fluid instance corresponding to Ionized Particles. - */ - public Fluid getIonizedParticlesFluidInstance(); - - /** - * @return The creative inventory tab used by StargateTech 2. - */ - public CreativeTabs getStargateTab(); - - /** - * @return The IStargateNetwork singleton instance. - */ - public IStargateNetwork getStargateNetwork(); - - /** - * @return The IStargatePlacer singleton instance, a.k.a Seeding Ship for the fans. - */ - public IStargatePlacer getSeedingShip(); - - /** - * @return The current IFactory instance. - */ - public IFactory getFactory(); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/ITabletAccess.java b/src/api/java/lordfokas/stargatetech2/api/ITabletAccess.java deleted file mode 100644 index 9d242e37f..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/ITabletAccess.java +++ /dev/null @@ -1,27 +0,0 @@ -package lordfokas.stargatetech2.api; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; - -/** - * Implemented by blocks that run special actions when clicked with a TabletPC in hand. - * The default action in StargateTech2 is opening a special GUI. - * - * @author LordFokas - */ -public interface ITabletAccess { - - /** - * Make the block run a special action when activated with a TabletPC. - * This method is only called on the client side. - * Implementations requiring server side should use packets. - * - * @param player The player activating the block. - * @param world The world the block is in. - * @param x The block's X coordinate. - * @param y The block's Y coordinate. - * @param z The block's Z coordinate. - * @return True if a special action was executed, false otherwise. - */ - public boolean onTabletAccess(EntityPlayer player, World world, int x, int y, int z); -} diff --git a/src/api/java/lordfokas/stargatetech2/api/StargateTechAPI.java b/src/api/java/lordfokas/stargatetech2/api/StargateTechAPI.java deleted file mode 100644 index 67438eb23..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/StargateTechAPI.java +++ /dev/null @@ -1,16 +0,0 @@ -package lordfokas.stargatetech2.api; - -public abstract class StargateTechAPI implements IStargateTechAPI { - protected static IStargateTechAPI apiInstance; - - /** - * StargateTech's API is abstract, and it's implementation is not visible in the API package. - * All available methods in IStargateTechAPI are implemented elsewhere. - * This method allows you to retrieve an instance of that implementation. - * - * @return a concrete implementation of IStargateTechAPI - */ - public static IStargateTechAPI api(){ - return apiInstance; - } -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/BusEvent.java b/src/api/java/lordfokas/stargatetech2/api/bus/BusEvent.java deleted file mode 100644 index 4073fa43e..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/BusEvent.java +++ /dev/null @@ -1,40 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -import cpw.mods.fml.common.eventhandler.Event; -import net.minecraft.world.World; - -public class BusEvent extends Event{ - public final World world; - public final int x, y, z; - - protected BusEvent(World world, int x, int y, int z){ - this.world = world; - this.x = x; - this.y = y; - this.z = z; - } - - /** - * Fire this event on Forge's BUS_EVENT to add the IBusDevice - * in this location to a bus network, if any is available. - * - * @author LordFokas - */ - public static final class AddToNetwork extends BusEvent{ - public AddToNetwork(World world, int x, int y, int z) { - super(world, x, y, z); - } - } - - /** - * Fire this event on Forge's BUS_EVENT to remove the IBusDevice - * in this location from any connected bus networks. - * - * @author LordFokas - */ - public static final class RemoveFromNetwork extends BusEvent{ - public RemoveFromNetwork(World world, int x, int y, int z) { - super(world, x, y, z); - } - } -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/BusPacket.java b/src/api/java/lordfokas/stargatetech2/api/bus/BusPacket.java deleted file mode 100644 index cc27ec118..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/BusPacket.java +++ /dev/null @@ -1,93 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -import java.util.LinkedList; - -public abstract class BusPacket{ - private LinkedList responses; - private final short sender; - private final short target; - private final boolean hasLIP; - - /** - * @param sender The address of the Device that is sending this packet. - * @param target The address of the Device(s) that should receive this packet. - * @param hasLIP Whether or not this packet supports being converted to a plain text (LIP) format. - */ - protected BusPacket(short sender, short target, boolean hasLIP){ - this.responses = new LinkedList(); - this.sender = sender; - this.target = target; - this.hasLIP = hasLIP; - } - - /** - * @return The address of the device that sent this packet. - */ - public final short getSender(){ - return sender; - } - - /** - * @return The address of the device(s) that should receive this packet. - */ - public final short getTarget(){ - return target; - } - - /** - * @return The ID of the protocol this packet corresponds to. - */ - public final int getProtocolID(){ - return BusProtocols.getProtocolID(this.getClass()); - } - - /** - * @return A plain text (LIP) version of this packet, if it has one. - */ - public final BusPacketLIP getPlainText(){ - if(this instanceof BusPacketLIP){ - return (BusPacketLIP) this; - }else if(hasLIP){ - BusPacketLIP lip = new BusPacketLIP(sender, target); - fillPlainText(lip); - lip.finish(); - return lip; - } - return null; - } - - /** - * Used by subclasses to convert themselves to plain text format. - * - * @param lip The Lazy Intercom Protocol (LIP) packet we're filling with our data. - */ - protected abstract void fillPlainText(BusPacketLIP lip); - - /** - * @return Whether or not this packet supports conversion to the LIP format. - */ - public final boolean hasPlainText(){ - return hasLIP; - } - - /** - * Adds a response to this packet that to give the sender some feedback. - * The object type depends on the packet subclass. - * - * Note that clients converting the packet to LIP format - * lose the ability to send feedback. - * - * @param response The response to add. - */ - public final void addResponse(R response){ - if(response == null) throw new IllegalArgumentException("A Response cannot be null!"); - responses.add(response); - } - - /** - * @return All the responses other clients added to this packet. - */ - public final LinkedList getResponses(){ - return new LinkedList(responses); - } -} diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/BusPacketLIP.java b/src/api/java/lordfokas/stargatetech2/api/bus/BusPacketLIP.java deleted file mode 100644 index 9f7eac318..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/BusPacketLIP.java +++ /dev/null @@ -1,112 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -import java.util.ArrayList; -import java.util.Hashtable; - -/** - * LIP - Lazy Intercom Protocol
- *
- * Baptized by sciguyryan (often found in #ThermalExpansion and #StargateTech on esper.net's IRC), - * this is the universal plain text format used in the Abstract Bus.
- *
- * Any packet can choose to be convertible to this format, allowing for any class anywhere to - * read data from a packet which has an unknown and / or private class by asking it to convert to - * a text format. This removes all the problems with type casting and such. - * - * @author LordFokas - */ -public final class BusPacketLIP extends BusPacket { - private boolean isEditable = true; - private LIPMetadata metadata = null; - private Hashtable data = new Hashtable(); - - /** - * Defines optional metadata that helps sorting this packet out / figuring out what to do with this. - * The fact this is a plain text protocol makes the possibilities so vague it'd be impossible to - * guess what kind of data this packet carries. - * - * @author LordFokas - */ - public static final class LIPMetadata{ - public final String modID; - public final String deviceName; - public final String playerName; - - /** - * Example: new LIPMetadata("StargateTech2", "shieldEmitter", "LordFokas"); - * - * @param modID The ID of the mod that generated this packet. PLEASE do fill this one. - * @param deviceName The name (or a unique identifier) of the type of machine that generated this. - * @param playerName The name of the player that made this packet be generated, if any. - */ - public LIPMetadata(String modID, String deviceName, String playerName){ - this.modID = modID; - this.deviceName = deviceName; - this.playerName = playerName; - } - } - - public BusPacketLIP(short sender, short target) { - super(sender, target, true); - } - - /** - * @param metadata The LIPMetadata object to set to this packet. - */ - public void setMetadata(LIPMetadata metadata){ - if(isEditable && this.metadata == null){ - this.metadata = metadata; - } - } - - /** - * @return The LIPMetadata object on this object. May be null. - */ - public LIPMetadata getMetadata(){ - return metadata; - } - - @Override // We don't need this. At all. - protected void fillPlainText(BusPacketLIP lip){} - - /** - * Finish creating this packet. - * As soon as you call this, it can no longer be modified. - */ - public void finish(){ - isEditable = false; - } - - /** - * @return A list of all the keys for the data on this packet. - */ - public ArrayList getEntryList(){ - ArrayList entries = new ArrayList(); - entries.addAll(data.keySet()); - return entries; - } - - /** - * Add a new entry to this packet. - * If the key already exists the entry is ignored. - * - * @param key The key under which to send the data. - * @param val The data to send. - */ - public void set(String key, String val){ - if(isEditable && !data.containsKey(key)){ - data.put(key.toLowerCase(), val); - } - } - - /** - * Get the value stored under that key, if any. - * Case Insensitive. - * - * @param key The key under which the data is stored. - * @return The data stored under that key, if any, null otherwise. - */ - public String get(String key){ - return data.get(key.toLowerCase()); - } -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/BusPacketNetScan.java b/src/api/java/lordfokas/stargatetech2/api/bus/BusPacketNetScan.java deleted file mode 100644 index c48377f7b..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/BusPacketNetScan.java +++ /dev/null @@ -1,39 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -import java.util.LinkedList; - -public final class BusPacketNetScan extends BusPacket { - private LinkedList devices = new LinkedList(); - - public BusPacketNetScan(short target) { - super((short)0xFFFF, target, false); - } - - // We're not using this - @Override protected void fillPlainText(BusPacketLIP lip){} - - public void addDevice(Device device){ - devices.add(device); - } - - public LinkedList getDevices(){ - return new LinkedList(devices); - } - - public static final class Device{ - public final String description, name; - public final short address; - public final boolean enabled; - public final int x, y, z; - - public Device(String desc, String name, short address, boolean enabled, int x, int y, int z){ - this.description = desc; - this.name = name; - this.address = address; - this.enabled = enabled; - this.x = x; - this.y = y; - this.z = z; - } - } -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/BusProtocols.java b/src/api/java/lordfokas/stargatetech2/api/bus/BusProtocols.java deleted file mode 100644 index 83385275e..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/BusProtocols.java +++ /dev/null @@ -1,38 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -import java.util.ArrayList; - -public final class BusProtocols { - private static final ArrayList> protocols = new ArrayList(); - - /** - * Add a protocol to the list, if it doesn't exist yet. - * - * @param packetClass the class of the packet corresponding to the protocol we're adding. - * @return the id of the protocol we just added. - */ - public static final int addProtocol(Class packetClass){ - if(!protocols.contains(packetClass)){ - protocols.add(packetClass); - } - return protocols.indexOf(packetClass); - } - - /** - * Gives you the id of the protocol correspondig to a given packet class. - * - * @param packetClass the class of the packet for which we want to know the protocol ID. - * @return the ID of the protocol corresponding to the packet class. - */ - public static final int getProtocolID(Class packetClass){ - return protocols.indexOf(packetClass); - } - - private BusProtocols(){} - - - - // A list of all the protocols implemented by StargateTech 2 - public static final int PROTOCOL_LIP = addProtocol(BusPacketLIP.class); - public static final int PROTOCOL_NETSCAN = addProtocol(BusPacketNetScan.class); -} diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/IBusDevice.java b/src/api/java/lordfokas/stargatetech2/api/bus/IBusDevice.java deleted file mode 100644 index b833cb664..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/IBusDevice.java +++ /dev/null @@ -1,41 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -import net.minecraft.world.World; - -/** - * To be implemented by Tile Entities that wish - * to access the Abstract Bus. - * - * @author LordFokas - */ -public interface IBusDevice { - /** - * Returns the IBusInterfaces that exist on that - * side of the Tile Entity. It may be multiple - * values or null. - * - * @param side The side of the block that is being queried. - * @return This side's IBusInterface, if any. - */ - public IBusInterface[] getInterfaces(int side); - - /** - * @return This device's worldObj. - */ - public World getWorld(); - - /** - * @return This device's X Coordinate. - */ - public int getXCoord(); - - /** - * @return This device's Y Coordinate. - */ - public int getYCoord(); - - /** - * @return This device's Z Coordinate. - */ - public int getZCoord(); -} diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/IBusDriver.java b/src/api/java/lordfokas/stargatetech2/api/bus/IBusDriver.java deleted file mode 100644 index a255af00e..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/IBusDriver.java +++ /dev/null @@ -1,65 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -/** - * This provides a level of abstraction over the IBusInterface. - * Implement to your own liking. - * - * @author LordFokas - */ -public interface IBusDriver { - /** - * Used to check if this device should receive a specific - * packet type from this sender. If true is returned, - * handlePacket() is called afterwards. - * - * @param sender The Bus address of the packet's sender. - * @param protocolID The unique ID of this packet type. - * @param hasLIP whether the packet can be converted to the LIP format or not. - * @return Whether the device will accept this packet or not. - */ - public boolean canHandlePacket(short sender, int protocolID, boolean hasLIP); - - /** - * Called by the network to have this device handle a packet. - * - * @param packet The packet to be handled. - */ - public void handlePacket(BusPacket packet); - - /** - * Used to make the IBusDriver give all packets in its send - * queue, one by one, to the IBusInterface so that it can - * send them accross the network. - * - * @return The next BusPacket in the queue, if any, null otherise. - */ - public BusPacket getNextPacketToSend(); - - /** - * Called by the hardware representation (IBusInterface) - * to check if it's active or not. - * Inactive interfaces cannot send or receive packets. - * - * @return Whether this interface is active or not. - */ - public boolean isInterfaceEnabled(); - - /** - * Called by this Driver's Interface to check it's own address. - * - * @return The address of this IBusDriver's IBusInterface. - */ - public short getInterfaceAddress(); - - /** - * @return this driver's short name.
- * Should be readable and indicate what kind of device it is.
- * Example: Shield Controller - */ - public String getShortName(); - - /** - * @return a short description of what this device is. - */ - public String getDescription(); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/bus/IBusInterface.java b/src/api/java/lordfokas/stargatetech2/api/bus/IBusInterface.java deleted file mode 100644 index 848b0f7f9..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/bus/IBusInterface.java +++ /dev/null @@ -1,35 +0,0 @@ -package lordfokas.stargatetech2.api.bus; - -import net.minecraft.nbt.NBTTagCompound; - -/** - * DO NOT IMPLEMENT THIS INTERFACE! To get an instance use - * StargateTechAPI.api().getFactory().getIBusInterface(); - * - * @author LordFokas - */ -public interface IBusInterface { - /** - * Makes the IBusInterface call its IBusDriver's - * getNextPacketToSend() method repeatedly until it returns - * null. Every packet returned by that method will be sent - * across the network. - */ - public void sendAllPackets(); - - /** - * Serialize this object. - * - * @param nbt The tag compound where this object's data is. - * @param tag The name of the tag under which this object's data is stored. - */ - public void writeToNBT(NBTTagCompound nbt, String tag); - - /** - * Unserialize this object. - * - * @param nbt The tag compound where this object's data is. - * @param tag The name of the tag under which this object's data is stored. - */ - public void readFromNBT(NBTTagCompound nbt, String tag); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/Address.java b/src/api/java/lordfokas/stargatetech2/api/stargate/Address.java deleted file mode 100644 index 71420ea69..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/Address.java +++ /dev/null @@ -1,82 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -public class Address { - private Symbol[] symbols; - - public static Address create(Symbol[] symbols){ - try{ - boolean used[] = new boolean[40]; - if(symbols.length < 7) throw new Exception("Address too short: " + symbols.length); - if(symbols.length > 9) throw new Exception("Address too long: " + symbols.length); - for(int i = 0; i < used.length; i++){ - used[i] = (i == 0); - } - for(Symbol symbol : symbols){ - if(symbol == null || symbol == Symbol.VOID){ - throw new Exception("Invalid Symbol."); - } - if(used[symbol.ordinal()]){ - throw new Exception("Repeated Symbol."); - } - used[symbol.ordinal()] = true; - } - return new Address(symbols); - }catch(Exception e){ - return null; - } - } - - private Address(Symbol[] symbols){ - this.symbols = symbols; - } - - public int length(){ - return symbols.length; - } - - public Symbol getSymbol(int symbol){ - if(symbol >= 0 && symbol < length()){ - return symbols[symbol]; - }else{ - return Symbol.VOID; - } - } - - @Override - public String toString(){ - StringBuilder sb = new StringBuilder(); - sb.append(getSymbol(0).toString()); - sb.append(getSymbol(1).toString().toLowerCase()); - sb.append(getSymbol(2).toString().toLowerCase()); - sb.append(" "); - sb.append(getSymbol(3).toString()); - sb.append(getSymbol(4).toString().toLowerCase()); - sb.append(getSymbol(5).toString().toLowerCase()); - sb.append(" "); - sb.append(getSymbol(6).toString()); - sb.append(getSymbol(7).toString().toLowerCase()); - sb.append(getSymbol(8).toString().toLowerCase()); - return sb.toString(); - } - - @Override - public boolean equals(Object o){ - if(o instanceof Address){ - Address a = (Address) o; - if(a.length() == length()){ - for(int i = 0; i < length(); i++){ - if(symbols[i] != a.symbols[i]){ - return false; - } - } - return true; - } - } - return false; - } - - @Override - public int hashCode(){ - return length(); - } -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/DialError.java b/src/api/java/lordfokas/stargatetech2/api/stargate/DialError.java deleted file mode 100644 index 422c61f7e..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/DialError.java +++ /dev/null @@ -1,22 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -public enum DialError{ - // Dialing Errors - SOURCE_ADDRESS_NOT_FOUND, - TARGET_ADDRESS_NOT_FOUND, - SOURCE_WORLD_NOT_FOUND, - TARGET_WORLD_NOT_FOUND, - CANNOT_DIAL_SAME_WORLD, - FAILED_CHUNKLOADING_SOURCE, - FAILED_CHUNKLOADING_TARGET, - SOURCE_GATE_NOT_FOUND, - TARGET_GATE_NOT_FOUND, - NOT_ENOUGH_POWER, - TARGET_GATE_BUSY, - SOURCE_GATE_BUSY, - - // Logic - DIALING_EVENT_CANCELED, - SUCCESSFULLY_DIALED, - UNKNOWN_LOGIC_ERROR; -} diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/DialEvent.java b/src/api/java/lordfokas/stargatetech2/api/stargate/DialEvent.java deleted file mode 100644 index 184256ae7..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/DialEvent.java +++ /dev/null @@ -1,37 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -import cpw.mods.fml.common.eventhandler.Cancelable; - -public abstract class DialEvent extends StargateEvent { - public final Address sourceAddress; - public final Address destAddress; - public final int duration; - - public DialEvent(Address src, Address dst, int dur) { - sourceAddress = src; - destAddress = dst; - duration = dur; - } - - @Cancelable - public static class Pre extends DialEvent { - public Pre(Address src, Address dst, int dur) { - super(src, dst, dur); - } - } - - public static class Success extends DialEvent { - public Success(Address src, Address dst, int dur) { - super(src, dst, dur); - } - } - - public static class Error extends DialEvent { - public final DialError error; - - public Error(Address src, Address dst, DialError error) { - super(src, dst, -1); - this.error = error; - } - } -} diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/IDynamicWorldLoader.java b/src/api/java/lordfokas/stargatetech2/api/stargate/IDynamicWorldLoader.java deleted file mode 100644 index 3da10b081..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/IDynamicWorldLoader.java +++ /dev/null @@ -1,21 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - - -public interface IDynamicWorldLoader { - /** - * @param address The address we're creating a new world for. - * @return Whether or not this loader will create a new world for this non-existing address. - */ - public boolean willCreateWorldFor(Address address); - - /** - * Actually create a new world for this address. - * This world must not exist already! - * Do not forget to use the seedingShip to place a stargate on this world, or the pending - * wormhole will not connect. - * - * @param address The address we're creating a new world for. - * @param seedingShip The IStargatePlacer we'll use to place our stargate. - */ - public void loadWorldFor(Address address, IStargatePlacer seedingShip); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/IStargateNetwork.java b/src/api/java/lordfokas/stargatetech2/api/stargate/IStargateNetwork.java deleted file mode 100644 index 276a08254..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/IStargateNetwork.java +++ /dev/null @@ -1,80 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -import net.minecraft.world.World; - -public interface IStargateNetwork { - /** - * @return Whether the Stargate Network is loaded (working) or not. - */ - public boolean isLoaded(); - - /** - * @param address The string representation of an address. (e.g. "Proclarush Taonas At") - * @return an address object if the string is a valid address, null otherwise. - */ - public Address parseAddress(String address); - - /** - * Checks if a given address exists in the network or not. - * (i.e., if this address maps to a physical Stargate) - * - * @param address the address we want to check. - * @return whether the address exists or not. - */ - public boolean addressExists(Address address); - - /** - * Returns the address of the Stargate in a specific location if it exists or null otherwise. - * - * @param world The world the target Stargate is in. - * @param x The target Stargate's X coordinate. - * @param y The target Stargate's Y coordinate. - * @param z The target Stargate's Z coordinate. - * @return The Stargate's address, or null if the location doesn't contain a Stargate. - */ - public Address getAddressOf(World world, int x, int y, int z); - - /** - * Returns the address of the Stargate nearest to the specified location, or null if there is no gate within the specified radius - * @param world The world the target Stargate is in. - * @param x The target Stargate's X coordinate. - * @param y The target Stargate's Y coordinate. - * @param z The target Stargate's Z coordinate. - * @param radius The maximum radius to look for a Stargate. Use -1 to search the whole world. - * @return The Stargate's address, or null if no Stargate was found - */ - public Address findNearestStargate(World world, int x, int y, int z, int radius); - - /** - * Register a new IDynamicWorldLoader. - * - * @param dwl The IDynamicWorldLoader to register. - */ - public void registerDynamicWorldLoader(IDynamicWorldLoader dwl); - - /** - * Unregister a known IDynamicWorldLoader. - * - * @param dwl The IDynamicWorldLoader to unregister. - */ - public void unregisterDynamicWorldLoader(IDynamicWorldLoader dwl); - - /** - * Reserve an address prefix for your DWL. - * If a Stargate attempts to dial a world with that prefix, - * your DWL is given exclusivity in generating that world. - * - * @param dwl Your IDynamicWorldLoader - * @param prefix And array of exactly 3 non-null and non-void symbols representing a dimension. - * @return whether or not the prefix has been successfully reserved. - */ - public boolean reserveDimensionPrefix(IDynamicWorldLoader dwl, Symbol[] prefix); - - /** - * Checks if the specified prefix is associated with a dimension or reserved by a {@link IDynamicWorldLoader}. - * - * @param prefix An array of exactly 3 non-null and non-void symbols representing a dimension. - * @return Whether or not the prefix is either used or reserved. - */ - public boolean prefixExists(Symbol[] prefix); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/IStargatePlacer.java b/src/api/java/lordfokas/stargatetech2/api/stargate/IStargatePlacer.java deleted file mode 100644 index 522c99fb2..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/IStargatePlacer.java +++ /dev/null @@ -1,17 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -import net.minecraft.world.World; - -public interface IStargatePlacer { - /** - * Attempts to place a Stargate in the givel location. - * - * @param w Our world. - * @param x The stargate base's (bottom center block) X coord. - * @param y The stargate base's (bottom center block) Y coord. - * @param z The stargate base's (bottom center block) Z coord. - * @param facing The direction the stargate should be facing. Should be a value in [0 - 3]. - * @return Whether the Stargate was placed or not. - */ - public boolean placeStargate(World w, int x, int y, int z, int facing); -} diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/ITileStargate.java b/src/api/java/lordfokas/stargatetech2/api/stargate/ITileStargate.java deleted file mode 100644 index f481b061f..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/ITileStargate.java +++ /dev/null @@ -1,16 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -/** - * Represents a Stargate ring. - * Stargate "base" blocks contain the ring, so they implement this as well. - * - * All you can get from the Stargate ring is the address. - * - * @author LordFokas - */ -public interface ITileStargate { - /** - * @return This Stargate's address. null values are possible on the client side. - */ - public Address getAddress(); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/ITileStargateBase.java b/src/api/java/lordfokas/stargatetech2/api/stargate/ITileStargateBase.java deleted file mode 100644 index 6b9ba82c3..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/ITileStargateBase.java +++ /dev/null @@ -1,30 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -/** - * Represents a Stargate base block (the block that supports the stargate). - * - * It contains all the important logic in the Stargate, - * like dialing, Iris control and power usage. - * - * Because the ring is inside the block that supports it, it is possible to - * call the same methods you can call on a ring. - * - * @see ITileStargate - * - * @author LordFokas - */ -public interface ITileStargateBase extends ITileStargate{ - public enum DialMethod{ - MANUAL, // Dialing Computers - AUTO // DHDs - } - - /** - * Used to try making the Stargate dial an address. - * - * @param address The address this Stargate should dial. - * @param timeout How many seconds the connection will last. (1 - 38; default: 38); - * @return whether the dialing sequence started (true) or failed (false). - */ - public DialError dial(Address address, int timeout, DialMethod method); -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/StargateEvent.java b/src/api/java/lordfokas/stargatetech2/api/stargate/StargateEvent.java deleted file mode 100644 index 84f52c2ca..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/StargateEvent.java +++ /dev/null @@ -1,38 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import cpw.mods.fml.common.eventhandler.Event; -import net.minecraft.world.World; - -public abstract class StargateEvent extends Event { - - private static abstract class PhysicalGateEvent extends StargateEvent { - public final Address address; - public final World world; - public final int xCoord; - public final int yCoord; - public final int zCoord; - - public PhysicalGateEvent(Address addr, World world, int x, int y, int z) { - this.xCoord = x; - this.yCoord = y; - this.zCoord = z; - this.world = world; - this.address = addr; - } - } - - @Cancelable - public static class StargateWrenched extends PhysicalGateEvent { - public StargateWrenched(Address addr, World world, int x, int y, int z) { - super(addr, world, x, y, z); - } - } - - public static class StargateDestroyed extends PhysicalGateEvent { - public StargateDestroyed(Address addr, World world, int x, int y, int z) { - super(addr, world, x, y, z); - } - } - -} diff --git a/src/api/java/lordfokas/stargatetech2/api/stargate/Symbol.java b/src/api/java/lordfokas/stargatetech2/api/stargate/Symbol.java deleted file mode 100644 index 845ad8838..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/stargate/Symbol.java +++ /dev/null @@ -1,63 +0,0 @@ -package lordfokas.stargatetech2.api.stargate; - -public enum Symbol { - VOID(""), - AT ("At"), // 1 - AL ("Al"), // 2 - CLA ("Cla"), // 3 - UR ("Ur"), // 4 - ON ("On"), // 5 - DEH ("Deh"), // 6 - EC ("Ec"), // 7 - MIG ("Mig"), // 8 - AM ("Am"), // 9 - RUM ("Rum"), // 10 - AR ("Ar"), // 11 - VA ("Va"), // 12 - COR ("Cor"), // 13 - PRA ("Pra"), // 14 - OM ("Om"), // 15 - ET ("Et"), // 16 - AS ("As"), // 17 - US ("Us"), // 18 - GON ("Gon"), // 19 - ORM ("Orm"), // 20 - EM ("Em"), // 21 - AC ("Ac"), // 22 - OTH ("Oth"), // 23 - LOS ("Los"), // 24 - LAN ("Lan"), // 25 - EST ("Est"), // 26 - CRO ("Cro"), // 27 - SIL ("Sil"), // 28 - TA ("Ta"), // 29 - BREI("Brei"), // 30 - RUSH("Rush"), // 31 - ERP ("Erp"), // 32 - SET ("Set"), // 33 - ULF ("Ulf"), // 34 - PRO ("Pro"), // 35 - SAL ("Sal"), // 36 - TIS ("Tis"), // 37 - MAC ("Mac"), // 38 - IRT ("Irt"); // 39 - - private String name; - - private Symbol(String name){ - this.name = name; - } - - public static Symbol get(int s){ - if(s >= 0 && s <= 39){ - return values()[s]; - }else{ - return VOID; - } - } - - @Override - public String toString(){ - return name; - } -} \ No newline at end of file diff --git a/src/api/java/lordfokas/stargatetech2/api/world/EventWorldGen.java b/src/api/java/lordfokas/stargatetech2/api/world/EventWorldGen.java deleted file mode 100644 index 2fcc7c0c0..000000000 --- a/src/api/java/lordfokas/stargatetech2/api/world/EventWorldGen.java +++ /dev/null @@ -1,28 +0,0 @@ -package lordfokas.stargatetech2.api.world; - -import net.minecraft.world.World; -import cpw.mods.fml.common.eventhandler.Event; -import cpw.mods.fml.common.eventhandler.Event.HasResult; - -@HasResult -public class EventWorldGen extends Event { - - public final World world; - public final int chunkX; - public final int chunkZ; - public final GenType type; - - public EventWorldGen(World world, int cX, int cZ, GenType type) { - this.world = world; - this.chunkX = cX; - this.chunkZ = cZ; - this.type = type; - } - - public static enum GenType { - STARGATE, - LOOT_POD, - VEIN_NAQUADAH; - } - -} diff --git a/src/api/java/thaumcraft/api b/src/api/java/thaumcraft/api deleted file mode 160000 index 774135f44..000000000 --- a/src/api/java/thaumcraft/api +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 774135f441fd56f295d82069b251ee7e1e084869 diff --git a/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala b/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala index af0f36167..3e298b6ca 100644 --- a/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala +++ b/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala @@ -21,20 +21,6 @@ class RobotAfterimage extends SimpleBlock with traits.SpecialBlock { setCreativeTab(null) NEI.hide(this) - // TODO remove -// private var icon: IIcon = _ -// -// // ----------------------------------------------------------------------- // -// -// @SideOnly(Side.CLIENT) -// override def getIcon(side: EnumFacing, metadata: Int) = icon -// -// @SideOnly(Side.CLIENT) -// override def registerBlockIcons(iconRegister: IIconRegister) { -// super.registerBlockIcons(iconRegister) -// icon = iconRegister.getAtlasSprite(Settings.resourceDomain + ":GenericTop") -// } - override def shouldSideBeRendered(world: IBlockAccess, pos: BlockPos, side: EnumFacing) = false override def isBlockSolid(world: IBlockAccess, pos: BlockPos, side: EnumFacing) = false diff --git a/src/main/scala/li/cil/oc/common/block/RobotProxy.scala b/src/main/scala/li/cil/oc/common/block/RobotProxy.scala index 365b51b6d..235166cf2 100644 --- a/src/main/scala/li/cil/oc/common/block/RobotProxy.scala +++ b/src/main/scala/li/cil/oc/common/block/RobotProxy.scala @@ -39,18 +39,6 @@ class RobotProxy extends RedstoneAware with traits.SpecialBlock { // ----------------------------------------------------------------------- // - // TODO remove -// private var icon: IIcon = _ -// -// @SideOnly(Side.CLIENT) -// override def registerBlockIcons(iconRegister: IIconRegister) { -// super.registerBlockIcons(iconRegister) -// icon = iconRegister.getAtlasSprite(Settings.resourceDomain + ":GenericTop") -// } -// -// @SideOnly(Side.CLIENT) -// override def getIcon(side: EnumFacing, metadata: Int) = icon - override def shouldSideBeRendered(world: IBlockAccess, pos: BlockPos, side: EnumFacing) = false override def isBlockSolid(world: IBlockAccess, pos: BlockPos, side: EnumFacing) = false diff --git a/src/main/scala/li/cil/oc/common/item/Delegator.scala b/src/main/scala/li/cil/oc/common/item/Delegator.scala index e83474149..033af4026 100644 --- a/src/main/scala/li/cil/oc/common/item/Delegator.scala +++ b/src/main/scala/li/cil/oc/common/item/Delegator.scala @@ -169,35 +169,5 @@ class Delegator extends Item { case _ => super.onUpdate(stack, world, player, slot, selected) } - // TODO remove - // @SideOnly(Side.CLIENT) - // override def getIcon(stack: ItemStack, pass: Int) = - // subItem(stack) match { - // case Some(subItem) => subItem.icon(stack, pass) match { - // case Some(icon) => icon - // case _ => super.getIcon(stack, pass) - // } - // case _ => super.getIcon(stack, pass) - // } - // - // @SideOnly(Side.CLIENT) - // override def getIconIndex(stack: ItemStack) = getIcon(stack, 0) - // - // @SideOnly(Side.CLIENT) - // override def getIconFromDamage(damage: Int): IIcon = - // subItem(damage) match { - // case Some(subItem) => subItem.icon match { - // case Some(icon) => icon - // case _ => super.getIconFromDamage(damage) - // } - // case _ => super.getIconFromDamage(damage) - // } - // - // @SideOnly(Side.CLIENT) - // override def registerIcons(iconRegister: IIconRegister) { - // super.getAtlasSprites(iconRegister) - // subItems.foreach(_.getAtlasSprites(iconRegister)) - // } - override def toString = getUnlocalizedName } diff --git a/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala b/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala index 359660b88..4b204f772 100644 --- a/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala +++ b/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala @@ -21,22 +21,4 @@ class FloppyDisk(val parent: Delegator) extends Delegate { } super.tooltipLines(stack, player, tooltip, advanced) } - - // TODO remove - // val icons = Array.fill[Icon](16)(null) - // - // @SideOnly(Side.CLIENT) - // override def icon(stack: ItemStack, pass: Int) = - // if (stack.hasTagCompound && stack.getTagCompound.hasKey(Settings.namespace + "color")) - // Some(icons(stack.getTagCompound.getInteger(Settings.namespace + "color") max 0 min 15)) - // else - // Some(icons(8)) - // - // override def registerIcons(iconRegister: IconRegister) { - // val baseTextureName = Settings.resourceDomain + ":" + unlocalizedName + "_" - // Color.dyes.zipWithIndex.foreach { - // case (color, index) => - // icons(index) = iconRegister.getAtlasSprite(baseTextureName + color) - // } - // } } diff --git a/src/main/scala/li/cil/oc/common/item/SimpleItem.scala b/src/main/scala/li/cil/oc/common/item/SimpleItem.scala index 6c9630e90..73d70b515 100644 --- a/src/main/scala/li/cil/oc/common/item/SimpleItem.scala +++ b/src/main/scala/li/cil/oc/common/item/SimpleItem.scala @@ -24,9 +24,6 @@ import org.lwjgl.input class SimpleItem extends Item { setCreativeTab(CreativeTab) - // TODO remove - // iconString = Settings.resourceDomain + ":" + getClass.getSimpleName - def createItemStack(amount: Int = 1) = new ItemStack(this, amount) override def isBookEnchantable(stack: ItemStack, book: ItemStack) = false diff --git a/src/main/scala/li/cil/oc/common/item/Tablet.scala b/src/main/scala/li/cil/oc/common/item/Tablet.scala index 736acb9e0..5dc2617c4 100644 --- a/src/main/scala/li/cil/oc/common/item/Tablet.scala +++ b/src/main/scala/li/cil/oc/common/item/Tablet.scala @@ -47,25 +47,6 @@ class Tablet(val parent: Delegator) extends Delegate { override def maxStackSize = 1 - // TODO remove - // private var iconOn: Option[Icon] = None - // private var iconOff: Option[Icon] = None - // - // @SideOnly(Side.CLIENT) - // override def icon(stack: ItemStack, pass: Int) = { - // if (stack.hasTagCompound) { - // val data = new ItemUtils.TabletData(stack) - // if (data.isRunning) iconOn else iconOff - // } else super.icon(stack, pass) - // } - // - // override def registerIcons(iconRegister: IconRegister) = { - // super.getAtlasSprites(iconRegister) - // - // iconOn = Option(iconRegister.getAtlasSprite(Settings.resourceDomain + ":TabletOn")) - // iconOff = Option(iconRegister.getAtlasSprite(Settings.resourceDomain + ":TabletOff")) - // } - // ----------------------------------------------------------------------- // override def isDamageable = true diff --git a/src/main/scala/li/cil/oc/integration/nei/NEIOpenComputersConfig.scala b/src/main/scala/li/cil/oc/integration/nei/NEIOpenComputersConfig.scala index edbb7151c..dd8469282 100644 --- a/src/main/scala/li/cil/oc/integration/nei/NEIOpenComputersConfig.scala +++ b/src/main/scala/li/cil/oc/integration/nei/NEIOpenComputersConfig.scala @@ -5,8 +5,8 @@ import codechicken.nei.api.API import codechicken.nei.api.IConfigureNEI import codechicken.nei.config.OptionToggleButton import codechicken.nei.guihook.GuiContainerManager -import cpw.mods.fml.relauncher.Side -import cpw.mods.fml.relauncher.SideOnly +import net.minecraftforge.fml.relauncher.Side +import net.minecraftforge.fml.relauncher.SideOnly import li.cil.oc.integration.util.NEI import net.minecraft.item.ItemStack diff --git a/src/main/scala/li/cil/oc/integration/util/NEI.scala b/src/main/scala/li/cil/oc/integration/util/NEI.scala index 930155c79..abe6c0062 100644 --- a/src/main/scala/li/cil/oc/integration/util/NEI.scala +++ b/src/main/scala/li/cil/oc/integration/util/NEI.scala @@ -1,9 +1,6 @@ package li.cil.oc.integration.util -/* TODO NEI import codechicken.nei.LayoutManager -*/ - import li.cil.oc.integration.Mods import net.minecraft.block.Block import net.minecraft.client.gui.inventory.GuiContainer @@ -14,26 +11,20 @@ import scala.collection.mutable object NEI { val hiddenBlocks = mutable.Set.empty[Block] - def isInputFocused = false - - /* TODO NEI + def isInputFocused = Mods.NotEnoughItems.isAvailable && (try isInputFocused0 catch { case _: Throwable => false }) private def isInputFocused0 = LayoutManager.getInputFocused != null - */ - def hoveredStack(container: GuiContainer, mouseX: Int, mouseY: Int): Option[ItemStack] = None - - /* TODO NEI + def hoveredStack(container: GuiContainer, mouseX: Int, mouseY: Int): Option[ItemStack] = if (Mods.NotEnoughItems.isAvailable) try Option(hoveredStack0(container, mouseX, mouseY)) catch { case t: Throwable => None } else None private def hoveredStack0(container: GuiContainer, mouseX: Int, mouseY: Int) = LayoutManager.instance.getStackUnderMouse(container, mouseX, mouseY) - */ def hide(block: Block): Unit = if (Mods.NotEnoughItems.isAvailable) hiddenBlocks += block }