Compare commits

..

2 commits

Author SHA1 Message Date
Alkalus
0f8340b31c
Update GT_MetaTileEntity_Hatch_Output.java 2019-11-15 13:56:05 +00:00
Alkalus
12ce0da857
Fix silly oversight in Fluid Hatch fluid handling. 2019-11-15 13:54:52 +00:00
68 changed files with 1822 additions and 2827 deletions

5
.gitignore vendored
View file

@ -1,4 +1,3 @@
### Windows ###
thumbs.db
@ -74,8 +73,10 @@ local.properties
classes/
/out/
gradle/wrapper/gradle-wrapper.properties
gradlew
gradlew.bat
# Linux
*~
maven/*

View file

@ -1,51 +1,22 @@
buildscript {
repositories {
mavenCentral()
jcenter()
maven {
name = "forge"
url = "https://maven.minecraftforge.net"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "gt"
url = "https://gregtech.overminddl1.com/"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
changing = true
}
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
}
}
// Because Forge is too stupid to fix Deprecation Issues, and we cannot fix it on our end! (until we fork Forge)
allprojects {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:deprecation"
}
}
apply plugin: 'eclipse'
eclipse {
classpath {
downloadJavadoc = true
downloadSources = true
}
}
apply plugin: 'idea'
idea{
module {
downloadJavadoc = true
downloadSources = true
}
}
apply plugin: 'forge'
apply plugin: 'idea'
file "build.properties" withReader {
def prop = new Properties()
@ -57,12 +28,9 @@ version = "${config.gt.version}"
group= "gregtech"
archivesBaseName = "gregtech"
sourceCompatibility = 1.7
targetCompatibility = 1.7
compileJava.options.bootClasspath = org.gradle.internal.jvm.Jvm.current().getJre().getHomeDir().toString() +"/lib/rt.jar"
compileJava {
options.encoding = "UTF-8"
}
minecraft {
version = "${config.minecraft.version}-${config.forge.version}"
@ -78,60 +46,89 @@ configurations {
}
repositories {
maven {
name = "chickenbones"
url = "http://chickenbones.net/maven/"
}
maven {
name = "gt"
url = "https://gregtech.overminddl1.com/"
}
maven {
name = "ic2"
url = "https://maven2.ic2.player.to/"
}
maven {
name = "k4u"
url = "https://maven.k-4u.nl/"
}
maven {
name = "local"
url = "file:///C:/Users/michael/Documents/GT5-Unofficial/maven/"
maven {
name 'Forge'
url 'http://files.minecraftforge.net/maven'
}
maven {
name = "chickenbones"
url = "http://chickenbones.net/maven/"
}
maven {
name = "ic2, forestry"
url = "http://maven.ic2.player.to/"
}
maven { // EnderIO & EnderCore
name 'tterrag Repo'
url "http://maven.tterrag.com"
}
maven { // TConstruct
name 'DVS1 Maven FS'
url 'http://dvs1.progwml6.com/files/maven'
}
maven { // AppleCore
url "http://www.ryanliptak.com/maven/"
}
ivy {
name "BuildCraft"
artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]"
}
ivy {
name 'CoFHLib'
artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhlib.cf}/[module]-[revision].[ext]"
}
ivy {
name 'CoFHCore'
artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhcore.cf}/[module]-[revision].[ext]"
}
ivy {
name 'Railcraft'
artifactPattern "http://addons-origin.cursecdn.com/files/${config.railcraft.cf}/[module]_[revision].[ext]"
}
ivy {
name 'IC2NuclearControl'
artifactPattern "http://addons-origin.cursecdn.com/files/${config.nc.cf}/[module]-[revision].[ext]"
}
ivy {
name 'ImmersiveEngineering'
artifactPattern "http://addons-origin.cursecdn.com/files/${config.immeng.cf}/[module]-[revision].[ext]"
}
ivy {
name 'magneticraft'
artifactPattern "http://addons-origin.cursecdn.com/files/${config.magneticraft.cf}/[module]-[revision].[ext]"
}
}
dependencies {
// compile fileTree(dir: 'libs', include: '*.jar')
provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev"
compileOnly "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10"
//compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"
//compile "codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev"
//compile "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev"
compileOnly "com.enderio.core:EnderCore:1.7.10-0.2.0.39_beta:dev"
compileOnly "com.enderio:EnderIO:1.7.10-2.3.0.430_beta:dev"
compileOnly "cofh:CoFHCore:1.7.10R3.0.4:dev"
compileOnly "cofh:CoFHLib:1.7.10R3.0.3:dev"
compileOnly "com.mod-buildcraft:buildcraft:7.1.23:dev"
compileOnly "net.sengir.forestry:forestry_1.7.10:4.2.16.64:dev"
compileOnly "mods.railcraft:Railcraft_1.7.10:9.12.3.0:dev"
compileOnly "micdoodle8.mods:GalacticraftCore:1.7-3.0.12.504:Dev"
compileOnly "micdoodle8.mods:MicdoodleCore:1.7-3.0.12.504:Dev"
compileOnly "thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev"
compileOnly "com.azanor.baubles:Baubles:1.7.10-1.0.1.10:deobf"
compileOnly "appeng:appliedenergistics2:rv3-beta-6:dev"
compileOnly "applecore:AppleCore:1.7.10-3.1.1:deobf"
compileOnly "com.shedar.IC2NuclearControl:IC2NuclearControl:2.4.3a:dev"
compileOnly "pneumaticCraft:PneumaticCraft-1.7.10:1.12.7-152:userdev"
compileOnly "glenn:gasesFramework:1.7.10-1.2.4:dev"
compileOnly "glenn:gases:1.7.10-1.6.7:dev"
compile "tconstruct:TConstruct:${config.minecraft.version}-${config.tconstruct.version}:deobf"
provided ("appeng:appliedenergistics2:${config.ae2.version}:dev") {
exclude module: '*'
}
provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.codechickenlib.version}:dev"
provided "codechicken:CodeChickenCore:${config.minecraft.version}-${config.codechickencore.version}:dev"
provided "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev"
provided "codechicken:Translocator:${config.minecraft.version}-${config.translocators.version}:dev"
provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev"
provided "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:dev"
provided "applecore:AppleCore:${config.applecore.version}:api"
provided "com.enderio.core:EnderCore:${config.enderiocore.version}:dev"
provided ("com.enderio:EnderIO:${config.enderio.version}:dev") {
transitive = false
}
provided name: 'buildcraft', version: config.buildcraft.version, classifier: "dev", ext: 'jar'
provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar'
provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar'
provided name: 'Railcraft', version: config.railcraft.version, ext: 'jar'
provided name: 'IC2NuclearControl', version: config.nc.version, ext: 'jar'
provided name: 'ImmersiveEngineering', version: config.immeng.version, ext: 'jar'
provided name: 'magneticraft', version: config.magneticraft.version, ext: 'jar'
// compile files("libs/Galacticraft-API-1.7-${config.gc.version}.jar")
// compile files("libs/GalacticraftCore-Dev-${config.gc.version}.jar")
provided name: "Galacticraft-API", version: config.gc.version, ext: 'jar'
provided name: "GalacticraftCore-Dev", version: config.gc.version, ext: 'jar'
}
processResources

View file

@ -1,8 +1,7 @@
minecraft.version=1.7.10
forge.version=10.13.4.1566-1.7.10
gt.version=5.09.33.03
gt.version=5.09.31
ae2.version=rv2-beta-33
applecore.version=1.7.10-1.2.1+107.59407
buildcraft.version=7.1.11
@ -16,9 +15,16 @@ enderio.cf=2219/296
enderio.version=1.7.10-2.3.0.417_beta
enderiocore.version=1.7.10-0.1.0.25_beta
forestry.version=4.2.10.58
ic2.version=2.2.817-experimental
gc.version=1.7-3.0.12.504
ic2.version=2.2.790-experimental
nei.version=1.0.3.57
railcraft.cf=2219/321
railcraft.version=1.7.10-9.4.0.0
nc.cf=2275/987
nc.version=2.3.4a
nc.version=2.3.4a
immeng.cf=2299/20
immeng.version=0.7.7-deobf
magneticraft.cf=2276/268
magneticraft.version=0.6.1-final
tconstruct.version=1.8.4.build951
translocators.version=1.1.2.16

Binary file not shown.

View file

@ -1,6 +0,0 @@
#Wed Jul 02 15:54:47 CDT 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip

164
gradlew vendored
View file

@ -1,164 +0,0 @@
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

90
gradlew.bat vendored
View file

@ -1,90 +0,0 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
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=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View file

@ -1206,8 +1206,6 @@ public class GT_Mod implements IGT_Mod {
GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1),
GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1),
GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Lignite, 1),
GT_OreDictUnificator.get(OrePrefixes.gem, Materials.PetrolCoke, 1),
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PetrolCoke, 1),
GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1),
GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 1),
GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1),

View file

@ -88,8 +88,7 @@ public class GregTech_API {
* 12001 - 12500 are reserved for RedMage17.
* 12501 - 13000 are reserved for bartimaeusnek.
* 13001 - 13100 are reserved for Techlone
* 13101 - 13500 are reserved for kekzdealer
* 13501 - 14999 are currently free.
* 13101 - 14999 are currently free.
* 15000 - 16999 are reserved for TecTech.
* 17000 - 29999 are currently free.
* 30000 - 31999 are reserved for Alkalus.

View file

@ -1,7 +1,6 @@
package gregtech.api.enums;
import gregtech.api.interfaces.IItemContainer;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@ -10,9 +9,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import java.util.Locale;
import static gregtech.api.enums.GT_Values.*;
import static gregtech.api.enums.GT_Values.W;
/**
* Class containing all non-OreDict Items of GregTech.
@ -508,10 +505,6 @@ public enum ItemList implements IItemContainer {
Generator_Gas_Turbine_LV,
Generator_Gas_Turbine_MV,
Generator_Gas_Turbine_HV,
Generator_Jet_Turbine_MV,
Generator_Jet_Turbine_HV,
Generator_Jet_Turbine_EV,
//Generator_Jet_Turbine_IV,
Generator_Steam_Turbine_LV,
Generator_Steam_Turbine_MV,
Generator_Steam_Turbine_HV,
@ -757,24 +750,8 @@ public enum ItemList implements IItemContainer {
@Override
public ItemStack getWithName(long aAmount, String aDisplayName, Object... aReplacements) {
ItemStack rStack = get(1, aReplacements);
if (GT_Utility.isStackInvalid(rStack)) return NI;
// CamelCase alphanumeric words from aDisplayName
StringBuilder tCamelCasedDisplayNameBuilder = new StringBuilder();
final String[] tDisplayNameWords = aDisplayName.split("\\W");
for (String tWord : tDisplayNameWords){
if (tWord.length() > 0) tCamelCasedDisplayNameBuilder.append(tWord.substring(0, 1).toUpperCase(Locale.US));
if (tWord.length() > 1) tCamelCasedDisplayNameBuilder.append(tWord.substring(1).toLowerCase(Locale.US));
}
if (tCamelCasedDisplayNameBuilder.length() == 0) {
// CamelCased DisplayName is empty, so use hash of aDisplayName
tCamelCasedDisplayNameBuilder.append(((Long) (long)aDisplayName.hashCode()).toString());
}
// Construct a translation key from UnlocalizedName and CamelCased DisplayName
final String tKey = rStack.getUnlocalizedName() + ".with." + tCamelCasedDisplayNameBuilder.toString() + ".name";
rStack.setStackDisplayName(GT_LanguageManager.addStringLocalization(tKey, aDisplayName));
if (GT_Utility.isStackInvalid(rStack)) return null;
rStack.setStackDisplayName(aDisplayName);
return GT_Utility.copyAmount(aAmount, rStack);
}
@ -809,4 +786,4 @@ public enum ItemList implements IItemContainer {
for (Object tOreName : aOreNames) GT_OreDictUnificator.registerOre(tOreName, getWildcard(1));
return this;
}
}
}

View file

@ -7,7 +7,7 @@ import java.util.List;
import gregtech.api.objects.MaterialStack;
public class MaterialBuilder {
public static final int DIESEL = 0, GAS = 1, THERMAL = 2, SEMIFLUID = 3, PLASMA = 4, MAGIC = 5, JET = 6;
public static final int DIESEL = 0, GAS = 1, THERMAL = 2, SEMIFLUID = 3, PLASMA = 4, MAGIC = 5;
private int metaItemSubID;
private TextureSet iconSet;

View file

@ -415,8 +415,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials WoodGas = new MaterialBuilder(660, TextureSet.SET_FLUID, "Wood Gas").addCell().addGas().setRGB(222, 205, 135).setColor(Dyes.dyeBrown).setFuelType(MaterialBuilder.GAS).setFuelPower(24).constructMaterial();
public static Materials WoodTar = new MaterialBuilder(662, TextureSet.SET_FLUID, "Wood Tar").addCell().addFluid().setRGB(40, 23, 11).setColor(Dyes.dyeBrown).constructMaterial();
public static Materials WoodVinegar = new MaterialBuilder(661, TextureSet.SET_FLUID, "Wood Vinegar").addCell().addFluid().setRGB(212, 85, 0).setColor(Dyes.dyeBrown).constructMaterial();
//new items
public static Materials PetrolCoke = new Materials(693, TextureSet.SET_LIGNITE, 1.0F, 0, 1, 1|4, 85, 80, 80, 0, "PetrolCoke", "Petroleum Coke", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeGray, 1, Arrays.asList(new MaterialStack(Carbon, 2)), Arrays.asList(new TC_AspectStack(TC_Aspects.POTENTIA, 3), new TC_AspectStack(TC_Aspects.IGNIS, 3)));
/**
* TODO: This
@ -538,13 +536,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials LightFuel = new Materials(740, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LightFuel", "Light Fuel", 0, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow).setCanBeCracked(true);
public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true);
public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow);
public static Materials Kerosene = new Materials(743, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 0, 255, 255, 0, "Kerosene", "Kerosene", 0, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlue).setCanBeCracked(true);
public static Materials SulfuricKerosene = new Materials(744, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 0, 255, 255, 0, "SulfuricKerosene", "Sulfuric Kerosene", 0, 32, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlue);
public static Materials ResidualOil = new Materials(745, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "ResidualOil", "Residual Oil", 3, 48, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack);
public static Materials SulfuricResid = new Materials(746, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "SulfuricResid", "Sulfuric Residual Oil", 3, 32, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack);
public static Materials CrackedResid = new Materials(749, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "CrackedResid", "Cracked Residual Oil", 3, 56, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack);
public static Materials Chlorobenzene = new MaterialBuilder(605, TextureSet.SET_FLUID, "Chlorobenzene").addCell().addFluid().setRGB(0, 50, 65).setColor(Dyes.dyeGray).setMaterialList(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 5), new MaterialStack(Chlorine, 1)).addElectrolyzerRecipe().constructMaterial();
public static Materials DilutedHydrochloricAcid = new MaterialBuilder(606, TextureSet.SET_FLUID, "Diluted Hydrochloric Acid").setName("DilutedHydrochloricAcid_GT5U").addCell().addFluid().setRGB(153, 167, 163).setColor(Dyes.dyeLightGray).setMaterialList(new MaterialStack(Hydrogen, 1), new MaterialStack(Chlorine, 1)).constructMaterial();
public static Materials Pyrochlore = new MaterialBuilder(607, TextureSet.SET_METALLIC, "Pyrochlore").addDustItems().addOreItems().setRGB(43, 17, 0).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Calcium, 2), new MaterialStack(Niobium, 2), new MaterialStack(Oxygen, 7)).addElectrolyzerRecipe().constructMaterial();
@ -759,10 +751,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials AntiKnock = new MaterialBuilder(994, TextureSet.SET_FLUID, "Ethyl Tert-Butyl Ether").addCell().addFluid().setRGB(255, 255, 255).setColor(Dyes.dyeWhite).constructMaterial();
public static Materials GasolineRegular = new MaterialBuilder(997, TextureSet.SET_FLUID, "Gasoline").addCell().addFluid().setRGB(255,165,0).setColor(Dyes.dyeOrange).setFuelType(MaterialBuilder.DIESEL).setFuelPower(384).constructMaterial();
public static Materials GasolinePremium = new MaterialBuilder(998, TextureSet.SET_FLUID, "High Octane Gasoline").addCell().addFluid().setRGB(255,165,0).setColor(Dyes.dyeOrange).setFuelType(MaterialBuilder.DIESEL).setFuelPower(768).constructMaterial();
//new materials
//public static Materials Kerosene = new MaterialBuilder(743, TextureSet.SET_FLUID, "Kerosene").addCell().addFluid().setRGB(0,255,255).setColor(Dyes.dyeBlue).setFuelType(MaterialBuilder.DIESEL).setFuelPower(256).constructMaterial();
public static Materials JetFuel = new MaterialBuilder(747, TextureSet.SET_FLUID, "Jet Kerosene").addCell().addFluid().setRGB(70, 200, 255).setColor(Dyes.dyeYellow).setFuelType(MaterialBuilder.JET).setFuelPower(512).constructMaterial();
public static Materials Jet8 = new MaterialBuilder(748, TextureSet.SET_FLUID, "JP-8").addCell().addFluid().setRGB(235, 235, 200).setColor(Dyes.dyeYellow).setFuelType(MaterialBuilder.JET).setFuelPower(640).constructMaterial();
/**
* Materials which are renamed automatically
@ -1245,7 +1233,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Coal.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
Charcoal.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
Lignite.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
PetrolCoke.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
Rubber.add(SubTag.FLAMMABLE, SubTag.NO_SMASHING, SubTag.BOUNCY, SubTag.STRETCHY);
StyreneButadieneRubber.add(SubTag.FLAMMABLE, SubTag.NO_SMASHING, SubTag.BOUNCY, SubTag.STRETCHY);

View file

@ -1,12 +0,0 @@
package gregtech.api.interfaces.internal;
import net.minecraftforge.fluids.Fluid;
public interface GasesCompat {
public boolean registerGregGas(Fluid gas);
public boolean registerOtherGasesAsFluids();
public boolean registerFluidCannerRecipes();
}

View file

@ -622,7 +622,7 @@ public interface IGT_RecipeAdder {
* Every Fluid also gets separate distillation recipes
*
* @param aInput1 must be != null
* @param aOutputs must be != null 1-11 Fluids
* @param aOutputs must be != null 1-5 Fluids
* @param aOutput2 can be null
*/
public boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt);

