41 Commits
1.0.1 ... 1.0.4

Author SHA1 Message Date
Robert Sosnitzka
93d45ceaeb added missing violium_nugget.json 2016-07-25 15:06:52 +02:00
Robert Sosnitzka
fb4c81d44b added missing material overlays 2016-07-25 15:04:19 +02:00
Robert Sosnitzka
c3a2e9922a Swapped position of rubium and adamantite in end dimension. Fixed misspelled instable to unstable. 2016-07-25 14:26:42 +02:00
Robert Sosnitzka
92cfb47f4f - Swapped ore generation for titanite and adamantite (nether <> end).
- Fixed some generated tool textures
- Fixed hardness / blast resistance of blocks
2016-07-25 13:44:50 +02:00
Giovanni Harting
80720d50ce Added CurseForge link to description 2016-07-25 13:07:04 +02:00
9f0de8a250 tweaked some automated building stuff 2016-07-25 12:39:59 +02:00
Robert Sosnitzka
6b2cb0c105 Merge pull request #25 from TartaricAcid/master
Update zh_CN file
2016-07-25 12:31:05 +02:00
tartaric_acid
b075c521b2 Update zh_CN file 2016-07-25 18:22:25 +08:00
Robert Sosnitzka
804feb4280 Merge pull request #24 from TartaricAcid/master
Create a zh_CN file via @TartaricAcid
2016-07-25 10:40:46 +02:00
tartaric_acid
6ee71f3dc1 Create a zh_CN file 2016-07-25 16:37:52 +08:00
Robert Sosnitzka
9141dcc8a2 Changed ore textures slightly 2016-07-24 22:47:59 +02:00
Robert Sosnitzka
e28524864d Corrected rest of generated material textures. 2016-07-24 22:42:25 +02:00
Robert Sosnitzka
eb1eaf3fd7 Cleaned code. Added nugget icons. Fixed some textures. TODO: metal texture rendering 2016-07-24 20:52:57 +02:00
adef051ff7 removed "limiting" implementation of @Zkaface, was just plain wrong 2016-07-24 07:41:25 +02:00
5ccc94e73a removed class not needed 2016-07-24 07:08:55 +02:00
Giovanni Harting
6777030d57 Merge pull request #16 from StevenTheEVILZ
Add documentation and fix book icons
2016-07-24 06:51:19 +02:00
StevenTheEVILZ
c4f8ffc2b9 Add documentation and fix book icons 2016-07-22 10:42:33 -05:00
Robert Sosnitzka
87d33ee9a1 Rebalanced Tiberium. 2016-07-22 01:22:40 +02:00
Robert Sosnitzka
1a2e0f233b adamantite_nugget.json was corrupted 2016-07-22 00:51:39 +02:00
Robert Sosnitzka
374f1f1d24 Added nuggets + json files. F
Removed unnecessary lignite ores.
Fixed oreDict
2016-07-22 00:44:17 +02:00
6a932e6e56 fixed some envs 2016-07-21 19:15:03 +02:00
181fdc196e another approach to the automated building 2016-07-21 19:06:07 +02:00
fbdb595cd7 now or never: fixed automated building 2016-07-21 18:50:42 +02:00
e3576cc07e some other fixes /2 2016-07-21 18:33:23 +02:00
9a69e0c15a some other fixes 2016-07-21 18:28:35 +02:00
3251370335 thia time its another pain 2016-07-21 18:23:45 +02:00
57fe4b6070 ext is a real pain 2016-07-21 18:20:47 +02:00
00e5ca976f fixed some derps 2/x 2016-07-21 18:12:54 +02:00
fa777ca6e0 fixed some derps 2016-07-21 18:08:55 +02:00
a3f53b1593 fixed some stuff in automate builds 2016-07-21 18:03:29 +02:00
Robert Sosnitzka
d46ca78bd5 Merge remote-tracking branch 'origin/master' 2016-07-21 17:29:52 +02:00
Robert Sosnitzka
be1f4fc446 Fixed and balanced traits. Fixed bug where block could not be broken sometimes. Fixed missing Ores. Fixed translation. 2016-07-21 17:29:09 +02:00
Robert Sosnitzka
ddff7fe973 Merge pull request #7 from StevenTheEVILZ/patch-1
Fix misspelling of Adamantite
2016-07-20 20:01:32 +02:00
StevenTheEVILZ
835139a562 Fix misspelling of Adamantite 2016-07-20 12:59:07 -05:00
Robert Sosnitzka
768290f758 Fixed frequency of cascade effect in trait cascade 2016-07-20 13:13:53 +02:00
69f2904088 removed tickhandler for now 2016-07-20 13:02:13 +02:00
2ef3bc1dd4 fixed last derps with automated building 2016-07-20 05:17:05 +02:00
64f19a9741 added automatic jenkins build & upload 2016-07-20 04:41:22 +02:00
ca01fd8fc8 Refreshed gradle wrapper files 2016-07-20 03:43:14 +02:00
Robert Sosnitzka
db49a2c74e Adjusted tiberium ore, removed vanilla smelting recipes, adjusted three traits (one left), description for materials added 2016-07-20 01:41:39 +02:00
74e3baa05c first implementaion of a custom TickHandler 2016-07-19 13:18:41 +02:00
143 changed files with 1180 additions and 376 deletions

View File

@@ -15,7 +15,7 @@ Included:
Download Download
=============== ===============
[Link coming](www.sosnitzka.com) [TAIGA on CurseForge](http://minecraft.curseforge.com/projects/taiga-tinkers-alloying-addon/files)
Dependencies Dependencies
=============== ===============
@@ -46,7 +46,7 @@ Hardness of each new ore in case you gonna ask...
* Titanite (5): Titanite, Rubium, Mythril, Mindorite * Titanite (5): Titanite, Rubium, Mythril, Mindorite
* Meteorite (6): Meteorite, Arcanite, Palladium, Karmesine * Meteorite (6): Meteorite, Arcanite, Palladium, Karmesine
* Vibranium (7): Vibranium, Ignitite * Vibranium (7): Vibranium, Ignitite
* Adamantiute (8): Adamantite * Adamantite (8): Adamantite
* It is up to you to find out which alloy you need to get to highest tier. * It is up to you to find out which alloy you need to get to highest tier.
Balancing, more traits, more alloys, more ores: Balancing, more traits, more alloys, more ores:

View File

@@ -6,12 +6,18 @@ buildscript {
name = "forge" name = "forge"
url = "http://files.minecraftforge.net/maven" url = "http://files.minecraftforge.net/maven"
} }
maven {
url "https://plugins.gradle.org/m2/"
}
} }
dependencies { dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.0.8'
} }
} }
apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: "com.matthewprenger.cursegradle"
repositories { repositories {
mavenLocal() mavenLocal()
@@ -27,10 +33,29 @@ repositories {
} }
} }
version = "1.0.1" group = "com.sosnitzka" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
group = "com.sosnitzka.taiga" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "taiga" archivesBaseName = "taiga"
task buildInfo {
if (System.getenv().TAIGA_TAG != null) {
ext.revision = System.getenv().TAIGA_TAG
} else {
ext.revision = "snapshot"
}
if (System.getenv().BUILD_NUMBER != null) {
ext.buildNum = System.getenv().BUILD_NUMBER
}
if (System.getenv().TAIGA_CHANGES != null) {
ext.changes = System.getenv().TAIGA_CHANGES
} else {
ext.changes = ""
}
}
version = project.buildInfo.revision
minecraft { minecraft {
version = "1.10.2-12.18.1.2011" version = "1.10.2-12.18.1.2011"
runDir = "run" runDir = "run"
@@ -43,9 +68,12 @@ minecraft {
mappings = "snapshot_20160701" mappings = "snapshot_20160701"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
replace "@VERSION@", project.version replace "${version}", project.version
} }
ext.mc_version = project.minecraft.version.split('-')[0]
version = "${mc_version}-${project.buildInfo.revision}"
dependencies { dependencies {
//deobfCompile "codechicken:CodeChickenLib:1.9.4-2.0.2.39:deobf" //deobfCompile "codechicken:CodeChickenLib:1.9.4-2.0.2.39:deobf"
//deobfCompile "codechicken:CodeChickenCore:1.9.4-2.0.3.65:deobf" //deobfCompile "codechicken:CodeChickenCore:1.9.4-2.0.3.65:deobf"
@@ -57,6 +85,14 @@ dependencies {
//compile files('libs/TConstruct-1.9-2.3.1.DEV.1d4c1de-deobf.jar') //compile files('libs/TConstruct-1.9-2.3.1.DEV.1d4c1de-deobf.jar')
} }
sourceSets {
main {
resources {
srcDir 'resources'
}
}
}
//noinspection GroovyAssignabilityCheck //noinspection GroovyAssignabilityCheck
processResources { processResources {
// this will ensure that this task is redone when the versions change. // this will ensure that this task is redone when the versions change.
@@ -76,3 +112,114 @@ processResources {
exclude 'mcmod.info' exclude 'mcmod.info'
} }
} }
task deobfJar(type: Jar) {
from sourceSets.main.output
classifier = 'deobf'
}
artifacts {
archives deobfJar
}
curseforge {
apiKey = System.getenv().CURSE_API_KEY ? System.getenv().CURSE_API_KEY : "devBuild"
//noinspection GroovyAssignabilityCheck
project {
id = '247661'
changelog = project.buildInfo.changes // A file can also be set using: changelog = file('changelog.txt')
releaseType = 'release'
addGameVersion '1.10.2'
addGameVersion '1.10.1'
addArtifact deobfJar
mainArtifact(jar) {
displayName = "taiga-${project.buildInfo.revision}"
}
relations {
requiredLibrary 'tinkers-construct'
}
}
}
/* FOR AUTO JSON
ext.args = [:]
ext.requireArgument = {String property, String displayValue ->
def value = args[property]
if (value == null) {
throw new InvalidUserDataException("$property must be set with \'$property=$displayValue\'")
}
return value
}
tasks.addRule("Pattern: <property>=<value>: Passes arguments to the scripts") { String taskName ->
def match = taskName =~ /(.*?)=(.*?$)/
if (match) {
def property = match[0][1]
def value = match[0][2]
ext.args[property] = value;
task(taskName) << {
println "Passes value \'$value\' to args[\'$property\']"
}
}
}
import org.apache.tools.ant.filters.FixCrLfFilter
class CopyJsonTemplate extends DefaultTask {
@Input
def template
@Input
def arguments
@Input
def jsonRename
@TaskAction
def build() {
def args = arguments()
project.copy {
from("templates/${template}") {
expand(args)
filter(FixCrLfFilter, eol: FixCrLfFilter.CrLf.newInstance('crlf'))
}
into 'src/main/resources'
rename { String filename ->
def match = filename =~ /(.*)\.json/
if (match) {
def prevFilename = match[0][1]
def newFilename = jsonRename.call(prevFilename)
return "${newFilename}.json"
}
else {
return filename
}
}
}
}
}
task generateBlockModel(type: CopyJsonTemplate) {
template 'block'
arguments {
def blockName = requireArgument('blockName', 'block_name')
return ['modid':archivesBaseName, 'block_name':blockName]
}
jsonRename {
return args['blockName']
}
}
task generateItemModel(type: CopyJsonTemplate) {
template 'item'
arguments {
def itemName = requireArgument('itemName', 'item_name')
return ['modid':archivesBaseName, 'item_name':itemName]
}
jsonRename {
return args['itemName']
}
}*/

Binary file not shown.

View File

@@ -1,6 +1,6 @@
#Mon Sep 14 12:28:28 PDT 2015 #Wed Jul 20 03:42:23 CEST 2016
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.7-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip

52
gradlew vendored
View File

@@ -6,12 +6,30 @@
## ##
############################################################################## ##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. # Attempt to set APP_HOME
DEFAULT_JVM_OPTS="" # 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\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle" APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"` APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum" MAX_FD="maximum"
@@ -30,6 +48,7 @@ die ( ) {
cygwin=false cygwin=false
msys=false msys=false
darwin=false darwin=false
nonstop=false
case "`uname`" in case "`uname`" in
CYGWIN* ) CYGWIN* )
cygwin=true cygwin=true
@@ -40,31 +59,11 @@ case "`uname`" in
MINGW* ) MINGW* )
msys=true msys=true
;; ;;
NONSTOP* )
nonstop=true
;;
esac 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 CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@@ -90,7 +89,7 @@ location of your Java installation."
fi fi
# Increase the maximum file descriptors if we can. # Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n` MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -114,6 +113,7 @@ fi
if $cygwin ; then if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath # We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`

8
gradlew.bat vendored
View File

@@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell @rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal 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 set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=. if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% set APP_HOME=%DIRNAME%
@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=
@rem Find java.exe @rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome if defined JAVA_HOME goto findJavaFromJavaHome
@@ -46,7 +46,7 @@ echo location of your Java installation.
goto fail goto fail
:init :init
@rem Get command-line arguments, handling Windowz variants @rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args if "%@eval[2+2]" == "4" goto 4NT_args

View File

