40 Commits
1.0.2 ... 1.1

Author SHA1 Message Date
Robert Sosnitzka
e15a07bdb8 Added creative tabs for blocks and items and associated language entries. Added check for iron nugget, to prevent double registry. 2016-07-28 14:59:08 +02:00
Robert Sosnitzka
e6f95908d7 Removed dev block helper. Fixed trait cascade not to break whole mountains. 2016-07-28 13:08:55 +02:00
Robert Sosnitzka
195b6a25dc Removed unused configuration menu. Fixed misspelled menu entry. 2016-07-28 11:56:02 +02:00
Robert Sosnitzka
b539f986f8 Fixed a lot of minor issues. Added configuration for ore values and ore generation. 2016-07-28 11:50:50 +02:00
ccf8c75b37 some minor fixes 2016-07-27 12:01:23 +02:00
faa70ed224 general code cleanup
try and add changes generation back into gradle again
2016-07-27 11:29:58 +02:00
Robert Sosnitzka
e8976365a2 Added integration for non-vanilla dimensions.
Fixed some config basics.
2016-07-26 16:31:42 +02:00
f8984bec16 removed debug out 2016-07-25 23:07:52 +02:00
bfb3c3902e fixed config init is not called on client side 2016-07-25 23:00:58 +02:00
bb9bc335ff first attempt ti implement a config file, does not function atm 2016-07-25 15:23:49 +02:00
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
156 changed files with 1525 additions and 470 deletions

1
.gitignore vendored
View File

@@ -175,3 +175,4 @@ gradle-app.setting
# Forge
run/
src/main/java/com/sosnitzka/taiga/dev

View File