View file

@ -1,12 +0,0 @@
package gregtech.api.interfaces.internal;
import net.minecraftforge.fluids.Fluid;
public interface IGasesCompat {
public boolean registerGregGas(Fluid gas);
public boolean registerOtherGasesAsFluids();
public boolean registerFluidCannerRecipes();
}

View file

@ -7,7 +7,6 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import net.minecraft.creativetab.CreativeTabs;
@ -62,7 +61,6 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item {
}
if ((tPrefix == OrePrefixes.stick || tPrefix == OrePrefixes.wireFine || tPrefix == OrePrefixes.ingot) && (tMaterial == Materials.Lead || tMaterial == Materials.Tin || tMaterial == Materials.SolderingAlloy)) {
GregTech_API.sSolderingMetalList.add(tStack);
GT_ModHandler.registerBoxableItemToToolBox(tStack);
}
}
}

View file

@ -78,6 +78,7 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
*/
public GT_MetaGenerated_Tool(String aUnlocalized) {
super(aUnlocalized);
GT_ModHandler.registerBoxableItemToToolBox(this);
setCreativeTab(GregTech_API.TAB_GREGTECH);
setMaxStackSize(1);
sInstances.put(getUnlocalizedName(), this);
@ -165,7 +166,6 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
}
if (GregTech_API.sThaumcraftCompat != null)
GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(rStack, tAspects, false);
GT_ModHandler.registerBoxableItemToToolBox(rStack);
return rStack;
}
return null;

View file

@ -1,18 +1,18 @@
package gregtech.api.items;
import java.util.ArrayList;
import gregtech.api.GregTech_API;
import gregtech.api.util.GT_Utility;
import ic2.api.reactor.IReactor;
import ic2.api.reactor.IReactorComponent;
import ic2.core.IC2Potion;
import ic2.core.item.armor.ItemArmorHazmat;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import java.util.ArrayList;
public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implements IReactorComponent {
public final int numberOfCells;
@ -146,7 +146,7 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement
if (this.sRadiation > 0 && (entity instanceof EntityLivingBase)) {
EntityLivingBase entityLiving = (EntityLivingBase) entity;
if (!GregTech_API.mIC2Classic&&!ItemArmorHazmat.hasCompleteHazmat(entityLiving)) {
GT_Utility.applyRadioactivity(entityLiving, sRadiation, stack.stackSize);
IC2Potion.radiation.applyTo(entityLiving, sRadiation * 20, sRadiation * 10);
}
}
}

View file

