43 Commits
1.0.2 ... 1.1.3

Author SHA1 Message Date
58eacac28c updated dependencies
compatibility with latest TCon
2016-09-11 23:10:57 +02:00
Robert Sosnitzka
8c334a4cdd Added recipes for ingots, blocks and nuggets! 2016-08-17 23:46:09 +02:00
Robert Sosnitzka
fafde83d4c Changed explosion size, cause users struggling with that piece of shit. Iron_nugget is replaced with oreDict Item when not loaded via TAIGA. 2016-08-05 15:46:45 +02:00
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
159 changed files with 1642 additions and 507 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,8 +36,32 @@ 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"
version = "1.10.2-12.18.1.2079"
runDir = "run"
// the mappings can be changed at any time, and must be in the following format.
@@ -45,20 +69,24 @@ minecraft {
// stable_# stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not allways work.
// simply re-run your setup task after changing the mappings to update your workspace.
mappings = "snapshot_20160701"
mappings = "snapshot_20160911"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
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"
//deobfCompile "codechicken:NotEnoughItems:1.9-${nei_version}:dev"
deobfCompile "slimeknights.mantle:Mantle:1.10.2-0.10.3.jenkins161:deobf"
deobfCompile "slimeknights.mantle:Mantle:1.10.2-1.0.0.jenkins170:deobf"
//Old: deobfCompile "slimeknights.mantle:Mantle:1.9-0.10.0.jenkins132:deobf"
deobfCompile "mezz.jei:jei_1.10.2:3.7.6.231"
deobfCompile "slimeknights:TConstruct:1.10-2.3.3a.jenkins271:deobf"
deobfCompile "mezz.jei:jei_1.10.2:3.9.3.252"
deobfCompile "slimeknights:TConstruct:1.10.2-2.5.0.jenkins345:deobf"
//compile files('libs/TConstruct-1.9-2.3.1.DEV.1d4c1de-deobf.jar')
}
@@ -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