@@ -8,6 +8,9 @@ import static com.sosnitzka.taiga.util.Utils.registerTinkerAlloys;
public class Alloys { public class Alloys {
/**
* Registers alloying in the smeltery
*/
static void register() { static void register() {
registerTinkerAlloys(nitroniteFluid, 2, tiberiumFluid, 4, vibraniumFluid, 3, nitroFluid, 3); registerTinkerAlloys(nitroniteFluid, 2, tiberiumFluid, 4, vibraniumFluid, 3, nitroFluid, 3);
registerTinkerAlloys(bysmuidFluid, 1, rubiumFluid, 3, bismuthFluid, 2, anthraciteFluid, 3); registerTinkerAlloys(bysmuidFluid, 1, rubiumFluid, 3, bismuthFluid, 2, anthraciteFluid, 3);

View File

@@ -15,7 +15,8 @@ import java.lang.reflect.Field;
import java.util.Arrays; import java.util.Arrays;
import static com.sosnitzka.taiga.MaterialTraits.*; import static com.sosnitzka.taiga.MaterialTraits.*;
import static com.sosnitzka.taiga.util.Utils.*; import static com.sosnitzka.taiga.util.Utils.PREFIX_BLOCK;
import static com.sosnitzka.taiga.util.Utils.PREFIX_ORE;
import static slimeknights.tconstruct.library.utils.HarvestLevels.*; import static slimeknights.tconstruct.library.utils.HarvestLevels.*;
public class Blocks { public class Blocks {
@@ -25,85 +26,89 @@ public class Blocks {
public static Block basalt = new BasicBlock("basalt", Material.ROCK, 45.0f, 35.0f, OBSIDIAN); public static Block basalt = new BasicBlock("basalt", Material.ROCK, 45.0f, 35.0f, OBSIDIAN);
public static Block rottenGround = new BasicBlockGround("rotten_ground", Material.GROUND, 2.0f, 2.0f, STONE); public static Block rottenGround = new BasicBlockGround("rotten_ground", Material.GROUND, 2.0f, 2.0f, STONE);
public static Block ligniteOre = new BlockLignite(); public static Block ligniteOre = new BlockLignite();
// will be optional / config
public static Block slagironOre = new BasicBlock("slagiron_ore", Material.ROCK, 3.0f, 5.0f, IRON); public static Block slagironOre = new BasicBlock("slagiron_ore", Material.ROCK, 3.0f, 5.0f, IRON);
public static Block slaggoldOre = new BasicBlock("slaggold_ore", Material.ROCK, 3.0f, 5.0f, IRON); public static Block slaggoldOre = new BasicBlock("slaggold_ore", Material.ROCK, 3.0f, 5.0f, IRON);
// Ores // Ores
// Group: Solide // Group: Solide
public static Block titaniteOre = new BasicBlock("titanite_ore", Material.ROCK, 55.0f, 400.0f, TITANITE, PREFIX_ORE); public static Block titaniteOre = new BasicBlock("titanite_ore", Material.ROCK, 55.0f, 40f, TITANITE, PREFIX_ORE);
public static Block meteoriteOre = new BasicBlock("meteorite_ore", Material.ROCK, 60.0f, 500.0f, METEORITE, PREFIX_ORE); public static Block meteoriteOre = new BasicBlock("meteorite_ore", Material.ROCK, 60.0f, 50f, METEORITE, PREFIX_ORE);
public static Block vibraniumOre = new BasicBlock("vibranium_ore", Material.ROCK, 70.0f, 800.0f, VIBRANIUM, PREFIX_ORE); public static Block vibraniumOre = new BasicBlock("vibranium_ore", Material.ROCK, 70.0f, 60f, VIBRANIUM, PREFIX_ORE);
public static Block adamantiteOre = new BasicBlock("adamantite_ore", Material.ROCK, 80.0f, 1000.0f, ADAMANTITE, PREFIX_ORE); public static Block adamantiteOre = new BasicBlock("adamantite_ore", Material.ROCK, 80.0f, 70f, ADAMANTITE, PREFIX_ORE);
// Group: Arcane // Group: Arcane
public static Block prometheumOre = new BasicBlock("prometheum_ore", Material.ROCK, 35.0f, 35.0f, COBALT, 0.25f, PREFIX_ORE); public static Block prometheumOre = new BasicBlock("prometheum_ore", Material.ROCK, 35.0f, 12f, COBALT, 0.4f, PREFIX_ORE);
public static Block rubiumOre = new BasicBlock("rubium_ore", Material.ROCK, 13.0f, 15.0f, TITANITE, PREFIX_ORE); public static Block rubiumOre = new BasicBlock("rubium_ore", Material.ROCK, 13.0f, 12f, TITANITE, PREFIX_ORE);
public static Block tiberiumOre = new BlockTiberium(); public static Block tiberiumOre = new BlockTiberium();
public static Block arcaniteOre = new BasicBlock("arcanite_ore", Material.ROCK, 23.0f, 25.0f, METEORITE, PREFIX_ORE); public static Block arcaniteOre = new BasicBlock("arcanite_ore", Material.ROCK, 23.0f, 12f, METEORITE, PREFIX_ORE);
// Group: Etheri // Group: Etheri
public static Block eterniteOre = new BasicBlock("eternite_ore", Material.ROCK, 24.0f, 25.0f, COBALT, PREFIX_ORE); public static Block eterniteOre = new BasicBlock("eternite_ore", Material.ROCK, 24.0f, 15f, COBALT, PREFIX_ORE);
public static Block mythrilOre = new BasicBlock("mythril_ore", Material.ROCK, 25.0f, 25.0f, TITANITE, PREFIX_ORE); public static Block mythrilOre = new BasicBlock("mythril_ore", Material.ROCK, 25.0f, 15f, TITANITE, PREFIX_ORE);
public static Block palladiumOre = new BasicBlock("palladium_ore", Material.ROCK, 25.0f, 25.0f, METEORITE, PREFIX_ORE); public static Block palladiumOre = new BasicBlock("palladium_ore", Material.ROCK, 25.0f, 15f, METEORITE, 0.4f, PREFIX_ORE);
public static Block ignititeOre = new BasicBlock("ignitite_ore", Material.ROCK, 23.0f, 25.0f, VIBRANIUM, PREFIX_ORE); public static Block ignititeOre = new BasicBlock("ignitite_ore", Material.ROCK, 23.0f, 15f, VIBRANIUM, PREFIX_ORE);
// Group: Ratio // Group: Ratio
public static Block violiumOre = new BasicBlock("violium_ore", Material.ROCK, 13.0f, 13.0f, COBALT, PREFIX_ORE); public static Block violiumOre = new BasicBlock("violium_ore", Material.ROCK, 13.0f, 10f, COBALT, PREFIX_ORE);
public static Block bismuthOre = new BasicBlock("bismuth_ore", Material.ROCK, 8.0f, 8.0f, OBSIDIAN, PREFIX_ORE); public static Block bismuthOre = new BasicBlock("bismuth_ore", Material.ROCK, 8.0f, 5f, OBSIDIAN, PREFIX_ORE);
public static Block mindoriteOre = new BasicBlock("mindorite_ore", Material.ROCK, 12.0f, 12.0f, TITANITE, PREFIX_ORE); public static Block mindoriteOre = new BasicBlock("mindorite_ore", Material.ROCK, 12.0f, 10f, TITANITE, PREFIX_ORE);
public static Block karmesineOre = new BasicBlock("karmesine_ore", Material.ROCK, 13.0f, 15.0f, METEORITE, PREFIX_ORE); public static Block karmesineOre = new BasicBlock("karmesine_ore", Material.ROCK, 13.0f, 10f, METEORITE, PREFIX_ORE);
// Blocks // Blocks
// Group: Solide // Group: Solide
public static Block titaniteBlock = new BasicBlock("titanite_block", Material.ROCK, 55.0f, 400.0f, 5, PREFIX_BLOCK); public static Block titaniteBlock = new BasicBlock("titanite_block", Material.ROCK, 55.0f, 50f, 5, PREFIX_BLOCK);
public static Block meteoriteBlock = new BasicBlock("meteorite_block", Material.ROCK, 60.0f, 500.0f, 6, PREFIX_BLOCK); public static Block meteoriteBlock = new BasicBlock("meteorite_block", Material.ROCK, 60.0f, 60f, 6, PREFIX_BLOCK);
public static Block vibraniumBlock = new BasicBlock("vibranium_block", Material.ROCK, 70.0f, 800.0f, 7, PREFIX_BLOCK); public static Block vibraniumBlock = new BasicBlock("vibranium_block", Material.ROCK, 70.0f, 70f, 7, PREFIX_BLOCK);
public static Block adamantiteBlock = new BasicBlock("adamantite_block", Material.ROCK, 80.0f, 1000.0f, 8, PREFIX_BLOCK); public static Block adamantiteBlock = new BasicBlock("adamantite_block", Material.ROCK, 80.0f, 80f, 8, PREFIX_BLOCK);
// Group: Arcane // Group: Arcane
public static Block prometheumBlock = new BasicBlock("prometheum_block", Material.ROCK, 35.0f, 35.0f, 4, 0.25f, PREFIX_BLOCK); public static Block prometheumBlock = new BasicBlock("prometheum_block", Material.ROCK, 35.0f, 15f, 2, 0.5f, PREFIX_BLOCK);
public static Block rubiumBlock = new BasicBlock("rubium_block", Material.ROCK, 13.0f, 15.0f, 5, PREFIX_BLOCK); public static Block rubiumBlock = new BasicBlock("rubium_block", Material.ROCK, 13.0f, 15f, 5, PREFIX_BLOCK);
public static Block tiberiumBlock = new BasicBlock("tiberium_block", Material.ROCK, 30.0f, 30.0f, 6, 1f, PREFIX_BLOCK); public static Block tiberiumBlock = new BasicBlock("tiberium_block", Material.ROCK, 30.0f, 15f, 6, 1f, PREFIX_BLOCK);
public static Block arcaniteBlock = new BasicBlock("arcanite_block", Material.ROCK, 23.0f, 25.0f, 7, PREFIX_BLOCK); public static Block arcaniteBlock = new BasicBlock("arcanite_block", Material.ROCK, 23.0f, 15f, 7, PREFIX_BLOCK);
// Group: Etheri // Group: Etheri
public static Block eterniteBlock = new BasicBlock("eternite_block", Material.ROCK, 24.0f, 25.0f, 4, PREFIX_BLOCK); public static Block eterniteBlock = new BasicBlock("eternite_block", Material.ROCK, 24.0f, 20f, 4, PREFIX_BLOCK);
public static Block mythrilBlock = new BasicBlock("mythril_block", Material.ROCK, 25.0f, 25.0f, 5, PREFIX_BLOCK); public static Block mythrilBlock = new BasicBlock("mythril_block", Material.ROCK, 25.0f, 20f, 5, PREFIX_BLOCK);
public static Block palladiumBlock = new BasicBlock("palladium_block", Material.ROCK, 25.0f, 25.0f, 6, PREFIX_BLOCK); public static Block palladiumBlock = new BasicBlock("palladium_block", Material.ROCK, 25.0f, 20f, 6, 0.5f, PREFIX_BLOCK);
public static Block ignititeBlock = new BasicBlock("ignitite_block", Material.ROCK, 23.0f, 25.0f, 7, PREFIX_BLOCK); public static Block ignititeBlock = new BasicBlock("ignitite_block", Material.ROCK, 23.0f, 20f, 7, PREFIX_BLOCK);
// Group: Ratio // Group: Ratio
public static Block violiumBlock = new BasicBlock("violium_block", Material.ROCK, 13.0f, 13.0f, 4, PREFIX_BLOCK); public static Block violiumBlock = new BasicBlock("violium_block", Material.ROCK, 13.0f, 12f, 4, PREFIX_BLOCK);
public static Block bismuthBlock = new BasicBlock("bismuth_block", Material.ROCK, 8.0f, 8.0f, 5, PREFIX_BLOCK); public static Block bismuthBlock = new BasicBlock("bismuth_block", Material.ROCK, 8.0f, 10f, 5, PREFIX_BLOCK);
public static Block mindoriteBlock = new BasicBlock("mindorite_block", Material.ROCK, 12.0f, 12.0f, 2, PREFIX_BLOCK); public static Block mindoriteBlock = new BasicBlock("mindorite_block", Material.ROCK, 12.0f, 12f, 2, PREFIX_BLOCK);
public static Block karmesineBlock = new BasicBlock("karmesine_block", Material.ROCK, 13.0f, 15.0f, 3, PREFIX_BLOCK); public static Block karmesineBlock = new BasicBlock("karmesine_block", Material.ROCK, 13.0f, 12f, 3, PREFIX_BLOCK);
public static Block imperomiteBlock = new BasicBlock("imperomite_block", Material.ROCK, 24.0f, 25.0f, 5, PREFIX_BLOCK); public static Block imperomiteBlock = new BasicBlock("imperomite_block", Material.ROCK, 24.0f, 25f, 5, PREFIX_BLOCK);
public static Block fractoryteBlock = new BasicBlock("fractoryte_block", Material.ROCK, 8.0f, 8.0f, 8, PREFIX_BLOCK); public static Block fractoryteBlock = new BasicBlock("fractoryte_block", Material.ROCK, 8.0f, 15f, 8, PREFIX_BLOCK);
public static Block noctunyxBlock = new BasicBlock("noctunyx_block", Material.ROCK, 60.0f, 500.0f, 6, PREFIX_BLOCK); public static Block noctunyxBlock = new BasicBlock("noctunyx_block", Material.ROCK, 60.0f, 15f, 6, PREFIX_BLOCK);
public static Block nitroniteBlock = new BasicBlock("nitronite_block", Material.ROCK, 13.0f, 15.0f, 7, PREFIX_BLOCK); public static Block nitroniteBlock = new BasicBlock("nitronite_block", Material.ROCK, 13.0f, 12f, 7, 0.8f, PREFIX_BLOCK);
public static Block cryptogenBlock = new BasicBlock("cryptogen_block", Material.ROCK, 23.0f, 25.0f, 6, PREFIX_BLOCK); public static Block cryptogenBlock = new BasicBlock("cryptogen_block", Material.ROCK, 23.0f, 15f, 6, PREFIX_BLOCK);
public static Block seismodiumBlock = new BasicBlock("seismodium_block", Material.ROCK, 30.0f, 30.0f, 7, 1f, PREFIX_BLOCK); public static Block seismodiumBlock = new BasicBlock("seismodium_block", Material.ROCK, 30.0f, 25f, 7, PREFIX_BLOCK);
public static Block aegisaltBlock = new BasicBlock("aegisalt_block", Material.ROCK, 13.0f, 13.0f, 5, PREFIX_BLOCK); public static Block aegisaltBlock = new BasicBlock("aegisalt_block", Material.ROCK, 13.0f, 15f, 5, PREFIX_BLOCK);
public static Block ultraniteBlock = new BasicBlock("ultranite_block", Material.ROCK, 13.0f, 15.0f, 8, PREFIX_BLOCK); public static Block ultraniteBlock = new BasicBlock("ultranite_block", Material.ROCK, 13.0f, 25f, 8, 0.6f, PREFIX_BLOCK);
public static Block bysmuidBlock = new BasicBlock("bysmuid_block", Material.ROCK, 35.0f, 35.0f, 5, 0.25f, PREFIX_BLOCK); public static Block bysmuidBlock = new BasicBlock("bysmuid_block", Material.ROCK, 35.0f, 15f, 5, PREFIX_BLOCK);
public static Block nucleumBlock = new BasicBlock("nucleum_block", Material.ROCK, 25.0f, 25.0f, 4, PREFIX_BLOCK); public static Block nucleumBlock = new BasicBlock("nucleum_block", Material.ROCK, 25.0f, 15f, 4, 0.85f, PREFIX_BLOCK);
public static Block terramiteBlock = new BasicBlock("terramite_block", Material.ROCK, 70.0f, 800.0f, 4, PREFIX_BLOCK); public static Block terramiteBlock = new BasicBlock("terramite_block", Material.ROCK, 70.0f, 15f, 4, PREFIX_BLOCK);
public static Block solariumBlock = new BasicBlock("solarium_block", Material.ROCK, 80.0f, 1000.0f, 5, PREFIX_BLOCK); public static Block solariumBlock = new BasicBlock("solarium_block", Material.ROCK, 80.0f, 25f, 5, PREFIX_BLOCK);
public static Block lumixylBlock = new BasicBlock("lumixyl_block", Material.ROCK, 12.0f, 12.0f, 5, PREFIX_BLOCK); public static Block lumixylBlock = new BasicBlock("lumixyl_block", Material.ROCK, 12.0f, 15f, 5, 1f, PREFIX_BLOCK);
public static Block dyoniteBlock = new BasicBlock("dyonite_block", Material.ROCK, 23.0f, 25.0f, 4, PREFIX_BLOCK); public static Block dyoniteBlock = new BasicBlock("dyonite_block", Material.ROCK, 23.0f, 15f, 4, 0.3f, PREFIX_BLOCK);
public static Block proxideumBlock = new BasicBlock("proxideum_block", Material.ROCK, 25.0f, 25.0f, 4, PREFIX_BLOCK); public static Block proxideumBlock = new BasicBlock("proxideum_block", Material.ROCK, 25.0f, 15f, 4, PREFIX_BLOCK);
public static Block astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 55.0f, 400.0f, 7, PREFIX_BLOCK); public static Block astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 55.0f, 15f, 7, PREFIX_BLOCK);
//public static Block fluidBlock = new BlockMolten(Fluids.astriumFluid);
/**
* Registers all materials' ingots and nuggets <br>
* Detailed summary: <br>
* Gets the ingots declared in the class (fields and reflection) and iterates through them: <br>
* Checks that the field is static, registers the field (item), and adds an oreDict entry if needed
*/
public static void register() { public static void register() {
Field[] declaredFields = Blocks.class.getDeclaredFields(); Field[] declaredFields = Blocks.class.getDeclaredFields(); // Gets the fields (ingots) declared above
for (Field field : declaredFields) { for (Field field : declaredFields) { // Iterates through the fields declared above
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { // Checks that the fields are static
Class<?> targetType = field.getType(); Class<?> targetType = field.getType();
try { try {
Block block = (Block) field.get(targetType); Block block = (Block) field.get(targetType); // Gets the field as a BasicBlock which is then casted to an Block
Utils.registerBlockWithItem(block); Utils.registerBlockWithItem(block); // Registers block and its item
if (block instanceof BasicBlock) { if (block instanceof BasicBlock) { // Checks that the block is a BasicBlock
if (((BasicBlock) block).isOreDict()) { if (((BasicBlock) block).isOreDict()) { // Checks that the block has an oreDict entry
String oreDictName; String oreDictName;
String[] nameParts = block.getUnlocalizedName().replace("tile.", "").split("_"); String[] nameParts = block.getUnlocalizedName().replace("tile.", "").split("_");
@@ -112,7 +117,7 @@ public class Blocks {
} else { } else {
oreDictName = nameParts[0]; oreDictName = nameParts[0];
} }
OreDictionary.registerOre(((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName), block); OreDictionary.registerOre(((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName), block); // Registers the block's oreDict
} }
} }
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
@@ -120,8 +125,5 @@ public class Blocks {
} }
} }
} }
OreDictionary.registerOre("nuggetIron", slagironOre);
OreDictionary.registerOre("nuggetGold", slaggoldOre);
} }
} }

View File

@@ -5,10 +5,13 @@ import com.sosnitzka.taiga.generic.BasicTinkerFluid;
import com.sosnitzka.taiga.util.Utils; import com.sosnitzka.taiga.util.Utils;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
import slimeknights.tconstruct.shared.TinkerFluids;
import slimeknights.tconstruct.smeltery.block.BlockMolten; import slimeknights.tconstruct.smeltery.block.BlockMolten;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import static com.sosnitzka.taiga.Blocks.slaggoldOre;
import static com.sosnitzka.taiga.Blocks.slagironOre;
import static com.sosnitzka.taiga.Items.*; import static com.sosnitzka.taiga.Items.*;
import static com.sosnitzka.taiga.util.Utils.registerFluid; import static com.sosnitzka.taiga.util.Utils.registerFluid;
import static slimeknights.tconstruct.library.TinkerRegistry.registerMelting; import static slimeknights.tconstruct.library.TinkerRegistry.registerMelting;
@@ -58,21 +61,28 @@ public class Fluids {
public static BasicTinkerFluid anthraciteFluid = new BasicTinkerFluid("anthracite_fluid", 0xFF111111, false, 500, 0, 632); public static BasicTinkerFluid anthraciteFluid = new BasicTinkerFluid("anthracite_fluid", 0xFF111111, false, 500, 0, 632);
public static BasicTinkerFluid spectrumFluid = new BasicTinkerFluid("spectrum_fluid", 0xFF64748f, false, 600, 0, 512); public static BasicTinkerFluid spectrumFluid = new BasicTinkerFluid("spectrum_fluid", 0xFF64748f, false, 600, 0, 512);
/**
* Registers all materials' fluids <br>
* Detailed summary: <br>
* Gets the fluids declared in the class (fields and reflection) and iterates through them: <br>
* Checks that the field is static, registers the field (fluids), and registers the models on the client
*/
static void register() { static void register() {
Field[] declaredFields = Fluids.class.getDeclaredFields(); Field[] declaredFields = Fluids.class.getDeclaredFields(); // Gets the blocks and ores declared above
for (Field field : declaredFields) { for (Field field : declaredFields) { // Iterates through the fields declared above
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { // Checks that the fields are static
Class<?> targetType = field.getType(); Class<?> targetType = field.getType();
try { try {
BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType); BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType); // Gets the field as a BasicTinkerFluid
registerFluid(fluid); registerFluid(fluid); // Registers the fluid into the game along wit its bucket
BlockMolten block = new BlockMolten(fluid); BlockMolten block = new BlockMolten(fluid);
// Sets names
block.setUnlocalizedName("molten_" + fluid.getName()); block.setUnlocalizedName("molten_" + fluid.getName());
block.setRegistryName(TAIGA.MODID, "molten_" + fluid.getName()); block.setRegistryName(TAIGA.MODID, "molten_" + fluid.getName());
// Registers the fluid in its block form and its corresponding item (block/fluid as item in inventory)
Utils.registerBlockWithItem(block); Utils.registerBlockWithItem(block);
// Registers the fluid's model but only on the client side
TAIGA.proxy.registerFluidModels(fluid); TAIGA.proxy.registerFluidModels(fluid);
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
@@ -81,6 +91,9 @@ public class Fluids {
} }
} }
/**
* Registers special smeltery recipes (not alloying)
*/
static void registerfromItem() { static void registerfromItem() {
registerMelting(radiant_pearl, radiant_enderium, 72); registerMelting(radiant_pearl, radiant_enderium, 72);
registerMelting(glimmer_pearl, glimming_enderium, 72); registerMelting(glimmer_pearl, glimming_enderium, 72);
@@ -92,5 +105,9 @@ public class Fluids {
registerMelting(Blocks.OBSIDIAN, FluidRegistry.LAVA, 432); registerMelting(Blocks.OBSIDIAN, FluidRegistry.LAVA, 432);
registerMelting(Blocks.NETHERRACK, FluidRegistry.LAVA, 48); registerMelting(Blocks.NETHERRACK, FluidRegistry.LAVA, 48);
registerMelting(Blocks.STONE, FluidRegistry.LAVA, 144); registerMelting(Blocks.STONE, FluidRegistry.LAVA, 144);
registerMelting(slaggoldOre, TinkerFluids.gold, 16);
registerMelting(slagironOre, TinkerFluids.iron, 16);
registerMelting(slagironIngot, TinkerFluids.iron, 24);
registerMelting(slaggoldIngot, TinkerFluids.gold, 24);
} }
} }

View File

@@ -3,10 +3,6 @@ package com.sosnitzka.taiga;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.sosnitzka.taiga.generic.BasicItem; import com.sosnitzka.taiga.generic.BasicItem;
import com.sosnitzka.taiga.items.ItemIronNugget;
import com.sosnitzka.taiga.items.ItemLignite;
import com.sosnitzka.taiga.items.ItemSlaggoldIngot;
import com.sosnitzka.taiga.items.ItemSlagironIngot;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
@@ -19,14 +15,48 @@ import static com.sosnitzka.taiga.util.Utils.PREFIX_INGOT;
import static com.sosnitzka.taiga.util.Utils.PREFIX_NUGGET; import static com.sosnitzka.taiga.util.Utils.PREFIX_NUGGET;
public class Items { public class Items {
public static ItemSlagironIngot slagironIngot = new ItemSlagironIngot();
public static Item lignite = new ItemLignite("lignite", "lignite"); public static Item lignite = new BasicItem("lignite", null, "lignite");
public static Item lignite2 = new ItemLignite("lignite", "lignite2"); public static Item iron_nugget = new BasicItem("iron_nugget", PREFIX_NUGGET);
public static Item lignite3 = new ItemLignite("lignite", "lignite3"); public static Item slaggoldIngot = new BasicItem("slaggold_ingot");
public static ItemIronNugget iron_nugget = new ItemIronNugget(); public static Item slagironIngot = new BasicItem("slagiron_ingot");
public static ItemSlaggoldIngot slaggoldIngot = new ItemSlaggoldIngot();
public static Item fuel_brick = new BasicItem("fuel_brick"); public static Item fuel_brick = new BasicItem("fuel_brick");
//Nuggets
public static Item titanite_nugget = new BasicItem("titanite_nugget", PREFIX_NUGGET);
public static Item adamantite_nugget = new BasicItem("adamantite_nugget", PREFIX_NUGGET);
public static Item arcanite_nugget = new BasicItem("arcanite_nugget", PREFIX_NUGGET);
public static Item violium_nugget = new BasicItem("violium_nugget", PREFIX_NUGGET);
public static Item bismuth_nugget = new BasicItem("bismuth_nugget", PREFIX_NUGGET);
public static Item eternite_nugget = new BasicItem("eternite_nugget", PREFIX_NUGGET);
public static Item ignitite_nugget = new BasicItem("ignitite_nugget", PREFIX_NUGGET);
public static Item karmesine_nugget = new BasicItem("karmesine_nugget", PREFIX_NUGGET);
public static Item meteorite_nugget = new BasicItem("meteorite_nugget", PREFIX_NUGGET);
public static Item mindorite_nugget = new BasicItem("mindorite_nugget", PREFIX_NUGGET);
public static Item mythril_nugget = new BasicItem("mythril_nugget", PREFIX_NUGGET);
public static Item palladium_nugget = new BasicItem("palladium_nugget", PREFIX_NUGGET);
public static Item prometheum_nugget = new BasicItem("prometheum_nugget", PREFIX_NUGGET);
// NAH! public static Item tiberium_nugget = new BasicItem("tiberium_nugget", PREFIX_NUGGET);
public static Item vibranium_nugget = new BasicItem("vibranium_nugget", PREFIX_NUGGET);
public static Item rubium_nugget = new BasicItem("rubium_nugget", PREFIX_NUGGET);
public static Item astrium_nugget = new BasicItem("astrium_nugget", PREFIX_NUGGET);
public static Item nitronite_nugget = new BasicItem("nitronite_nugget", PREFIX_NUGGET);
public static Item proxideum_nugget = new BasicItem("proxideum_nugget", PREFIX_NUGGET);
public static Item noctunyx_nugget = new BasicItem("noctunyx_nugget", PREFIX_NUGGET);
public static Item imperomite_nugget = new BasicItem("imperomite_nugget", PREFIX_NUGGET);
public static Item cryptogen_nugget = new BasicItem("cryptogen_nugget", PREFIX_NUGGET);
public static Item fractoryte_nugget = new BasicItem("fractoryte_nugget", PREFIX_NUGGET);
public static Item seismodium_nugget = new BasicItem("seismodium_nugget", PREFIX_NUGGET);
public static Item tiberium_nugget = new BasicItem("tiberium_nugget", PREFIX_NUGGET);
public static Item terramite_nugget = new BasicItem("terramite_nugget", PREFIX_NUGGET);
public static Item lumixyl_nugget = new BasicItem("lumixyl_nugget", PREFIX_NUGGET);
public static Item solarium_nugget = new BasicItem("solarium_nugget", PREFIX_NUGGET);
public static Item dyonite_nugget = new BasicItem("dyonite_nugget", PREFIX_NUGGET);
public static Item ultranite_nugget = new BasicItem("ultranite_nugget", PREFIX_NUGGET);
public static Item nucleum_nugget = new BasicItem("nucleum_nugget", PREFIX_NUGGET);
public static Item aegisalt_nugget = new BasicItem("aegisalt_nugget", PREFIX_NUGGET);
public static Item bysmuid_nugget = new BasicItem("bysmuid_nugget", PREFIX_NUGGET);
public static Item glimmercoal = new BasicItem("glimmercoal"); public static Item glimmercoal = new BasicItem("glimmercoal");
public static Item radiant_pearl = new BasicItem("radiant_pearl"); public static Item radiant_pearl = new BasicItem("radiant_pearl");
public static Item glimmer_pearl = new BasicItem("glimmer_pearl"); public static Item glimmer_pearl = new BasicItem("glimmer_pearl");
@@ -72,19 +102,23 @@ public class Items {
public static Item bysmuidIngot = new BasicItem("bysmuid_ingot", PREFIX_INGOT); public static Item bysmuidIngot = new BasicItem("bysmuid_ingot", PREFIX_INGOT);
public static Item tiberiumShardInstable = new BasicItem("tiberium_shard_instable"); public static Item tiberiumShardInstable = new BasicItem("tiberium_shard_instable");
public static Item tiberiumShardStable = new BasicItem("tiberium_nugget", PREFIX_NUGGET);
/**
* Registers all materials' ingots and nuggets <br>
* Detailed summary: <br>
* Gets the ingots declared in the class (fields and reflection) and iterates through them: <br>
* Checks that the field is static, registers the field (item), and adds an oreDict entry if needed
*/
public static void register() { public static void register() {
Field[] declaredFields = Items.class.getDeclaredFields(); Field[] declaredFields = Items.class.getDeclaredFields(); // Gets the fields (ingots) declared above
for (Field field : declaredFields) { for (Field field : declaredFields) { // Iterates through the fields declared above
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { // Checks that the fields are static
Class<?> targetType = field.getType(); Class<?> targetType = field.getType();
try { try {
Item item = (Item) field.get(targetType); Item item = (Item) field.get(targetType); // Gets the field as a BasicItem which is then casted to an Item
GameRegistry.register(item); GameRegistry.register(item); // Registers the item into the game
if (item instanceof BasicItem) { // Checks that the item is a BasicItem
if (item instanceof BasicItem) { if (((BasicItem) item).isOreDict()) { // Checks if this item should be registered into the oreDict and registers it
if (((BasicItem) item).isOreDict()) {
String oreDictName; String oreDictName;
String[] nameParts = item.getUnlocalizedName().replace("item.", "").split("_"); String[] nameParts = item.getUnlocalizedName().replace("item.", "").split("_");
@@ -94,7 +128,7 @@ public class Items {
oreDictName = nameParts[0]; oreDictName = nameParts[0];
} }
OreDictionary.registerOre(((BasicItem) item).getOreDictPrefix() + StringUtils.capitalize(oreDictName), item); OreDictionary.registerOre(((BasicItem) item).getOreDictPrefix() + StringUtils.capitalize(oreDictName), item); // Registers into oreDict
} }
} }
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
@@ -102,10 +136,6 @@ public class Items {
} }
} }
} }
OreDictionary.registerOre("nuggetIron", iron_nugget);
OreDictionary.registerOre("ingotIron", slagironIngot);
OreDictionary.registerOre("ingotGold", slaggoldIngot);
} }
} }

View File

@@ -46,6 +46,7 @@ public class MaterialTraits {
public static final AbstractTrait randomize = new TraitRandomize(); public static final AbstractTrait randomize = new TraitRandomize();
public static final AbstractTrait reviving = new TraitReviving(); public static final AbstractTrait reviving = new TraitReviving();
public static final AbstractTrait melting = new TraitMelting(); public static final AbstractTrait melting = new TraitMelting();
public static final AbstractTrait traditional = new TraitTraditional();
public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(arcane, HeadMaterialStats.TYPE).addTrait(blind, HandleMaterialStats.TYPE); public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(arcane, HeadMaterialStats.TYPE).addTrait(blind, HandleMaterialStats.TYPE);
@@ -62,15 +63,14 @@ public class MaterialTraits {
public static Material vibranium = new Material("vibranium", TextFormatting.GRAY).addTrait(resonance); public static Material vibranium = new Material("vibranium", TextFormatting.GRAY).addTrait(resonance);
public static Material ignitite = new Material("ignitite", TextFormatting.RED).addTrait(melting, HandleMaterialStats.TYPE).addTrait(flammable, HeadMaterialStats.TYPE); public static Material ignitite = new Material("ignitite", TextFormatting.RED).addTrait(melting, HandleMaterialStats.TYPE).addTrait(flammable, HeadMaterialStats.TYPE);
public static Material palladium = new Material("palladium", TextFormatting.DARK_GRAY).addTrait(dark); public static Material palladium = new Material("palladium", TextFormatting.DARK_GRAY).addTrait(dark);
public static Material eternite = new Material("eternite", TextFormatting.AQUA).addTrait(writable2); public static Material eternite = new Material("eternite", TextFormatting.AQUA).addTrait(writable2); //.addTrait(traditional)
public static Material mythril = new Material("mythril", TextFormatting.GRAY).addTrait(holy, HeadMaterialStats.TYPE).addTrait(hellish, HandleMaterialStats.TYPE); public static Material mythril = new Material("mythril", TextFormatting.GRAY).addTrait(holy, HeadMaterialStats.TYPE).addTrait(hellish, HandleMaterialStats.TYPE);
public static Material imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(cascade);
public static Material imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(cascade, HeadMaterialStats.TYPE).addTrait(fragile); public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_RED).addTrait(fracture);
public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_RED).addTrait(fracture, HeadMaterialStats.TYPE).addTrait(fragile);
public static Material noctunyx = new Material("noctunyx", TextFormatting.LIGHT_PURPLE).addTrait(hollow, HeadMaterialStats.TYPE).addTrait(reviving, HandleMaterialStats.TYPE); public static Material noctunyx = new Material("noctunyx", TextFormatting.LIGHT_PURPLE).addTrait(hollow, HeadMaterialStats.TYPE).addTrait(reviving, HandleMaterialStats.TYPE);
public static Material nitronite = new Material("nitronite", TextFormatting.YELLOW).addTrait(uncertain); public static Material nitronite = new Material("nitronite", TextFormatting.YELLOW).addTrait(uncertain);
public static Material cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN).addTrait(randomize); public static Material cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN).addTrait(randomize);
public static Material seismodium = new Material("seismodium", TextFormatting.WHITE).addTrait(heroic); public static Material seismodium = new Material("seismodium", TextFormatting.WHITE).addTrait(heroic).addTrait(fragile);
public static Material aegisalt = new Material("aegisalt", TextFormatting.AQUA).addTrait(analysing); public static Material aegisalt = new Material("aegisalt", TextFormatting.AQUA).addTrait(analysing);
public static Material ultranite = new Material("ultranite", TextFormatting.AQUA).addTrait(pulverizing); public static Material ultranite = new Material("ultranite", TextFormatting.AQUA).addTrait(pulverizing);
public static Material bysmuid = new Material("bysmuid", TextFormatting.AQUA).addTrait(organizing, HandleMaterialStats.TYPE).addTrait(melting, HeadMaterialStats.TYPE); public static Material bysmuid = new Material("bysmuid", TextFormatting.AQUA).addTrait(organizing, HandleMaterialStats.TYPE).addTrait(melting, HeadMaterialStats.TYPE);

View File

@@ -6,6 +6,7 @@ import com.sosnitzka.taiga.recipes.Crafting;
import com.sosnitzka.taiga.recipes.Smelting; import com.sosnitzka.taiga.recipes.Smelting;
import com.sosnitzka.taiga.util.FuelHandler; import com.sosnitzka.taiga.util.FuelHandler;
import com.sosnitzka.taiga.world.ZWorldGen; import com.sosnitzka.taiga.world.ZWorldGen;
import net.minecraft.item.Item;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.EventHandler;
@@ -14,13 +15,16 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.common.registry.GameRegistry;
import org.apache.commons.lang3.StringUtils;
import slimeknights.tconstruct.library.MaterialIntegration; import slimeknights.tconstruct.library.MaterialIntegration;
import slimeknights.tconstruct.library.TinkerRegistry; import slimeknights.tconstruct.library.TinkerRegistry;
import slimeknights.tconstruct.library.materials.ExtraMaterialStats; import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
import slimeknights.tconstruct.library.materials.HandleMaterialStats; import slimeknights.tconstruct.library.materials.HandleMaterialStats;
import slimeknights.tconstruct.library.materials.HeadMaterialStats; import slimeknights.tconstruct.library.materials.HeadMaterialStats;
import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.tools.TinkerMaterials; import slimeknights.tconstruct.tools.TinkerMaterials;
import java.lang.reflect.Field;
import java.util.List; import java.util.List;
import static com.sosnitzka.taiga.Fluids.*; import static com.sosnitzka.taiga.Fluids.*;
@@ -31,20 +35,98 @@ import static slimeknights.tconstruct.library.utils.HarvestLevels.*;
public class TAIGA { public class TAIGA {
public static final String MODID = "taiga"; public static final String MODID = "taiga";
public static final String VERSION = "@VERSION@"; public static final String VERSION = "${version}";
@SidedProxy(clientSide = "com.sosnitzka.taiga.proxy.ClientProxy", serverSide = "com.sosnitzka.taiga.proxy.ServerProxy") @SidedProxy(clientSide = "com.sosnitzka.taiga.proxy.ClientProxy", serverSide = "com.sosnitzka.taiga.proxy.ServerProxy")
public static ServerProxy proxy; public static ServerProxy proxy;
private List<MaterialIntegration> integrateList = Lists.newArrayList();
private List<MaterialIntegration> integrateList = Lists.newArrayList(); // List of materials needed to be integrated
@EventHandler @EventHandler
public void preInit(FMLPreInitializationEvent e) { public void preInit(FMLPreInitializationEvent e) {
Items.register(); Items.register(); // Registers items and its oreDict
Fluids.register(); Blocks.register(); // Registers blocks and its items form a long with its oreDict
Blocks.register(); Fluids.register(); // Registers all fluids and its buckets
Fluids.registerfromItem(); Fluids.registerfromItem(); // Registers some special smeltery recipes (not alloying)
Alloys.register(); Alloys.register(); // Registers alloying recipes
registerTinkerMaterials(); // Registers materials and associated fluids and stats into tconstruct
}
@EventHandler
public void init(FMLInitializationEvent e) {
proxy.registerModels(); // Registers models on the client side
GameRegistry.registerWorldGenerator(new ZWorldGen(), 100); // Generates ores
GameRegistry.registerFuelHandler(new FuelHandler()); // Registeres fuels' burn times
Smelting.register(); // Registers smelting recipes
Crafting.register(); // Registers crafting recipes
// Adds new harvest levels' names
harvestLevelNames.put(METEORITE, TinkerMaterials.bone.getTextColor() + "Meteorite");
harvestLevelNames.put(VIBRANIUM, TinkerMaterials.blueslime.getTextColor() + "Vibranium");
harvestLevelNames.put(ADAMANTITE, TinkerMaterials.ardite.getTextColor() + "Adamantite");
harvestLevelNames.put(TITANITE, TinkerMaterials.silver.getTextColor() + "Titanite");
for (MaterialIntegration m : integrateList) {
m.integrateRecipes();
}
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
}
/**
* @param oreSuffix Suffix in the oreDict, also the name. ex) the "Iron" in "ingotIron"
* @param material TConstruct material
* @param fluid material's fluid
* @param headDura Durability (head)
* @param headSpeed Mining speed (head)
* @param headAttack Attack speed (head)
* @param handleMod Durability multiplier (handle)
* @param handleDura Extra durability (handle)
* @param extra Extra durability (binding and more)
* @param headLevel Mining level (head)
* @param craft Can craft parts in part builder
* @param cast Can craft parts by casting with fluid (smeltery)
*/
private void registerTinkerMaterial(String oreSuffix, Material material, Fluid fluid, int headDura, float headSpeed, float headAttack, float handleMod, int handleDura, int extra, int headLevel, boolean craft, boolean cast) {
TinkerRegistry.addMaterialStats(material, new HeadMaterialStats(headDura, headSpeed, headAttack, headLevel));
TinkerRegistry.addMaterialStats(material, new HandleMaterialStats(handleMod, handleDura));
TinkerRegistry.addMaterialStats(material, new ExtraMaterialStats(extra));
Item item = null;
Field[] items = Items.class.getDeclaredFields();
for (Field i : items) {
if (i.getName().equals(StringUtils.uncapitalize(oreSuffix) + "Ingot")) {
Item r = null;
try {
r = (Item) i.get(i.getType());
} catch (Exception e) {
e.printStackTrace();
}
item = r;
}
}
material.setFluid(fluid).setCraftable(craft).setCastable(cast).addItem(item, 1, Material.VALUE_Ingot);
material.setRepresentativeItem(item);
proxy.setRenderInfo(material);
MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix);
integration.integrate();
integrateList.add(integration);
}
/**
* Registers materials and associated fluids and stats into tconstruct
*/
private void registerTinkerMaterials() {
// ARCANE ORES // ARCANE ORES
registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 223, 6.2f, 8.35f, 0.63f, 50, 50, OBSIDIAN, false, true); registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 223, 6.2f, 8.35f, 0.63f, 50, 50, OBSIDIAN, false, true);
registerTinkerMaterial("Rubium", rubium, rubiumFluid, 351, 5.15f, 7.00f, 1.05f, -100, 250, COBALT, false, true); registerTinkerMaterial("Rubium", rubium, rubiumFluid, 351, 5.15f, 7.00f, 1.05f, -100, 250, COBALT, false, true);
@@ -83,39 +165,4 @@ public class TAIGA {
registerTinkerMaterial("Cryptogen", cryptogen, cryptogenFluid, 538, 5.71f, 6.93f, 0.88f, 58, 117, METEORITE, false, true); registerTinkerMaterial("Cryptogen", cryptogen, cryptogenFluid, 538, 5.71f, 6.93f, 0.88f, 58, 117, METEORITE, false, true);
registerTinkerMaterial("Proxideum", proxideum, proxideumFluid, 597, 10.55f, 4.21f, 0.99f, -60, 200, METEORITE, false, true); registerTinkerMaterial("Proxideum", proxideum, proxideumFluid, 597, 10.55f, 4.21f, 0.99f, -60, 200, METEORITE, false, true);
} }
@EventHandler
public void init(FMLInitializationEvent e) {
proxy.registerStuff();
GameRegistry.registerWorldGenerator(new ZWorldGen(), 100);
GameRegistry.registerFuelHandler(new FuelHandler());
Smelting.register();
Crafting.register();
harvestLevelNames.put(METEORITE, TinkerMaterials.bone.getTextColor() + "Meteorite");
harvestLevelNames.put(VIBRANIUM, TinkerMaterials.blueslime.getTextColor() + "Vibranium");
harvestLevelNames.put(ADAMANTITE, TinkerMaterials.ardite.getTextColor() + "Adamantite");
harvestLevelNames.put(TITANITE, TinkerMaterials.silver.getTextColor() + "Titanite");
for (MaterialIntegration m : integrateList) {
m.integrateRecipes();
}
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
}
private void registerTinkerMaterial(String oreSuffix, slimeknights.tconstruct.library.materials.Material material, Fluid fluid, int headDura, float headSpeed, float headAttack, float handleMod, int handleDura, int extra, int headLevel, boolean craft, boolean cast) {
TinkerRegistry.addMaterialStats(material, new HeadMaterialStats(headDura, headSpeed, headAttack, headLevel));
TinkerRegistry.addMaterialStats(material, new HandleMaterialStats(handleMod, handleDura));
TinkerRegistry.addMaterialStats(material, new ExtraMaterialStats(extra));
material.setFluid(fluid).setCraftable(craft).setCastable(cast);
proxy.setRenderInfo(material);
MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix);
integration.integrate();
integrateList.add(integration);
}
} }

View File

@@ -12,8 +12,6 @@ import net.minecraft.world.World;
import java.util.Random; import java.util.Random;
import static com.sosnitzka.taiga.Items.lignite; import static com.sosnitzka.taiga.Items.lignite;
import static com.sosnitzka.taiga.Items.lignite2;
import static com.sosnitzka.taiga.Items.lignite3;
public class BlockLignite extends BasicBlock { public class BlockLignite extends BasicBlock {
@@ -37,12 +35,6 @@ public class BlockLignite extends BasicBlock {
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public Item getItemDropped(IBlockState state, Random rand, int fortune) {
int r = RANDOM.nextInt(3);
if (r == 0) {
return lignite; return lignite;
} else if (r == 1) {
return lignite2;
} else
return lignite3;
} }
} }

View File

@@ -26,15 +26,14 @@ public class BlockTiberium extends BasicBlock {
@Override @Override
public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune) { public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune) {
Random rand = world instanceof World ? ((World) world).rand : new Random(); Random rand = world instanceof World ? ((World) world).rand : new Random();
int r = RANDOM.nextInt(11); if (random.nextBoolean()) {
if (r > 7) { return random.nextInt(10) + fortune;
return MathHelper.getRandomIntegerInRange(rand, 0, 10) + fortune;
} else return 0; } else return 0;
} }
@Override @Override
public int quantityDropped(IBlockState state, int fortune, Random random) { public int quantityDropped(IBlockState state, int fortune, Random random) {
return MathHelper.getRandomIntegerInRange(random, 1, MathHelper.getRandomIntegerInRange(random, 1, 5 + fortune)); return (random.nextInt(3 + fortune) + 1);
} }
@Override @Override