@ -1,7 +1,6 @@
package gregtech.api.items;
import gregtech.api.util.GT_ModHandler;
import net.minecraft.item.ItemStack;
/**
* This is just a basic Tool, which has normal durability and could break Blocks.
@ -21,6 +20,6 @@ public class GT_Tool_Item extends GT_Generic_Item {
setMaxStackSize(1);
setNoRepair();
setFull3D();
GT_ModHandler.registerBoxableItemToToolBox(new ItemStack(this));
GT_ModHandler.registerBoxableItemToToolBox(this);
}
}

View file

@ -1,19 +1,8 @@
package gregtech.api.metatileentity.implementations;
import static gregtech.api.enums.GT_Values.D1;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.tuple.MutableTriple;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
import gregtech.api.enums.Textures;
import gregtech.api.enums.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.ICoverable;
@ -21,12 +10,13 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseMetaPipeEntity;
import gregtech.api.metatileentity.MetaPipeEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.objects.XSTR;
import gregtech.api.util.GT_CoverBehavior;
import gregtech.api.objects.XSTR;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Client;
import gregtech.common.covers.GT_Cover_Drain;
import gregtech.common.covers.GT_Cover_FluidRegulator;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@ -40,6 +30,12 @@ import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import org.apache.commons.lang3.tuple.MutableTriple;
import java.util.ArrayList;
import java.util.List;
import static gregtech.api.enums.GT_Values.D1;
public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
public final float mThickNess;
@ -396,21 +392,8 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
if (coverBehavior instanceof GT_Cover_Drain) return true;
// Tinker Construct Faucets return a null tank info, so check the class
if (GregTech_API.mTConstruct) {
try {
Class aTinkerFaucet = Class.forName("tconstruct.smeltery.logic.FaucetLogic");
if (aTinkerFaucet != null) {
if (aTinkerFaucet.isInstance(tTileEntity)) {
return true;
}
}
}
catch (Throwable t) {
}
}
if (GregTech_API.mTConstruct && tTileEntity instanceof tconstruct.smeltery.logic.FaucetLogic) return true;
final IFluidHandler fTileEntity = (tTileEntity instanceof IFluidHandler) ? (IFluidHandler) tTileEntity : null;
if (fTileEntity != null) {
@ -419,19 +402,8 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
if (tInfo.length > 0) return true;
// Translocators return a TankInfo, but it's of 0 length - so check the class if we see this pattern
if (GregTech_API.mTranslocator) {
try {
Class aCodeChickenTranslocator = Class.forName("codechicken.translocator.TileLiquidTranslocator");
if (aCodeChickenTranslocator != null) {
if (aCodeChickenTranslocator.isInstance(tTileEntity)) {
return true;
}
}
}
catch (Throwable t) {
}
}
if (GregTech_API.mTranslocator && tTileEntity instanceof codechicken.translocator.TileLiquidTranslocator) return true;
if (gTileEntity != null && gTileEntity.getCoverBehaviorAtSide(tSide) instanceof GT_Cover_FluidRegulator) return true;
}
}

View file

@ -21,8 +21,6 @@ import net.minecraftforge.fluids.FluidStack;
import java.util.Locale;
import java.util.Random;
import cpw.mods.fml.common.Loader;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.W;
@ -74,28 +72,17 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
if (aRecipe[i] == X.GLASS) {
if (Loader.isModLoaded("bartworks")){
if (mTier>=8)
aRecipe[i] = "blockGlass"+GT_Values.VN[8];
else if (mTier < 3)
aRecipe[i] = "blockGlass"+GT_Values.VN[3];
else
aRecipe[i] = "blockGlass"+GT_Values.VN[mTier];
continue;
}
else {
switch (mTier) {
case 6:
case 7:
case 8:
aRecipe[i] = Ic2Items.reinforcedGlass;
break;
default:
aRecipe[i] = new ItemStack(Blocks.glass, 1, W);
break;
}
continue;
switch (mTier) {
case 6:
case 7:
case 8:
aRecipe[i] = Ic2Items.reinforcedGlass;
break;
default:
aRecipe[i] = new ItemStack(Blocks.glass, 1, W);
break;
}
continue;
}
if (aRecipe[i] == X.PLATE) {

View file

@ -80,7 +80,7 @@ public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch {
@Override
public boolean canTankBeEmptied() {
return true;
return false;
}
@Override

View file

@ -6,29 +6,24 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch {
public GT_Recipe_Map mRecipeMap = null;
public boolean disableSort;
public GT_MetaTileEntity_Hatch_InputBus(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, getSlots(aTier), new String[]{
"Item Input for Multiblocks",
"Shift + right click with screwdriver to toggle automatic item shuffling",
"Capacity: " + getSlots(aTier) + " stack" + (getSlots(aTier) >= 2 ? "s" : "")});
super(aID, aName, aNameRegional, aTier, getSlots(aTier), new String[]{"Item Input for Multiblocks",
"Capacity: " + getSlots(aTier) + " stack" + (getSlots(aTier) >= 2 ? "s" : "")});
}
public GT_MetaTileEntity_Hatch_InputBus(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_InputBus(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription, aTextures);
}
@ -119,40 +114,11 @@ public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch {
}
protected void fillStacksIntoFirstSlots() {
if (disableSort) {
for (int i = 0; i < mInventory.length; i++)
if (mInventory[i] != null && mInventory[i].stackSize <= 0)
mInventory[i] = null;
} else {
for (int i = 0; i < mInventory.length; i++)
for (int j = i + 1; j < mInventory.length; j++)
if (mInventory[j] != null && (mInventory[i] == null || GT_Utility.areStacksEqual(mInventory[i], mInventory[j])))
GT_Utility.moveStackFromSlotAToSlotB(getBaseMetaTileEntity(), getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
}
}
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
aNBT.setBoolean("disableSort", disableSort);
}
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
disableSort = aNBT.getBoolean("disableSort");
}
@Override
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
if (aPlayer.isSneaking()) {
disableSort = !disableSort;
GT_Utility.sendChatToPlayer(aPlayer, trans("200", "Automatic Item Shuffling: " + (disableSort ? "Disabled" : "Enabled")));
}
}
public String trans(String aKey, String aEnglish) {
return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false);
for (int i = 0; i < mInventory.length; i++)
for (int j = i + 1; j < mInventory.length; j++)
if (mInventory[j] != null && (mInventory[i] == null || GT_Utility.areStacksEqual(mInventory[i], mInventory[j]))) {
GT_Utility.moveStackFromSlotAToSlotB(getBaseMetaTileEntity(), getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
}
}
@Override

View file

@ -17,17 +17,12 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import ic2.core.IHasGui;
import ic2.core.item.ItemToolbox;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.FakePlayer;
import java.util.Arrays;
import java.util.List;
@ -115,22 +110,12 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
}
@Override
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ) {
if (aBaseMetaTileEntity.isClientSide())
return true;
if (aSide == aBaseMetaTileEntity.getFrontFacing()) {
// only allow OC robot fake player
if (aPlayer instanceof FakePlayer && !aPlayer.getGameProfile().getName().endsWith(".robot"))
return true;
if (aPlayer.getCurrentEquippedItem() != null && aPlayer.getCurrentEquippedItem().getItem() instanceof ItemToolbox)
applyToolbox(aPlayer.getCurrentEquippedItem(), aPlayer);
else
aBaseMetaTileEntity.openGUI(aPlayer);
}
if (aBaseMetaTileEntity.isClientSide()) return true;
if (aSide == aBaseMetaTileEntity.getFrontFacing()) aBaseMetaTileEntity.openGUI(aPlayer);
return true;
}
@Override
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
if (mAuto) return new GT_Container_2by2(aPlayerInventory, aBaseMetaTileEntity);
@ -200,24 +185,19 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
return false;
}
public void onToolClick(ItemStack aStack, EntityLivingBase aPlayer, IInventory aToolboxInventory) {
public void onToolClick(ItemStack aStack, EntityLivingBase aPlayer) {
if (aStack == null || aPlayer == null) return;
if (aStack.getItem() instanceof ItemToolbox && aPlayer instanceof EntityPlayer) {
applyToolbox(aStack, (EntityPlayer)aPlayer);
return;
}
if (GT_Utility.isStackInList(aStack, GregTech_API.sWrenchList) && !mWrench && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sWrenchList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mWrench = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sScrewdriverList) && !mScrewdriver && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sScrewdriverList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mScrewdriver = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sSoftHammerList) && !mSoftHammer && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sSoftHammerList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mSoftHammer = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sHardHammerList) && !mHardHammer && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sHardHammerList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mHardHammer = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sCrowbarList) && !mCrowbar && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sCrowbarList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mCrowbar = true;
if (!mSolderingTool && GT_ModHandler.useSolderingIron(aStack, aPlayer, aToolboxInventory))
mSolderingTool = true;
if (GT_ModHandler.useSolderingIron(aStack, aPlayer)) mSolderingTool = true;
if (GT_OreDictUnificator.isItemStackInstanceOf(aStack, "craftingDuctTape")) {
mWrench = mScrewdriver = mSoftHammer = mHardHammer = mCrowbar = mSolderingTool = true;
getBaseMetaTileEntity().setActive(false);
@ -231,18 +211,6 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
}
}
}
public void onToolClick(ItemStack aStack, EntityLivingBase aPlayer) {
onToolClick(aStack, aPlayer, null);
}
private void applyToolbox(ItemStack aStack, EntityPlayer aPlayer) {
ItemToolbox aToolbox = (ItemToolbox) aStack.getItem();
IHasGui aToolboxGUI = aToolbox.getInventory(aPlayer, aStack);
for (int i=0; i<aToolboxGUI.getSizeInventory(); i++)
onToolClick(aToolboxGUI.getStackInSlot(i), aPlayer, aToolboxGUI);
}
@Override
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {

View file

@ -126,7 +126,7 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch {
@Override
public boolean canTankBeFilled() {
return true;
return false;
}
@Override

View file

@ -505,78 +505,16 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
}
public boolean addEnergyOutput(long aEU) {
if (aEU <= 0) {
return true;
}
if (mDynamoHatches.size() > 0) {
return addEnergyOutputMultipleDynamos(aEU, true);
if (aEU <= 0) return true;
for (GT_MetaTileEntity_Hatch_Dynamo tHatch : mDynamoHatches) {
if (isValidMetaTileEntity(tHatch)) {
if (tHatch.getBaseMetaTileEntity().increaseStoredEnergyUnits(aEU, false)) {
return true;
}
}
}
return false;
}
public boolean addEnergyOutputMultipleDynamos(long aEU, boolean aAllowMixedVoltageDynamos) {
int injected = 0;
long totalOutput = 0;
long aFirstVoltageFound = -1;
boolean aFoundMixedDynamos = false;
for (GT_MetaTileEntity_Hatch_Dynamo aDynamo : mDynamoHatches) {
if( aDynamo == null ) {
return false;
}
if (isValidMetaTileEntity(aDynamo)) {
long aVoltage = aDynamo.maxEUOutput();
long aTotal = aDynamo.maxAmperesOut() * aVoltage;
// Check against voltage to check when hatch mixing
if (aFirstVoltageFound == -1) {
aFirstVoltageFound = aVoltage;
}
else {
/**
* Calcualtes overclocked ness using long integers
* @param aEUt - recipe EUt
* @param aDuration - recipe Duration
* @param mAmperage - should be 1 ?
*/
//Long time calculation
if (aFirstVoltageFound != aVoltage) {
aFoundMixedDynamos = true;
}
}
totalOutput += aTotal;
}
}
if (totalOutput < aEU || (aFoundMixedDynamos && !aAllowMixedVoltageDynamos)) {
explodeMultiblock();
return false;
}
long leftToInject;
//Long EUt calculation
long aVoltage;
//Isnt too low EUt check?
int aAmpsToInject;
int aRemainder;
int ampsOnCurrentHatch;
//xEUt *= 4;//this is effect of everclocking
for (GT_MetaTileEntity_Hatch_Dynamo aDynamo : mDynamoHatches) {
if (isValidMetaTileEntity(aDynamo)) {
leftToInject = aEU - injected;
aVoltage = aDynamo.maxEUOutput();
aAmpsToInject = (int) (leftToInject / aVoltage);
aRemainder = (int) (leftToInject - (aAmpsToInject * aVoltage));
ampsOnCurrentHatch= (int) Math.min(aDynamo.maxAmperesOut(), aAmpsToInject);
for (int i = 0; i < ampsOnCurrentHatch; i++) {
aDynamo.getBaseMetaTileEntity().increaseStoredEnergyUnits(aVoltage, false);
}
injected+=aVoltage*ampsOnCurrentHatch;
if(aRemainder>0 && ampsOnCurrentHatch<aDynamo.maxAmperesOut()){
aDynamo.getBaseMetaTileEntity().increaseStoredEnergyUnits(aRemainder, false);
injected+=aRemainder;
}
}
}
return injected > 0;
}
public long getMaxInputVoltage() {
long rVoltage = 0;

View file

@ -6,6 +6,6 @@ import net.minecraft.item.ItemStack;
public class GT_IBoxableWrapper implements IBoxable {
@Override
public boolean canBeStoredInToolbox(ItemStack itemstack) {
return GT_Utility.isStackInList(itemstack, GT_ModHandler.sBoxableItems);
}
return true;
}
}

View file