@@ -15,7 +15,7 @@ Included:
Download
===============
[Link coming](www.sosnitzka.com)
[TAIGA on CurseForge](http://minecraft.curseforge.com/projects/taiga-tinkers-alloying-addon/files)
Dependencies
===============

View File

@@ -12,7 +12,7 @@ buildscript {
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.0.7'
classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.0.8'
}
}
@@ -36,6 +36,30 @@ repositories {
group = "com.sosnitzka" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
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
}
def cmd = "git log \$(git tag --sort=-refname | sed -n '2p')..\$(git tag --sort=-refname | sed -n '1p') --oneline"
def proc = cmd.execute()
proc.waitFor()
if (proc.exitValue() == 0) {
ext.changes = proc.text.trim()
} else {
ext.changes = "N/A"
}
}
version = project.buildInfo.revision
minecraft {
version = "1.10.2-12.18.1.2011"
runDir = "run"
@@ -51,6 +75,10 @@ minecraft {
replace "${version}", project.version
}
//noinspection GroovyAssignabilityCheck
ext.mc_version = project.minecraft.version.split('-')[0]
version = "${mc_version}-${project.buildInfo.revision}"
dependencies {
//deobfCompile "codechicken:CodeChickenLib:1.9.4-2.0.2.39:deobf"
//deobfCompile "codechicken:CodeChickenCore:1.9.4-2.0.3.65:deobf"
@@ -70,33 +98,6 @@ sourceSets {
}
}
task buildInfo {
def cmd = "git name-rev --tags --name-only \$(git rev-parse HEAD)"
def proc = cmd.execute()
proc.waitFor()
if (proc.exitValue() == 0) {
project.ext.tag = proc.text.trim()
}
if (System.getenv().BUILD_NUMBER != null) {
ext.buildNum = System.getenv().BUILD_NUMBER
}
project.ext.mc_version = project.minecraft.version.split('-')[0]
def cmd_changes = "git log `git describe --tags \$(git rev-list --tags --max-count=2) | sed -n '2p'`..`git describe --tags --abbrev=0` --oneline"
def proc_changes = cmd_changes.execute()
proc_changes.waitFor()
if (proc_changes.exitValue() == 0) {
project.ext.changes = proc_changes.text.trim()
} else {
project.ext.changes = ""
}
}
version = tag ? "${mc_version}-${tag}" : "${mc_version}-snapshot"
//noinspection GroovyAssignabilityCheck
processResources {
// this will ensure that this task is redone when the versions change.
@@ -128,15 +129,21 @@ artifacts {
curseforge {
apiKey = System.getenv().CURSE_API_KEY ? System.getenv().CURSE_API_KEY : "devBuild"
//noinspection GroovyAssignabilityCheck
project {
id = '247661'
changelog = project.changes // A file can also be set using: changelog = file('changelog.txt')
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.tag"
displayName = "taiga-${project.buildInfo.revision}"
}
relations {
requiredLibrary 'tinkers-construct'
}
}
}
}

View File

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

View File

@@ -26,83 +26,89 @@ public class Blocks {
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 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 slaggoldOre = new BasicBlock("slaggold_ore", Material.ROCK, 3.0f, 5.0f, IRON);
// Ores
// Group: Solide
public static Block titaniteOre = new BasicBlock("titanite_ore", Material.ROCK, 55.0f, 400.0f, TITANITE, PREFIX_ORE);
public static Block meteoriteOre = new BasicBlock("meteorite_ore", Material.ROCK, 60.0f, 500.0f, METEORITE, PREFIX_ORE);
public static Block vibraniumOre = new BasicBlock("vibranium_ore", Material.ROCK, 70.0f, 800.0f, VIBRANIUM, PREFIX_ORE);
public static Block adamantiteOre = new BasicBlock("adamantite_ore", Material.ROCK, 80.0f, 1000.0f, ADAMANTITE, 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, 50f, METEORITE, 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, 70f, ADAMANTITE, PREFIX_ORE);
// Group: Arcane
public static Block prometheumOre = new BasicBlock("prometheum_ore", Material.ROCK, 35.0f, 35.0f, COBALT, 0.25f, PREFIX_ORE);
public static Block rubiumOre = new BasicBlock("rubium_ore", Material.ROCK, 13.0f, 15.0f, TITANITE, 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, 12f, TITANITE, PREFIX_ORE);
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
public static Block eterniteOre = new BasicBlock("eternite_ore", Material.ROCK, 24.0f, 25.0f, COBALT, PREFIX_ORE);
public static Block mythrilOre = new BasicBlock("mythril_ore", Material.ROCK, 25.0f, 25.0f, TITANITE, PREFIX_ORE);
public static Block palladiumOre = new BasicBlock("palladium_ore", Material.ROCK, 25.0f, 25.0f, METEORITE, PREFIX_ORE);
public static Block ignititeOre = new BasicBlock("ignitite_ore", Material.ROCK, 23.0f, 25.0f, VIBRANIUM, 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, 15f, TITANITE, 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, 15f, VIBRANIUM, PREFIX_ORE);
// Group: Ratio
public static Block violiumOre = new BasicBlock("violium_ore", Material.ROCK, 13.0f, 13.0f, COBALT, PREFIX_ORE);
public static Block bismuthOre = new BasicBlock("bismuth_ore", Material.ROCK, 8.0f, 8.0f, OBSIDIAN, PREFIX_ORE);
public static Block mindoriteOre = new BasicBlock("mindorite_ore", Material.ROCK, 12.0f, 12.0f, TITANITE, PREFIX_ORE);
public static Block karmesineOre = new BasicBlock("karmesine_ore", Material.ROCK, 13.0f, 15.0f, METEORITE, 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, 5f, OBSIDIAN, 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, 10f, METEORITE, PREFIX_ORE);
// Blocks
// Group: Solide
public static Block titaniteBlock = new BasicBlock("titanite_block", Material.ROCK, 55.0f, 400.0f, 5, PREFIX_BLOCK);
public static Block meteoriteBlock = new BasicBlock("meteorite_block", Material.ROCK, 60.0f, 500.0f, 6, PREFIX_BLOCK);
public static Block vibraniumBlock = new BasicBlock("vibranium_block", Material.ROCK, 70.0f, 800.0f, 7, PREFIX_BLOCK);
public static Block adamantiteBlock = new BasicBlock("adamantite_block", Material.ROCK, 80.0f, 1000.0f, 8, 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, 60f, 6, 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, 80f, 8, PREFIX_BLOCK);
// Group: Arcane
public static Block prometheumBlock = new BasicBlock("prometheum_block", Material.ROCK, 35.0f, 35.0f, 4, 0.25f, PREFIX_BLOCK);
public static Block rubiumBlock = new BasicBlock("rubium_block", Material.ROCK, 13.0f, 15.0f, 5, PREFIX_BLOCK);
public static Block tiberiumBlock = new BasicBlock("tiberium_block", Material.ROCK, 30.0f, 30.0f, 6, 1f, PREFIX_BLOCK);
public static Block arcaniteBlock = new BasicBlock("arcanite_block", Material.ROCK, 23.0f, 25.0f, 7, 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, 15f, 5, 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, 15f, 7, PREFIX_BLOCK);
// Group: Etheri
public static Block eterniteBlock = new BasicBlock("eternite_block", Material.ROCK, 24.0f, 25.0f, 4, PREFIX_BLOCK);
public static Block mythrilBlock = new BasicBlock("mythril_block", Material.ROCK, 25.0f, 25.0f, 5, PREFIX_BLOCK);
public static Block palladiumBlock = new BasicBlock("palladium_block", Material.ROCK, 25.0f, 25.0f, 6, PREFIX_BLOCK);
public static Block ignititeBlock = new BasicBlock("ignitite_block", Material.ROCK, 23.0f, 25.0f, 7, 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, 20f, 5, 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, 20f, 7, PREFIX_BLOCK);
// Group: Ratio
public static Block violiumBlock = new BasicBlock("violium_block", Material.ROCK, 13.0f, 13.0f, 4, PREFIX_BLOCK);
public static Block bismuthBlock = new BasicBlock("bismuth_block", Material.ROCK, 8.0f, 8.0f, 5, PREFIX_BLOCK);
public static Block mindoriteBlock = new BasicBlock("mindorite_block", Material.ROCK, 12.0f, 12.0f, 2, PREFIX_BLOCK);
public static Block karmesineBlock = new BasicBlock("karmesine_block", Material.ROCK, 13.0f, 15.0f, 3, 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, 10f, 5, 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, 12f, 3, PREFIX_BLOCK);
public static Block imperomiteBlock = new BasicBlock("imperomite_block", Material.ROCK, 24.0f, 25.0f, 5, PREFIX_BLOCK);
public static Block fractoryteBlock = new BasicBlock("fractoryte_block", Material.ROCK, 8.0f, 8.0f, 8, PREFIX_BLOCK);
public static Block noctunyxBlock = new BasicBlock("noctunyx_block", Material.ROCK, 60.0f, 500.0f, 6, PREFIX_BLOCK);
public static Block nitroniteBlock = new BasicBlock("nitronite_block", Material.ROCK, 13.0f, 15.0f, 7, PREFIX_BLOCK);
public static Block cryptogenBlock = new BasicBlock("cryptogen_block", Material.ROCK, 23.0f, 25.0f, 6, PREFIX_BLOCK);
public static Block seismodiumBlock = new BasicBlock("seismodium_block", Material.ROCK, 30.0f, 30.0f, 7, 1f, PREFIX_BLOCK);
public static Block aegisaltBlock = new BasicBlock("aegisalt_block", Material.ROCK, 13.0f, 13.0f, 5, PREFIX_BLOCK);
public static Block ultraniteBlock = new BasicBlock("ultranite_block", Material.ROCK, 13.0f, 15.0f, 8, PREFIX_BLOCK);
public static Block bysmuidBlock = new BasicBlock("bysmuid_block", Material.ROCK, 35.0f, 35.0f, 5, 0.25f, PREFIX_BLOCK);
public static Block nucleumBlock = new BasicBlock("nucleum_block", Material.ROCK, 25.0f, 25.0f, 4, PREFIX_BLOCK);
public static Block terramiteBlock = new BasicBlock("terramite_block", Material.ROCK, 70.0f, 800.0f, 4, PREFIX_BLOCK);
public static Block solariumBlock = new BasicBlock("solarium_block", Material.ROCK, 80.0f, 1000.0f, 5, PREFIX_BLOCK);
public static Block lumixylBlock = new BasicBlock("lumixyl_block", Material.ROCK, 12.0f, 12.0f, 5, PREFIX_BLOCK);
public static Block dyoniteBlock = new BasicBlock("dyonite_block", Material.ROCK, 23.0f, 25.0f, 4, PREFIX_BLOCK);
public static Block proxideumBlock = new BasicBlock("proxideum_block", Material.ROCK, 25.0f, 25.0f, 4, PREFIX_BLOCK);
public static Block astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 55.0f, 400.0f, 7, 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, 15f, 8, 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, 12f, 7, 0.8f, 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, 25f, 7, 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, 25f, 8, 0.6f, 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, 15f, 4, 0.85f, 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, 25f, 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, 15f, 4, 0.3f, 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, 15f, 7, PREFIX_BLOCK);
/**
* 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() {
Field[] declaredFields = Blocks.class.getDeclaredFields();
for (Field field : declaredFields) {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Field[] declaredFields = Blocks.class.getDeclaredFields(); // Gets the fields (ingots) declared above
for (Field field : declaredFields) { // Iterates through the fields declared above
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { // Checks that the fields are static
Class<?> targetType = field.getType();
try {
Block block = (Block) field.get(targetType);
Utils.registerBlockWithItem(block);
if (block instanceof BasicBlock) {
if (((BasicBlock) block).isOreDict()) {
Block block = (Block) field.get(targetType); // Gets the field as a BasicBlock which is then casted to an Block
block.setCreativeTab(CreativeTab.tabTaigaBlock);
Utils.registerBlockWithItem(block); // Registers block and its item
if (block instanceof BasicBlock) { // Checks that the block is a BasicBlock
if (((BasicBlock) block).isOreDict()) { // Checks that the block has an oreDict entry
String oreDictName;
String[] nameParts = block.getUnlocalizedName().replace("tile.", "").split("_");
@@ -111,7 +117,7 @@ public class Blocks {
} else {
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) {
@@ -119,8 +125,5 @@ public class Blocks {
}
}
}
OreDictionary.registerOre("nuggetIron", slagironOre);
OreDictionary.registerOre("nuggetGold", slaggoldOre);
}
}

View File

@@ -0,0 +1,27 @@
package com.sosnitzka.taiga;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import static com.sosnitzka.taiga.Blocks.adamantiteBlock;
import static com.sosnitzka.taiga.Items.noctunyxIngot;
public class CreativeTab {
public static final CreativeTabs tabTaigaBlock = new CreativeTabs("taiga_block") {
@Override
public Item getTabIconItem() {
return Item.getItemFromBlock(adamantiteBlock);
}
};
public static final CreativeTabs tabTaigaItem = new CreativeTabs("taiga_item") {
@Override
public Item getTabIconItem() {
return noctunyxIngot;
}
};
}

View File

@@ -5,10 +5,13 @@ import com.sosnitzka.taiga.generic.BasicTinkerFluid;
import com.sosnitzka.taiga.util.Utils;
import net.minecraft.init.Blocks;
import net.minecraftforge.fluids.FluidRegistry;
import slimeknights.tconstruct.shared.TinkerFluids;
import slimeknights.tconstruct.smeltery.block.BlockMolten;
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.util.Utils.registerFluid;
import static slimeknights.tconstruct.library.TinkerRegistry.registerMelting;
@@ -35,7 +38,7 @@ public class Fluids {
public static BasicTinkerFluid nitroniteFluid = new BasicTinkerFluid("nitronite", 0xFFdfe553, true, 680, 10, 2185);
public static BasicTinkerFluid proxideumFluid = new BasicTinkerFluid("proxideum", 0xFF2f7177, true, 700, 9, 3859);
public static BasicTinkerFluid noctunyxFluid = new BasicTinkerFluid("noctunyx", 0xFF5f5081, true, 712, 8, 3983);
public static BasicTinkerFluid imperomiteFluid = new BasicTinkerFluid("imperomite", 0xFFff6642, true, 510, 10, 2353);
public static BasicTinkerFluid imperomiteFluid = new BasicTinkerFluid("imperomite", 0xFF5cc96b, true, 510, 10, 2353);
public static BasicTinkerFluid cryptogenFluid = new BasicTinkerFluid("cryptogen", 0xFF9f8a4a, true, 560, 10, 3243);
public static BasicTinkerFluid fractoryteFluid = new BasicTinkerFluid("fractoryte", 0xFF983f11, true, 670, 8, 3805);
public static BasicTinkerFluid seismodiumFluid = new BasicTinkerFluid("seismodium", 0xFF46131D, true, 831, 10, 1837);
@@ -58,21 +61,28 @@ public class Fluids {
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);
/**
* 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() {
Field[] declaredFields = Fluids.class.getDeclaredFields();
for (Field field : declaredFields) {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Field[] declaredFields = Fluids.class.getDeclaredFields(); // Gets the blocks and ores declared above
for (Field field : declaredFields) { // Iterates through the fields declared above
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { // Checks that the fields are static
Class<?> targetType = field.getType();
try {
BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType);
registerFluid(fluid);
BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType); // Gets the field as a BasicTinkerFluid
registerFluid(fluid); // Registers the fluid into the game along wit its bucket
BlockMolten block = new BlockMolten(fluid);
// Sets names
block.setUnlocalizedName("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);
// Registers the fluid's model but only on the client side
TAIGA.proxy.registerFluidModels(fluid);
} catch (IllegalAccessException e) {
e.printStackTrace();
@@ -81,6 +91,9 @@ public class Fluids {
}
}
/**
* Registers special smeltery recipes (not alloying)
*/
static void registerfromItem() {
registerMelting(radiant_pearl, radiant_enderium, 72);
registerMelting(glimmer_pearl, glimming_enderium, 72);
@@ -92,5 +105,10 @@ public class Fluids {
registerMelting(Blocks.OBSIDIAN, FluidRegistry.LAVA, 432);
registerMelting(Blocks.NETHERRACK, FluidRegistry.LAVA, 48);
registerMelting(Blocks.STONE, FluidRegistry.LAVA, 144);
registerMelting(slagironOre, TinkerFluids.iron, 16);
registerMelting(slagironIngot, TinkerFluids.iron, 24);
registerMelting(slaggoldOre, TinkerFluids.gold, 16);
registerMelting(slaggoldIngot, TinkerFluids.gold, 24);
}
}

View File

@@ -3,10 +3,6 @@ package com.sosnitzka.taiga;
import com.google.common.base.Joiner;
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.minecraftforge.fml.common.registry.GameRegistry;
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;
public class Items {
public static ItemSlagironIngot slagironIngot = new ItemSlagironIngot();
public static Item lignite = new ItemLignite("lignite", "lignite");
public static Item lignite2 = new ItemLignite("lignite", "lignite2");
public static Item lignite3 = new ItemLignite("lignite", "lignite3");
public static ItemIronNugget iron_nugget = new ItemIronNugget();
public static ItemSlaggoldIngot slaggoldIngot = new ItemSlaggoldIngot();
public static Item lignite = new BasicItem("lignite", null, "lignite");
public static Item iron_nugget = new BasicItem("iron_nugget", PREFIX_NUGGET);
public static Item slaggoldIngot = new BasicItem("slaggold_ingot");
public static Item slagironIngot = new BasicItem("slagiron_ingot");
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 radiant_pearl = new BasicItem("radiant_pearl");
public static Item glimmer_pearl = new BasicItem("glimmer_pearl");
@@ -72,19 +102,28 @@ public class Items {
public static Item bysmuidIngot = new BasicItem("bysmuid_ingot", PREFIX_INGOT);
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() {
Field[] declaredFields = Items.class.getDeclaredFields();
for (Field field : declaredFields) {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Field[] declaredFields = Items.class.getDeclaredFields(); // Gets the fields (ingots) declared above
for (Field field : declaredFields) { // Iterates through the fields declared above
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { // Checks that the fields are static
Class<?> targetType = field.getType();
try {
Item item = (Item) field.get(targetType);
GameRegistry.register(item);
if (item instanceof BasicItem) {
if (((BasicItem) item).isOreDict()) {
Item item = (Item) field.get(targetType); // Gets the field as a BasicItem which is then casted to an Item
if (item.equals(iron_nugget) && OreDictionary.doesOreNameExist("nuggetIron")) {
System.out.println("TAIGA: Skipped registration of nuggetIron which already exists.");
continue;
}
item.setCreativeTab(CreativeTab.tabTaigaItem);
GameRegistry.register(item); // Registers the item into the game
if (item instanceof BasicItem) { // Checks that the item is a BasicItem
if (((BasicItem) item).isOreDict()) { // Checks if this item should be registered into the oreDict and registers it
String oreDictName;
String[] nameParts = item.getUnlocalizedName().replace("item.", "").split("_");
@@ -94,7 +133,7 @@ public class Items {
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) {
@@ -102,10 +141,6 @@ public class Items {
}
}
}
OreDictionary.registerOre("nuggetIron", iron_nugget);
OreDictionary.registerOre("ingotIron", slagironIngot);
OreDictionary.registerOre("ingotGold", slaggoldIngot);
}
}

View File

@@ -65,14 +65,12 @@ public class MaterialTraits {
public static Material palladium = new Material("palladium", TextFormatting.DARK_GRAY).addTrait(dark);
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 imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(cascade);
public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_RED).addTrait(fracture);
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 cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN).addTrait(randomize);
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 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);

View File

@@ -1,11 +1,12 @@
package com.sosnitzka.taiga;
import com.google.common.collect.Lists;
import com.sosnitzka.taiga.proxy.ServerProxy;
import com.sosnitzka.taiga.recipes.Crafting;
import com.sosnitzka.taiga.recipes.Smelting;
import com.sosnitzka.taiga.proxy.CommonProxy;
import com.sosnitzka.taiga.recipes.CraftingRegistry;
import com.sosnitzka.taiga.recipes.SmeltingRegistry;
import com.sosnitzka.taiga.util.FuelHandler;
import com.sosnitzka.taiga.world.ZWorldGen;
import net.minecraft.item.Item;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
@@ -14,84 +15,57 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import org.apache.commons.lang3.StringUtils;
import slimeknights.tconstruct.library.MaterialIntegration;
import slimeknights.tconstruct.library.TinkerRegistry;
import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
import slimeknights.tconstruct.library.materials.HandleMaterialStats;
import slimeknights.tconstruct.library.materials.HeadMaterialStats;
import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.tools.TinkerMaterials;
import java.lang.reflect.Field;
import java.util.List;
import static com.sosnitzka.taiga.Fluids.*;
import static com.sosnitzka.taiga.MaterialTraits.*;
import static com.sosnitzka.taiga.TAIGAConfiguration.*;
import static slimeknights.tconstruct.library.utils.HarvestLevels.*;
@Mod(modid = TAIGA.MODID, version = TAIGA.VERSION, dependencies = "required-after:tconstruct@[1.10-2.3.3,);" + "required-after:mantle@[1.10-0.10.3,)")
@Mod(modid = TAIGA.MODID, version = TAIGA.VERSION, guiFactory = TAIGA.GUIFACTORY, dependencies = "required-after:tconstruct@[1.10-2.3.3,);" + "required-after:mantle@[1.10-0.10.3,)")
public class TAIGA {
public static final String MODID = "taiga";
public static final String VERSION = "${version}";
public static final String GUIFACTORY = "com.sosnitzka.taiga.TAIGAGuiFactory";
@SidedProxy(clientSide = "com.sosnitzka.taiga.proxy.ClientProxy", serverSide = "com.sosnitzka.taiga.proxy.ServerProxy")
public static ServerProxy proxy;
private List<MaterialIntegration> integrateList = Lists.newArrayList();
@SidedProxy(clientSide = "com.sosnitzka.taiga.proxy.ClientProxy", serverSide = "com.sosnitzka.taiga.proxy.CommonProxy")
public static CommonProxy proxy;
private List<MaterialIntegration> integrateList = Lists.newArrayList(); // List of materials needed to be integrated
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
Items.register();
Fluids.register();
Blocks.register();
Fluids.registerfromItem();
Alloys.register();
proxy.initConfig();
// ARCANE ORES
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("Prometheum", prometheum, prometheumFluid, 539, 3.6f, 6.60f, 0.90f, 0, 150, TITANITE, false, true);
registerTinkerMaterial("Arcanite", arcanite, arcaniteFluid, 698, 4.3f, 7.88f, 0.85f, -50, 150, METEORITE, false, true);
// SOLIDE ORES
registerTinkerMaterial("Titanite", titanite, titaniteFluid, 811, 4.8f, 6.40f, 1.00f, -50, 150, TITANITE, false, true);
registerTinkerMaterial("Meteorite", meteorite, meteoriteFluid, 823, 6.1f, 6.83f, 1.20f, -50, 200, METEORITE, false, true);
registerTinkerMaterial("Vibranium", vibranium, vibraniumFluid, 917, 7.45f, 7.17f, 1.15f, 50, 150, VIBRANIUM, false, true);
registerTinkerMaterial("Adamantite", adamantite, adamantiteFluid, 981, 8.9f, 9.11f, 1.20f, -200, 300, ADAMANTITE, false, true);
// ETHERE ORES
registerTinkerMaterial("Eternite", eternite, eterniteFluid, 592, 7.35f, 1.95f, 1.10f, 150, 150, COBALT, false, true);
registerTinkerMaterial("Mythril", mythril, mythrilFluid, 552, 8.75f, 2.87f, 0.98f, -100, 200, TITANITE, false, true);
registerTinkerMaterial("Palladium", palladium, palladiumFluid, 578, 10.4f, 3.13f, 1.09f, 0, 100, METEORITE, false, true);
registerTinkerMaterial("Ignitite", ignitite, ignititeFluid, 673, 12.1f, 4.10f, 1.15f, -50, 150, VIBRANIUM, false, true);
// RATIO ORES
registerTinkerMaterial("Bismuth", bismuth, bismuthFluid, 235, 5.33f, 3.80f, 1.15f, 17, 117, OBSIDIAN, false, true);
registerTinkerMaterial("Violium", violium, violiumFluid, 427, 4.2f, 3.30f, 1.00f, 133, 150, COBALT, false, true);
registerTinkerMaterial("Mindorite", mindorite, mindoriteFluid, 458, 6.41f, 4.40f, 0.90f, 83, 100, TITANITE, false, true);
registerTinkerMaterial("Karmesine", karmesine, karmesineFluid, 627, 6.75f, 5.10f, 0.99f, 0, 200, METEORITE, false, true);
// Material from alloys
registerTinkerMaterial("Nitronite", nitronite, nitroniteFluid, 745, 6.74f, 8.74f, 0.85f, 75, 93, TITANITE, false, true);
registerTinkerMaterial("Bysmuid", bysmuid, bysmuidFluid, 305, 5.22f, 6.47f, 1.09f, -80, 197, COBALT, false, true);
registerTinkerMaterial("Ultranite", ultranite, ultraniteFluid, 1016, 5.72f, 6.76f, 1.02f, -120, 210, VIBRANIUM, false, true);
registerTinkerMaterial("Astrium", astrium, astriumFluid, 670, 5.28f, 9.14f, 0.91f, -45, 170, VIBRANIUM, false, true);
registerTinkerMaterial("Imperomite", imperomite, imperomiteFluid, 770, 11.60f, 3.57f, 1.05f, -38, 125, METEORITE, false, true);
registerTinkerMaterial("Dyonite", dyonite, dyoniteFluid, 733, 6.14f, 7.69f, 0.97f, -15, 140, TITANITE, false, true);
registerTinkerMaterial("Solarium", solarium, solariumFluid, 1020, 13.78f, 4.64f, 1.15f, 0, 150, ADAMANTITE, false, true);
registerTinkerMaterial("Fractoryte", fractoryte, fractoryteFluid, 1071, 7.65f, 7.75f, 1.15f, -250, 283, METEORITE, false, true);
registerTinkerMaterial("Aegisalt", aegisalt, aegisaltFluid, 355, 8.88f, 3.18f, 1.00f, 175, 125, TITANITE, false, true);
registerTinkerMaterial("Noctunyx", noctunyx, noctunyxFluid, 713, 10.43f, 3.25f, 0.99f, -125, 183, METEORITE, false, true);
registerTinkerMaterial("Nucleum", nucleum, nucleumFluid, 503, 11.30f, 3.22f, 1.05f, 100, 125, TITANITE, false, true);
registerTinkerMaterial("Seismodium", seismodium, seismodiumFluid, 879, 13.85f, 4.19f, 1.17f, -75, 169, VIBRANIUM, false, true);
registerTinkerMaterial("Lumixyl", lumixyl, lumixylFluid, 357, 4.64f, 5.92f, 1.05f, 15, 130, COBALT, false, true);
registerTinkerMaterial("Terramite", terramite, terramiteFluid, 482, 7.25f, 2.85f, 1.03f, 208, 150, TITANITE, 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);
Items.register(); // Registers items and its oreDict
Blocks.register(); // Registers blocks and its items form a long with its oreDict
Fluids.register(); // Registers all fluids and its buckets
Fluids.registerfromItem(); // Registers some special smeltery recipes (not alloying)
Alloys.register(); // Registers alloying recipes
registerTinkerMaterials(); // Registers materials and associated fluids and stats into tconstruct
}
@EventHandler
public void init(FMLInitializationEvent e) {
proxy.registerStuff();
GameRegistry.registerWorldGenerator(new ZWorldGen(), 100);
GameRegistry.registerFuelHandler(new FuelHandler());
Smelting.register();
Crafting.register();
proxy.registerModels(); // Registers models on the client side
GameRegistry.registerWorldGenerator(new ZWorldGen(), 100); // Generates ores
GameRegistry.registerFuelHandler(new FuelHandler()); // Registeres fuels' burn times
SmeltingRegistry.register(); // Registers smelting recipes
CraftingRegistry.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");
@@ -107,15 +81,97 @@ public class TAIGA {
}
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) {
/**
* @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));
material.setFluid(fluid).setCraftable(craft).setCastable(cast);
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() {
double d = durabilityFactorGeneral;
System.out.println("DURABILITY FACTOR" + d);
float s = (float) speedFactorGeneral;
System.out.println("SPEED FACTOR" + s);
float a = (float) attackFactorGeneral;
System.out.println("ATTACK FACTOR" + a);
// ARCANE ORES
registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, (int) (223 * d), 6.2f * s, 8.35f * a, 0.63f, 50, 50, OBSIDIAN, false, true);
registerTinkerMaterial("Rubium", rubium, rubiumFluid, (int) (351 * d), 5.15f * s, 7.00f * a, 1.05f, -100, 250, COBALT, false, true);
registerTinkerMaterial("Prometheum", prometheum, prometheumFluid, (int) (539 * d), 3.6f * s, 6.60f, 0.90f, 0, 150, TITANITE, false, true);
registerTinkerMaterial("Arcanite", arcanite, arcaniteFluid, (int) (698 * d), 4.3f * s, 7.88f * a, 0.85f, -50, 150, METEORITE, false, true);
// SOLIDE ORES
registerTinkerMaterial("Titanite", titanite, titaniteFluid, (int) (811 * d), 4.8f * s, 6.40f * a, 1.00f, -50, 150, TITANITE, false, true);
registerTinkerMaterial("Meteorite", meteorite, meteoriteFluid, (int) (823 * d), 6.1f * s, 6.83f * a, 1.20f, -50, 200, METEORITE, false, true);
registerTinkerMaterial("Vibranium", vibranium, vibraniumFluid, (int) (917 * d), 7.45f * s, 7.17f * a, 1.15f, 50, 150, VIBRANIUM, false, true);
registerTinkerMaterial("Adamantite", adamantite, adamantiteFluid, (int) (981 * d), 8.9f * s, 9.11f * a, 1.20f, -200, 300, ADAMANTITE, false, true);
// ETHERE ORES
registerTinkerMaterial("Eternite", eternite, eterniteFluid, (int) (592 * d), 7.35f * s, 1.95f * a, 1.10f, 150, 150, COBALT, false, true);
registerTinkerMaterial("Mythril", mythril, mythrilFluid, (int) (552 * d), 8.75f * s, 2.87f * a, 0.98f, -100, 200, TITANITE, false, true);
registerTinkerMaterial("Palladium", palladium, palladiumFluid, (int) (578 * d), 10.4f * s, 3.13f * a, 1.09f, 0, 100, METEORITE, false, true);
registerTinkerMaterial("Ignitite", ignitite, ignititeFluid, (int) (673 * d), 12.1f * s, 4.10f * a, 1.15f, -50, 150, VIBRANIUM, false, true);
// RATIO ORES
registerTinkerMaterial("Bismuth", bismuth, bismuthFluid, (int) (235 * d), 5.33f * s, 3.80f * a, 1.15f, 17, 117, OBSIDIAN, false, true);
registerTinkerMaterial("Violium", violium, violiumFluid, (int) (427 * d), 4.2f * s, 3.30f * a, 1.00f, 133, 150, COBALT, false, true);
registerTinkerMaterial("Mindorite", mindorite, mindoriteFluid, (int) (458 * d), 6.41f * s, 4.40f * a, 0.90f, 83, 100, TITANITE, false, true);
registerTinkerMaterial("Karmesine", karmesine, karmesineFluid, (int) (627 * d), 6.75f * s, 5.10f * a, 0.99f, 0, 200, METEORITE, false, true);
// Material from alloys
registerTinkerMaterial("Nitronite", nitronite, nitroniteFluid, (int) (745 * d), 6.74f * s, 8.74f * a, 0.85f, 75, 93, TITANITE, false, true);
registerTinkerMaterial("Bysmuid", bysmuid, bysmuidFluid, (int) (305 * d), 5.22f * s, 6.47f * a, 1.09f, -80, 197, COBALT, false, true);
registerTinkerMaterial("Ultranite", ultranite, ultraniteFluid, (int) (1016 * d), 5.72f * s, 6.76f * a, 1.02f, -120, 210, VIBRANIUM, false, true);
registerTinkerMaterial("Astrium", astrium, astriumFluid, (int) (670 * d), 5.28f * s, 9.14f * a, 0.91f, -45, 170, VIBRANIUM, false, true);
registerTinkerMaterial("Imperomite", imperomite, imperomiteFluid, (int) (770 * d), 11.60f * s, 3.57f * a, 1.05f, -38, 125, METEORITE, false, true);
registerTinkerMaterial("Dyonite", dyonite, dyoniteFluid, (int) (733 * d), 6.14f * s, 7.69f * a, 0.97f, -15, 140, TITANITE, false, true);
registerTinkerMaterial("Solarium", solarium, solariumFluid, (int) (1020 * d), 13.78f * s, 4.64f * a, 1.15f, 0, 150, ADAMANTITE, false, true);
registerTinkerMaterial("Fractoryte", fractoryte, fractoryteFluid, (int) (1071 * d), 7.65f * s, 7.75f * a, 1.15f, -250, 283, METEORITE, false, true);
registerTinkerMaterial("Aegisalt", aegisalt, aegisaltFluid, (int) (355 * d), 8.88f * s, 3.18f * a, 1.00f, 175, 125, TITANITE, false, true);
registerTinkerMaterial("Noctunyx", noctunyx, noctunyxFluid, (int) (713 * d), 10.43f * s, 3.25f * a, 0.99f, -125, 183, METEORITE, false, true);
registerTinkerMaterial("Nucleum", nucleum, nucleumFluid, (int) (503 * d), 11.30f * s, 3.22f * a, 1.05f, 100, 125, TITANITE, false, true);
registerTinkerMaterial("Seismodium", seismodium, seismodiumFluid, (int) (879 * d), 13.85f * s, 4.19f * a, 1.17f, -75, 169, VIBRANIUM, false, true);
registerTinkerMaterial("Lumixyl", lumixyl, lumixylFluid, (int) (357 * d), 4.64f * s, 5.92f * a, 1.05f, 15, 130, COBALT, false, true);
registerTinkerMaterial("Terramite", terramite, terramiteFluid, (int) (482 * d), 7.25f * s, 2.85f * a, 1.03f, 208, 150, TITANITE, false, true);
registerTinkerMaterial("Cryptogen", cryptogen, cryptogenFluid, (int) (538 * d), 5.71f * s, 6.93f * a, 0.88f, 58, 117, METEORITE, false, true);
registerTinkerMaterial("Proxideum", proxideum, proxideumFluid, (int) (597 * d), 10.55f * s, 4.21f * a, 0.99f, -60, 200, METEORITE, false, true);
}
}

View File

@@ -0,0 +1,387 @@
package com.sosnitzka.taiga;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class TAIGAConfiguration {
public static final String CATEGORY_NAME_GENERAL = "category_general";
public static final String CATEGORY_NAME_ORE_GEN = "category_ore_gen";
public static final String CATEGORY_NAME_ORE_VAL = "category_ore_val";
public static double oreFactorGeneral;
public static double speedFactorGeneral;
public static double attackFactorGeneral;
public static double durabilityFactorGeneral;
public static double ironFactor;
public static double slagironFactor;
public static double slaggoldFactor;
public static double titaniteFactor;
public static double adamantiteFactor;
public static double arcaniteFactor;
public static double violiumFactor;
public static double bismuthFactor;
public static double eterniteFactor;
public static double ignititeFactor;
public static double karmesineFactor;
public static double meteoriteFactor;
public static double mindoriteFactor;
public static double mythrilFactor;
public static double palladiumFactor;
public static double prometheumFactor;
public static double tiberiumFactor;
public static double vibraniumFactor;
public static double rubiumFactor;
public static double basaltFactor;
public static double rottengroundFactor;
public static double ligniteFactor;
public static boolean slagIronGen;
public static boolean slagGoldGen;
public static boolean ironGen;
private static Configuration config = null;
public static void preInit() {
File configFile = new File(Loader.instance().getConfigDir(), "TAIGA.cfg");
config = new Configuration(configFile);
syncFromFile();
}
public static void clientPreInit() {
MinecraftForge.EVENT_BUS.register(new ConfigEventHandler());
}
public static Configuration getConfig() {
return config;
}
public static void syncFromFile() {
syncConfig(true, true);
}
public static void syncFromGUI() {
syncConfig(false, true);
}
public static void syncFromFields() {
syncConfig(false, false);
}
private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFromConfig) {
if (loadConfigFromFile) {
config.load();
}
/**
* Declaration of general ore generation values: <br>
* Activation of additional ores (iron/gold) <br>
* Ore generation chance multiplier
*/
final boolean GENERATION_DEFAULT_VALUE = true;
final double RESFAC_MIN_VALUE = 0;
final double RESFAC_MAX_VALUE = 9999;
final double RESFAC_DEFAULT_VALUE = 1.0;
Property slagIronSwitch = config.get(CATEGORY_NAME_GENERAL, "SlagIron Switch", GENERATION_DEFAULT_VALUE);
slagIronSwitch.setComment("Switch ore on/off");
slagIronSwitch.setLanguageKey("gui.taiga_configuration.gen_slagiron");
Property slagGoldSwitch = config.get(CATEGORY_NAME_GENERAL, "SlagGold Switch", GENERATION_DEFAULT_VALUE);
slagGoldSwitch.setComment("Switch ore on/off");
slagGoldSwitch.setLanguageKey("gui.taiga_configuration.gen_slaggold");
Property ironSwitch = config.get(CATEGORY_NAME_GENERAL, "Extra Iron Switch", GENERATION_DEFAULT_VALUE);
ironSwitch.setComment("Switch ore on/off");
ironSwitch.setLanguageKey("gui.taiga_configuration.gen_iron");
Property oreFactorGeneralProp = config.get(CATEGORY_NAME_GENERAL, "Ore factor", RESFAC_DEFAULT_VALUE,
"General multiplier for all TAIGA ores at once", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
oreFactorGeneralProp.setLanguageKey("gui.taiga_configuration.ore_multiplier");
Property durabilityFactorGeneralProp = config.get(CATEGORY_NAME_GENERAL, "Durability factor", RESFAC_DEFAULT_VALUE,
"General multiplier for all TAIGA materials", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
durabilityFactorGeneralProp.setLanguageKey("gui.taiga_configuration.durability_multiplier");
durabilityFactorGeneralProp.setRequiresMcRestart(true);
Property speedFactorGeneralProp = config.get(CATEGORY_NAME_GENERAL, "Speed factor", RESFAC_DEFAULT_VALUE,
"General multiplier for all TAIGA materials", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
speedFactorGeneralProp.setLanguageKey("gui.taiga_configuration.speed_multiplier");
speedFactorGeneralProp.setRequiresMcRestart(true);
Property attackFactorGeneralProp = config.get(CATEGORY_NAME_GENERAL, "Attack factor", RESFAC_DEFAULT_VALUE,
"General multiplier for all TAIGA materials", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
attackFactorGeneralProp.setLanguageKey("gui.taiga_configuration.attack_multiplier");
attackFactorGeneralProp.setRequiresMcRestart(true);
List<String> propOrderGeneral = new ArrayList<String>();
propOrderGeneral.add(ironSwitch.getName());
propOrderGeneral.add(slagIronSwitch.getName());
propOrderGeneral.add(slagGoldSwitch.getName());
propOrderGeneral.add(oreFactorGeneralProp.getName());
propOrderGeneral.add(durabilityFactorGeneralProp.getName());
propOrderGeneral.add(speedFactorGeneralProp.getName());
propOrderGeneral.add(attackFactorGeneralProp.getName());
config.setCategoryPropertyOrder(CATEGORY_NAME_GENERAL, propOrderGeneral);
/**
* Declaration of specific ore generation values: <br>
* Generation chance multiplier
*/
Property ironFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Iron factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
ironFactorProp.setLanguageKey("gui.taiga_configuration.titanite_multiplier");
Property slagironFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Slagiorn factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
slagironFactorProp.setLanguageKey("gui.taiga_configuration.titanite_multiplier");
Property slaggoldFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Slaggold factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
slaggoldFactorProp.setLanguageKey("gui.taiga_configuration.titanite_multiplier");
Property titaniteFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Titanite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
titaniteFactorProp.setLanguageKey("gui.taiga_configuration.titanite_multiplier");
Property adamantiteFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Adamantite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
adamantiteFactorProp.setLanguageKey("gui.taiga_configuration.adamantite_multiplier");
Property arcaniteFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Arcanite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
arcaniteFactorProp.setLanguageKey("gui.taiga_configuration.arcanite_multiplier");
Property violiumFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Violium factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
violiumFactorProp.setLanguageKey("gui.taiga_configuration.violium_multiplier");
Property bismuthFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Bismuth factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
bismuthFactorProp.setLanguageKey("gui.taiga_configuration.bismuth_multiplier");
Property eterniteFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Eternite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
eterniteFactorProp.setLanguageKey("gui.taiga_configuration.eternite_multiplier");
Property ignititeFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Ignitite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
ignititeFactorProp.setLanguageKey("gui.taiga_configuration.ignitite_multiplier");
Property karmesineFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Karmesine factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
karmesineFactorProp.setLanguageKey("gui.taiga_configuration.karmesine_multiplier");
Property meteoriteFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Meteorite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
meteoriteFactorProp.setLanguageKey("gui.taiga_configuration.meteorite_multiplier");
Property mindoriteFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Mindorite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
mindoriteFactorProp.setLanguageKey("gui.taiga_configuration.mindorite_multiplier");
Property mythrilFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Mythril factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
mythrilFactorProp.setLanguageKey("gui.taiga_configuration.mythril_multiplier");
Property palladiumFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Palladium factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
palladiumFactorProp.setLanguageKey("gui.taiga_configuration.palladium_multiplier");
Property prometheumFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Prometheum factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
prometheumFactorProp.setLanguageKey("gui.taiga_configuration.prometheum_multiplier");
Property tiberiumFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Tiberium factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
tiberiumFactorProp.setLanguageKey("gui.taiga_configuration.tiberium_multiplier");
Property vibraniumFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Vibranium factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
vibraniumFactorProp.setLanguageKey("gui.taiga_configuration.vibranium_multiplier");
Property rubiumFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Rubium factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
rubiumFactorProp.setLanguageKey("gui.taiga_configuration.rubium_multiplier");
// RottenGround + Basalt
Property basaltFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Basalt factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
basaltFactorProp.setLanguageKey("gui.taiga_configuration.basalt_multiplier");
Property rottengroundFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "RottenGround factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
rottengroundFactorProp.setLanguageKey("gui.taiga_configuration.rottenground_multiplier");
Property ligniteFactorProp = config.get(CATEGORY_NAME_ORE_GEN, "Lignite factor", RESFAC_DEFAULT_VALUE,
"specific generation multiplier", RESFAC_MIN_VALUE, RESFAC_MAX_VALUE);
ligniteFactorProp.setLanguageKey("gui.taiga_configuration.lignite_multiplier");
List<String> propOrderOreGen = new ArrayList<String>();
propOrderOreGen.add(ironFactorProp.getName());
propOrderOreGen.add(slagironFactorProp.getName());
propOrderOreGen.add(slaggoldFactorProp.getName());
propOrderOreGen.add(ligniteFactorProp.getName());
propOrderOreGen.add(basaltFactorProp.getName());
propOrderOreGen.add(rottengroundFactorProp.getName());
propOrderOreGen.add(titaniteFactorProp.getName());
propOrderOreGen.add(adamantiteFactorProp.getName());
propOrderOreGen.add(arcaniteFactorProp.getName());
propOrderOreGen.add(violiumFactorProp.getName());
propOrderOreGen.add(bismuthFactorProp.getName());
propOrderOreGen.add(eterniteFactorProp.getName());
propOrderOreGen.add(ignititeFactorProp.getName());
propOrderOreGen.add(karmesineFactorProp.getName());
propOrderOreGen.add(meteoriteFactorProp.getName());
propOrderOreGen.add(mindoriteFactorProp.getName());
propOrderOreGen.add(mythrilFactorProp.getName());
propOrderOreGen.add(palladiumFactorProp.getName());
propOrderOreGen.add(prometheumFactorProp.getName());
propOrderOreGen.add(tiberiumFactorProp.getName());
propOrderOreGen.add(vibraniumFactorProp.getName());
propOrderOreGen.add(rubiumFactorProp.getName());
config.setCategoryPropertyOrder(CATEGORY_NAME_ORE_GEN, propOrderOreGen);
List<String> propOrderOreVal = new ArrayList<String>();
config.setCategoryPropertyOrder(CATEGORY_NAME_ORE_VAL, propOrderOreVal);
if (readFieldsFromConfig) {
oreFactorGeneral = oreFactorGeneralProp.getDouble(RESFAC_DEFAULT_VALUE);
if (oreFactorGeneral > RESFAC_MAX_VALUE || oreFactorGeneral < RESFAC_MIN_VALUE) {
oreFactorGeneral = RESFAC_DEFAULT_VALUE;
}
durabilityFactorGeneral = durabilityFactorGeneralProp.getDouble(RESFAC_DEFAULT_VALUE);
if (durabilityFactorGeneral > RESFAC_MAX_VALUE || durabilityFactorGeneral < RESFAC_MIN_VALUE) {
durabilityFactorGeneral = RESFAC_DEFAULT_VALUE;
}
speedFactorGeneral = speedFactorGeneralProp.getDouble(RESFAC_DEFAULT_VALUE);
if (speedFactorGeneral > RESFAC_MAX_VALUE || speedFactorGeneral < RESFAC_MIN_VALUE) {
speedFactorGeneral = RESFAC_DEFAULT_VALUE;
}
attackFactorGeneral = attackFactorGeneralProp.getDouble(RESFAC_DEFAULT_VALUE);
if (attackFactorGeneral > RESFAC_MAX_VALUE || attackFactorGeneral < RESFAC_MIN_VALUE) {
attackFactorGeneral = RESFAC_DEFAULT_VALUE;
}
ironGen = ironSwitch.getBoolean(GENERATION_DEFAULT_VALUE);
slagIronGen = slagIronSwitch.getBoolean(GENERATION_DEFAULT_VALUE);
slagGoldGen = slagGoldSwitch.getBoolean(GENERATION_DEFAULT_VALUE);
ironFactor = ironFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (ironFactor > RESFAC_MAX_VALUE || ironFactor < RESFAC_MIN_VALUE) {
ironFactor = RESFAC_DEFAULT_VALUE;
}
slagironFactor = slagironFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (slagironFactor > RESFAC_MAX_VALUE || slagironFactor < RESFAC_MIN_VALUE) {
slagironFactor = RESFAC_DEFAULT_VALUE;
}
slaggoldFactor = slaggoldFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (slaggoldFactor > RESFAC_MAX_VALUE || slaggoldFactor < RESFAC_MIN_VALUE) {
slaggoldFactor = RESFAC_DEFAULT_VALUE;
}
titaniteFactor = titaniteFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (titaniteFactor > RESFAC_MAX_VALUE || titaniteFactor < RESFAC_MIN_VALUE) {
titaniteFactor = RESFAC_DEFAULT_VALUE;
}
adamantiteFactor = adamantiteFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (adamantiteFactor > RESFAC_MAX_VALUE || adamantiteFactor < RESFAC_MIN_VALUE) {
adamantiteFactor = RESFAC_DEFAULT_VALUE;
}
arcaniteFactor = arcaniteFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (arcaniteFactor > RESFAC_MAX_VALUE || arcaniteFactor < RESFAC_MIN_VALUE) {
arcaniteFactor = RESFAC_DEFAULT_VALUE;
}
violiumFactor = violiumFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (violiumFactor > RESFAC_MAX_VALUE || violiumFactor < RESFAC_MIN_VALUE) {
violiumFactor = RESFAC_DEFAULT_VALUE;
}
bismuthFactor = bismuthFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (bismuthFactor > RESFAC_MAX_VALUE || bismuthFactor < RESFAC_MIN_VALUE) {
bismuthFactor = RESFAC_DEFAULT_VALUE;
}
eterniteFactor = eterniteFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (eterniteFactor > RESFAC_MAX_VALUE || eterniteFactor < RESFAC_MIN_VALUE) {
eterniteFactor = RESFAC_DEFAULT_VALUE;
}
ignititeFactor = ignititeFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (ignititeFactor > RESFAC_MAX_VALUE || ignititeFactor < RESFAC_MIN_VALUE) {
ignititeFactor = RESFAC_DEFAULT_VALUE;
}
karmesineFactor = karmesineFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (karmesineFactor > RESFAC_MAX_VALUE || karmesineFactor < RESFAC_MIN_VALUE) {
karmesineFactor = RESFAC_DEFAULT_VALUE;
}
meteoriteFactor = meteoriteFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (meteoriteFactor > RESFAC_MAX_VALUE || meteoriteFactor < RESFAC_MIN_VALUE) {
meteoriteFactor = RESFAC_DEFAULT_VALUE;
}
mindoriteFactor = mindoriteFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (mindoriteFactor > RESFAC_MAX_VALUE || mindoriteFactor < RESFAC_MIN_VALUE) {
mindoriteFactor = RESFAC_DEFAULT_VALUE;
}
mythrilFactor = mythrilFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (mythrilFactor > RESFAC_MAX_VALUE || mythrilFactor < RESFAC_MIN_VALUE) {
mythrilFactor = RESFAC_DEFAULT_VALUE;
}
palladiumFactor = palladiumFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (palladiumFactor > RESFAC_MAX_VALUE || palladiumFactor < RESFAC_MIN_VALUE) {
palladiumFactor = RESFAC_DEFAULT_VALUE;
}
prometheumFactor = prometheumFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (prometheumFactor > RESFAC_MAX_VALUE || prometheumFactor < RESFAC_MIN_VALUE) {
prometheumFactor = RESFAC_DEFAULT_VALUE;
}
tiberiumFactor = tiberiumFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (tiberiumFactor > RESFAC_MAX_VALUE || tiberiumFactor < RESFAC_MIN_VALUE) {
tiberiumFactor = RESFAC_DEFAULT_VALUE;
}
vibraniumFactor = vibraniumFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (vibraniumFactor > RESFAC_MAX_VALUE || vibraniumFactor < RESFAC_MIN_VALUE) {
vibraniumFactor = RESFAC_DEFAULT_VALUE;
}
rubiumFactor = rubiumFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (rubiumFactor > RESFAC_MAX_VALUE || rubiumFactor < RESFAC_MIN_VALUE) {
rubiumFactor = RESFAC_DEFAULT_VALUE;
}
basaltFactor = basaltFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (basaltFactor > RESFAC_MAX_VALUE || basaltFactor < RESFAC_MIN_VALUE) {
basaltFactor = RESFAC_DEFAULT_VALUE;
}
rottengroundFactor = rottengroundFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (rottengroundFactor > RESFAC_MAX_VALUE || rottengroundFactor < RESFAC_MIN_VALUE) {
rottengroundFactor = RESFAC_DEFAULT_VALUE;
}
ligniteFactor = ligniteFactorProp.getDouble(RESFAC_DEFAULT_VALUE);
if (ligniteFactor > RESFAC_MAX_VALUE || ligniteFactor < RESFAC_MIN_VALUE) {
ligniteFactor = RESFAC_DEFAULT_VALUE;
}
}
ironSwitch.set(ironGen);
slagIronSwitch.set(slagIronGen);
slagGoldSwitch.set(slagGoldGen);
oreFactorGeneralProp.set(oreFactorGeneral);
durabilityFactorGeneralProp.set(durabilityFactorGeneral);
speedFactorGeneralProp.set(speedFactorGeneral);
attackFactorGeneralProp.set(attackFactorGeneral);
titaniteFactorProp.set(titaniteFactor);
adamantiteFactorProp.set(adamantiteFactor);
arcaniteFactorProp.set(arcaniteFactor);
violiumFactorProp.set(violiumFactor);
bismuthFactorProp.set(bismuthFactor);
eterniteFactorProp.set(eterniteFactor);
ignititeFactorProp.set(ignititeFactor);
karmesineFactorProp.set(karmesineFactor);
meteoriteFactorProp.set(meteoriteFactor);
mindoriteFactorProp.set(mindoriteFactor);
mythrilFactorProp.set(mythrilFactor);
palladiumFactorProp.set(palladiumFactor);
prometheumFactorProp.set(prometheumFactor);
tiberiumFactorProp.set(tiberiumFactor);
vibraniumFactorProp.set(vibraniumFactor);
rubiumFactorProp.set(rubiumFactor);
basaltFactorProp.set(basaltFactor);
rottengroundFactorProp.set(rottengroundFactor);
ligniteFactorProp.set(ligniteFactor);
if (config.hasChanged()) {
config.save();
}
}
public static class ConfigEventHandler {
@SubscribeEvent(priority = EventPriority.NORMAL)
public void onEvent(ConfigChangedEvent.OnConfigChangedEvent event) {
if (TAIGA.MODID.equals(event.getModID()) && !event.isWorldRunning()) {
if (event.getConfigID().equals(CATEGORY_NAME_GENERAL) || event.getConfigID().equals(CATEGORY_NAME_ORE_GEN) || event.getConfigID().equals(CATEGORY_NAME_ORE_VAL)) {
syncFromGUI();
}
}
}
}
}

View File

@@ -0,0 +1,100 @@
package com.sosnitzka.taiga;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.I18n;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.client.IModGuiFactory;
import net.minecraftforge.fml.client.config.DummyConfigElement;
import net.minecraftforge.fml.client.config.GuiConfig;
import net.minecraftforge.fml.client.config.GuiConfigEntries;
import net.minecraftforge.fml.client.config.IConfigElement;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class TAIGAGuiFactory implements IModGuiFactory {
@Override
public void initialize(Minecraft minecraftInstance) {
}
@Override
public Class<? extends GuiScreen> mainConfigGuiClass() {
return TAIGAConfigGui.class;
}
@Override
public Set<RuntimeOptionCategoryElement> runtimeGuiCategories() {
return null;
}
@Override
public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) {
return null;
}
public static class TAIGAConfigGui extends GuiConfig {
public TAIGAConfigGui(GuiScreen parentScreen) {
super(parentScreen, getConfigElements(), TAIGA.MODID, false, false, I18n.format("gui.taiga_configuration.mainTitle"));
}
private static List<IConfigElement> getConfigElements() {
List<IConfigElement> list = new ArrayList<IConfigElement>();
list.add(new DummyConfigElement.DummyCategoryElement("Basics configuration", "gui.taiga_configuration.ctgy.general", CategoryEntryGeneral.class));
list.add(new DummyConfigElement.DummyCategoryElement("Specific ore generation", "gui.taiga_configuration.ctgy.oregen", CategoryEntryOreGen.class));
//list.add(new DummyConfigElement.DummyCategoryElement("Specific ore values", "gui.taiga_configuration.ctgy.oreval", CategoryEntryOreVal.class));
return list;
}
public static class CategoryEntryGeneral extends GuiConfigEntries.CategoryEntry {
public CategoryEntryGeneral(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop) {
super(owningScreen, owningEntryList, prop);
}
@Override
protected GuiScreen buildChildScreen() {
Configuration configuration = TAIGAConfiguration.getConfig();
ConfigElement cat_general = new ConfigElement(configuration.getCategory(TAIGAConfiguration.CATEGORY_NAME_GENERAL));
List<IConfigElement> propertiesOnThisScreen = cat_general.getChildElements();
String windowTitle = configuration.toString();
return new GuiConfig(this.owningScreen, propertiesOnThisScreen, this.owningScreen.modID, TAIGAConfiguration.CATEGORY_NAME_GENERAL, this.configElement.requiresWorldRestart() || this.owningScreen.allRequireWorldRestart, this.configElement.requiresMcRestart() || this.owningScreen.allRequireMcRestart, windowTitle);
}
}
public static class CategoryEntryOreGen extends GuiConfigEntries.CategoryEntry {
public CategoryEntryOreGen(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop) {
super(owningScreen, owningEntryList, prop);
}
@Override
protected GuiScreen buildChildScreen() {
Configuration configuration = TAIGAConfiguration.getConfig();
ConfigElement cat_general = new ConfigElement(configuration.getCategory(TAIGAConfiguration.CATEGORY_NAME_ORE_GEN));
List<IConfigElement> propertiesOnThisScreen = cat_general.getChildElements();
String windowTitle = configuration.toString();
return new GuiConfig(this.owningScreen, propertiesOnThisScreen, this.owningScreen.modID, TAIGAConfiguration.CATEGORY_NAME_ORE_GEN, this.configElement.requiresWorldRestart() || this.owningScreen.allRequireWorldRestart, this.configElement.requiresMcRestart() || this.owningScreen.allRequireMcRestart, windowTitle);
}
}
public static class CategoryEntryOreVal extends GuiConfigEntries.CategoryEntry {
public CategoryEntryOreVal(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop) {
super(owningScreen, owningEntryList, prop);
}
@Override
protected GuiScreen buildChildScreen() {
Configuration configuration = TAIGAConfiguration.getConfig();
ConfigElement cat_general = new ConfigElement(configuration.getCategory(TAIGAConfiguration.CATEGORY_NAME_ORE_VAL));
List<IConfigElement> propertiesOnThisScreen = cat_general.getChildElements();
String windowTitle = configuration.toString();
return new GuiConfig(this.owningScreen, propertiesOnThisScreen, this.owningScreen.modID, TAIGAConfiguration.CATEGORY_NAME_ORE_VAL, this.configElement.requiresWorldRestart() || this.owningScreen.allRequireWorldRestart, this.configElement.requiresMcRestart() || this.owningScreen.allRequireMcRestart, windowTitle);
}
}
}
}

View File

@@ -9,11 +9,10 @@ import net.minecraft.util.math.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Random;
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 {
@@ -31,18 +30,13 @@ public class BlockLignite extends BasicBlock {
}
@Override
@ParametersAreNonnullByDefault
public int quantityDropped(IBlockState state, int fortune, Random random) {
return MathHelper.getRandomIntegerInRange(random, 1, 3 + fortune);
return random.nextInt(3) + 1 + fortune;
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
int r = RANDOM.nextInt(3);
if (r == 0) {
return lignite;
} else if (r == 1) {
return lignite2;
} else
return lignite3;
}
}

View File

@@ -11,6 +11,7 @@ import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Random;
import static com.sosnitzka.taiga.util.Utils.PREFIX_ORE;
@@ -25,16 +26,15 @@ public class BlockTiberium extends BasicBlock {
@Override
public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune) {
Random rand = world instanceof World ? ((World) world).rand : new Random();
int r = RANDOM.nextInt(11);
if (r > 7) {
return MathHelper.getRandomIntegerInRange(rand, 0, 10) + fortune;
if (random.nextBoolean()) {
return random.nextInt(10) + fortune;
} else return 0;
}
@Override
@ParametersAreNonnullByDefault
public int quantityDropped(IBlockState state, int fortune, Random random) {
return MathHelper.getRandomIntegerInRange(random, 1, MathHelper.getRandomIntegerInRange(random, 2, 4 + fortune));
return (random.nextInt(3 + fortune) + 1);
}
@Override
@@ -59,5 +59,4 @@ public class BlockTiberium extends BasicBlock {
}
}
}
}

View File

@@ -36,5 +36,4 @@ public class BasicBlock extends Block {
public String getOreDictPrefix() {
return this.oreDictPrefix;
}
}

View File

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

View File

@@ -4,12 +4,17 @@ import net.minecraft.util.ResourceLocation;
import slimeknights.tconstruct.library.Util;
import slimeknights.tconstruct.library.fluid.FluidMolten;
/**
* A "wrapper" for FluidMolten that makes construction and manipulation easier
*/
public class BasicTinkerFluid extends FluidMolten {
private boolean toolForge;
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"));
//Settings
this.setUnlocalizedName(Util.prefix(fluidName));
this.setTemperature(temp);
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

@@ -3,6 +3,7 @@ package com.sosnitzka.taiga.proxy;
import com.sosnitzka.taiga.Blocks;
import com.sosnitzka.taiga.Items;
import com.sosnitzka.taiga.TAIGA;
import com.sosnitzka.taiga.TAIGAConfiguration;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
@@ -24,7 +25,7 @@ import java.lang.reflect.Field;
import static com.sosnitzka.taiga.MaterialTraits.*;
public class ClientProxy extends ServerProxy {
public class ClientProxy extends CommonProxy {
private static void registerBlockModel(Block block) {
registerItemModel(Item.getItemFromBlock(block));
@@ -35,14 +36,13 @@ public class ClientProxy extends ServerProxy {
}
@Override
public void registerStuff() {
public void registerModels() {
Field[] itemFields = Items.class.getDeclaredFields();
for (Field field : itemFields) {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
Class<?> targetType = field.getType();
try {
Item item = (Item) field.get(targetType);
registerItemModel(item);
} catch (IllegalAccessException e) {
e.printStackTrace();
@@ -56,7 +56,6 @@ public class ClientProxy extends ServerProxy {
Class<?> targetType = field.getType();
try {
Block block = (Block) field.get(targetType);
registerBlockModel(block);
} catch (IllegalAccessException e) {
e.printStackTrace();
@@ -66,26 +65,29 @@ public class ClientProxy extends ServerProxy {
}
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);
else if (material == solarium) renderTo(material, 0xffff00, 0.6f, 1.8f, 0.0f);
else if (material == proxideum) renderTo(material, 0x2d8f8b, 0.4f, 0.3f, 0.1f);
else if (material == tiberium) renderTo(material, 0x33ff33, 0.5f, 0.2f, 0.1f);
else if (material == bismuth) renderTo(material, 0xffffff, 0.4f, 0.2f, 0.0f);
else if (material == dyonite) renderTo(material, 0xffe240, 0.6f, 0.8f, 0.2f);
if (material.equals(adamantite)) specialRender(material, 0xd55cdf, 0.5f, 0.6f, 0.2f);
else if (material.equals(solarium)) specialRender(material, 0xFFDD11, 0.7f, 0.3f, 0.1f);
else if (material.equals(proxideum)) specialRender(material, 0x2d8f8b, 0.4f, 0.3f, 0.1f);
else if (material.equals(meteorite)) specialRender(material, 0xaaaaaa, 0.6f, 0.8f, 0.0f);
else if (material.equals(tiberium)) specialRender(material, 0x33ff33, 0.5f, 0.2f, 0.1f);
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 {
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() {
@Override
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);
}
});
}
@@ -111,6 +113,12 @@ public class ClientProxy extends ServerProxy {
}
}
@Override
public void initConfig() {
super.initConfig();
TAIGAConfiguration.clientPreInit();
}
public static class FluidStateMapper extends StateMapperBase implements ItemMeshDefinition {
public final Fluid fluid;

View File

@@ -1,11 +1,12 @@
package com.sosnitzka.taiga.proxy;
import com.sosnitzka.taiga.TAIGAConfiguration;
import net.minecraftforge.fluids.Fluid;
import slimeknights.tconstruct.library.materials.Material;
public class ServerProxy {
public class CommonProxy {
public void registerStuff() {
public void registerModels() {
}
@@ -15,4 +16,8 @@ public class ServerProxy {
public void registerFluidModels(Fluid fluid) {
}
public void initConfig() {
TAIGAConfiguration.preInit();
}
}

View File

@@ -1,20 +1,16 @@
package com.sosnitzka.taiga.recipes;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
import static com.sosnitzka.taiga.Items.*;
import static slimeknights.tconstruct.shared.TinkerCommons.matNecroticBone;
public class Crafting {
public class CraftingRegistry {
public static void register() {
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(glimmerstone_dust), luminar_dust, Items.BLAZE_POWDER);
@@ -30,8 +26,5 @@ public class Crafting {
GameRegistry.addShapelessRecipe(new ItemStack(nitro_brick), fuel_brick, Items.GUNPOWDER, Items.BLAZE_POWDER);
GameRegistry.addShapelessRecipe(new ItemStack(anthracite_dust), matNecroticBone, Items.COAL, Items.GUNPOWDER);
GameRegistry.addShapelessRecipe(new ItemStack(spectrum_dust), matNecroticBone, glimmerstone_dust);
}
}

View File

@@ -1,40 +0,0 @@
package com.sosnitzka.taiga.recipes;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
import org.apache.commons.lang3.RandomUtils;
import static com.sosnitzka.taiga.Blocks.*;
import static com.sosnitzka.taiga.Items.*;
public class Smelting {
public static void register() {
GameRegistry.addSmelting(slagironOre, new ItemStack(slagironIngot), 1.0F);
GameRegistry.addSmelting(slaggoldOre, new ItemStack(slaggoldIngot), 1.0F);
GameRegistry.addSmelting(slagironIngot, new ItemStack(iron_nugget), 0);
GameRegistry.addSmelting(slaggoldIngot, new ItemStack(Items.GOLD_NUGGET), 0);
GameRegistry.addSmelting(tiberiumShardInstable, new ItemStack(tiberiumShardStable), 0.2F);
GameRegistry.addSmelting(tiberiumOre, new ItemStack(tiberiumShardStable, 3), 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(adamantiteOre, new ItemStack(adamantiteIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(violiumOre, new ItemStack(violiumIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(bismuthOre, new ItemStack(bismuthIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(eterniteOre, new ItemStack(eterniteIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(ignititeOre, new ItemStack(ignititeIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(karmesineOre, new ItemStack(karmesineIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(meteoriteOre, new ItemStack(meteoriteIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(mindoriteOre, new ItemStack(mindoriteIngot), 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(prometheumOre, new ItemStack(prometheumIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(vibraniumOre, new ItemStack(vibraniumIngot), RandomUtils.nextFloat(0F, 2F));
GameRegistry.addSmelting(rubiumOre, new ItemStack(rubiumIngot), RandomUtils.nextFloat(0F, 2F));
*/
}
}

View File

@@ -0,0 +1,20 @@
package com.sosnitzka.taiga.recipes;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
import static com.sosnitzka.taiga.Blocks.*;
import static com.sosnitzka.taiga.Items.*;
public class SmeltingRegistry {
public static void register() {
GameRegistry.addSmelting(slagironOre, new ItemStack(slagironIngot), 1.0F);
GameRegistry.addSmelting(slagironIngot, new ItemStack(iron_nugget), 0);
GameRegistry.addSmelting(slaggoldIngot, new ItemStack(Items.GOLD_NUGGET), 0);
GameRegistry.addSmelting(slaggoldOre, new ItemStack(slaggoldIngot), 1.0F);
GameRegistry.addSmelting(tiberiumOre, new ItemStack(tiberiumShardInstable, 6), (2F));
GameRegistry.addSmelting(tiberiumShardInstable, new ItemStack(tiberiumIngot), (.1F));
}
}

View File

@@ -52,7 +52,7 @@ public class TraitAnalysing extends AbstractTrait {
}
private int getUpdateXP(int xp) {
float exp = (float) random.nextFloat() * random.nextFloat() * random.nextFloat() * (xp + 18) * 50;
float exp = random.nextFloat() * random.nextFloat() * random.nextFloat() * (xp + 18) * 50;
return Math.round(exp);
}
@@ -62,5 +62,4 @@ public class TraitAnalysing extends AbstractTrait {
event.getDrops().clear();
}
}
}

View File

@@ -9,6 +9,8 @@ import net.minecraft.world.World;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitArcane extends AbstractTrait {
public TraitArcane() {
@@ -30,13 +32,4 @@ public class TraitArcane extends AbstractTrait {
ToolHelper.healTool(tool, random.nextInt(15) + 1, null);
}
}
public boolean isNight(int time) {
if (time > 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -10,6 +10,8 @@ import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitBlind extends AbstractTrait {
public TraitBlind() {
@@ -37,12 +39,4 @@ public class TraitBlind extends AbstractTrait {
player.addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, random.nextInt(400) + 200));
}
}
public boolean isNight(int time) {
if (time > 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -12,6 +12,8 @@ import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitBright extends AbstractTrait {
@@ -22,7 +24,7 @@ public class TraitBright extends AbstractTrait {
@Override
public float damage(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, float newDamage, boolean isCritical) {
int time = (int) target.getEntityWorld().getWorldTime();
if (isDay(time)) {
if (!isNight(time)) {
newDamage += damage / 2f;
}
return super.damage(tool, player, target, damage, newDamage, isCritical);
@@ -37,14 +39,5 @@ public class TraitBright extends AbstractTrait {
e.addPotionEffect(new PotionEffect(MobEffects.GLOWING, 100));
}
}
}
public boolean isDay(int time) {
if (time < 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -23,7 +23,8 @@ public class TraitCascade extends AbstractTrait {
sx = x = pos.getX();
sy = y = pos.getY();
sz = z = pos.getZ();
for (int i = random.nextInt((int) Math.max(ToolHelper.getCurrentDurability(tool) * 1.5f, 100) + 10); i > 0; i--) {
int i = random.nextInt((int) Math.min(300f * (float) ToolHelper.getCurrentDurability(tool) / ToolHelper.getMaxDurability(tool), 50f));
for (int a = i; a > 0; a--) {
int r = random.nextInt(3);
int d = random.nextBoolean() ? 1 : -1;
if (r == 0) x += d;

View File

@@ -21,10 +21,6 @@ import slimeknights.tconstruct.library.utils.TinkerUtil;
public class TraitCurvature extends AbstractTrait {
private static BlockPos pos = new BlockPos(0, 0, 0);
public TraitCurvature() {
super("curvature", TextFormatting.BLACK);
MinecraftForge.EVENT_BUS.register(this);
@@ -36,7 +32,7 @@ public class TraitCurvature extends AbstractTrait {
return;
}
if (random.nextFloat() <= 0.01 && world.provider.getDimension() != -1) {
teleport(player, world, 5);
teleport(player, world);
player.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
}
}
@@ -44,10 +40,9 @@ public class TraitCurvature extends AbstractTrait {
@Override
public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) {
World w = player.getEntityWorld();
if (random.nextFloat() <= 0.3) {
target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
changepos(player, target);
changePos(player, target);
}
}
@@ -64,7 +59,7 @@ public class TraitCurvature extends AbstractTrait {
}
}
private void teleport(EntityLivingBase e, World w, int max) {
private void teleport(EntityLivingBase e, World w) {
int x = e.getPosition().getX() + random.nextInt(250) - 125;
int y = e.getPosition().getY();
int z = e.getPosition().getZ() + random.nextInt(250) - 125;
@@ -78,11 +73,10 @@ public class TraitCurvature extends AbstractTrait {
e.setPosition(x, y, z);
}
private void changepos(EntityLivingBase player, EntityLivingBase target) {
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

@@ -5,6 +5,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitDark extends AbstractTrait {
@@ -21,12 +23,4 @@ public class TraitDark extends AbstractTrait {
return super.damage(tool, player, target, damage, newDamage, isCritical);
}
public boolean isNight(int time) {
if (time > 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -33,10 +33,9 @@ public class TraitDiffuse extends AbstractTrait {
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent event) {
EntityPlayer player = event.getPlayer();
if (!player.getEntityWorld().isRemote && player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) {
if (!player.getEntityWorld().isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) {
event.setExpToDrop(this.getUpdateXP(event.getExpToDrop()));
}
}
@SubscribeEvent
@@ -51,7 +50,7 @@ public class TraitDiffuse extends AbstractTrait {
}
private int getUpdateXP(int xp) {
float exp = (float) random.nextFloat() * random.nextFloat() * random.nextFloat() * (xp + random.nextInt(10));
float exp = random.nextFloat() * random.nextFloat() * random.nextFloat() * (xp + random.nextInt(10));
if (random.nextBoolean())
return Math.round(exp);
else return 0;
@@ -63,5 +62,4 @@ public class TraitDiffuse extends AbstractTrait {
event.getDrops().clear();
}
}
}

View File

@@ -24,7 +24,6 @@ public class TraitFracture extends AbstractTrait {
float b = 0.99F * calcBonus(tool);
if (!world.isRemote && tool.canHarvestBlock(state) && f <= b) {
RayTraceResult mop = ((ToolCore) tool.getItem()).rayTrace(world, (EntityPlayer) player, false);
if (mop == null) return;
for (int i = random.nextInt(9) + 1; i >= 0; i--) {
switch (mop.sideHit) {
case UP:

View File

@@ -40,7 +40,6 @@ public class TraitFragile extends AbstractTrait {
if (r == 1) y += d;
if (r == 2) z += d;
BlockPos nextBlock = new BlockPos(x, y, z);
int tn = (int) world.getWorldTime() + 5;
if (world.getBlockState(nextBlock) == world.getBlockState(pos)) {
Block block = Blocks.STONE;
int ib = random.nextInt(3);
@@ -78,7 +77,6 @@ public class TraitFragile extends AbstractTrait {
}
}
private float calcBonus(ItemStack tool) {
int durability = ToolHelper.getCurrentDurability(tool);
int maxDurability = ToolHelper.getMaxDurability(tool);

View File

@@ -34,7 +34,7 @@ public class TraitGarishly extends AbstractTrait {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
int r = random.nextInt(5);
int r = random.nextInt(6);
ItemStack i = null;
switch (r) {
case 0:
@@ -56,7 +56,7 @@ public class TraitGarishly extends AbstractTrait {
i = new ItemStack(lignite, random.nextInt(3));
break;
}
assert i != null;
event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i));
}
}
@@ -67,7 +67,7 @@ public class TraitGarishly extends AbstractTrait {
float r = random.nextFloat();
if (r > 0.5f) event.getDrops().clear();
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));
@SuppressWarnings("ConstantConditions") ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), random.nextInt(3));
event.getDrops().add(0, stack);
ToolHelper.damageTool(tool, random.nextInt(6) + 1, event.getHarvester());
}

View File

@@ -11,6 +11,8 @@ import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitHaunted extends AbstractTrait {
public TraitHaunted() {
@@ -18,7 +20,6 @@ public class TraitHaunted extends AbstractTrait {
MinecraftForge.EVENT_BUS.register(this);
}
// Just several tested Vanilla-Mobs, e.g. no ghasts, bats or skeletons
@Override
public void onHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean isCritical) {
@@ -33,12 +34,4 @@ public class TraitHaunted extends AbstractTrait {
}
}
public boolean isNight(int time) {
if (time > 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -16,7 +16,7 @@ public class TraitHeroic extends AbstractTrait {
public float damage(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, float newDamage, boolean isCritical) {
int durability = ToolHelper.getCurrentDurability(tool);
int durabilitymax = ToolHelper.getMaxDurability(tool);
float calc = (float) (newDamage + (newDamage / 2) / (durability * durabilitymax / (durabilitymax - durability - 1)));
float calc = newDamage + (newDamage / 2) / (durability * durabilitymax / (durabilitymax - durability - 1));
if ((float) durability < (float) (0.10 * durabilitymax) || player.getHealth() < player.getMaxHealth() / 8 || (target.getHealth() == target.getMaxHealth() && random.nextFloat() > 0.8)) {
return super.damage(tool, player, target, damage, calc, isCritical);
} else return super.damage(tool, player, target, damage, newDamage, isCritical);

View File

@@ -15,6 +15,8 @@ import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitHollow extends AbstractTrait {
public TraitHollow() {
@@ -45,12 +47,4 @@ public class TraitHollow extends AbstractTrait {
}
}
}
public boolean isNight(int time) {
if (time > 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -7,9 +7,7 @@ import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.event.world.BlockEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait;
/**
* Created by Robert on 03.06.2016.
*/
public class TraitMelting extends AbstractTrait {
public TraitMelting() {
@@ -24,8 +22,6 @@ public class TraitMelting extends AbstractTrait {
event.getWorld().setBlockState(event.getPos(), Blocks.LAVA.getDefaultState());
}
}
}

View File

@@ -6,7 +6,6 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
@@ -19,8 +18,6 @@ import slimeknights.tconstruct.library.utils.ToolHelper;
public class TraitNatureBound extends AbstractTrait {
public static DamageSource splinter = new DamageSource("splinter").setDamageBypassesArmor();
private static int chance = 20;
public TraitNatureBound() {
super("naturebound", TextFormatting.GREEN);
@@ -36,6 +33,7 @@ public class TraitNatureBound extends AbstractTrait {
@Override
public void onUpdate(ItemStack tool, World world, Entity entity, int itemSlot, boolean isSelected) {
// *20 because 20 ticks in a second
int chance = 20;
if (!world.isRemote && entity instanceof EntityLivingBase && random.nextInt(30 * chance) == 0) {
ToolHelper.healTool(tool, random.nextInt(9) + 1, (EntityLivingBase) entity);
}
@@ -50,9 +48,4 @@ public class TraitNatureBound extends AbstractTrait {
e.getPlayer().playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
}
}
}

View File

@@ -28,12 +28,10 @@ public class TraitPulverizing extends AbstractTrait {
return speed * (maxDurability - maxDurability / 10) / (durability);
}
@Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
if (random.nextFloat() < 0.9) {
event.getDrops().clear();
}
}
}

View File

@@ -31,7 +31,7 @@ public class TraitRandomize extends AbstractTrait {
@Override
public void miningSpeed(ItemStack tool, PlayerEvent.BreakSpeed event) {
if (ToolHelper.isToolEffective2(tool, event.getState())) {
event.setNewSpeed((float) (event.getNewSpeed() + random.nextFloat() * 2));
event.setNewSpeed(event.getNewSpeed() + random.nextFloat() * 2);
}
}
@@ -113,13 +113,15 @@ public class TraitRandomize extends AbstractTrait {
}
e.setPosition(target.getPosition().getX(), target.getPosition().getY() + 0.1f, target.getPosition().getZ());
e.setCustomNameTag("Missingno");
((EntityLiving) e).setHealth(((EntityLiving) e).getHealth() * (random.nextInt(5) + 1));
if (e instanceof EntityLiving)
((EntityLiving) e).setHealth(((EntityLiving) e).getHealth() * (random.nextInt(5) + 1));
w.spawnEntityInWorld(e);
target.setDead();
}
}
}
@SuppressWarnings("ConstantConditions")
@Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
float r = random.nextFloat();

View File

@@ -18,8 +18,6 @@ public class TraitResonance extends AbstractTrait {
target.knockBack(target, random.nextFloat() * random.nextFloat() * 12, player.posX - target.posX, player.posZ - target.posZ);
}
}
}

View File

@@ -18,10 +18,9 @@ import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
import static com.sosnitzka.taiga.util.Utils.isNight;
/**
* Created by Robert on 03.06.2016.
*/
public class TraitReviving extends AbstractTrait {
public TraitReviving() {
@@ -38,6 +37,7 @@ public class TraitReviving extends AbstractTrait {
if (isNight((int) w.getWorldTime()) && random.nextFloat() > 0.85 && TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getEntity()).getHeldItemMainhand()), identifier)) {
String name = EntityList.getEntityString(e.getEntity());
Entity ent = EntityList.createEntityByName(name, w);
assert ent != null;
ent.setPosition(pos.getX(), pos.getY(), pos.getZ());
w.spawnEntityInWorld(ent);
}
@@ -60,13 +60,4 @@ public class TraitReviving extends AbstractTrait {
ToolHelper.healTool(tool, random.nextInt(15) + 1, null);
}
}
public boolean isNight(int time) {
if (time > 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -29,11 +29,8 @@ public class TraitSlaughtering extends AbstractTrait {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && event.getEntity() instanceof EntityLiving && !(event.getEntity() instanceof EntityPlayer) && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
Item i = event.getDrops().get(random.nextInt(event.getDrops().size())).getEntityItem().getItem();
if (i != null) {
event.getDrops().add(new EntityItem(event.getEntity().getEntityWorld(), event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, new ItemStack(i, random.nextInt(4) + 1)));
}
event.getDrops().add(new EntityItem(event.getEntity().getEntityWorld(), event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, new ItemStack(i, random.nextInt(4) + 1)));
}
}
}
}

View File

@@ -25,8 +25,6 @@ public class TraitSofty extends AbstractTrait {
ToolHelper.healTool(tool, random.nextInt(10), player);
}
}
}

View File

@@ -11,6 +11,4 @@ public class TraitTraditional extends AbstractTrait {
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 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 {
@@ -57,10 +58,10 @@ public class TraitUncertain extends AbstractTrait {
i = new ItemStack(Items.GUNPOWDER, random.nextInt(4));
break;
case 1:
i = new ItemStack(tiberiumShardStable, random.nextInt(4));
i = new ItemStack(tiberiumShardInstable, random.nextInt(4));
break;
case 2:
i = new ItemStack(tiberiumShardStable, random.nextInt(4));
i = new ItemStack(tiberium_nugget, random.nextInt(12));
break;
case 3:
i = new ItemStack(glimmerstone_dust, random.nextInt(4));

View File

@@ -13,7 +13,7 @@ import net.minecraft.world.World;
public class EntityAIPermanentPanic extends EntityAIBase {
private EntityCreature theEntityCreature;
protected double speed;
private double speed;
private double randPosX;
private double randPosY;
private double randPosZ;
@@ -45,10 +45,10 @@ public class EntityAIPermanentPanic extends EntityAIBase {
this.randPosY = (double) blockpos.getY();
this.randPosZ = (double) blockpos.getZ();
}
}
}
return true;
}
}
}

View File

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

View File

@@ -18,7 +18,7 @@ public class StateMatcher implements Predicate<IBlockState> {
this.value = value;
}
public static StateMatcher forState(IBlockState state, IProperty property, Comparable value) {
static StateMatcher forState(IBlockState state, IProperty property, Comparable value) {
return new StateMatcher(state, property, value);
}

View File

@@ -16,12 +16,20 @@ public class Utils {
public static String PREFIX_ORE = "ore";
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) {
GameRegistry.register(block);
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) {
FluidRegistry.registerFluid(fluid);
FluidRegistry.addBucketForFluid(fluid);
@@ -70,4 +78,8 @@ public class Utils {
message.setTag("alloy", tagList);
FMLInterModComms.sendMessage("tconstruct", "alloy", message);
}
public static boolean isNight(int time) {
return time > 12500;
}
}

View File

@@ -11,45 +11,55 @@ import net.minecraftforge.fml.common.IWorldGenerator;
import java.util.Random;
import static com.sosnitzka.taiga.Blocks.*;
import static com.sosnitzka.taiga.TAIGAConfiguration.*;
public class ZWorldGen implements IWorldGenerator {
private void nether(Random random, int x, int z, World world) {
Generator.generateNetherOre(adamantiteOre.getDefaultState(), random, x, z, world, 30, 1, 32, 2, 8);
Generator.generateNetherOre(tiberiumOre.getDefaultState(), random, x, z, world, 20, 1, 128, 7, 15);
Generator.generateNetherOre(palladiumOre.getDefaultState(), random, x, z, world, 30, 32, 64, 2, 7);
Generator.generateNetherOre(prometheumOre.getDefaultState(), random, x, z, world, 30, 32, 64, 2, 6);
Generator.generateNetherOre(titaniteOre.getDefaultState(), random, x, z, world, (int) (35 * titaniteFactor * oreFactorGeneral), 1, 64, 2, 12);
Generator.generateNetherOre(tiberiumOre.getDefaultState(), random, x, z, world, (int) (30 * tiberiumFactor * oreFactorGeneral), 0, 128, 2, 15);
Generator.generateNetherOre(palladiumOre.getDefaultState(), random, x, z, world, (int) (35 * palladiumFactor * oreFactorGeneral), 32, 64, 2, 6);
Generator.generateNetherOre(prometheumOre.getDefaultState(), random, x, z, world, (int) (35 * prometheumFactor * oreFactorGeneral), 64, 128, 2, 6);
}
private void world(Random random, int x, int z, World world) {
Generator.generateOre(slagironOre.getDefaultState(), random, x, z, world, 45, 8, 96, 5, 12);
Generator.generateOre(slaggoldOre.getDefaultState(), random, x, z, world, 30, 8, 48, 4, 8);
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, 8);
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(vibraniumOre.getDefaultState(), random, x, z, world, 30, 48, 64, 2, 8);
Generator.generateOre(karmesineOre.getDefaultState(), random, x, z, world, 35, 16, 48, 2, 7);
Generator.generateOre(bismuthOre.getDefaultState(), random, x, z, world, 60, 50, 130, 2, 4);
Generator.generateOre(mythrilOre.getDefaultState(), random, x, z, world, 33, 16, 32, 2, 8);
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, 150, 16, 96, 2, 8);
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, 150, 16, 96, 2, 8);
// Optional
if (slagIronGen) {
Generator.generateOre(slagironOre.getDefaultState(), random, x, z, world, (int) (45 * slagironFactor * oreFactorGeneral), 0, 128, 2, 12);
}
if (slagGoldGen) {
Generator.generateOre(slaggoldOre.getDefaultState(), random, x, z, world, (int) (20 * slaggoldFactor * oreFactorGeneral), 0, 32, 2, 12);
}
if (ironGen) {
Generator.generateOre(Blocks.IRON_ORE.getDefaultState(), random, x, z, world, (int) (30 * ironFactor * oreFactorGeneral), 0, 128, 1, 9);
}
// to be integrated mod specific
Generator.generateOre(basalt.getDefaultState(), Blocks.LAVA.getDefaultState(), random, x, z, world, (int) (125 * basaltFactor * oreFactorGeneral), 0, 28, 2, 4);
Generator.generateOre(rottenGround.getDefaultState(), Blocks.DIRT.getDefaultState(), random, x, z, world, (int) (25 * rottengroundFactor * oreFactorGeneral), 50, 70, 2, 15);
Generator.generateOre(ligniteOre.getDefaultState(), random, x, z, world, (int) (30 * ligniteFactor * oreFactorGeneral), 8, 96, 2, 12);
Generator.generateOre(vibraniumOre.getDefaultState(), random, x, z, world, (int) (30 * vibraniumFactor * oreFactorGeneral), 48, 64, 2, 8);
Generator.generateOre(karmesineOre.getDefaultState(), random, x, z, world, (int) (35 * karmesineFactor * oreFactorGeneral), 16, 48, 2, 8);
Generator.generateOre(bismuthOre.getDefaultState(), random, x, z, world, (int) (40 * bismuthFactor * oreFactorGeneral), 50, 130, 2, 4);
Generator.generateOre(mythrilOre.getDefaultState(), random, x, z, world, (int) (34 * mythrilFactor * oreFactorGeneral), 16, 32, 2, 8);
Generator.generateOre(meteoriteOre.getDefaultState(), random, x, z, world, (int) (10 * meteoriteFactor * oreFactorGeneral), 0, 32, 2, 25);
Generator.generateOre(mindoriteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.DIORITE, random, x, z, world, (int) (120 * mindoriteFactor * oreFactorGeneral), 16, 96, 2, 8);
Generator.generateOre(arcaniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.GRANITE, random, x, z, world, (int) (120 * arcaniteFactor * oreFactorGeneral), 16, 96, 2, 8);
Generator.generateOre(eterniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.ANDESITE, random, x, z, world, (int) (120 * eterniteFactor * oreFactorGeneral), 16, 96, 2, 8);
}
private void end(Random random, int x, int z, World world) {
Generator.generateEndOre(adamantiteOre.getDefaultState(), random, x, z, world, (int) (15 * adamantiteFactor * oreFactorGeneral), 10, 35, 2, 8);
Generator.generateEndOre(rubiumOre.getDefaultState(), random, x, z, world, (int) (15 * rubiumFactor * oreFactorGeneral), 10, 65, 2, 8);
Generator.generateEndOre(ignititeOre.getDefaultState(), random, x, z, world, (int) (15 * ignititeFactor * oreFactorGeneral), 10, 45, 2, 8);
Generator.generateEndOre(violiumOre.getDefaultState(), random, x, z, world, (int) (15 * violiumFactor * oreFactorGeneral), 10, 55, 2, 8);
Generator.generateEndOre(rubiumOre.getDefaultState(), random, x, z, world, 18, 10, 35, 2, 8);
Generator.generateEndOre(ignititeOre.getDefaultState(), random, x, z, world, 18, 20, 45, 2, 8);
Generator.generateEndOre(violiumOre.getDefaultState(), random, x, z, world, 18, 30, 55, 2, 8);
Generator.generateEndOre(titaniteOre.getDefaultState(), random, x, z, world, 18, 40, 65, 2, 8);
}
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator,
IChunkProvider chunkProvider) {
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
int x = chunkX * 16;
int z = chunkZ * 16;
switch (world.provider.getDimension()) {
@@ -62,6 +72,9 @@ public class ZWorldGen implements IWorldGenerator {
case 1:
end(random, x, z, world);
break;
default:
world(random, x, z, world);
break;
}
}
}

View File

@@ -10,6 +10,7 @@ import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenMinable;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Random;
public class ZWorldGenMinable extends WorldGenMinable {
@@ -32,6 +33,7 @@ public class ZWorldGenMinable extends WorldGenMinable {
}
@Override
@ParametersAreNonnullByDefault
public boolean generate(World worldIn, Random rand, BlockPos position) {
float f = rand.nextFloat() * (float) Math.PI;
double d0 = (double) ((float) (position.getX() + 8) + MathHelper.sin(f) * (float) this.numberOfBlocks / 8.0F);

View File

@@ -127,6 +127,39 @@ item.dyonite_ingot.name=Dyonitbarren
item.proxideum_ingot.name=Proxideumbarren
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.tiberium.name=Tiberium
fluid.tconstruct.prometheum.name=Prometheum
@@ -233,4 +266,8 @@ item.spectrum_dust.name=Spektrumstaub
item.tiberium_shard_instable.name=Instabile Tiberiumscherbe
item.tiberium_nugget.name=Tiberium Nugget
item.radiant_pearl.name=Radiumperle
item.luminar_dust.name=Luminarstaub
item.luminar_dust.name=Luminarstaub
gui.taiga_configuration.mainTitle=TAIGA Configuration
itemGroup.taiga_block=TAIGA Blocks
itemGroup.taiga_item=TAIGA Items

View File

@@ -167,6 +167,39 @@ item.dyonite_ingot.name=Dyonite Ingot
item.proxideum_ingot.name=Proxideum 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.desc=§oI know what you are!§r\nKill them, get all their knowledge, ignore loot.
modifier.arcane.name=Arcane
@@ -201,8 +234,8 @@ modifier.heroic.name=Heroic
modifier.heroic.desc=§oUntil you'll die.§r\At the end, you grow stronger.
modifier.hollow.name=Hollow
modifier.hollow.desc=§oBraindead!§r\Brain smash!
modifier.instable.name=Instable
modifier.instable.desc=§oWhat the fuck?§r\Seriously, this is instable!
modifier.instable.name=Unstable
modifier.instable.desc=§oWhat the fuck?§r\Seriously, this is unstable!
modifier.naturebound.name=Naturebound
modifier.naturebound.desc=§oYou are one with your surrounding!§r\Repairs in name of the nature.
modifier.pulverizing.name=Pulverizing
@@ -216,7 +249,7 @@ modifier.slaughtering.desc=§oYum yum!§r\Who needs EXP if you can have meat?
modifier.softy.name=Softy
modifier.softy.desc=§oI love dirt!§r\Dirt heals!
modifier.uncertain.name=Uncertain
modifier.uncertain.desc=§oSome kind of risky to use.§r\At least it's not instable...or?
modifier.uncertain.desc=§oSome kind of risky to use.§r\At least it's not unstable...or?
modifier.reviving.name=Reviving
modifier.reviving.desc=§oPlease kill it already!§r\Zombies!?
modifier.melting.name=Melting
@@ -230,7 +263,11 @@ item.energy_pearl.name=Energy Pearl
item.nitro_brick.name=Nitro Brick
item.anthracite_dust.name=Anthracite 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.radiant_pearl.name=Radiant Pearl
item.luminar_dust.name=Luminar Dust
item.luminar_dust.name=Luminar Dust
gui.taiga_configuration.mainTitle=TAIGA Configuration
itemGroup.taiga_block=TAIGA Blocks
itemGroup.taiga_item=TAIGA Items

View File

@@ -0,0 +1,273 @@
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=流明粉
gui.taiga_configuration.mainTitle=TAIGA 组态
itemGroup.taiga_block=TAIGA 块
itemGroup.taiga_item=TAIGA 对象

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

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