View File

@@ -2,6 +2,9 @@ package com.sosnitzka.taiga.generic;
import net.minecraft.item.Item; import net.minecraft.item.Item;
/**
* A "wrapper" for Item that makes construction and manipulation easier
*/
public class BasicItem extends Item { public class BasicItem extends Item {
private String oreDictPrefix; private String oreDictPrefix;

View File

@@ -4,12 +4,17 @@ import net.minecraft.util.ResourceLocation;
import slimeknights.tconstruct.library.Util; import slimeknights.tconstruct.library.Util;
import slimeknights.tconstruct.library.fluid.FluidMolten; import slimeknights.tconstruct.library.fluid.FluidMolten;
/**
* A "wrapper" for FluidMolten that makes construction and manipulation easier
*/
public class BasicTinkerFluid extends FluidMolten { public class BasicTinkerFluid extends FluidMolten {
private boolean toolForge; private boolean toolForge;
public BasicTinkerFluid(String fluidName, int color, boolean toolForge, int temp, int lumen, int visk) { public BasicTinkerFluid(String fluidName, int color, boolean toolForge, int temp, int lumen, int visk) {
// Constructs the FluidMolten with textures and color
super(fluidName, color, new ResourceLocation("tconstruct:blocks/fluids/molten_metal"), new ResourceLocation("tconstruct:blocks/fluids/molten_metal_flow")); super(fluidName, color, new ResourceLocation("tconstruct:blocks/fluids/molten_metal"), new ResourceLocation("tconstruct:blocks/fluids/molten_metal_flow"));
//Settings
this.setUnlocalizedName(Util.prefix(fluidName)); this.setUnlocalizedName(Util.prefix(fluidName));
this.setTemperature(temp); this.setTemperature(temp);
this.setLuminosity(lumen); this.setLuminosity(lumen);

View File

@@ -1,10 +0,0 @@
package com.sosnitzka.taiga.items;
import com.sosnitzka.taiga.generic.BasicItem;
public class ItemIronNugget extends BasicItem {
public ItemIronNugget() {
super("iron_nugget");
}
}

View File

@@ -1,11 +0,0 @@
package com.sosnitzka.taiga.items;
import com.sosnitzka.taiga.generic.BasicItem;
public class ItemLignite extends BasicItem {
public ItemLignite(String name, String registry) {
super(name, null, registry);
}
}

View File

@@ -1,10 +0,0 @@
package com.sosnitzka.taiga.items;
import com.sosnitzka.taiga.generic.BasicItem;
public class ItemSlaggoldIngot extends BasicItem {
public ItemSlaggoldIngot() {
super("slaggold_ingot");
}
}

View File

@@ -1,10 +0,0 @@
package com.sosnitzka.taiga.items;
import com.sosnitzka.taiga.generic.BasicItem;
public class ItemSlagironIngot extends BasicItem {
public ItemSlagironIngot() {
super("slagiron_ingot");
}
}

View File

@@ -35,14 +35,13 @@ public class ClientProxy extends ServerProxy {
} }
@Override @Override
public void registerStuff() { public void registerModels() {
Field[] itemFields = Items.class.getDeclaredFields(); Field[] itemFields = Items.class.getDeclaredFields();
for (Field field : itemFields) { for (Field field : itemFields) {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Class<?> targetType = field.getType(); Class<?> targetType = field.getType();
try { try {
Item item = (Item) field.get(targetType); Item item = (Item) field.get(targetType);
registerItemModel(item); registerItemModel(item);
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
@@ -56,7 +55,6 @@ public class ClientProxy extends ServerProxy {
Class<?> targetType = field.getType(); Class<?> targetType = field.getType();
try { try {
Block block = (Block) field.get(targetType); Block block = (Block) field.get(targetType);
registerBlockModel(block); registerBlockModel(block);
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
@@ -66,26 +64,29 @@ public class ClientProxy extends ServerProxy {
} }
public void setRenderInfo(final Material material) { public void setRenderInfo(final Material material) {
/* if (material != bismuth) {
material.setRenderInfo(new MaterialRenderInfo.Metal(fluid.getColor(), 0.4f, 0.2f, 0f));
} else bismuth.setRenderInfo(new MaterialRenderInfo.BlockTexture("taiga:blocks/bismuth_block")); */
if (material == adamantite) renderTo(material, 0xd55cdf, 0.5f, 0.8f, 0.2f); if (material.equals(adamantite)) specialRender(material, 0xd55cdf, 0.5f, 0.6f, 0.2f);
else if (material == solarium) renderTo(material, 0xffff00, 0.6f, 1.8f, 0.0f); else if (material.equals(solarium)) specialRender(material, 0xFFDD11, 0.7f, 0.3f, 0.1f);
else if (material == proxideum) renderTo(material, 0x2d8f8b, 0.4f, 0.3f, 0.1f); else if (material.equals(proxideum)) specialRender(material, 0x2d8f8b, 0.4f, 0.3f, 0.1f);
else if (material == tiberium) renderTo(material, 0x33ff33, 0.5f, 0.2f, 0.1f); else if (material.equals(meteorite)) specialRender(material, 0xaaaaaa, 0.6f, 0.8f, 0.0f);
else if (material == bismuth) renderTo(material, 0xffffff, 0.4f, 0.2f, 0.0f); else if (material.equals(tiberium)) specialRender(material, 0x33ff33, 0.5f, 0.2f, 0.1f);
else if (material == dyonite) renderTo(material, 0xffe240, 0.6f, 0.8f, 0.2f); else if (material.equals(bismuth)) specialRender(material, 0xffffff, 0.3f, 0.0f, 0.0f);
else if (material.equals(bysmuid)) specialRender(material, 0xccccee, 0.6f, 0.2f, 0.0f);
else if (material.equals(imperomite)) specialRender(material, 0x8decaf, 0.8f, 0.5f, -0.0f);
else if (material.equals(noctunyx)) specialRender(material, 0xce70e8, 0.5f, 0.2f, 0.3f);
else if (material.equals(nucleum)) specialRender(material, 0xd9f446, 1.0f, 0.4f, 0.3f);
else if (material.equals(dyonite)) specialRender(material, 0xffe240, 0.6f, 1.0f, 0.2f);
else if (material.equals(arcanite)) specialRender(material, 0x5e5499, 0.6f, 0.8f, 0.2f);
else { else {
material.setRenderInfo(new MaterialRenderInfo.BlockTexture("taiga:blocks/" + material.getFluid().getName() + "_block")); material.setRenderInfo(new MaterialRenderInfo.BlockTexture("taiga:blocks/" + material.getIdentifier() + "_block"));
} }
} }
private void renderTo(Material material, final int f, final float shine, final float brightness, final float hueshift) { private void specialRender(final Material material, final int f, final float shine, final float brightness, final float hueshift) {
material.setRenderInfo(new MaterialRenderInfo.AbstractMaterialRenderInfo() { material.setRenderInfo(new MaterialRenderInfo.AbstractMaterialRenderInfo() {
@Override @Override
public TextureAtlasSprite getTexture(TextureAtlasSprite baseTexture, String location) { public TextureAtlasSprite getTexture(TextureAtlasSprite baseTexture, String location) {
return new MetalTextureTexture("taiga:blocks/materials/adamantite", baseTexture, location, f, shine, brightness, hueshift); return new MetalTextureTexture("taiga:blocks/materials/" + material.getIdentifier(), baseTexture, location, f, shine, brightness, hueshift);
} }
}); });
} }

View File

@@ -5,7 +5,7 @@ import slimeknights.tconstruct.library.materials.Material;
public class ServerProxy { public class ServerProxy {
public void registerStuff() { public void registerModels() {
} }

View File

@@ -1,9 +1,7 @@
package com.sosnitzka.taiga.recipes; package com.sosnitzka.taiga.recipes;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.common.registry.GameRegistry;
@@ -13,8 +11,6 @@ import static slimeknights.tconstruct.shared.TinkerCommons.matNecroticBone;
public class Crafting { public class Crafting {
public static void register() { public static void register() {
GameRegistry.addShapelessRecipe(new ItemStack(fuel_brick), Items.COAL, Items.COAL, Items.COAL, lignite, lignite, lignite); GameRegistry.addShapelessRecipe(new ItemStack(fuel_brick), Items.COAL, Items.COAL, Items.COAL, lignite, lignite, lignite);
GameRegistry.addShapedRecipe(new ItemStack((tiberiumShardStable), 3), "STS", "TST", "STS", 'T', new ItemStack(tiberiumShardInstable), 'S', new ItemStack(Item.getItemFromBlock(Blocks.SAND)));
GameRegistry.addShapedRecipe(new ItemStack((tiberiumShardStable), 2), "GTG", "TGT", "GTG", 'T', new ItemStack(tiberiumShardInstable), 'G', new ItemStack(Item.getItemFromBlock(Blocks.GRAVEL)));
GameRegistry.addShapelessRecipe(new ItemStack(luminar_dust), Items.REDSTONE, Items.GLOWSTONE_DUST); GameRegistry.addShapelessRecipe(new ItemStack(luminar_dust), Items.REDSTONE, Items.GLOWSTONE_DUST);
GameRegistry.addShapelessRecipe(new ItemStack(glimmerstone_dust), luminar_dust, Items.BLAZE_POWDER); GameRegistry.addShapelessRecipe(new ItemStack(glimmerstone_dust), luminar_dust, Items.BLAZE_POWDER);
@@ -32,6 +28,5 @@ public class Crafting {
GameRegistry.addShapelessRecipe(new ItemStack(spectrum_dust), matNecroticBone, glimmerstone_dust); GameRegistry.addShapelessRecipe(new ItemStack(spectrum_dust), matNecroticBone, glimmerstone_dust);
} }
} }

View File

@@ -4,7 +4,6 @@ package com.sosnitzka.taiga.recipes;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.common.registry.GameRegistry;
import org.apache.commons.lang3.RandomUtils;
import static com.sosnitzka.taiga.Blocks.*; import static com.sosnitzka.taiga.Blocks.*;
import static com.sosnitzka.taiga.Items.*; import static com.sosnitzka.taiga.Items.*;
@@ -12,11 +11,14 @@ import static com.sosnitzka.taiga.Items.*;
public class Smelting { public class Smelting {
public static void register() { public static void register() {
GameRegistry.addSmelting(slagironOre, new ItemStack(slagironIngot), 1.0F); GameRegistry.addSmelting(slagironOre, new ItemStack(slagironIngot), 1.0F);
GameRegistry.addSmelting(new ItemStack(slagironIngot), new ItemStack(iron_nugget), 0); GameRegistry.addSmelting(slaggoldOre, new ItemStack(slaggoldIngot), 1.0F);
GameRegistry.addSmelting(new ItemStack(slaggoldIngot), new ItemStack(Items.GOLD_NUGGET), 0); GameRegistry.addSmelting(slagironIngot, new ItemStack(iron_nugget), 0);
GameRegistry.addSmelting(new ItemStack(tiberiumShardInstable), new ItemStack(tiberiumShardStable), 0.2F); GameRegistry.addSmelting(slaggoldIngot, new ItemStack(Items.GOLD_NUGGET), 0);
GameRegistry.addSmelting(tiberiumOre, new ItemStack(tiberiumShardInstable, 6), (2F));
GameRegistry.addSmelting(tiberiumShardInstable, new ItemStack(tiberiumIngot), (.1F));
GameRegistry.addSmelting(titaniteOre, new ItemStack(titaniteIngot), RandomUtils.nextFloat(0F, 2F)); // Removed until TiC put its own ores back in.
/* GameRegistry.addSmelting(titaniteOre, new ItemStack(titaniteIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(arcaniteOre, new ItemStack(arcaniteIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(arcaniteOre, new ItemStack(arcaniteIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(adamantiteOre, new ItemStack(adamantiteIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(adamantiteOre, new ItemStack(adamantiteIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(violiumOre, new ItemStack(violiumIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(violiumOre, new ItemStack(violiumIngot), RandomUtils.nextFloat(0F, 2F));
@@ -29,9 +31,9 @@ public class Smelting {
GameRegistry.addSmelting(mythrilOre, new ItemStack(mythrilIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(mythrilOre, new ItemStack(mythrilIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(palladiumOre, new ItemStack(palladiumIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(palladiumOre, new ItemStack(palladiumIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(prometheumOre, new ItemStack(prometheumIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(prometheumOre, new ItemStack(prometheumIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(tiberiumOre, new ItemStack(tiberiumShardStable, 2), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(vibraniumOre, new ItemStack(vibraniumIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(vibraniumOre, new ItemStack(vibraniumIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(rubiumOre, new ItemStack(rubiumIngot), RandomUtils.nextFloat(0F, 2F)); GameRegistry.addSmelting(rubiumOre, new ItemStack(rubiumIngot), RandomUtils.nextFloat(0F, 2F));
*/
} }
} }

View File

@@ -34,7 +34,7 @@ public class TraitAnalysing extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent event) { public void onBlockBreak(BlockEvent.BreakEvent event) {
EntityPlayer player = event.getPlayer(); EntityPlayer player = event.getPlayer();
if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { if (!event.getWorld().isRemote && player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) {
event.setExpToDrop(this.getUpdateXP(event.getExpToDrop())); event.setExpToDrop(this.getUpdateXP(event.getExpToDrop()));
} }

View File

@@ -20,8 +20,10 @@ public class TraitBlind extends AbstractTrait {
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
int time = (int) world.getWorldTime(); int time = (int) world.getWorldTime();
if (random.nextFloat() <= 0.05 || (random.nextFloat() <= 0.1 && isNight(time))) { if (random.nextFloat() <= 0.05 || (random.nextFloat() <= 0.1 && isNight(time))) {
player.addPotionEffect(new PotionEffect(MobEffects.BLINDNESS, random.nextInt(400) + 200)); if (random.nextBoolean())
player.addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, random.nextInt(400) + 200)); player.addPotionEffect(new PotionEffect(MobEffects.BLINDNESS, random.nextInt(200) + 100));
else
player.addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, random.nextInt(200) + 100));
} }
} }
@@ -29,7 +31,9 @@ public class TraitBlind extends AbstractTrait {
public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) { public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) {
int time = (int) player.getEntityWorld().getWorldTime(); int time = (int) player.getEntityWorld().getWorldTime();
if (random.nextFloat() <= 0.05 || (random.nextFloat() <= 0.1 && isNight(time))) { if (random.nextFloat() <= 0.05 || (random.nextFloat() <= 0.1 && isNight(time))) {
if (random.nextBoolean())
player.addPotionEffect(new PotionEffect(MobEffects.BLINDNESS, random.nextInt(400) + 200)); player.addPotionEffect(new PotionEffect(MobEffects.BLINDNESS, random.nextInt(400) + 200));
else
player.addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, random.nextInt(400) + 200)); player.addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, random.nextInt(400) + 200));
} }
} }

View File

@@ -18,13 +18,12 @@ public class TraitCascade extends AbstractTrait {
@Override @Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
float f = random.nextFloat(); float f = random.nextFloat();
float b = 0.99F * calcBonus(tool); if (!world.isRemote && tool.canHarvestBlock(state) && f <= 0.1) {
if (!world.isRemote && tool.canHarvestBlock(state) && f <= b) {
double x, y, z, sx, sy, sz; double x, y, z, sx, sy, sz;
sx = x = pos.getX(); sx = x = pos.getX();
sy = y = pos.getY(); sy = y = pos.getY();
sz = z = pos.getZ(); sz = z = pos.getZ();
for (int i = random.nextInt(ToolHelper.getCurrentDurability(tool)); i > 0; i--) { for (int i = random.nextInt((int) (ToolHelper.getCurrentDurability(tool) * 1.5f)); i > 0; i--) { // TODO: limit to 100
int r = random.nextInt(3); int r = random.nextInt(3);
int d = random.nextBoolean() ? 1 : -1; int d = random.nextBoolean() ? 1 : -1;
if (r == 0) x += d; if (r == 0) x += d;
@@ -42,16 +41,7 @@ public class TraitCascade extends AbstractTrait {
y = sy; y = sy;
z = sz; z = sz;
} }
} }
} }
}
private float calcBonus(ItemStack tool) {
int durability = ToolHelper.getCurrentDurability(tool);
int maxDurability = ToolHelper.getMaxDurability(tool);
return (0.4f) / (maxDurability - 50) * (durability) + 0.55f;
} }
} }

View File

@@ -23,6 +23,8 @@ import slimeknights.tconstruct.library.utils.TinkerUtil;
public class TraitCurvature extends AbstractTrait { public class TraitCurvature extends AbstractTrait {
private static BlockPos pos = new BlockPos(0, 0, 0);
public TraitCurvature() { public TraitCurvature() {
super("curvature", TextFormatting.BLACK); super("curvature", TextFormatting.BLACK);
MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(this);
@@ -30,39 +32,39 @@ public class TraitCurvature extends AbstractTrait {
@Override @Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
if (random.nextFloat() <= 0.05 && world.provider.getDimension() != -1) { if (player.worldObj.isRemote) {
teleport(player, world); return;
}
if (random.nextFloat() <= 0.01 && world.provider.getDimension() != -1) {
teleport(player, world, 5);
player.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F); player.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
} }
} }
@Override @Override
public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) { public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) {
World w = player.getEntityWorld(); World w = player.getEntityWorld();
if (random.nextFloat() <= 0.1 && w.provider.getDimension() != -1) { if (random.nextFloat() <= 0.3) {
if (random.nextBoolean()) {
teleport(player, w);
target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F); target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
} else { changepos(player, target);
target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
teleport(target, w);
}
} }
} }
@SubscribeEvent @SubscribeEvent
public void onMobDrops(LivingDropsEvent event) { public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld(); World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) { if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
ItemStack i = new ItemStack(Items.ENDER_PEARL, random.nextInt(3)); ItemStack i = new ItemStack(Items.ENDER_PEARL, random.nextInt(3));
event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i)); event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i));
} }
} }
} }
private void teleport(EntityLivingBase e, World w) { private void teleport(EntityLivingBase e, World w, int max) {
int x = e.getPosition().getX() + random.nextInt(250) - 125; int x = e.getPosition().getX() + random.nextInt(250) - 125;
int y = e.getPosition().getY(); int y = e.getPosition().getY();
int z = e.getPosition().getZ() + random.nextInt(250) - 125; int z = e.getPosition().getZ() + random.nextInt(250) - 125;
@@ -76,4 +78,11 @@ public class TraitCurvature extends AbstractTrait {
e.setPosition(x, y, z); e.setPosition(x, y, z);
} }
private void changepos(EntityLivingBase player, EntityLivingBase target) {
BlockPos pp = new BlockPos(player.getPosition());
BlockPos tp = new BlockPos(target.getPosition());
player.setPosition(tp.getX(), tp.getY(), tp.getZ());
target.setPosition(pp.getX(), pp.getY(), pp.getZ());
}
} }