@ -312,7 +312,7 @@ public class GT_LanguageManager {
addStringLocalization("Interaction_DESCRIPTION_Index_203", " gibbl");
addStringLocalization("Interaction_DESCRIPTION_Index_204", "No Pollution in Chunk! HAYO!");
addStringLocalization("Interaction_DESCRIPTION_Index_205", " of ");
addStringLocalization("Interaction_DESCRIPTION_Index_206", "Scan for Assembly Line");
// addStringLocalization("Interaction_DESCRIPTION_Index_206", "Grab");
// addStringLocalization("Interaction_DESCRIPTION_Index_207", "Grab");
// addStringLocalization("Interaction_DESCRIPTION_Index_208", "Grab");
// addStringLocalization("Interaction_DESCRIPTION_Index_209", "Grab");

View file

@ -1,36 +1,10 @@
package gregtech.api.util;
import static gregtech.api.enums.GT_Values.B;
import static gregtech.api.enums.GT_Values.D1;
import static gregtech.api.enums.GT_Values.DW;
import static gregtech.api.enums.GT_Values.E;
import static gregtech.api.enums.GT_Values.M;
import static gregtech.api.enums.GT_Values.RA;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.W;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OreDictNames;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.ToolDictNames;
import gregtech.api.enums.*;
import gregtech.api.interfaces.IDamagableItem;
import gregtech.api.interfaces.IItemContainer;
import gregtech.api.interfaces.internal.IGT_CraftingRecipe;
@ -51,16 +25,11 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraft.item.crafting.*;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.world.World;
@ -69,6 +38,13 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.*;
import java.util.Map.Entry;
import static gregtech.api.enums.GT_Values.*;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
* <p/>
@ -83,8 +59,7 @@ public class GT_ModHandler {
public static volatile int VERSION = 509;
public static Collection<String> sNativeRecipeClasses = new HashSet<String>(), sSpecialRecipeClasses = new HashSet<String>();
public static GT_HashSet<GT_ItemStack> sNonReplaceableItems = new GT_HashSet<GT_ItemStack>();
public static Object sBoxableWrapper = new GT_IBoxableWrapper();
public static Collection<GT_ItemStack> sBoxableItems = new ArrayList<>();
public static Object sBoxableWrapper = GT_Utility.callConstructor("gregtechmod.api.util.GT_IBoxableWrapper", 0, null, false);
private static Map<IRecipeInput, RecipeOutput> sExtractorRecipes = new /*Concurrent*/HashMap<IRecipeInput, RecipeOutput>();
private static Map<IRecipeInput, RecipeOutput> sMaceratorRecipes = new /*Concurrent*/HashMap<IRecipeInput, RecipeOutput>();
private static Map<IRecipeInput, RecipeOutput> sCompressorRecipes = new /*Concurrent*/HashMap<IRecipeInput, RecipeOutput>();
@ -625,39 +600,13 @@ public class GT_ModHandler {
return true;
}
/**
* A static instance of the Immersive Engineering recipe handler to improve reflective access
*/
private static Method mRecipeIE;
public static boolean addImmersiveEngineeringRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2, ItemStack aOutput3, int aChance3){
if(GregTech_API.mImmersiveEngineering && GT_Mod.gregtechproxy.mImmersiveEngineeringRecipes){
//Get IE Recipe Handler
try {
if (mRecipeIE == null) {
mRecipeIE = Class.forName("blusunrize.immersiveengineering.common.IERecipes").getDeclaredMethod("addCrusherRecipe", ItemStack.class, ItemStack.class, int.class, ItemStack.class, float.class);
}
return (boolean) mRecipeIE.invoke(null, aOutput1, aInput, 6000, aOutput2, 0.15f);
}
catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
GT_Log.err.println("WARNING: Bad Reflection into Immersive Engineering Crusher recipe handler.");
return false;
}
blusunrize.immersiveengineering.common.IERecipes.addCrusherRecipe(aOutput1, aInput, 6000, aOutput2, 0.15f);
}
return true;
}
/**
* A static instance of the Magneticraft recipe handler to improve reflective access
*/
private static Class mRecipeMag;
private static Method mRecipeMagSifter;
private static Method mRecipeMagCrusher;
private static Method mRecipeMagGrinder;
public static boolean addMagneticraftRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2, ItemStack aOutput3, int aChance3){
if(GregTech_API.mMagneticraft && GT_Mod.gregtechproxy.mMagneticraftRecipes){
ItemData tData = GT_OreDictUnificator.getAssociation(aInput);
@ -672,50 +621,60 @@ public class GT_ModHandler {
return true;
}
public static boolean registerMagneticraftSifterRecipe(final ItemStack in, final ItemStack out, final ItemStack extra, final float prob) {
try {
if (mRecipeMag == null) {
mRecipeMag = Class.forName("com.cout970.magneticraft.api.access.MgRecipeRegister");
}
if (mRecipeMagSifter == null) {
mRecipeMagSifter = mRecipeMag.getDeclaredMethod("registerSifterRecipe", ItemStack.class, ItemStack.class, ItemStack.class, float.class);
}
return (boolean) mRecipeMagSifter.invoke(null, in, out, extra, prob);
}
catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
GT_Log.err.println("WARNING: Bad Reflection into Magneticraft Sifter recipe handler.");
return false;
}
}
public static boolean registerMagneticraftSifterRecipe(final ItemStack in, final ItemStack out, final ItemStack extra,
final float prob) {
//Get Magnetiraft Recipe Handler
Class cls;
try {
cls = Class.forName("com.cout970.magneticraft.api.access.MgRecipeRegister");
//Get registerCrusherRecipe method from class.
Method mCrusher = cls.getDeclaredMethod("registerSifterRecipe", ItemStack.class, ItemStack.class,
ItemStack.class, float.class);
//Invoke Method
return (boolean) mCrusher.invoke(null, in, out, extra, prob);
}
catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
GT_Log.err.println("WARNING: Bad Reflection into Magneticraft Sifter handler.");
return false;
}
}
public static boolean registerMagneticraftCrusherRecipe(final ItemStack in, final ItemStack out0, final ItemStack out1,
final float prob1, final ItemStack out2, final float prob2) {
//Get Magnetiraft Recipe Handler
Class cls;
try {
cls = Class.forName("com.cout970.magneticraft.api.access.MgRecipeRegister");
//Get registerCrusherRecipe method from class.
Method mCrusher = cls.getDeclaredMethod("registerCrusherRecipe", ItemStack.class, ItemStack.class,
ItemStack.class, float.class, ItemStack.class, float.class);
//Invoke Method
return (boolean) mCrusher.invoke(null, in, out0, out1,(float)((float)prob1/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent), out2,(float)((float)prob2/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent));
public static boolean registerMagneticraftCrusherRecipe(final ItemStack in, final ItemStack out0, final ItemStack out1, final float prob1, final ItemStack out2, final float prob2) {
try {
if (mRecipeMag == null) {
mRecipeMag = Class.forName("com.cout970.magneticraft.api.access.MgRecipeRegister");
}
if (mRecipeMagCrusher == null) {
mRecipeMagCrusher = mRecipeMag.getDeclaredMethod("registerCrusherRecipe", ItemStack.class, ItemStack.class, ItemStack.class, float.class, ItemStack.class, float.class);
}
return (boolean) mRecipeMagCrusher.invoke(null, in, out0, out1,(float)((float)prob1/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent), out2,(float)((float)prob2/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent));
}
catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
GT_Log.err.println("WARNING: Bad Reflection into Magneticraft Crusher recipe handler.");
GT_Log.err.println("WARNING: Bad Reflection into Magneticraft Crusher handler.");
return false;
}
}
public static boolean registerMagneticraftGrinderRecipe(final ItemStack in, final ItemStack out0, final ItemStack out1, final float prob1, final ItemStack out2, final float prob2) {
try {
if (mRecipeMag == null) {
mRecipeMag = Class.forName("com.cout970.magneticraft.api.access.MgRecipeRegister");
}
if (mRecipeMagGrinder == null) {
mRecipeMagGrinder = mRecipeMag.getDeclaredMethod("registerGrinderRecipe", ItemStack.class, ItemStack.class, ItemStack.class, float.class, ItemStack.class, float.class);
}
return (boolean) mRecipeMagGrinder.invoke(null, in, out0, out1,(float)((float)prob1/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent), out2,(float)((float)prob2/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent));
public static boolean registerMagneticraftGrinderRecipe(final ItemStack in, final ItemStack out0, final ItemStack out1,
final float prob1, final ItemStack out2, final float prob2) {
//Get Magnetiraft Recipe Handler
Class cls;
try {
cls = Class.forName("com.cout970.magneticraft.api.access.MgRecipeRegister");
//Get registerGrinderRecipe method from class.
Method mGrinder = cls.getDeclaredMethod("registerGrinderRecipe", ItemStack.class, ItemStack.class,
ItemStack.class, float.class, ItemStack.class, float.class);
//Invoke Method
return (boolean) mGrinder.invoke(null, in, out0, out1,(float)((float)prob1/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent), out2,(float)((float)prob2/GT_Mod.gregtechproxy.mMagneticraftBonusOutputPercent));
}
catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
GT_Log.err.println("WARNING: Bad Reflection into Magneticraft Grinder recipe handler.");
GT_Log.err.println("WARNING: Bad Reflection into Magneticraft Grinder handler.");
return false;
}
}
@ -1812,70 +1771,49 @@ public class GT_ModHandler {
/**
* Uses a Soldering Iron
*/
public static boolean useSolderingIron(ItemStack aStack, EntityLivingBase aPlayer, IInventory aExternalInventory) {
if (aPlayer == null || aStack == null) return false;
if (GT_Utility.isStackInList(aStack, GregTech_API.sSolderingToolList)) {
if (aPlayer instanceof EntityPlayer) {
EntityPlayer tPlayer = (EntityPlayer) aPlayer;
if (tPlayer.capabilities.isCreativeMode) return true;
if (isElectricItem(aStack) && ic2.api.item.ElectricItem.manager.getCharge(aStack) > 1000.0d) {
if (consumeSolderingMaterial(tPlayer)
|| (aExternalInventory != null && consumeSolderingMaterial(aExternalInventory))) {
if (canUseElectricItem(aStack, 10000)) {
return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer) aPlayer);
}
GT_ModHandler.useElectricItem(aStack, (int) ic2.api.item.ElectricItem.manager.getCharge(aStack), (EntityPlayer) aPlayer);
return false;
}
}
}else {
damageOrDechargeItem(aStack, 1, 1000, aPlayer);
return true;
}
}
return false;
}
/**
* Simply consumes some soldering material
*/
public static boolean useSolderingIron(ItemStack aStack, EntityLivingBase aPlayer) {
return useSolderingIron(aStack, aPlayer, null);
}
public static boolean consumeSolderingMaterial(EntityPlayer aPlayer) {
if (aPlayer.capabilities.isCreativeMode) return true;
if (consumeSolderingMaterial(aPlayer.inventory)) {
if (aPlayer.inventoryContainer != null) {
aPlayer.inventoryContainer.detectAndSendChanges();
}
return true;
}
return false;
}
/**
* Consumes soldering material from given inventory
*/
public static boolean consumeSolderingMaterial(IInventory aInventory) {
for (int i = 0; i < aInventory.getSizeInventory(); i++) {
ItemStack tStack = aInventory.getStackInSlot(i);
if (GT_Utility.isStackInList(tStack, GregTech_API.sSolderingMetalList)) {
if (tStack.stackSize < 1) return false;
if (tStack.stackSize == 1) {
tStack = null;
} else {
tStack.stackSize--;
if (aPlayer == null || aStack == null) return false;
if (GT_Utility.isStackInList(aStack, GregTech_API.sSolderingToolList)) {
if (aPlayer instanceof EntityPlayer) {
EntityPlayer tPlayer = (EntityPlayer) aPlayer;
if (tPlayer.capabilities.isCreativeMode) return true;
if (isElectricItem(aStack) && ic2.api.item.ElectricItem.manager.getCharge(aStack) > 1000.0d) {
if (consumeSolderingMaterial(tPlayer)) {
if (canUseElectricItem(aStack, 10000)) {
return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer) aPlayer);
}
GT_ModHandler.useElectricItem(aStack, (int) ic2.api.item.ElectricItem.manager.getCharge(aStack), (EntityPlayer) aPlayer);
return false;
}
}
aInventory.setInventorySlotContents(i, tStack);
aInventory.markDirty();
} else {
damageOrDechargeItem(aStack, 1, 1000, aPlayer);
return true;
}
}
return false;
}
/**
* Simply consumes some soldering material
*/
public static boolean consumeSolderingMaterial(EntityPlayer aPlayer) {
if (aPlayer.capabilities.isCreativeMode) return true;
for (int i = 0; i < aPlayer.inventory.mainInventory.length; i++) {
if (GT_Utility.isStackInList(aPlayer.inventory.mainInventory[i], GregTech_API.sSolderingMetalList)) {
if (aPlayer.inventory.mainInventory[i].stackSize < 1) return false;
if (aPlayer.inventory.mainInventory[i].stackSize == 1) {
aPlayer.inventory.mainInventory[i] = null;
} else {
aPlayer.inventory.mainInventory[i].stackSize--;
}
if (aPlayer.inventoryContainer != null) aPlayer.inventoryContainer.detectAndSendChanges();
return true;
}
}
return false;
}
/**
* Is this an electric Item, which can charge other Items?
*/
@ -1905,17 +1843,8 @@ public class GT_ModHandler {
return false;
}
/**
* Allow item to be inserted into ic2 toolbox
*/
public static void registerBoxableItemToToolBox(ItemStack aStack) {
if (aStack != null) {
try {
ic2.api.item.ItemWrapper.registerBoxable(aStack.getItem(), (IBoxable) sBoxableWrapper);
} catch (Throwable ignored) {/*Do nothing*/}
sBoxableItems.add(new GT_ItemStack(aStack));
}
if (aStack != null) registerBoxableItemToToolBox(aStack.getItem());
}
public static void registerBoxableItemToToolBox(Item aItem) {

View file

@ -1,31 +0,0 @@
package gregtech.api.util;
import java.util.HashMap;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
public class GT_ProcessingArray_Manager {
private static final HashMap<Integer, String> mMetaKeyMap = new HashMap<Integer, String>();
private static final HashMap<String, GT_Recipe_Map> mRecipeCache = new HashMap<String, GT_Recipe_Map>();
public static boolean registerRecipeMapForMeta(int aMeta, GT_Recipe_Map aMap) {
if (aMeta < 0 || aMeta > Short.MAX_VALUE || aMap == null) {
return false;
}
if (mMetaKeyMap.containsKey(aMeta)) {
return false;
}
String aMapNameKey = aMap.mUnlocalizedName;
mMetaKeyMap.put(aMeta, aMapNameKey);
if (!mRecipeCache.containsKey(aMapNameKey)) {
mRecipeCache.put(aMapNameKey, aMap);
}
return true;
}
public static GT_Recipe_Map getRecipeMapForMeta(int aMeta) {
return mRecipeCache.get(mMetaKeyMap.get(aMeta));
}
}

View file

@ -197,9 +197,6 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
case 5:
GT_Recipe_Map.sMagicFuels.addRecipe(this);
break;
case 6:
GT_Recipe_Map.sJetFuels.addRecipe(this);
break;
// Fluid Generator. Usually 3. Every wrong Type ends up in the Semifluid Generator
default:
GT_Recipe_Map.sDenseLiquidFuels.addRecipe(this);
@ -567,7 +564,6 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
public static final GT_Recipe_Map sMassFabFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10), "gt.recipe.massfab", "Mass Fabrication", null, RES_PATH_GUI + "basicmachines/Massfabricator", 1, 0, 1, 0, 1, E, 1, E, true, true);
public static final GT_Recipe_Map_Fuel sDieselFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.dieselgeneratorfuel", "Diesel Generator Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sTurbineFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.gasturbinefuel", "Gas Turbine Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sJetFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.jetfuel", "Jet Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sHotFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.thermalgeneratorfuel", "Thermal Generator Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, false);
public static final GT_Recipe_Map_Fuel sDenseLiquidFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.semifluidboilerfuels", "Semifluid Boiler Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sPlasmaFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.plasmageneratorfuels", "Plasma generator Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);