@@ -8,7 +8,7 @@ import slimeknights.tconstruct.library.materials.HeadMaterialStats;
import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import static slimeknights.tconstruct.tools.TinkerMaterials.*;
import static slimeknights.tconstruct.tools.TinkerTraits.*;
public class MaterialTraits {
@@ -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=" + d);
float s = (float) speedFactorGeneral;
System.out.println("Speed=" + s);
float a = (float) attackFactorGeneral;
System.out.println("Attack=" + 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,37 +0,0 @@
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 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);
GameRegistry.addShapelessRecipe(new ItemStack(glimmerstone_dust), Items.REDSTONE, Items.GLOWSTONE_DUST, Items.BLAZE_POWDER);
GameRegistry.addShapelessRecipe(new ItemStack(glimmercoal), Items.COAL, glimmerstone_dust);
GameRegistry.addShapelessRecipe(new ItemStack(glimmercoal), lignite, glimmerstone_dust);
GameRegistry.addShapelessRecipe(new ItemStack(radiant_pearl), Items.ENDER_PEARL, luminar_dust, new ItemStack(Items.DYE, 1, 4));
GameRegistry.addShapelessRecipe(new ItemStack(glimmer_pearl), Items.ENDER_PEARL, glimmerstone_dust);
GameRegistry.addShapelessRecipe(new ItemStack(energy_pearl), Items.ENDER_PEARL, luminar_dust, Items.GUNPOWDER);
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

@@ -0,0 +1,76 @@
package com.sosnitzka.taiga.recipes;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.ShapedOreRecipe;
import static com.sosnitzka.taiga.Blocks.*;
import static com.sosnitzka.taiga.Items.*;
import static slimeknights.tconstruct.shared.TinkerCommons.matNecroticBone;
public class CraftingRegistry {
public static void register() {
GameRegistry.addShapelessRecipe(new ItemStack(fuel_brick), Items.COAL, Items.COAL, Items.COAL, lignite, lignite, lignite);
GameRegistry.addShapelessRecipe(new ItemStack(luminar_dust), Items.REDSTONE, Items.GLOWSTONE_DUST);
GameRegistry.addShapelessRecipe(new ItemStack(glimmerstone_dust), luminar_dust, Items.BLAZE_POWDER);
GameRegistry.addShapelessRecipe(new ItemStack(glimmerstone_dust), Items.REDSTONE, Items.GLOWSTONE_DUST, Items.BLAZE_POWDER);
GameRegistry.addShapelessRecipe(new ItemStack(glimmercoal), Items.COAL, glimmerstone_dust);
GameRegistry.addShapelessRecipe(new ItemStack(glimmercoal), lignite, glimmerstone_dust);
GameRegistry.addShapelessRecipe(new ItemStack(radiant_pearl), Items.ENDER_PEARL, luminar_dust, new ItemStack(Items.DYE, 1, 4));
GameRegistry.addShapelessRecipe(new ItemStack(glimmer_pearl), Items.ENDER_PEARL, glimmerstone_dust);
GameRegistry.addShapelessRecipe(new ItemStack(energy_pearl), Items.ENDER_PEARL, luminar_dust, Items.GUNPOWDER);
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);
registerMetalRecipes(arcaniteIngot, arcanite_nugget, arcaniteBlock);
registerMetalRecipes(tiberiumIngot, tiberium_nugget, tiberiumBlock);
registerMetalRecipes(prometheumIngot, prometheum_nugget, prometheumBlock);
registerMetalRecipes(rubiumIngot, rubium_nugget, rubiumBlock);
registerMetalRecipes(violiumIngot, violium_nugget, violiumBlock);
registerMetalRecipes(bismuthIngot, bismuth_nugget, bismuthBlock);
registerMetalRecipes(karmesineIngot, karmesine_nugget, karmesineBlock);
registerMetalRecipes(mindoriteIngot, mindorite_nugget, mindoriteBlock);
registerMetalRecipes(titaniteIngot, titanite_nugget, titaniteBlock);
registerMetalRecipes(meteoriteIngot, meteorite_nugget, meteoriteBlock);
registerMetalRecipes(adamantiteIngot, adamantite_nugget, adamantiteBlock);
registerMetalRecipes(vibraniumIngot, vibranium_nugget, vibraniumBlock);
registerMetalRecipes(ignititeIngot, ignitite_nugget, ignititeBlock);
registerMetalRecipes(palladiumIngot, palladium_nugget, palladiumBlock);
registerMetalRecipes(eterniteIngot, eternite_nugget, eterniteBlock);
registerMetalRecipes(mythrilIngot, mythril_nugget, mythrilBlock);
registerMetalRecipes(imperomiteIngot, imperomite_nugget, imperomiteBlock);
registerMetalRecipes(fractoryteIngot, fractoryte_nugget, fractoryteBlock);
registerMetalRecipes(noctunyxIngot, noctunyx_nugget, noctunyxBlock);
registerMetalRecipes(nitroniteIngot, nitronite_nugget, nitroniteBlock);
registerMetalRecipes(cryptogenIngot, cryptogen_nugget, cryptogenBlock);
registerMetalRecipes(seismodiumIngot, seismodium_nugget, seismodiumBlock);
registerMetalRecipes(aegisaltIngot, aegisalt_nugget, aegisaltBlock);
registerMetalRecipes(ultraniteIngot, ultranite_nugget, ultraniteBlock);
registerMetalRecipes(bysmuidIngot, bysmuid_nugget, bysmuidBlock);
registerMetalRecipes(nucleumIngot, nucleum_nugget, nucleumBlock);
registerMetalRecipes(lumixylIngot, lumixyl_nugget, lumixylBlock);
registerMetalRecipes(dyoniteIngot, dyonite_nugget, dyoniteBlock);
registerMetalRecipes(terramiteIngot, terramite_nugget, terramiteBlock);
registerMetalRecipes(solariumIngot, solarium_nugget, solariumBlock);
registerMetalRecipes(astriumIngot, astrium_nugget, astriumBlock);
registerMetalRecipes(proxideumIngot, proxideum_nugget, proxideumBlock);
}
private static void registerMetalRecipes(Item ingot, Item nugget, Block block) {
GameRegistry.addShapelessRecipe(new ItemStack(nugget, 9), new ItemStack(ingot));
GameRegistry.addShapelessRecipe(new ItemStack(ingot, 9), new ItemStack(block));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(block), "###", "###", "###", '#', new ItemStack(ingot)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ingot), "###", "###", "###", '#', new ItemStack(nugget)));
}
}

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,22 @@
package com.sosnitzka.taiga.recipes;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.OreDictionary;
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);
ItemStack nugget_iron = OreDictionary.getOres("nuggetIron").get(OreDictionary.getOres("nuggetIron").size() - 1);
GameRegistry.addSmelting(slagironIngot, nugget_iron, 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

@@ -66,6 +66,6 @@ public class TraitInstable extends AbstractTrait {
}
private void explode(World w, Entity e, double x, double y, double z) {
w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 35, random.nextBoolean(), true);
w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 5, random.nextBoolean(), true);
}
}

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,6 +113,7 @@ public class TraitRandomize extends AbstractTrait {
}
e.setPosition(target.getPosition().getX(), target.getPosition().getY() + 0.1f, target.getPosition().getZ());
e.setCustomNameTag("Missingno");
if (e instanceof EntityLiving)
((EntityLiving) e).setHealth(((EntityLiving) e).getHealth() * (random.nextInt(5) + 1));
w.spawnEntityInWorld(e);
target.setDead();
@@ -120,6 +121,7 @@ public class TraitRandomize extends AbstractTrait {
}
}
@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)));
}
}
}
}
}

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));
@@ -73,6 +74,6 @@ public class TraitUncertain extends AbstractTrait {
}
private void explode(World w, Entity e, double x, double y, double z) {
w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 5, random.nextBoolean(), true);
w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 4, random.nextBoolean(), true);
}
}

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;

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
@@ -234,3 +267,7 @@ item.tiberium_shard_instable.name=Instabile Tiberiumscherbe
item.tiberium_nugget.name=Tiberium Nugget
item.radiant_pearl.name=Radiumperle
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
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

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