View File

@@ -24,7 +24,7 @@ public class TraitDiffuse extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onXpDrop(LivingExperienceDropEvent event) { public void onXpDrop(LivingExperienceDropEvent event) {
EntityPlayer player = event.getAttackingPlayer(); EntityPlayer player = event.getAttackingPlayer();
if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { if (!event.getEntity().getEntityWorld().isRemote && player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) {
event.setDroppedExperience(0); event.setDroppedExperience(0);
} }
@@ -33,7 +33,7 @@ public class TraitDiffuse extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent event) { public void onBlockBreak(BlockEvent.BreakEvent event) {
EntityPlayer player = event.getPlayer(); EntityPlayer player = event.getPlayer();
if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { if (!player.getEntityWorld().isRemote && player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) {
event.setExpToDrop(this.getUpdateXP(event.getExpToDrop())); event.setExpToDrop(this.getUpdateXP(event.getExpToDrop()));
} }
@@ -42,9 +42,9 @@ public class TraitDiffuse extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onMobDrops(LivingDropsEvent event) { public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld(); World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) { if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
event.getDrops().clear(); event.getDrops().clear();
} }
} }

View File

@@ -20,6 +20,7 @@ public class TraitDissolving extends AbstractTrait {
// high chance to remove XP, low chance to double,triple or quatruple dropped Experience // high chance to remove XP, low chance to double,triple or quatruple dropped Experience
@SubscribeEvent @SubscribeEvent
public void onXpDrop(LivingExperienceDropEvent event) { public void onXpDrop(LivingExperienceDropEvent event) {
if (!event.getEntity().getEntityWorld().isRemote) {
EntityPlayer player = event.getAttackingPlayer(); EntityPlayer player = event.getAttackingPlayer();
float r = random.nextFloat(); float r = random.nextFloat();
if (r <= 0.75 && player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { if (r <= 0.75 && player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) {
@@ -29,4 +30,5 @@ public class TraitDissolving extends AbstractTrait {
event.setDroppedExperience(event.getDroppedExperience() * (random.nextInt(3) + 2)); event.setDroppedExperience(event.getDroppedExperience() * (random.nextInt(3) + 2));
} }
} }
}
} }

View File

@@ -33,7 +33,7 @@ public class TraitFragile extends AbstractTrait {
sx = x = pos.getX(); sx = x = pos.getX();
sy = y = pos.getY(); sy = y = pos.getY();
sz = z = pos.getZ(); sz = z = pos.getZ();
for (int i = random.nextInt(50) + 50; i > 0; i--) { for (int i = random.nextInt(10) + 9; i > 0; i--) {
int r = random.nextInt(3); int r = random.nextInt(3);
int d = random.nextBoolean() ? 1 : -1; int d = random.nextBoolean() ? 1 : -1;
if (r == 0) x += d; if (r == 0) x += d;

View File

@@ -30,9 +30,9 @@ public class TraitGarishly extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onMobDrops(LivingDropsEvent event) { public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld(); World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) { if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
int r = random.nextInt(5); int r = random.nextInt(5);
ItemStack i = null; ItemStack i = null;
@@ -67,7 +67,7 @@ public class TraitGarishly extends AbstractTrait {
float r = random.nextFloat(); float r = random.nextFloat();
if (r > 0.5f) event.getDrops().clear(); if (r > 0.5f) event.getDrops().clear();
else if (r < 0.1 && event.getWorld().getBlockState(event.getPos()).getMaterial() == Material.ROCK) { else if (r < 0.1 && event.getWorld().getBlockState(event.getPos()).getMaterial() == Material.ROCK) {
ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), random.nextInt(5)); ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), random.nextInt(3));
event.getDrops().add(0, stack); event.getDrops().add(0, stack);
ToolHelper.damageTool(tool, random.nextInt(6) + 1, event.getHarvester()); ToolHelper.damageTool(tool, random.nextInt(6) + 1, event.getHarvester());
} }

View File

@@ -38,9 +38,9 @@ public class TraitHollow extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onMobDrops(LivingDropsEvent event) { public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld(); World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) { if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && random.nextFloat() <= 0.9 && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (random.nextFloat() <= 0.9 && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
event.getDrops().clear(); event.getDrops().clear();
} }
} }