View file

@ -1,39 +1,5 @@
package gregtech.api.util;
import static gregtech.api.enums.GT_Values.D1;
import static gregtech.api.enums.GT_Values.DW;
import static gregtech.api.enums.GT_Values.E;
import static gregtech.api.enums.GT_Values.GT;
import static gregtech.api.enums.GT_Values.L;
import static gregtech.api.enums.GT_Values.M;
import static gregtech.api.enums.GT_Values.NW;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.W;
import static gregtech.common.GT_Proxy.GTPOLLUTION;
import static gregtech.common.GT_UndergroundOil.undergroundOilReadInformation;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import com.mojang.authlib.GameProfile;
import cofh.api.transport.IItemDuct;
import cpw.mods.fml.common.FMLCommonHandler;
import gregtech.api.GregTech_API;
@ -47,12 +13,7 @@ import gregtech.api.events.BlockScanningEvent;
import gregtech.api.interfaces.IDebugableBlock;
import gregtech.api.interfaces.IProjectileItem;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IBasicEnergyContainer;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.interfaces.tileentity.IUpgradableMachine;
import gregtech.api.interfaces.tileentity.*;
import gregtech.api.items.GT_EnergyArmor_Item;
import gregtech.api.items.GT_Generic_Item;
import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable;
@ -65,15 +26,10 @@ import ic2.api.recipe.IRecipeInput;
import ic2.api.recipe.RecipeInputItemStack;
import ic2.api.recipe.RecipeInputOreDict;
import ic2.api.recipe.RecipeOutput;
import ic2.core.IC2Potion;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.EnumCreatureAttribute;
import net.minecraft.entity.*;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
@ -106,12 +62,23 @@ import net.minecraftforge.common.util.FakePlayerFactory;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.event.ForgeEventFactory;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.*;
import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidContainerItem;
import net.minecraftforge.fluids.IFluidHandler;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.*;
import java.util.Map.Entry;
import com.mojang.authlib.GameProfile;
import static gregtech.api.enums.GT_Values.*;
import static gregtech.common.GT_Proxy.GTPOLLUTION;
import static gregtech.common.GT_UndergroundOil.undergroundOilReadInformation;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
@ -400,20 +367,7 @@ public class GT_Utility {
if (TE_CHECK && aTileEntity instanceof IItemDuct) return true;
if (BC_CHECK && aTileEntity instanceof buildcraft.api.transport.IPipeTile)
return ((buildcraft.api.transport.IPipeTile) aTileEntity).isPipeConnected(ForgeDirection.getOrientation(aSide));
if (GregTech_API.mTranslocator) {
try {
Class aCodeChickenTranslocator = Class.forName("codechicken.translocator.TileLiquidTranslocator");
if (aCodeChickenTranslocator != null) {
if (aCodeChickenTranslocator.isInstance(aTileEntity)) {
return true;
}
}
}
catch (Throwable t) {
}
}
if (GregTech_API.mTranslocator && aTileEntity instanceof codechicken.translocator.TileItemTranslocator) return true;
return false;
}
@ -1355,7 +1309,7 @@ public class GT_Utility {
aEntity.addPotionEffect(new PotionEffect(Potion.confusion.id, aLevel * 130 * aAmountOfItems + Math.max(0, ((tEffect = aEntity.getActivePotionEffect(Potion.confusion)) == null ? 0 : tEffect.getDuration())), Math.max(0, (5 * aLevel) / 7)));
aEntity.addPotionEffect(new PotionEffect(Potion.weakness.id, aLevel * 150 * aAmountOfItems + Math.max(0, ((tEffect = aEntity.getActivePotionEffect(Potion.weakness)) == null ? 0 : tEffect.getDuration())), Math.max(0, (5 * aLevel) / 7)));
aEntity.addPotionEffect(new PotionEffect(Potion.hunger.id, aLevel * 130 * aAmountOfItems + Math.max(0, ((tEffect = aEntity.getActivePotionEffect(Potion.hunger)) == null ? 0 : tEffect.getDuration())), Math.max(0, (5 * aLevel) / 7)));
aEntity.addPotionEffect(new PotionEffect(IC2Potion.radiation.id, aLevel * 180 * aAmountOfItems + Math.max(0, ((tEffect = aEntity.getActivePotionEffect(Potion.potionTypes[24])) == null ? 0 : tEffect.getDuration())), Math.max(0, (5 * aLevel) / 7)));
aEntity.addPotionEffect(new PotionEffect(24 /* IC2 Radiation */, aLevel * 180 * aAmountOfItems + Math.max(0, ((tEffect = aEntity.getActivePotionEffect(Potion.potionTypes[24])) == null ? 0 : tEffect.getDuration())), Math.max(0, (5 * aLevel) / 7)));
return true;
}
return false;

View file

@ -1,72 +0,0 @@
package gregtech.common;
import gregtech.api.interfaces.internal.IGasesCompat;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import java.util.HashMap;
import glenn.gasesframework.api.Combustibility;
import glenn.gasesframework.api.GFAPI;
import glenn.gasesframework.api.gastype.GasType;
public class GT_GasesCompat implements IGasesCompat {
private final HashMap<GasType, Fluid> _fluidMap = new HashMap<GasType, Fluid>();
@Override
public boolean registerGregGas(Fluid gas) {
String name = gas.getName();
int id = gas.getID() + 19; //Glenn's gases uses 18 IDs so we can safely start at 19
int color = gas.getColor();
int density = gas.getDensity();
//TODO: introduction of per-gas properties not in fluid data
GasType gt = new GasType(false, id, name, color, 0, density, Combustibility.NONE);
GFAPI.registry.registerGasType(gt);
return true;
}
@Override
public boolean registerOtherGasesAsFluids() {
for(int i = 0; i < 18; i++) {
GasType gt = GFAPI.registry.getGasTypeByID(i);
Fluid f = gregOrGenerateFluid(gt);
_fluidMap.put(gt, f);
}
return false;
}
@Override
public boolean registerFluidCannerRecipes() {
// TODO Auto-generated method stub
return false;
}
public Fluid getFluidFromGas(Object gas)
{
GasType gt = (GasType) gas;
return _fluidMap.get(gt);
}
public Fluid gregOrGenerateFluid(GasType gas)
{
switch (gas.gasID) {
case 0:
return null;
case 1:
return null;
case 2:
return FluidRegistry.getFluid("Steam");
case 3:
return FluidRegistry.getFluid("gas_natural_gas");
case 7:
return FluidRegistry.getFluid("liquid_hydricsulfur");
case 8:
return FluidRegistry.getFluid("NitrogenDioxide");
case 13:
return FluidRegistry.getFluid("Chlorine");
default:
return null; //TODO: Auto-generate gas with config options for customization
}
}
}

View file

@ -1576,14 +1576,6 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
rFuelValue = Math.max(rFuelValue, 600);
} else if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_MSSFUEL.get(1, new Object[0]))) {
rFuelValue = Math.max(rFuelValue, 150000);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "gemPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 2400);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 2400);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustSmallPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 600);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustTinyPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 266);
}if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_SSFUEL.get(1, new Object[0]))) {
rFuelValue = Math.max(rFuelValue, 100000);
}

View file

@ -966,7 +966,7 @@ public class GT_RecipeAdder
@Override
public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, FluidStack aFluidOutput, int aDuration, int aEUt) {
if (aInput == null && aFluidInput == null) {
if (aInput == null) {
return false;
}
if ((aDuration = GregTech_API.sRecipeFile.get("pyrolyse", aInput, aDuration)) <= 0) {
@ -1018,7 +1018,7 @@ public class GT_RecipeAdder
System.out.println("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe");
}
}
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result", new Object[0])}, null, null, aResearchTime, 30, -201);
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result", new Object[0])}, null, null, aResearchTime, 30, 0);
GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result", new Object[0])},aFluidInputs,null,aDuration,aEUt,0,true);
GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe_AssemblyLine( aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput, aDuration, aEUt));
return true;
@ -1068,7 +1068,7 @@ public class GT_RecipeAdder
}
System.out.println("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe");
}
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result", new Object[0])}, null, null, aResearchTime, 30, -201);
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result", new Object[0])}, null, null, aResearchTime, 30, 0);
GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false,tInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result", new Object[0])},aFluidInputs,null,aDuration,aEUt,0,tAlts,true);
GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe_AssemblyLine( aResearchItem, aResearchTime, tInputs, aFluidInputs, aOutput, aDuration, aEUt, tAlts));
return true;

View file

@ -4,17 +4,13 @@ import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Log;
import gregtech.api.world.GT_Worldgen;
import gregtech.common.blocks.GT_TileEntity_Ores;
import gregtech.loaders.misc.GT_Achievements;
import gregtech.loaders.postload.GT_Worldgenloader;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Random;
@ -41,8 +37,6 @@ public class GT_Worldgen_GT_Ore_Layer
public final boolean mAsteroid;
public final String aTextWorldgen = "worldgen.";
private static Method mAddMaterialIE;
public GT_Worldgen_GT_Ore_Layer(String aName, boolean aDefault, int aMinY, int aMaxY, int aWeight, int aDensity, int aSize, boolean aOverworld, boolean aNether, boolean aEnd, boolean aMoon, boolean aMars, boolean aAsteroid, Materials aPrimary, Materials aSecondary, Materials aBetween, Materials aSporadic) {
super(aName, sList, aDefault);
this.mOverworld = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Overworld", aOverworld);
@ -75,20 +69,7 @@ public class GT_Worldgen_GT_Ore_Layer
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mSporadicMeta % 1000)], aMinY, aMaxY, aWeight, aOverworld, aNether, aEnd);
sWeight += this.mWeight;
if(GregTech_API.mImmersiveEngineering && GT_Mod.gregtechproxy.mImmersiveEngineeringRecipes){
try {
if (mAddMaterialIE == null) {
mAddMaterialIE = GT_Worldgenloader.mSupportIE.getDeclaredMethod("addMineral", String.class,
int.class, float.class, String[].class, float[].class);
}
mAddMaterialIE
.invoke(null, aName.substring(8, 9).toUpperCase() + aName.substring(9), aWeight, 0.2f,
new String[] { "ore" + aPrimary.mName, "ore" + aSecondary.mName,
"ore" + aBetween.mName, "ore" + aSporadic.mName },
new float[] { .4f, .4f, .15f, .05f });
} catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
GT_Log.err.println("Could not add Mineral to list for IE Excavator.");
GT_Log.err.print(e);
}
blusunrize.immersiveengineering.api.tool.ExcavatorHandler.addMineral(aName.substring(8, 9).toUpperCase()+aName.substring(9), aWeight, 0.2f, new String[]{"ore"+aPrimary.mName,"ore"+aSecondary.mName,"ore"+aBetween.mName,"ore"+aSporadic.mName}, new float[]{.4f,.4f,.15f,.05f});
}
}

View file

@ -40,7 +40,7 @@ public class GT_Block_Reinforced extends GT_Generic_Block {
public GT_Block_Reinforced(String aName) {
super(GT_Item_Storage.class, aName, new GT_Material_Reinforced());
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
Textures.BlockIcons.casingTexturePages[1][i+80] = new GT_CopiedBlockTexture(this, 6, i);
Textures.BlockIcons.CASING_BLOCKS[(i + 80)] = new GT_CopiedBlockTexture(this, 6, i);
}
setStepSound(soundTypeStone);
setCreativeTab(GregTech_API.TAB_GREGTECH);

View file

@ -38,7 +38,7 @@ public class GT_Container_DigitalTransformer extends GT_ContainerMetaTile_Machin
Slot tSlot = (Slot) inventorySlots.get(aSlotIndex);
if (tSlot != null && mTileEntity.getMetaTileEntity() != null) {
GT_MetaTileEntity_Digital_Transformer dpg = (GT_MetaTileEntity_Digital_Transformer) mTileEntity.getMetaTileEntity();
if (aSlotIndex > 5) {
if (aSlotIndex > 11) {
return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
}
int mult = (aSlotIndex > 2 ? 1 : -1);

View file

@ -43,10 +43,12 @@ public class GT_SensorCard_Item
}
}
@Override
public CardState update(TileEntity aPanel, ICardWrapper aCard, int aMaxRange) {
return update(aPanel.getWorldObj(), aCard, aMaxRange);
}
@Override
public CardState update(World world, ICardWrapper aCard, int aMaxRange) {
ChunkCoordinates target = aCard.getTarget();

View file

@ -32,14 +32,12 @@ import static ic2.core.util.LiquidUtil.*;
public class GT_VolumetricFlask extends GT_Generic_Item implements IFluidContainerItem {
private final int maxCapacity;
private final String unlocalFlaskName;
@SideOnly(Side.CLIENT)
public IIcon iconWindow;
public GT_VolumetricFlask(String unlocalized, String english, int maxCapacity) {
super(unlocalized, english, null);
this.maxCapacity = maxCapacity;
unlocalFlaskName = unlocalized;
setMaxStackSize(16);
setNoRepair();
if (Loader.isModLoaded("NotEnoughItems")) {
@ -122,10 +120,9 @@ public class GT_VolumetricFlask extends GT_Generic_Item implements IFluidContain
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister aIconRegister) {
super.registerIcons(aIconRegister);
iconWindow = aIconRegister.registerIcon(RES_PATH_ITEM + "gt."+unlocalFlaskName+".window");
iconWindow = aIconRegister.registerIcon(RES_PATH_ITEM + "gt.Volumetric_Flask.window");
}
public void setCapacity(ItemStack stack, int capacity) {

View file

@ -255,14 +255,14 @@ public abstract class GT_MetaTileEntity_Boiler
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
if (GT_Mod.gregtechproxy.mAllowSmallBoilerAutomation)
return aIndex == 1 || aIndex == 3;
return true;
else
return false;
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
if(GT_Mod.gregtechproxy.mAllowSmallBoilerAutomation)
return aIndex == 2;
return true;
else
return false;
}

View file

@ -1,119 +0,0 @@
package gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_JetTurbine
extends GT_MetaTileEntity_BasicGenerator {
public static final int BASE_POLLUTION = 3;
public int mEfficiency;
public GT_MetaTileEntity_JetTurbine(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, new String[]{
"Requires jet Fuel",
"Causes " + (int) (15 * BASE_POLLUTION * Math.pow(2, aTier - 1)) + " Pollution per second"});
onConfigLoad();
}
public GT_MetaTileEntity_JetTurbine(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public GT_MetaTileEntity_JetTurbine(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_JetTurbine(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
public GT_Recipe.GT_Recipe_Map getRecipes() {
return GT_Recipe.GT_Recipe_Map.sJetFuels;
}
public int getCapacity() {
return 16000;
}
public void onConfigLoad() {
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, (90 - this.mTier * 5)); //TODO Unique config for jet fuels
}
public int getEfficiency() {
return this.mEfficiency;
}
public int getFuelValue(ItemStack aStack) {
if (GT_Utility.isStackInvalid(aStack) || getRecipes() == null) return 0;
int rValue = Math.max(GT_ModHandler.getFuelCanValue(aStack) * 6 / 5, super.getFuelValue(aStack));
if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) {
rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3);
}
return rValue;
}
public ITexture[] getFront(byte aColor) {
return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_FRONT), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBack(byte aColor) {
return new ITexture[]{super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BACK)};
}
public ITexture[] getBottom(byte aColor) {
return new ITexture[]{super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BOTTOM)};
}
public ITexture[] getTop(byte aColor) {
return new ITexture[]{super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_TOP)};
}
public ITexture[] getSides(byte aColor) {
return new ITexture[]{super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_SIDE)};
}
public ITexture[] getFrontActive(byte aColor) {
return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_FRONT_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBackActive(byte aColor) {
return new ITexture[]{super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BACK_ACTIVE)};
}
public ITexture[] getBottomActive(byte aColor) {
return new ITexture[]{super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BOTTOM_ACTIVE)};
}
public ITexture[] getTopActive(byte aColor) {
return new ITexture[]{super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_TOP_ACTIVE)};
}
public ITexture[] getSidesActive(byte aColor) {
return new ITexture[]{super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_SIDE_ACTIVE)};
}
@Override
public int getPollution() {
return (int) (GT_MetaTileEntity_JetTurbine.BASE_POLLUTION * Math.pow(2, mTier - 1));
}
}

View file

@ -126,6 +126,6 @@ public class GT_MetaTileEntity_Digital_Transformer extends GT_MetaTileEntity_Tra
@Override
public long maxEUStore() {
return 512L + V[mTier] * 256L;
return 512L + V[mTier + 1] * 64L;
}
}

View file