View File

@@ -56,14 +56,15 @@ public class TraitInstable extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onMobDrops(LivingDropsEvent event) { public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld(); World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) { if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
ItemStack i = new ItemStack(Items.GUNPOWDER, random.nextInt(4)); ItemStack i = new ItemStack(Items.GUNPOWDER, random.nextInt(4));
event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i)); event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i));
} }
} }
} }
private void explode(World w, Entity e, double x, double y, double z) { private void explode(World w, Entity e, double x, double y, double z) {
w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 35, random.nextBoolean(), true); w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 35, random.nextBoolean(), true);
} }

View File

@@ -13,12 +13,14 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper; import slimeknights.tconstruct.library.utils.ToolHelper;
public class TraitNatureBound extends AbstractTrait { public class TraitNatureBound extends AbstractTrait {
public static DamageSource splinter = new DamageSource("splinter").setDamageBypassesArmor(); public static DamageSource splinter = new DamageSource("splinter").setDamageBypassesArmor();
private static int chance = 10; private static int chance = 20;
public TraitNatureBound() { public TraitNatureBound() {
super("naturebound", TextFormatting.GREEN); super("naturebound", TextFormatting.GREEN);
@@ -34,8 +36,8 @@ public class TraitNatureBound extends AbstractTrait {
@Override @Override
public void onUpdate(ItemStack tool, World world, Entity entity, int itemSlot, boolean isSelected) { public void onUpdate(ItemStack tool, World world, Entity entity, int itemSlot, boolean isSelected) {
// *20 because 20 ticks in a second // *20 because 20 ticks in a second
if (!world.isRemote && entity instanceof EntityLivingBase && random.nextInt(20 * chance) == 0) { if (!world.isRemote && entity instanceof EntityLivingBase && random.nextInt(30 * chance) == 0) {
ToolHelper.healTool(tool, 1, (EntityLivingBase) entity); ToolHelper.healTool(tool, random.nextInt(9) + 1, (EntityLivingBase) entity);
} }
} }
@@ -43,7 +45,7 @@ public class TraitNatureBound extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent e) { public void onBlockBreak(BlockEvent.BreakEvent e) {
Block b = e.getWorld().getBlockState(e.getPos()).getBlock(); Block b = e.getWorld().getBlockState(e.getPos()).getBlock();
if (random.nextFloat() <= .07 && (b == Blocks.DIRT || b == Blocks.GRASS || b == Blocks.LOG || b == Blocks.LOG2 || b == Blocks.STONE)) { if (!e.getWorld().isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(e.getPlayer().getHeldItemMainhand()), identifier) && random.nextFloat() <= .07 && (b == Blocks.DIRT || b == Blocks.GRASS || b == Blocks.LOG || b == Blocks.LOG2 || b == Blocks.STONE)) {
e.setCanceled(true); e.setCanceled(true);
e.getPlayer().playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F); e.getPlayer().playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
} }

View File

@@ -13,7 +13,7 @@ import slimeknights.tconstruct.library.utils.ToolHelper;
public class TraitOrganizing extends AbstractTrait { public class TraitOrganizing extends AbstractTrait {
private static final float chance = 0.1f; private static final float chance = 0.02f;
public TraitOrganizing() { public TraitOrganizing() {
super("organizing", TextFormatting.GREEN); super("organizing", TextFormatting.GREEN);

View File

@@ -21,12 +21,10 @@ public class TraitSofty extends AbstractTrait {
@Override @Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
if (!world.isRemote && state.getMaterial() != Material.ROCK && state.getMaterial() != Material.GROUND && random.nextFloat() < chance) { if (!world.isRemote && state.getMaterial().equals(Material.GROUND) && random.nextFloat() < chance) {
ToolHelper.healTool(tool, random.nextInt(10), player); ToolHelper.healTool(tool, random.nextInt(10), player);
} }
} }
} }

View File

@@ -0,0 +1,16 @@
package com.sosnitzka.taiga.traits;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import slimeknights.tconstruct.library.traits.AbstractTrait;
public class TraitTraditional extends AbstractTrait {
public TraitTraditional() {
super("traditional", TextFormatting.GREEN);
MinecraftForge.EVENT_BUS.register(this);
}
}

View File

@@ -20,7 +20,8 @@ import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper; import slimeknights.tconstruct.library.utils.ToolHelper;
import static com.sosnitzka.taiga.Items.glimmerstone_dust; import static com.sosnitzka.taiga.Items.glimmerstone_dust;
import static com.sosnitzka.taiga.Items.tiberiumShardStable; import static com.sosnitzka.taiga.Items.tiberiumShardInstable;
import static com.sosnitzka.taiga.Items.tiberium_nugget;
public class TraitUncertain extends AbstractTrait { public class TraitUncertain extends AbstractTrait {
@@ -46,9 +47,9 @@ public class TraitUncertain extends AbstractTrait {
@SubscribeEvent @SubscribeEvent
public void onMobDrops(LivingDropsEvent event) { public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld(); World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) { if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
ItemStack i = new ItemStack(Items.COAL, random.nextInt(4)); ItemStack i = new ItemStack(Items.COAL, random.nextInt(4));
if (random.nextBoolean()) { if (random.nextBoolean()) {
int r = random.nextInt(4); int r = random.nextInt(4);
@@ -57,10 +58,10 @@ public class TraitUncertain extends AbstractTrait {
i = new ItemStack(Items.GUNPOWDER, random.nextInt(4)); i = new ItemStack(Items.GUNPOWDER, random.nextInt(4));
break; break;
case 1: case 1:
i = new ItemStack(tiberiumShardStable, random.nextInt(4)); i = new ItemStack(tiberiumShardInstable, random.nextInt(4));
break; break;
case 2: case 2:
i = new ItemStack(tiberiumShardStable, random.nextInt(4)); i = new ItemStack(tiberium_nugget, random.nextInt(12));
break; break;
case 3: case 3:
i = new ItemStack(glimmerstone_dust, random.nextInt(4)); i = new ItemStack(glimmerstone_dust, random.nextInt(4));

View File

@@ -11,19 +11,13 @@ public class FuelHandler implements IFuelHandler {
@Override @Override
public int getBurnTime(ItemStack fuel) { public int getBurnTime(ItemStack fuel) {
if (fuel.getItem().equals(lignite)) { if (fuel.getItem().equals(lignite)) {
return 200 * 8;
}
if (fuel.getItem().equals(lignite2)) {
return 200 * 6; return 200 * 6;
} }
if (fuel.getItem().equals(lignite3)) {
return 200 * 10;
}
if (fuel.getItem().equals(fuel_brick)) { if (fuel.getItem().equals(fuel_brick)) {
return 200 * 16; return 200 * 50;
} }
if (fuel.getItem().equals(glimmercoal)) { if (fuel.getItem().equals(glimmercoal)) {
return (random.nextInt(32) + 32) * 200; return (random.nextInt(20) + 40) * 200;
} }
return 0; return 0;
} }

View File

@@ -16,12 +16,20 @@ public class Utils {
public static String PREFIX_ORE = "ore"; public static String PREFIX_ORE = "ore";
public static String PREFIX_BLOCK = "block"; public static String PREFIX_BLOCK = "block";
/**
* Registers the block and its corresponding item (block as item in inventory)
*
* @param block the associated block
*/
public static void registerBlockWithItem(Block block) { public static void registerBlockWithItem(Block block) {
GameRegistry.register(block); GameRegistry.register(block);
GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName())); GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
} }
/**
* Registers the fluid and its bucket item
* @param fluid the fluid
*/
public static void registerFluid(Fluid fluid) { public static void registerFluid(Fluid fluid) {
FluidRegistry.registerFluid(fluid); FluidRegistry.registerFluid(fluid);
FluidRegistry.addBucketForFluid(fluid); FluidRegistry.addBucketForFluid(fluid);

View File

@@ -14,36 +14,37 @@ import static com.sosnitzka.taiga.Blocks.*;
public class ZWorldGen implements IWorldGenerator { public class ZWorldGen implements IWorldGenerator {
private void nether(Random random, int x, int z, World world) { private void nether(Random random, int x, int z, World world) {
Generator.generateNetherOre(adamantiteOre.getDefaultState(), random, x, z, world, 25, 1, 32, 2, 5);
Generator.generateNetherOre(tiberiumOre.getDefaultState(), random, x, z, world, 60, 1, 128, 2, 7); Generator.generateNetherOre(titaniteOre.getDefaultState(), random, x, z, world, 30, 1, 64, 2, 12);
Generator.generateNetherOre(palladiumOre.getDefaultState(), random, x, z, world, 21, 32, 64, 2, 5); Generator.generateNetherOre(tiberiumOre.getDefaultState(), random, x, z, world, 30, 1, 128, 7, 15);
Generator.generateOre(prometheumOre.getDefaultState(), random, x, z, world, 21, 48, 64, 2, 4); Generator.generateNetherOre(palladiumOre.getDefaultState(), random, x, z, world, 30, 32, 64, 2, 7);
Generator.generateNetherOre(prometheumOre.getDefaultState(), random, x, z, world, 30, 64, 128, 2, 6);
} }
private void world(Random random, int x, int z, World world) { private void world(Random random, int x, int z, World world) {
Generator.generateOre(slagironOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 16); Generator.generateOre(slagironOre.getDefaultState(), random, x, z, world, 45, 8, 96, 5, 12);
Generator.generateOre(slaggoldOre.getDefaultState(), random, x, z, world, 20, 8, 48, 5, 9); Generator.generateOre(slaggoldOre.getDefaultState(), random, x, z, world, 30, 8, 48, 4, 8);
Generator.generateOre(ligniteOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 15); Generator.generateOre(ligniteOre.getDefaultState(), random, x, z, world, 30, 8, 96, 5, 12);
Generator.generateOre(Blocks.IRON_ORE.getDefaultState(), random, x, z, world, 40, 8, 96, 2, 14); Generator.generateOre(Blocks.IRON_ORE.getDefaultState(), random, x, z, world, 40, 8, 96, 2, 8);
Generator.generateOre(basalt.getDefaultState(), Blocks.LAVA.getDefaultState(), random, x, z, world, 100, 8, 24, 2, 5); Generator.generateOre(basalt.getDefaultState(), Blocks.LAVA.getDefaultState(), random, x, z, world, 100, 8, 24, 2, 5);
Generator.generateOre(rottenGround.getDefaultState(), Blocks.DIRT.getDefaultState(), random, x, z, world, 25, 50, 70, 2, 15); Generator.generateOre(rottenGround.getDefaultState(), Blocks.DIRT.getDefaultState(), random, x, z, world, 25, 50, 70, 2, 15);
Generator.generateOre(vibraniumOre.getDefaultState(), random, x, z, world, 18, 48, 64, 2, 4); Generator.generateOre(vibraniumOre.getDefaultState(), random, x, z, world, 30, 48, 64, 2, 8);
Generator.generateOre(karmesineOre.getDefaultState(), random, x, z, world, 30, 16, 48, 2, 5); Generator.generateOre(karmesineOre.getDefaultState(), random, x, z, world, 35, 16, 48, 2, 7);
Generator.generateOre(bismuthOre.getDefaultState(), random, x, z, world, 50, 50, 130, 2, 4); Generator.generateOre(bismuthOre.getDefaultState(), random, x, z, world, 60, 50, 130, 2, 4);
Generator.generateOre(mythrilOre.getDefaultState(), random, x, z, world, 18, 16, 32, 2, 4); Generator.generateOre(mythrilOre.getDefaultState(), random, x, z, world, 33, 16, 32, 2, 8);
Generator.generateOre(meteoriteOre.getDefaultState(), random, x, z, world, 12, 0, 32, 2, 10); Generator.generateOre(meteoriteOre.getDefaultState(), random, x, z, world, 10, 0, 32, 2, 25);
Generator.generateOre(mindoriteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.DIORITE, random, x, z, world, 200, 16, 96, 2, 4); Generator.generateOre(mindoriteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.DIORITE, random, x, z, world, 150, 16, 96, 2, 8);
Generator.generateOre(arcaniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.GRANITE, random, x, z, world, 200, 16, 96, 2, 4); Generator.generateOre(arcaniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.GRANITE, random, x, z, world, 150, 16, 96, 2, 8);
Generator.generateOre(eterniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.ANDESITE, random, x, z, world, 200, 16, 96, 2, 4); Generator.generateOre(eterniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.ANDESITE, random, x, z, world, 150, 16, 96, 2, 8);
} }
private void end(Random random, int x, int z, World world) { private void end(Random random, int x, int z, World world) {
Generator.generateEndOre(adamantiteOre.getDefaultState(), random, x, z, world, 15, 10, 35, 2, 8);
Generator.generateEndOre(rubiumOre.getDefaultState(), random, x, z, world, 15, 10, 65, 2, 8);
Generator.generateEndOre(ignititeOre.getDefaultState(), random, x, z, world, 15, 10, 45, 2, 8);
Generator.generateEndOre(violiumOre.getDefaultState(), random, x, z, world, 15, 10, 55, 2, 8);
Generator.generateEndOre(rubiumOre.getDefaultState(), random, x, z, world, 16, 10, 35, 2, 6);
Generator.generateEndOre(ignititeOre.getDefaultState(), random, x, z, world, 16, 20, 45, 2, 6);
Generator.generateEndOre(violiumOre.getDefaultState(), random, x, z, world, 16, 30, 55, 2, 6);
Generator.generateEndOre(titaniteOre.getDefaultState(), random, x, z, world, 16, 40, 65, 2, 6);
} }

View File

@@ -127,6 +127,39 @@ item.dyonite_ingot.name=Dyonitbarren
item.proxideum_ingot.name=Proxideumbarren item.proxideum_ingot.name=Proxideumbarren
item.astrium_ingot.name=Astriumbarren item.astrium_ingot.name=Astriumbarren
item.titanite_nugget.name=Titanitklumpen
item.meteorite_nugget.name=Meteoritklumpen
item.vibranium_nugget.name=Vibraniumklumpen
item.adamantite_nugget.name=Adamantitklumpen
item.prometheum_nugget.name=Prometheumklumpen
item.rubium_nugget.name=Rubiumklumpen
item.tiberium_nugget.name=Tiberiumklumpen
item.arcanite_nugget.name=Arcanitklumpen
item.eternite_nugget.name=Eternitklumpen
item.mythril_nugget.name=Mythrilklumpen
item.palladium_nugget.name=Palladiumklumpen
item.ignitite_nugget.name=Ignititklumpen
item.violium_nugget.name=Violiumklumpen
item.bismuth_nugget.name=Bismuthklumpen
item.mindorite_nugget.name=Mindoritklumpen
item.karmesine_nugget.name=Karmesinklumpen
item.imperomite_nugget.name=Imperomitklumpen
item.fractoryte_nugget.name=Fractorytklumpen
item.noctunyx_nugget.name=Noctunyxklumpen
item.nitronite_nugget.name=Nitronitklumpen
item.cryptogen_nugget.name=Cryptogenklumpen
item.seismodium_nugget.name=Seismodiumklumpen
item.aegisalt_nugget.name=Aegisaltklumpen
item.ultranite_nugget.name=Ultranitklumpen
item.bysmuid_nugget.name=Bysmuidklumpen
item.nucleum_nugget.name=Nucleumklumpen
item.terramite_nugget.name=Terramitklumpen
item.solarium_nugget.name=Solariumklumpen
item.lumixyl_nugget.name=Lumixylklumpen
item.dyonite_nugget.name=Dyonitklumpen
item.proxideum_nugget.name=Proxideumklumpen
item.astrium_nugget.name=Astriumklumpen
fluid.tconstruct.arcanite.name=Arcanit fluid.tconstruct.arcanite.name=Arcanit
fluid.tconstruct.tiberium.name=Tiberium fluid.tconstruct.tiberium.name=Tiberium
fluid.tconstruct.prometheum.name=Prometheum fluid.tconstruct.prometheum.name=Prometheum
@@ -167,33 +200,61 @@ fluid.tconstruct.nitro_fluid.name=Flüssiges Nitro
fluid.tconstruct.anthracite_fluid.name=Flüssiges Anthracit fluid.tconstruct.anthracite_fluid.name=Flüssiges Anthracit
fluid.tconstruct.spectrum_fluid.name=Spektrumfluid fluid.tconstruct.spectrum_fluid.name=Spektrumfluid
modifier.analysing.name=Analysing modifier.analysing.name=Analysierend
modifier.arcane.name=Arcane modifier.analysing.desc=§oIch kenne dich!§r\ERFAHRRRUNG!
modifier.organizing.name=Organisieren modifier.arcane.name=Arkan
modifier.arcane.desc=§oEs ist dunkel, zeit für den Bergbau!§r\Die Nacht repariert!
modifier.organizing.name=Organisch
modifier.organizing.desc=§oIch Mensch, du Baum!§r\Kann zu Holz werden.
modifier.blind.name=Blind modifier.blind.name=Blind
modifier.bright.name=Bright modifier.blind.desc=§oEs ist zu dunkel!§r\Es wird immer Dunkler.
modifier.cascade.name=Cascade modifier.bright.name=Hell
modifier.bright.desc=§oHell ist es draußen!§r\Kraftvoll sind wir!
modifier.cascade.name=Kaskade
modifier.cascade.desc=§oHier vibriert was!§r\Erdbeben!
modifier.curvature.name=Curvature modifier.curvature.name=Curvature
modifier.dark.name=Dark modifier.curvature.desc=§oEs zerrt an mir!§r\Teleport!
modifier.diffuse.name=Diffuse modifier.dark.name=Dunkel
modifier.dissolving.name=Dissolving modifier.dark.desc=§oDüsternis.§r\Die Nacht macht mich stark.
modifier.fracture.name=Fracture modifier.diffuse.name=Diffus
modifier.fragile.name=Fragile modifier.diffuse.desc=§oErfahrung!!!!?§r\Viel oder wenig Erfahrung!
modifier.garishly.name=Garishly modifier.dissolving.name=Auflösend
modifier.glimmer.name=Glimmer modifier.dissolving.desc=§oScheiss auf Erfahrung.§r\Erfahrung wechselt.
modifier.haunted.name=Haunted modifier.fracture.name=Fraktur
modifier.heroic.name=Heroic modifier.fracture.desc=§oImmer tiefer graben!§r\Hier wird gebohrt!
modifier.hollow.name=Hollow modifier.fragile.name=Fragil
modifier.instable.name=Instable modifier.fragile.desc=§oErdbeben, was gehtn!?§r\Schwächt Blöcke.
modifier.naturebound.name=Naturebound modifier.garishly.name=Feurig
modifier.pulverizing.name=Pulverizing modifier.garishly.desc=§oIt's so hot.§r\Feuer Feuer! Feueritems!
modifier.randomize.name=Randomize modifier.glimmer.name=Glühend
modifier.resonance.name=Resonance modifier.glimmer.desc=§oDunkelheit, ich lach dich aus!§r\Nachtsicht!
modifier.slaughtering.name=Slaughtering modifier.haunted.name=BSE
modifier.softy.name=Softy modifier.haunted.desc=§oKrank!'§r\RINDERWAHN!
modifier.uncertain.name=Uncertain modifier.heroic.name=Heldenhaft
modifier.heroic.desc=§oBis zum Tod.§r\Am Ende wirst du stark!
modifier.hollow.name=Hohl
modifier.hollow.desc=§oBraindead!§r\Gehirnmatsche
modifier.instable.name=Instabil
modifier.instable.desc=§oWTF?§r\Es ist so instabil und brennt auf der Haut.
modifier.naturebound.name=Naturverbunden
modifier.naturebound.desc=§oDu bist eins mit der Natur!§r\Repariert und so.
modifier.pulverizing.name=Pulverisierend
modifier.pulverizing.desc=§oHulk... Draufhauen!§r\Mach alles kurz und klein.
modifier.randomize.name=Zufall
modifier.randomize.desc=§oWer bist du??§r\Zufall bei Mobs und Metallen.
modifier.resonance.name=Resonanz
modifier.resonance.desc=§oVibranium!!! Baaaam!§r\Nimm das.
modifier.slaughtering.name=Schlachten
modifier.slaughtering.desc=§oOm nom nom!§r\Wer braucht schon Erfahrung wenn man Fleisch hat?
modifier.softy.name=Soft
modifier.softy.desc=§oIch hab ein Glas vol Dreck!§r\Dreck heilt.
modifier.uncertain.name=Unsicher
modifier.uncertain.desc=§oHier stimmt was nicht.§r\Immerhin ist es nicht instabil...oder?
modifier.reviving.name=Wiederbelebend modifier.reviving.name=Wiederbelebend
modifier.reviving.desc=§oTöte es doch endlich!§r\Zombies!?
modifier.melting.name=Schmelzend modifier.melting.name=Schmelzend
modifier.melting.desc=§oUnendlich heiß!§r\Burrrrrrn!
item.glimmercoal.name=Glimmerkohle item.glimmercoal.name=Glimmerkohle
item.glimmer_pearl.name=Glimmerperle item.glimmer_pearl.name=Glimmerperle

View File

@@ -167,33 +167,93 @@ item.dyonite_ingot.name=Dyonite Ingot
item.proxideum_ingot.name=Proxideum Ingot item.proxideum_ingot.name=Proxideum Ingot
item.astrium_ingot.name=Astrium Ingot item.astrium_ingot.name=Astrium Ingot
item.titanite_nugget.name=Titanite Nugget
item.meteorite_nugget.name=Meteorite Nugget
item.vibranium_nugget.name=Vibranium Nugget
item.adamantite_nugget.name=Adamantite Nugget
item.prometheum_nugget.name=Prometheum Nugget
item.rubium_nugget.name=Rubium Nugget
item.tiberium_nugget.name=Tiberium Nugget
item.arcanite_nugget.name=Arcanite Nugget
item.eternite_nugget.name=Eternite Nugget
item.mythril_nugget.name=Mythril Nugget
item.palladium_nugget.name=Palladium Nugget
item.ignitite_nugget.name=Ignitite Nugget
item.violium_nugget.name=Violium Nugget
item.bismuth_nugget.name=Bismuth Nugget
item.mindorite_nugget.name=Mindorite Nugget
item.karmesine_nugget.name=Karmesine Nugget
item.imperomite_nugget.name=Imperomite Nugget
item.fractoryte_nugget.name=Fractoryte Nugget
item.noctunyx_nugget.name=Noctunyx Nugget
item.nitronite_nugget.name=Nitronite Nugget
item.cryptogen_nugget.name=Cryptogen Nugget
item.seismodium_nugget.name=Seismodium Nugget
item.aegisalt_nugget.name=Aegisalt Nugget
item.ultranite_nugget.name=Ultranite Nugget
item.bysmuid_nugget.name=Bysmuid Nugget
item.nucleum_nugget.name=Nucleum Nugget
item.terramite_nugget.name=Terramite Nugget
item.solarium_nugget.name=Solarium Nugget
item.lumixyl_nugget.name=Lumixyl Nugget
item.dyonite_nugget.name=Dyonite Nugget
item.proxideum_nugget.name=Proxideum Nugget
item.astrium_nugget.name=Astrium Nugget
modifier.analysing.name=Analysing modifier.analysing.name=Analysing
modifier.analysing.desc=§oI know what you are!§r\nKill them, get all their knowledge, ignore loot.
modifier.arcane.name=Arcane modifier.arcane.name=Arcane
modifier.arcane.desc=§oIt's dark outside, let's go mining!§r\Nighttime is good for tool health.
modifier.organizing.name=Organizing modifier.organizing.name=Organizing
modifier.organizing.desc=§oNow you are tree!§r\Possibly creates wood.
modifier.blind.name=Blind modifier.blind.name=Blind
modifier.blind.desc=§oIt's a dark night, I can't even see!§r\Darkness brings weakness or more darkness.
modifier.bright.name=Bright modifier.bright.name=Bright
modifier.bright.desc=§oIt's a bright day, I feel strong!§r\Daytime let you glow.
modifier.cascade.name=Cascade modifier.cascade.name=Cascade
modifier.cascade.desc=§oThis tool is vibrating!§r\Breaks blocks like an earthquake.
modifier.curvature.name=Curvature modifier.curvature.name=Curvature
modifier.curvature.desc=§oIt pulls me back and forth!§r\Sometimes it teleports you or your surroundings.
modifier.dark.name=Dark modifier.dark.name=Dark
modifier.dark.desc=§oIt's dark outside, let's fight!§r\Nighttime makes you stronger.
modifier.diffuse.name=Diffuse modifier.diffuse.name=Diffuse
modifier.diffuse.desc=§oSo much EXP... or nothing?§r\Regular blocks drop exp, but loot is probably gone.
modifier.dissolving.name=Dissolving modifier.dissolving.name=Dissolving
modifier.dissolving.desc=§oI dont care about missing Experience.§r\Switching amount of experience.
modifier.fracture.name=Fracture modifier.fracture.name=Fracture
modifier.fracture.desc=§oYou gonna dig deep!§r\Do you have a drill or something?
modifier.fragile.name=Fragile modifier.fragile.name=Fragile
modifier.fragile.desc=§oKind of earthquake.§r\Blocks are getting weak and your tool drops health.
modifier.garishly.name=Garishly modifier.garishly.name=Garishly
modifier.garishly.desc=§oIt's so hot.§r\Thei actually drop fiery stuff.
modifier.glimmer.name=Glimmer modifier.glimmer.name=Glimmer
modifier.glimmer.desc=§oDarkness? Not for me!§r\Sometimes you get night vision.
modifier.haunted.name=Haunted modifier.haunted.name=Haunted
modifier.haunted.desc=§oHit 'em to get 'em crazy!'§r\Fucking mad cow desease.
modifier.heroic.name=Heroic modifier.heroic.name=Heroic
modifier.heroic.desc=§oUntil you'll die.§r\At the end, you grow stronger.
modifier.hollow.name=Hollow modifier.hollow.name=Hollow
modifier.instable.name=Instable modifier.hollow.desc=§oBraindead!§r\Brain smash!
modifier.instable.name=Unstable
modifier.instable.desc=§oWhat the fuck?§r\Seriously, this is unstable!
modifier.naturebound.name=Naturebound modifier.naturebound.name=Naturebound
modifier.naturebound.desc=§oYou are one with your surrounding!§r\Repairs in name of the nature.
modifier.pulverizing.name=Pulverizing modifier.pulverizing.name=Pulverizing
modifier.pulverizing.desc=§oHulk... Smash!§r\Destroy the stuff you mine.
modifier.randomize.name=Randomize modifier.randomize.name=Randomize
modifier.randomize.desc=§oWho are you?§r\Randomizes entities and vanilla metal-ores.
modifier.resonance.name=Resonance modifier.resonance.name=Resonance
modifier.resonance.desc=§oVibranium!!! Baaaam!§r\Take that smash!
modifier.slaughtering.name=Slaughtering modifier.slaughtering.name=Slaughtering
modifier.slaughtering.desc=§oYum yum!§r\Who needs EXP if you can have meat?
modifier.softy.name=Softy modifier.softy.name=Softy
modifier.softy.desc=§oI love dirt!§r\Dirt heals!
modifier.uncertain.name=Uncertain modifier.uncertain.name=Uncertain
modifier.uncertain.desc=§oSome kind of risky to use.§r\At least it's not unstable...or?
modifier.reviving.name=Reviving modifier.reviving.name=Reviving
modifier.reviving.desc=§oPlease kill it already!§r\Zombies!?
modifier.melting.name=Melting modifier.melting.name=Melting
modifier.melting.desc=§oSo fucking hot!§r\Burrrrrrn!
item.glimmercoal.name=Glimmercoal item.glimmercoal.name=Glimmercoal
@@ -203,7 +263,7 @@ item.energy_pearl.name=Energy Pearl
item.nitro_brick.name=Nitro Brick item.nitro_brick.name=Nitro Brick
item.anthracite_dust.name=Anthracite Dust item.anthracite_dust.name=Anthracite Dust
item.spectrum_dust.name=Spectrum Dust item.spectrum_dust.name=Spectrum Dust
item.tiberium_shard_instable.name=Instable Tiberium Shard item.tiberium_shard_instable.name=Unstable Tiberium Shard
item.tiberium_nugget.name=Tiberium Nugget item.tiberium_nugget.name=Tiberium Nugget
item.radiant_pearl.name=Radiant Pearl item.radiant_pearl.name=Radiant Pearl
item.luminar_dust.name=Luminar Dust item.luminar_dust.name=Luminar Dust

View File

@@ -0,0 +1,269 @@
item.slagiron.name=富渣铁棒
item.lignite.name=褐煤
tile.adamantite_ore.name=精金矿石
tile.arcanite_ore.name=奥金矿石
tile.basalt.name=玄武岩
tile.bismuth_ore.name=铋矿石
tile.eternite_ore.name=伊特尼矿石
tile.karmesine_ore.name=卡梅塞恩矿石
tile.lignite_ore.name=褐煤矿石
tile.meteorite_ore.name=陨铁矿石
tile.mindorite_ore.name=曼德瑞特矿石
tile.mythril_ore.name=秘银矿石
tile.palladium_ore.name=钯矿石
tile.prometheum_ore.name=幻金矿石
tile.rotten_ground.name=腐烂泥土
tile.slagiron_ore.name=富渣铁矿石
tile.slaggold_ore.name=富渣金矿石
tile.tiberium_ore.name=泰伯利亚矿石
tile.vibranium_ore.name=振金矿石
tile.rubium_ore.name=鲁宾矿石
tile.titanite_ore.name=榍石矿石
tile.ignitite_ore.name=焰晶矿石
tile.violium_ore.name=瑟蓝矿石
item.slagiron_ingot.name=富渣铁锭
item.slaggold_ingot.name=富渣金锭
item.fuel_brick.name=燃料砖
item.iron_nugget.name=铁粒
material.titanite.name=榍石
material.meteorite.name=陨铁
material.vibranium.name=振金
material.adamantite.name=精金
material.prometheum.name=幻金
material.rubium.name=鲁宾
material.tiberium.name=泰伯利亚
material.arcanite.name=奥金
material.eternite.name=伊特尼
material.mythril.name=秘银
material.palladium.name=钯
material.ignitite.name=焰晶
material.violium.name=瑟蓝
material.bismuth.name=铋
material.mindorite.name=曼德瑞特
material.karmesine.name=卡梅塞恩
material.imperomite.name=因佩罗
material.fractoryte.name=碎裂合金
material.noctunyx.name=复苏合金
material.nitronite.name=硝化合金
material.cryptogen.name=诡秘合金
material.seismodium.name=赛斯摩迪
material.aegisalt.name=霓磷盐
material.ultranite.name=过载合金
material.bysmuid.name=拜斯麦
material.nucleum.name=辐光合金
material.terramite.name=大地合金
material.solarium.name=阳光合金
material.lumixyl.name=流明
material.dyonite.name=狄奥尼
material.proxideum.name=博赛德
material.astrium.name=阿斯特里姆
fluid.tconstruct.arcanite.name=熔融奥金
fluid.tconstruct.tiberium.name=熔融泰伯利亚
fluid.tconstruct.prometheum.name=熔融幻金
fluid.tconstruct.rubium.name=熔融鲁宾
fluid.tconstruct.violium.name=熔融瑟蓝
fluid.tconstruct.bismuth.name=熔融铋
fluid.tconstruct.karmesine.name=熔融卡梅塞恩
fluid.tconstruct.mindorite.name=熔融曼德瑞特
fluid.tconstruct.titanite.name=熔融榍石
fluid.tconstruct.meteorite.name=熔融陨铁
fluid.tconstruct.adamantite.name=熔融精金
fluid.tconstruct.vibranium.name=熔融振金
fluid.tconstruct.ignitite.name=熔融焰晶
fluid.tconstruct.palladium.name=熔融钯
fluid.tconstruct.eternite.name=熔融伊特尼
fluid.tconstruct.mythril.name=熔融秘银
fluid.tconstruct.astrium.name=熔融阿斯特里姆
fluid.tconstruct.nitronite.name=熔融硝化合金
fluid.tconstruct.proxideum.name=熔融博赛德
fluid.tconstruct.noctunyx.name=熔融复苏合金
fluid.tconstruct.imperomite.name=熔融因佩罗
fluid.tconstruct.cryptogen.name=熔融诡秘合金
fluid.tconstruct.fractoryte.name=熔融碎裂合金
fluid.tconstruct.seismodium.name=熔融赛斯摩迪
fluid.tconstruct.terramite.name=熔融大地合金
fluid.tconstruct.lumixyl.name=熔融流明
fluid.tconstruct.solarium.name=熔融阳光合金
fluid.tconstruct.dyonite.name=熔融狄奥尼
fluid.tconstruct.ultranite.name=熔融过载合金
fluid.tconstruct.nucleum.name=熔融辐光合金
fluid.tconstruct.aegisalt.name=熔融霓磷盐
fluid.tconstruct.bysmuid.name=熔融拜斯麦
fluid.tconstruct.radiant_enderium.name=熔融辐射珍珠
fluid.tconstruct.glimming_enderium.name=熔融闪耀珍珠
fluid.tconstruct.energy_enderium.name=熔融能量珍珠
fluid.tconstruct.glimmercoal_fluid.name=熔融闪耀煤炭
fluid.tconstruct.nitro_fluid.name=熔融硝化砖
fluid.tconstruct.anthracite_fluid.name=熔融无烟煤粉
fluid.tconstruct.spectrum_fluid.name=熔融复光粉末
tile.titanite_block.name=榍石块
tile.meteorite_block.name=陨铁块
tile.vibranium_block.name=振金块
tile.adamantite_block.name=精金块
tile.prometheum_block.name=幻金块
tile.rubium_block.name=鲁宾块
tile.tiberium_block.name=泰伯利亚块
tile.arcanite_block.name=奥金块
tile.eternite_block.name=伊特尼块
tile.mythril_block.name=秘银块
tile.palladium_block.name=钯块
tile.ignitite_block.name=焰晶块
tile.violium_block.name=瑟蓝块
tile.bismuth_block.name=铋块
tile.mindorite_block.name=曼德瑞特块
tile.karmesine_block.name=卡梅塞恩块
tile.imperomite_block.name=因佩罗块
tile.fractoryte_block.name=碎裂合金块
tile.noctunyx_block.name=复苏合金块
tile.nitronite_block.name=硝化合金块
tile.cryptogen_block.name=诡秘合金块
tile.seismodium_block.name=赛斯摩迪块
tile.aegisalt_block.name=霓磷盐块
tile.ultranite_block.name=过载合金块
tile.bysmuid_block.name=拜斯麦块
tile.nucleum_block.name=辐光合金块
tile.terramite_block.name=大地合金块
tile.solarium_block.name=阳光合金块
tile.lumixyl_block.name=流明块
tile.dyonite_block.name=狄奥尼块
tile.proxideum_block.name=博赛德块
tile.astrium_block.name=阿斯特里姆块
item.titanite_ingot.name=榍石锭
item.meteorite_ingot.name=陨铁锭
item.vibranium_ingot.name=振金锭
item.adamantite_ingot.name=精金锭
item.prometheum_ingot.name=幻金锭
item.rubium_ingot.name=鲁宾锭
item.tiberium_ingot.name=泰伯利亚锭
item.arcanite_ingot.name=奥金锭
item.eternite_ingot.name=伊特尼锭
item.mythril_ingot.name=秘银锭
item.palladium_ingot.name=钯锭
item.ignitite_ingot.name=焰晶锭
item.violium_ingot.name=瑟蓝锭
item.bismuth_ingot.name=铋锭
item.mindorite_ingot.name=曼德瑞特锭
item.karmesine_ingot.name=卡梅塞恩锭
item.imperomite_ingot.name=因佩罗锭
item.fractoryte_ingot.name=碎裂合金锭
item.noctunyx_ingot.name=复苏合金锭
item.nitronite_ingot.name=硝化合金锭
item.cryptogen_ingot.name=诡秘合金锭
item.seismodium_ingot.name=赛斯摩迪锭
item.aegisalt_ingot.name=霓磷盐锭
item.ultranite_ingot.name=过载合金锭
item.bysmuid_ingot.name=拜斯麦锭
item.nucleum_ingot.name=辐光合金锭
item.terramite_ingot.name=大地合金锭
item.solarium_ingot.name=阳光合金锭
item.lumixyl_ingot.name=流明锭
item.dyonite_ingot.name=狄奥尼锭
item.proxideum_ingot.name=博赛德锭
item.astrium_ingot.name=阿斯特里姆锭
item.titanite_nugget.name=榍石粒
item.meteorite_nugget.name=陨铁粒
item.vibranium_nugget.name=振金粒
item.adamantite_nugget.name=精金粒
item.prometheum_nugget.name=幻金粒
item.rubium_nugget.name=鲁宾粒
item.tiberium_nugget.name=泰伯利亚粒
item.arcanite_nugget.name=奥金粒
item.eternite_nugget.name=伊特尼粒
item.mythril_nugget.name=秘银粒
item.palladium_nugget.name=钯粒
item.ignitite_nugget.name=焰晶粒
item.violium_nugget.name=瑟蓝粒
item.bismuth_nugget.name=铋粒
item.mindorite_nugget.name=曼德瑞特粒
item.karmesine_nugget.name=卡梅塞恩粒
item.imperomite_nugget.name=因佩罗粒
item.fractoryte_nugget.name=碎裂合金粒
item.noctunyx_nugget.name=复苏合金粒
item.nitronite_nugget.name=硝化合金粒
item.cryptogen_nugget.name=诡秘合金粒
item.seismodium_nugget.name=赛斯摩迪粒
item.aegisalt_nugget.name=霓磷盐粒
item.ultranite_nugget.name=过载合金粒
item.bysmuid_nugget.name=拜斯麦粒
item.nucleum_nugget.name=辐光合金粒
item.terramite_nugget.name=大地合金粒
item.solarium_nugget.name=阳光合金粒
item.lumixyl_nugget.name=流明粒
item.dyonite_nugget.name=狄奥尼粒
item.proxideum_nugget.name=博赛德粒
item.astrium_nugget.name=阿斯特里姆粒
modifier.analysing.name=解析
modifier.analysing.desc=§o我知道你是什么!§r\n杀掉他们,获得他们全部的知识,而忽略掉掉落物.
modifier.arcane.name=神秘
modifier.arcane.desc=§o天黑了,让我们去挖矿吧!§r\n夜晚对工具的耐久有点好处.
modifier.organizing.name=增生
modifier.organizing.desc=§o现在你是棵树!§r\n有可能产生木头.
modifier.blind.name=失明
modifier.blind.desc=§o一个漆黑的夜晚,我甚至看不见!§r\n黑暗带给你虚弱及失明.
modifier.bright.name=发光
modifier.bright.desc=§o一个明亮的白天,我感到了力量!§r\n白天会使你发光.
modifier.cascade.name=振动
modifier.cascade.desc=§o这个工具在振动!§r\n破坏方块就如地震一样.
modifier.curvature.name=扭曲
modifier.curvature.desc=§o它带着我前后移动!§r\n有时候它会传送走你和你周围的事物.
modifier.dark.name=黑暗
modifier.dark.desc=§o天黑了,让我们战斗吧!§r\n夜晚使你更具战斗力.
modifier.diffuse.name=漫散
modifier.diffuse.desc=§o如此多的经验...或者什么都没有?§r\n经常会使破坏方块掉落经验,但是掉落物可能会消失.
modifier.dissolving.name=消溶
modifier.dissolving.desc=§o我不在乎失去的经验.§r\n以大量经验做交换.
modifier.fracture.name=碎裂
modifier.fracture.desc=§o你要挖个很深的洞!§r\n你有电钻或者别的东西吗?
modifier.fragile.name=脆弱
modifier.fragile.desc=§o一种地震.§r\n你的镐子会损失耐久使方块会变得更脆弱.
modifier.garishly.name=炙热
modifier.garishly.desc=§o它太热了.§r\n它会瓦解掉掉落物.
modifier.glimmer.name=微光
modifier.glimmer.desc=§o黑吗?对我来说并不!§r\n有时候你会获得夜视.
modifier.haunted.name=发疯
modifier.haunted.desc=§o鞭笞他们让他们疯狂!§r\n去TMD疯牛病.
modifier.heroic.name=英勇
modifier.heroic.desc=§o至死方休.§r\n在生命结束前你会变得更强壮.
modifier.hollow.name=虚伪
modifier.hollow.desc=§o吃掉了你的脑子!§r\n粉碎脑子!
modifier.instable.name=不稳定
modifier.instable.desc=§oWTF?§r\n真的,它很不稳定!
modifier.naturebound.name=自然之束
modifier.naturebound.desc=§o你与自然融为一体!§r\n以自然之名复原.
modifier.pulverizing.name=摧毁
modifier.pulverizing.desc=§o浩克...出击!§r\n毁掉你挖掘的东西.
modifier.randomize.name=随机
modifier.randomize.desc=§o你是谁?§r\n随机生成实体和原版矿物.
modifier.resonance.name=共振
modifier.resonance.desc=§o振金!!!嘣!§r\n带走冲击!
modifier.slaughtering.name=屠宰
modifier.slaughtering.desc=§o嗯,美味!§r\n有肉吃谁还要经验?
modifier.softy.name=柔软
modifier.softy.desc=§o我爱泥土!§r\n挖泥土能回复耐久!
modifier.uncertain.name=不常
modifier.uncertain.desc=§o用的时候有点危险.§r\n至少他不是不稳定的...吗?
modifier.reviving.name=复苏
modifier.reviving.desc=§o请把它彻底杀死!§r\n僵尸!?
modifier.melting.name=熔化
modifier.melting.desc=§o真烫!§r\n燃烧吧!
item.glimmercoal.name=闪耀煤炭
item.glimmer_pearl.name=闪耀珍珠
item.glimmerstone_dust.name=闪耀粉末
item.energy_pearl.name=能量珍珠
item.nitro_brick.name=硝化砖
item.anthracite_dust.name=无烟煤粉
item.spectrum_dust.name=复光粉末
item.tiberium_shard_instable.name=不稳定泰伯利亚碎片
item.tiberium_nugget.name=泰伯利亚粒
item.radiant_pearl.name=辐射珍珠
item.luminar_dust.name=流明粉

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/adamantite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/aegisalt_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/arcanite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/astrium_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/bismuth_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/bysmuid_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/cryptogen_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/dyonite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/eternite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/fractoryte_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/ignitite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/imperomite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/karmesine_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/lumixyl_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/meteorite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/mindorite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/mythril_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/nitronite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/noctunyx_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/nucleum_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/palladium_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/prometheum_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/proxideum_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/rubium_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/seismodium_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/solarium_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/terramite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/titanite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/ultranite_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/vibranium_nugget"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "taiga:items/violium_nugget"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More