@ -9,9 +9,7 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ProcessingArray_Manager;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
@ -71,13 +69,94 @@ public class GT_MetaTileEntity_AdvancedProcessingArray extends GT_MetaTileEntity
return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "AdvancedProcessingArray.png");
}
public GT_Recipe_Map getRecipeMap() {
if (isCorrectMachinePart(mInventory[1])) {
GT_Recipe_Map aTemp = GT_ProcessingArray_Manager.getRecipeMapForMeta(mInventory[1].getItemDamage());
if (aTemp != null) {
return aTemp;
}
}
public GT_Recipe.GT_Recipe_Map getRecipeMap() {
if (mInventory[1] == null) return null;
String tmp = mInventory[1].getUnlocalizedName().replaceAll("gt\\.blockmachines\\.basicmachine\\.", "");
if (tmp.startsWith("centrifuge")) {
return GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
} else if (tmp.startsWith("electrolyzer")) {
return GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
} else if (tmp.startsWith("alloysmelter")) {
return GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
} else if (tmp.startsWith("assembler")) {
return GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
} else if (tmp.startsWith("compressor")) {
return GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
} else if (tmp.startsWith("extractor")) {
return GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
} else if (tmp.startsWith("macerator")) {
return GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
} else if (tmp.startsWith("recycler")) {
return GT_Recipe.GT_Recipe_Map.sRecyclerRecipes;
} else if (tmp.startsWith("thermalcentrifuge")) {
return GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
} else if (tmp.startsWith("orewasher")) {
return GT_Recipe.GT_Recipe_Map.sOreWasherRecipes;
} else if (tmp.startsWith("chemicalreactor")) {
return GT_Recipe.GT_Recipe_Map.sChemicalRecipes;
} else if (tmp.startsWith("chemicalbath")) {
return GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
} else if (tmp.startsWith("electromagneticseparator")) {
return GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes;
} else if (tmp.startsWith("autoclave")) {
return GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
} else if (tmp.startsWith("mixer")) {
return GT_Recipe.GT_Recipe_Map.sMixerRecipes;
} else if (tmp.startsWith("hammer")) {
return GT_Recipe.GT_Recipe_Map.sHammerRecipes;
} else if (tmp.startsWith("sifter")) {
return GT_Recipe.GT_Recipe_Map.sSifterRecipes;
} else if (tmp.startsWith("extruder")) {
return GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
} else if (tmp.startsWith("laserengraver")) {
return GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
} else if (tmp.startsWith("bender")) {
return GT_Recipe.GT_Recipe_Map.sBenderRecipes;
} else if (tmp.startsWith("wiremill")) {
return GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
} else if (tmp.startsWith("arcfurnace")) {
return GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes;
} else if (tmp.startsWith("brewery")) {
return GT_Recipe.GT_Recipe_Map.sBrewingRecipes;
} else if (tmp.startsWith("canner")) {
return GT_Recipe.GT_Recipe_Map.sCannerRecipes;
} else if (tmp.startsWith("cutter")) {
return GT_Recipe.GT_Recipe_Map.sCutterRecipes;
} else if (tmp.startsWith("fermenter")) {
return GT_Recipe.GT_Recipe_Map.sFermentingRecipes;
} else if (tmp.startsWith("fluidextractor")) {
return GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
} else if (tmp.startsWith("fluidsolidifier")) {
return GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
} else if (tmp.startsWith("lathe")) {
return GT_Recipe.GT_Recipe_Map.sLatheRecipes;
} else if (tmp.startsWith("boxinator")) {
return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
} else if (tmp.startsWith("unboxinator")) {
return GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
} else if (tmp.startsWith("polarizer")) {
return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;
} else if(tmp.startsWith("press")){
return GT_Recipe.GT_Recipe_Map.sPressRecipes;
} else if (tmp.startsWith("plasmaarcfurnace")) {
return GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes;
} else if (tmp.startsWith("printer")) {
return GT_Recipe.GT_Recipe_Map.sPrinterRecipes;
} else if (tmp.startsWith("press")) {
return GT_Recipe.GT_Recipe_Map.sPressRecipes;
} else if (tmp.startsWith("fluidcanner")) {
return GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
} else if (tmp.startsWith("fluidheater")) {
return GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes;
} else if (tmp.startsWith("distillery")) {
return GT_Recipe.GT_Recipe_Map.sDistilleryRecipes;
} else if (tmp.startsWith("slicer")) {
return GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
} else if (tmp.startsWith("amplifier")) {
return GT_Recipe.GT_Recipe_Map.sAmplifiers;
} else if (tmp.startsWith("circuitassembler")) {
return GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes;
}
return null;
}

View file

@ -103,7 +103,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBas
mPlascreteCount++;
} else {
IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(dX, dY, dZ);
if ((!addMaintenanceToMachineList(tTileEntity, 210)) && (!addEnergyInputToMachineList(tTileEntity, 210))) {
if ((!addMaintenanceToMachineList(tTileEntity, 82)) && (!addEnergyInputToMachineList(tTileEntity, 82))) {
if (tBlock instanceof ic2.core.block.BlockIC2Door) {
if ((tMeta & 8) == 0) {
doorState = (Math.abs(dX) > Math.abs(dZ) == ((tMeta & 1) != 0)) != ((tMeta & 4) != 0);

View file

@ -165,6 +165,10 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M
} else {
this.mMaxProgresstime = 1;
this.mEfficiencyIncrease = (10);
if(this.mDynamoHatches.size()>0){
if(this.mDynamoHatches.get(0).getBaseMetaTileEntity().getOutputVoltage() < (int)((long)mEUt * (long)mEfficiency / 10000L)){
explodeMultiblock();}
}
return true;
}
}

View file

@ -11,7 +11,6 @@ import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import java.util.ArrayList;
import java.lang.Math;
import static gregtech.api.enums.GT_Values.VN;
import static gregtech.common.GT_UndergroundOil.undergroundOil;
@ -115,9 +114,9 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
if (mOilFieldChunks.isEmpty()) {
Chunk tChunk = getBaseMetaTileEntity().getWorld().getChunkFromBlockCoords(getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getZCoord());
int range = getRangeInChunks();
int xChunk = Math.floorDiv(tChunk.xPosition,range) * range; //Java was written by idiots. For negative values, / returns rounded towards zero. Fucking morons.
int zChunk = Math.floorDiv(tChunk.zPosition,range) * range; //^ Actually, this is the behaviour of C intentionally (and Ritchie was no 'idiot') but I'm leaving this here to credit the guy who actually wrote the fix.
int xChunk = (tChunk.xPosition / range) * range - ((tChunk.xPosition < 0 && tChunk.xPosition % range != 0) ? range : 0);
int zChunk = (tChunk.zPosition / range) * range - ((tChunk.zPosition < 0 && tChunk.zPosition % range != 0) ? range : 0);
for (int i = 0; i < range; i++) {
for (int j = 0; j < range; j++) {
tChunk = getBaseMetaTileEntity().getWorld().getChunkFromChunkCoords(xChunk + i, zChunk + j);
@ -128,22 +127,19 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
}
}
}
return !mOilFieldChunks.isEmpty();
if (mOilFieldChunks.isEmpty()) return false;
return true;
}
private FluidStack pumpOil(float speed){
if (mOilId <= 0) return null;
FluidStack tFluid, tOil;
tOil = new FluidStack(FluidRegistry.getFluid(mOilId), 0);
ArrayList<Chunk> emptyChunks = new ArrayList<Chunk>();
for (Chunk tChunk : mOilFieldChunks) {
tFluid = undergroundOil(tChunk, speed);
if (tFluid == null || tFluid.amount<1) emptyChunks.add(tChunk);
if (tFluid == null) mOilFieldChunks.remove(tChunk);
if (tOil.isFluidEqual(tFluid)) tOil.amount += tFluid.amount;
}
for( Chunk tChunk : emptyChunks) {
mOilFieldChunks.remove( tChunk );
}
return tOil.amount == 0 ? null : tOil;
}
}

View file

@ -9,9 +9,7 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ProcessingArray_Manager;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
@ -66,13 +64,94 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "ProcessingArray.png");
}
public GT_Recipe_Map getRecipeMap() {
if (isCorrectMachinePart(mInventory[1])) {
GT_Recipe_Map aTemp = GT_ProcessingArray_Manager.getRecipeMapForMeta(mInventory[1].getItemDamage());
if (aTemp != null) {
return aTemp;
}
}
public GT_Recipe.GT_Recipe_Map getRecipeMap() {
if (mInventory[1] == null) return null;
String tmp = mInventory[1].getUnlocalizedName().replaceAll("gt\\.blockmachines\\.basicmachine\\.", "");
if (tmp.startsWith("centrifuge")) {
return GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
} else if (tmp.startsWith("electrolyzer")) {
return GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
} else if (tmp.startsWith("alloysmelter")) {
return GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
} else if (tmp.startsWith("assembler")) {
return GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
} else if (tmp.startsWith("compressor")) {
return GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
} else if (tmp.startsWith("extractor")) {
return GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
} else if (tmp.startsWith("macerator")) {
return GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
} else if (tmp.startsWith("recycler")) {
return GT_Recipe.GT_Recipe_Map.sRecyclerRecipes;
} else if (tmp.startsWith("thermalcentrifuge")) {
return GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
} else if (tmp.startsWith("orewasher")) {
return GT_Recipe.GT_Recipe_Map.sOreWasherRecipes;
} else if (tmp.startsWith("chemicalreactor")) {
return GT_Recipe.GT_Recipe_Map.sChemicalRecipes;
} else if (tmp.startsWith("chemicalbath")) {
return GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
} else if (tmp.startsWith("electromagneticseparator")) {
return GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes;
} else if (tmp.startsWith("autoclave")) {
return GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
} else if (tmp.startsWith("mixer")) {
return GT_Recipe.GT_Recipe_Map.sMixerRecipes;
} else if (tmp.startsWith("hammer")) {
return GT_Recipe.GT_Recipe_Map.sHammerRecipes;
} else if (tmp.startsWith("sifter")) {
return GT_Recipe.GT_Recipe_Map.sSifterRecipes;
} else if (tmp.startsWith("extruder")) {
return GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
} else if (tmp.startsWith("laserengraver")) {
return GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
} else if (tmp.startsWith("bender")) {
return GT_Recipe.GT_Recipe_Map.sBenderRecipes;
} else if (tmp.startsWith("wiremill")) {
return GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
} else if (tmp.startsWith("arcfurnace")) {
return GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes;
} else if (tmp.startsWith("brewery")) {
return GT_Recipe.GT_Recipe_Map.sBrewingRecipes;
} else if (tmp.startsWith("canner")) {
return GT_Recipe.GT_Recipe_Map.sCannerRecipes;
} else if (tmp.startsWith("cutter")) {
return GT_Recipe.GT_Recipe_Map.sCutterRecipes;
} else if (tmp.startsWith("fermenter")) {
return GT_Recipe.GT_Recipe_Map.sFermentingRecipes;
} else if (tmp.startsWith("fluidextractor")) {
return GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
} else if (tmp.startsWith("fluidsolidifier")) {
return GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
} else if (tmp.startsWith("lathe")) {
return GT_Recipe.GT_Recipe_Map.sLatheRecipes;
} else if (tmp.startsWith("boxinator")) {
return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
} else if (tmp.startsWith("unboxinator")) {
return GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
} else if (tmp.startsWith("polarizer")) {
return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;
} else if(tmp.startsWith("press")){
return GT_Recipe.GT_Recipe_Map.sPressRecipes;
} else if (tmp.startsWith("plasmaarcfurnace")) {
return GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes;
} else if (tmp.startsWith("printer")) {
return GT_Recipe.GT_Recipe_Map.sPrinterRecipes;
} else if (tmp.startsWith("press")) {
return GT_Recipe.GT_Recipe_Map.sPressRecipes;
} else if (tmp.startsWith("fluidcanner")) {
return GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
} else if (tmp.startsWith("fluidheater")) {
return GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes;
} else if (tmp.startsWith("distillery")) {
return GT_Recipe.GT_Recipe_Map.sDistilleryRecipes;
} else if (tmp.startsWith("slicer")) {
return GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
} else if (tmp.startsWith("amplifier")) {
return GT_Recipe.GT_Recipe_Map.sAmplifiers;
} else if (tmp.startsWith("circuitassembler")) {
return GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes;
}
return null;
}

View file

@ -103,40 +103,6 @@ public class GT_MetaTileEntity_PyrolyseOven extends GT_MetaTileEntity_MultiBlock
}
}
}
//TODO: Find out how to make this properly - until then, using an input hatch with the circuit is enough to get fluid-only recipes going.
/*if(tInputList.isEmpty() && !tFluidInputs.isEmpty()){
byte tTier = (byte) Math.max(1, GT_Utility.getTier(getMaxInputVoltage()));
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[] {tFluidInputs.get(0)}, (ItemStack[]) null);
if (tRecipe != null) {
if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{tFluidInputs.get(0)}, (ItemStack[]) null)) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
this.mEUt = tRecipe.mEUt;
if (tRecipe.mEUt <= 16) {
this.mEUt = (tRecipe.mEUt * (1 << tTier - 1) * (1 << tTier - 1));
this.mMaxProgresstime = (tRecipe.mDuration / (1 << tTier - 1));
} else {
this.mEUt = tRecipe.mEUt;
this.mMaxProgresstime = tRecipe.mDuration;
while (this.mEUt <= gregtech.api.enums.GT_Values.V[(tTier - 1)]) {
this.mEUt *= 4;
this.mMaxProgresstime /= 2;
}
}
if (this.mEUt > 0) {
this.mEUt = (-this.mEUt);
}
this.mMaxProgresstime = mMaxProgresstime * 2 / (1 + coilMetaID);
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
if (tRecipe.mOutputs.length > 0) this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0)};
if (tRecipe.mFluidOutputs.length > 0)
this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)};
updateSlots();
return true;
}
}
}*/
return false;
}

View file

@ -44,10 +44,10 @@ public class GT_FuelLoader
GT_Values.RA.addFuel(GT_ModHandler.getModItem("ImmersiveEngineering", "fluidContainers", 1, 7), null, 128, 0);
}
if(Loader.isModLoaded("PneumaticCraft")){
//GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "pgBucket", 1), null, 512, 1);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "pgBucket", 1), null, 512, 1);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "fuelBucket", 1), null, 400, 0);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "fuelBucket", 1, 1), null, 400, 0);
//GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "keroseneBucket", 1), null, 256, 0);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "keroseneBucket", 1), null, 256, 0);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "dieselBucket", 1), null, 200, 0);
}
}

View file

@ -1,144 +0,0 @@
package gregtech.loaders.postload;
import gregtech.api.util.GT_ProcessingArray_Manager;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
public class GT_ProcessingArrayRecipeLoader {
public static void registerDefaultGregtechMaps() {
// Centrifuge
registerMapBetweenRange(361, 368, GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes);
// Electrolyzer
registerMapBetweenRange(371, 378, GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes);
// Assembler
registerMapBetweenRange(211, 218, GT_Recipe.GT_Recipe_Map.sAssemblerRecipes);
// Compressor
registerMapBetweenRange(241, 248, GT_Recipe.GT_Recipe_Map.sCompressorRecipes);
//Extractor
registerMapBetweenRange(271, 278, GT_Recipe.GT_Recipe_Map.sExtractorRecipes);
//Macerator
registerMapBetweenRange(301, 308, GT_Recipe.GT_Recipe_Map.sMaceratorRecipes);
// Microwave (New)
registerMapBetweenRange(311, 318, GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes);
//Recycler
registerMapBetweenRange(331, 338, GT_Recipe.GT_Recipe_Map.sRecyclerRecipes);
//Thermal Centrifuge
registerMapBetweenRange(381, 388, GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes);
// Ore Washer
registerMapBetweenRange(391, 398, GT_Recipe.GT_Recipe_Map.sOreWasherRecipes);
// Chemical Reactor
registerMapBetweenRange(421, 428, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
// Chemical Bath
registerMapBetweenRange(541, 548, GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes);
// Magnetic Seperator
registerMapBetweenRange(561, 568, GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes);
// Autoclave
registerMapBetweenRange(571, 578, GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes);
// Mixer
registerMapBetweenRange(581, 588, GT_Recipe.GT_Recipe_Map.sMixerRecipes);
// Forge Hammer
registerMapBetweenRange(611, 618, GT_Recipe.GT_Recipe_Map.sHammerRecipes);
// Sifter
registerMapBetweenRange(641, 648, GT_Recipe.GT_Recipe_Map.sSifterRecipes);
// Extruder
registerMapBetweenRange(281, 288, GT_Recipe.GT_Recipe_Map.sExtruderRecipes);
// Laser Engraver
registerMapBetweenRange(591, 598, GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes);
// Bender
registerMapBetweenRange(221, 228, GT_Recipe.GT_Recipe_Map.sBenderRecipes);
// Wiremill
registerMapBetweenRange(351, 358, GT_Recipe.GT_Recipe_Map.sWiremillRecipes);
// Arc Furnace
registerMapBetweenRange(651, 658, GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes);
// Plasma Arc Furnace
registerMapBetweenRange(661, 668, GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes);
// Brewery
registerMapBetweenRange(491, 498, GT_Recipe.GT_Recipe_Map.sBrewingRecipes);
// Canner
registerMapBetweenRange(231, 238, GT_Recipe.GT_Recipe_Map.sCannerRecipes);
// Cutter
registerMapBetweenRange(251, 258, GT_Recipe.GT_Recipe_Map.sCutterRecipes);
// Fermenter
registerMapBetweenRange(501, 508, GT_Recipe.GT_Recipe_Map.sFermentingRecipes);
// Fluid Extractor
registerMapBetweenRange(511, 518, GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes);
// Fluid Solidifier
registerMapBetweenRange(521, 528, GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes);
// Lathe
registerMapBetweenRange(291, 298, GT_Recipe.GT_Recipe_Map.sLatheRecipes);
// Boxinator
registerMapBetweenRange(401, 408, GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes);
// Unboxinator
registerMapBetweenRange(411, 408, GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes);
// Polarizer
registerMapBetweenRange(551, 558, GT_Recipe.GT_Recipe_Map.sPolarizerRecipes);
// Printer
registerMapBetweenRange(321, 328, GT_Recipe.GT_Recipe_Map.sPrinterRecipes);
// Fluid Canner
registerMapBetweenRange(431, 438, GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes);
// Fluid Heater
registerMapBetweenRange(621, 628, GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes);
// Distillery
registerMapBetweenRange(531, 538, GT_Recipe.GT_Recipe_Map.sDistilleryRecipes);
// Slicer
registerMapBetweenRange(631, 638, GT_Recipe.GT_Recipe_Map.sSlicerRecipes);
// Matter Amplifier
registerMapBetweenRange(471, 478, GT_Recipe.GT_Recipe_Map.sAmplifiers);
// Circuit Assembler
registerMapBetweenRange(1180, 1187, GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes);
// Alloy Smelter
registerMapBetweenRange(201, 208, GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes);
// Forming Press
registerMapBetweenRange(601, 608, GT_Recipe.GT_Recipe_Map.sPressRecipes);
}
private static final void registerMapBetweenRange(int aMin, int aMax, GT_Recipe_Map aMap) {
for (int i=aMin; i<=aMax;i++) {
GT_ProcessingArray_Manager.registerRecipeMapForMeta(i, aMap);
}
}
}

View file

@ -1,17 +1,11 @@
package gregtech.loaders.postload;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
import bloodasp.galacticgreg.GT_Worldgenerator_Space;
import cpw.mods.fml.common.Loader;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Log;
import gregtech.common.GT_Worldgen_GT_Ore_Layer;
import gregtech.common.GT_Worldgen_GT_Ore_SmallPieces;
import gregtech.common.GT_Worldgen_Stone;
@ -19,28 +13,6 @@ import gregtech.common.GT_Worldgenerator;
public class GT_Worldgenloader
implements Runnable {
public static final Class mSupportIE;
//We should use reflection here, since it won't amount to any performance loss.
static {
Class aTemp;
if (GregTech_API.mImmersiveEngineering) {
try {
aTemp = Class.forName("blusunrize.immersiveengineering.api.tool.ExcavatorHandler");
} catch (ClassNotFoundException e) {
GT_Log.err.println("Could not access blusunrize.immersiveengineering.api.tool.ExcavatorHandler");
GT_Log.err.print(e);
aTemp = null;
}
mSupportIE = aTemp;
}
else {
mSupportIE = null;
}
}
public void run() {
boolean tPFAA = (GregTech_API.sWorldgenFile.get(ConfigCategories.general, "AutoDetectPFAA", true)) && (Loader.isModLoaded("PFAAGeologica"));
@ -132,21 +104,9 @@ public class GT_Worldgenloader
for (int j = GregTech_API.sWorldgenFile.get("worldgen", "AmountOfCustomSmallOreSlots", 16); i < j; i++) {
new GT_Worldgen_GT_Ore_SmallPieces("ore.small.custom." + (i < 10 ? "0" : "") + i, false, 0, 0, 0, false, false, false, false, false, false, Materials._NULL);
}
if (GregTech_API.mImmersiveEngineering && GT_Mod.gregtechproxy.mImmersiveEngineeringRecipes && mSupportIE != null) {
try {
Field aMineralList = mSupportIE.getDeclaredField("mineralList");
Field aMineralCache = mSupportIE.getDeclaredField("mineralCache");
aMineralList.setAccessible(true);
aMineralCache.setAccessible(true);
Map aEmpty = new HashMap();
aMineralList.set(null, aEmpty);
aMineralCache.set(null, aEmpty);
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
//blusunrize.immersiveengineering.api.tool.ExcavatorHandler.mineralList.clear();
//blusunrize.immersiveengineering.api.tool.ExcavatorHandler.mineralCache.clear();
GT_Log.err.println("Could not clear Mineral list & cache of IE Excavator.");
GT_Log.err.print(e);
}
if (GregTech_API.mImmersiveEngineering && GT_Mod.gregtechproxy.mImmersiveEngineeringRecipes) {
blusunrize.immersiveengineering.api.tool.ExcavatorHandler.mineralList.clear();
blusunrize.immersiveengineering.api.tool.ExcavatorHandler.mineralCache.clear();
}
new GT_Worldgen_GT_Ore_Layer("ore.mix.naquadah", true, 10, 60, 10, 5, 32, false, false, true, false, true, true, Materials.Naquadah, Materials.Naquadah, Materials.Naquadah, Materials.NaquadahEnriched);
@ -187,13 +147,8 @@ public class GT_Worldgenloader
new GT_Worldgen_GT_Ore_Layer("ore.mix.custom." + (i < 10 ? "0" : "") + i, false, 0, 0, 0, 0, 0, false, false, false, false, false, false, Materials._NULL, Materials._NULL, Materials._NULL, Materials._NULL);
}
if (GregTech_API.mImmersiveEngineering && GT_Mod.gregtechproxy.mImmersiveEngineeringRecipes && mSupportIE != null) {
try {
mSupportIE.getDeclaredMethod("recalculateChances", boolean.class).invoke(null, true);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
GT_Log.err.println("Could not recalculate chances for IE Excavator.");
GT_Log.err.print(e);
}
if (GregTech_API.mImmersiveEngineering && GT_Mod.gregtechproxy.mImmersiveEngineeringRecipes) {
blusunrize.immersiveengineering.api.tool.ExcavatorHandler.recalculateChances(true);
}
}
}

View file

@ -429,13 +429,8 @@ public class GT_Loader_Item_Block_And_Fluid
GT_Mod.gregtechproxy.addFluid("liquid_naphtha", "Naphtha", Materials.Naphtha, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naphtha, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_light_fuel", "Light Fuel", Materials.LightFuel, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_heavy_fuel", "Heavy Fuel", Materials.HeavyFuel, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("lpg", "LPG", Materials.LPG, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LPG, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_sulfurickerosene", "Sulfuric Kerosene", Materials.SulfuricKerosene, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricKerosene, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("kerosene", "Kerosene", Materials.Kerosene, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Kerosene, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_sulfuricresid", "Sulfuric Residual Oil", Materials.SulfuricResid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricResid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_residualoil", "Residual Oil", Materials.ResidualOil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.ResidualOil, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_crackedresid", "Cracked Residual Oil", Materials.CrackedResid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CrackedResid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_lpg", "LPG", Materials.LPG, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LPG, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("charcoal_byproducts", "molten.autogenerated", "Charcoal Byproducts", Materials.CharcoalByproducts, Materials.CharcoalByproducts.mRGBa, 2, 775, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CharcoalByproducts, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("molten.bisphenol_a", "molten.autogenerated", "Molten Bisphenol A", Materials.BisphenolA, Materials.BisphenolA.mRGBa, 1, 432, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.BisphenolA, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);

View file

@ -28,7 +28,6 @@ import gregtech.common.tileentities.machines.steam.*;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_Locker;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_QuantumChest;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_QuantumTank;
import gregtech.loaders.postload.GT_ProcessingArrayRecipeLoader;
import ic2.core.Ic2Items;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@ -1143,17 +1142,6 @@ public class GT_Loader_MetaTileEntities implements Runnable {
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Gas_Turbine_LV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_LV, 'E', ItemList.Electric_Motor_LV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Basic), 'W', OrePrefixes.cableGt01.get(Materials.Tin)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Gas_Turbine_MV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_MV, 'E', ItemList.Electric_Motor_MV, 'R', OrePrefixes.rotor.get(Materials.Bronze), 'C', OrePrefixes.circuit.get(Materials.Good), 'W', OrePrefixes.cableGt01.get(Materials.Copper)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Gas_Turbine_HV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_HV, 'E', ItemList.Electric_Motor_HV, 'R', OrePrefixes.rotor.get(Materials.Steel), 'C', OrePrefixes.circuit.get(Materials.Advanced), 'W', OrePrefixes.cableGt01.get(Materials.Gold)});
ItemList.Generator_Jet_Turbine_MV.set(new GT_MetaTileEntity_JetTurbine(1254, "basicgenerator.jetturbine.tier.02", "Advanced Jet Turbine", 2).getStackForm(1L));
ItemList.Generator_Jet_Turbine_HV.set(new GT_MetaTileEntity_JetTurbine(1255, "basicgenerator.jetturbine.tier.03", "Modern Jet Turbine", 3).getStackForm(1L));
ItemList.Generator_Jet_Turbine_EV.set(new GT_MetaTileEntity_JetTurbine(1256, "basicgenerator.jetturbine.tier.04", "Improved Jet Turbine", 4).getStackForm(1L));
//ItemList.Generator_Jet_Turbine_IV.set(new GT_MetaTileEntity_JetTurbine(1257, "basicgenerator.jetturbine.tier.05", "Hi-Bypass Jet Turbine", 5).getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_MV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_MV, 'E', ItemList.Electric_Motor_MV, 'R', OrePrefixes.rotor.get(Materials.Steel), 'C', OrePrefixes.circuit.get(Materials.Good), 'W', OrePrefixes.cableGt01.get(Materials.Copper)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_HV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_HV, 'E', ItemList.Electric_Motor_HV, 'R', OrePrefixes.rotor.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Advanced), 'W', OrePrefixes.cableGt01.get(Materials.Gold)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_EV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_EV, 'E', ItemList.Electric_Motor_EV, 'R', OrePrefixes.rotor.get(Materials.Titanium), 'C', OrePrefixes.circuit.get(Materials.Data), 'W', OrePrefixes.cableGt01.get(Materials.Aluminium)});
//GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_IV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_IV, 'E', ItemList.Electric_Motor_IV, 'R', OrePrefixes.rotor.get(Materials.TungstenSteel), 'C', OrePrefixes.circuit.get(Materials.Elite), 'W', OrePrefixes.cableGt01.get(Materials.Platinum)});
ItemList.Generator_Steam_Turbine_LV.set(new GT_MetaTileEntity_SteamTurbine(1120, "basicgenerator.steamturbine.tier.01", "Basic Steam Turbine", 1).getStackForm(1L));
ItemList.Generator_Steam_Turbine_MV.set(new GT_MetaTileEntity_SteamTurbine(1121, "basicgenerator.steamturbine.tier.02", "Advanced Steam Turbine", 2).getStackForm(1L));
@ -1211,9 +1199,7 @@ public class GT_Loader_MetaTileEntities implements Runnable {
ItemList.Processing_Array.set(new GT_MetaTileEntity_ProcessingArray(1199, "multimachine.processingarray", "Processing Array").getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Processing_Array.get(1L, new Object[0]), bitsd, new Object[]{"CTC", "FMF", "CBC", 'M', ItemList.Hull_EV, 'B', OrePrefixes.pipeLarge.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Elite), 'F', ItemList.Robot_Arm_EV, 'T', ItemList.Energy_LapotronicOrb});
GT_ProcessingArrayRecipeLoader.registerDefaultGregtechMaps();
ItemList.Advanced_Processing_Array.set(new GT_MetaTileEntity_AdvancedProcessingArray(1188, "multimachine.advancedprocessingarray", "Advanced Processing Array").getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Advanced_Processing_Array.get(1L, new Object[0]), bitsd, new Object[]{"RRR", "CPC", "CPC", 'R', ItemList.Robot_Arm_LuV, 'C', OrePrefixes.circuit.get(Materials.Master), 'P', ItemList.Processing_Array});

View file

@ -236,8 +236,6 @@ public class GT_NEI_AssLineHandler
drawText(10, 123, trans("159","Needs Low Gravity"), -16777216);
} else if (tSpecial == -200 && GT_Mod.gregtechproxy.mEnableCleanroom) {
drawText(10, 123, trans("160","Needs Cleanroom"), -16777216);
} else if (tSpecial == -201) {
drawText(10, 123, trans("206","Scan for Assembly Line"), -16777216);
} else if ((GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePre)) || (GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePost))) {
drawText(10, 123, this.mRecipeMap.mNEISpecialValuePre + tSpecial * this.mRecipeMap.mNEISpecialValueMultiplier + this.mRecipeMap.mNEISpecialValuePost, -16777216);
}

View file

@ -226,9 +226,7 @@ public class GT_NEI_DefaultHandler
drawText(10, 123, trans("159","Needs Low Gravity"), -16777216);
} else if (tSpecial == -200 && GT_Mod.gregtechproxy.mEnableCleanroom) {
drawText(10, 123, trans("160","Needs Cleanroom"), -16777216);
} else if (tSpecial == -201) {
drawText(10, 123, trans("206","Scan for Assembly Line"), -16777216);
} else if (tSpecial == -300) {
} else if (tSpecial == -300) {
drawText(10, 123, trans("216","Deprecated Recipe"), -16777216);
} else if ((GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePre)) || (GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePost))) {
drawText(10, 123, this.mRecipeMap.mNEISpecialValuePre + tSpecial * this.mRecipeMap.mNEISpecialValueMultiplier + this.mRecipeMap.mNEISpecialValuePost, -16777216);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,5 +0,0 @@
{
"animation":{
"frametime":2
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -1,5 +0,0 @@
{
"animation":{
"frametime":2
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -1,5 +0,0 @@
{
"animation":{
"frametime":2
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -1,5 +0,0 @@
{
"animation":{
"frametime":2
}
}