Final adjustments, 2 additional traits, 1 trait rewritten. Liquids + textures included. German and english translation added.

This commit is contained in:
Robert Sosnitzka
2016-07-18 00:16:46 +02:00
parent 77e86d4281
commit 302ef6cccb
28 changed files with 717 additions and 380 deletions

View File

@@ -27,7 +27,7 @@ repositories {
} }
} }
version = "0.5" version = "0.9"
group = "com.sosnitzka.ztic_addon" // http://maven.apache.org/guides/mini/guide-naming-conventions.html group = "com.sosnitzka.ztic_addon" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "ztic_addon" archivesBaseName = "ztic_addon"

View File

@@ -14,14 +14,14 @@ import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Arrays; import java.util.Arrays;
import static com.sosnitzka.ztic_addon.ZTiC.*; import static com.sosnitzka.ztic_addon.MaterialTraits.*;
import static com.sosnitzka.ztic_addon.util.Utils.*; import static com.sosnitzka.ztic_addon.util.Utils.*;
import static slimeknights.tconstruct.library.utils.HarvestLevels.*; import static slimeknights.tconstruct.library.utils.HarvestLevels.*;
public class Blocks { public class Blocks {
//regular Ores / Blocks without extra abilites
/// /regular Ores / Blocks without extra abilites
public static Block basalt = new BasicBlock("basalt", Material.ROCK, 45.0f, 35.0f, OBSIDIAN); public static Block basalt = new BasicBlock("basalt", Material.ROCK, 45.0f, 35.0f, OBSIDIAN);
public static Block rottenGround = new BasicBlockGround("rotten_ground", Material.GROUND, 2.0f, 2.0f, STONE); public static Block rottenGround = new BasicBlockGround("rotten_ground", Material.GROUND, 2.0f, 2.0f, STONE);
public static Block ligniteOre = new BlockLignite(); public static Block ligniteOre = new BlockLignite();
@@ -72,29 +72,21 @@ public class Blocks {
public static Block mindoriteBlock = new BasicBlock("mindorite_block", Material.ROCK, 12.0f, 12.0f, 2, PREFIX_BLOCK); public static Block mindoriteBlock = new BasicBlock("mindorite_block", Material.ROCK, 12.0f, 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 karmesineBlock = new BasicBlock("karmesine_block", Material.ROCK, 13.0f, 15.0f, 3, PREFIX_BLOCK);
// LVL 1 Alloys
// Solide + Arcane -> Fracturing
public static Block imperomiteBlock = new BasicBlock("imperomite_block", Material.ROCK, 24.0f, 25.0f, 5, PREFIX_BLOCK); public static Block imperomiteBlock = new BasicBlock("imperomite_block", Material.ROCK, 24.0f, 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 fractoryteBlock = new BasicBlock("fractoryte_block", Material.ROCK, 8.0f, 8.0f, 8, PREFIX_BLOCK);
// Arcane + Solide -> Instable
public static Block noctunyxBlock = new BasicBlock("noctunyx_block", Material.ROCK, 60.0f, 500.0f, 6, PREFIX_BLOCK); public static Block noctunyxBlock = new BasicBlock("noctunyx_block", Material.ROCK, 60.0f, 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 nitroniteBlock = new BasicBlock("nitronite_block", Material.ROCK, 13.0f, 15.0f, 7, PREFIX_BLOCK);
// Solide + Etheri -> Core
public static Block cryptogenBlock = new BasicBlock("cryptogen_block", Material.ROCK, 23.0f, 25.0f, 6, PREFIX_BLOCK); public static Block cryptogenBlock = new BasicBlock("cryptogen_block", Material.ROCK, 23.0f, 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 seismodiumBlock = new BasicBlock("seismodium_block", Material.ROCK, 30.0f, 30.0f, 7, 1f, PREFIX_BLOCK);
// Etheri + Solide -> Striking
public static Block aegisaltBlock = new BasicBlock("aegisalt_block", Material.ROCK, 13.0f, 13.0f, 5, PREFIX_BLOCK); public static Block aegisaltBlock = new BasicBlock("aegisalt_block", Material.ROCK, 13.0f, 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 ultraniteBlock = new BasicBlock("ultranite_block", Material.ROCK, 13.0f, 15.0f, 8, PREFIX_BLOCK);
// Etheri + Ratio -> Radiating
public static Block bysmuidBlock = new BasicBlock("bysmuid_block", Material.ROCK, 35.0f, 35.0f, 5, 0.25f, PREFIX_BLOCK); public static Block bysmuidBlock = new BasicBlock("bysmuid_block", Material.ROCK, 35.0f, 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 nucleumBlock = new BasicBlock("nucleum_block", Material.ROCK, 25.0f, 25.0f, 4, PREFIX_BLOCK);
// Ratio + Etheri -> Changing
public static Block terramiteBlock = new BasicBlock("terramite_block", Material.ROCK, 70.0f, 800.0f, 4, PREFIX_BLOCK); public static Block terramiteBlock = new BasicBlock("terramite_block", Material.ROCK, 70.0f, 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 solariumBlock = new BasicBlock("solarium_block", Material.ROCK, 80.0f, 1000.0f, 5, PREFIX_BLOCK);
// Ratio + Arcane -> Teleporting
public static Block lumixylBlock = new BasicBlock("lumixyl_block", Material.ROCK, 12.0f, 12.0f, 5, PREFIX_BLOCK); public static Block lumixylBlock = new BasicBlock("lumixyl_block", Material.ROCK, 12.0f, 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 dyoniteBlock = new BasicBlock("dyonite_block", Material.ROCK, 23.0f, 25.0f, 4, PREFIX_BLOCK);
// Arcane + Ratio -> Voidale
public static Block proxideumBlock = new BasicBlock("proxideum_block", Material.ROCK, 25.0f, 25.0f, 4, PREFIX_BLOCK); public static Block proxideumBlock = new BasicBlock("proxideum_block", Material.ROCK, 25.0f, 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 astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 55.0f, 400.0f, 7, PREFIX_BLOCK);
@@ -120,7 +112,6 @@ public class Blocks {
} else { } else {
oreDictName = nameParts[0]; oreDictName = nameParts[0];
} }
OreDictionary.registerOre(((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName), block); OreDictionary.registerOre(((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName), block);
} }
} }

View File

@@ -15,49 +15,48 @@ import static slimeknights.tconstruct.library.TinkerRegistry.registerMelting;
public class Fluids { public class Fluids {
public static BasicTinkerFluid arcaniteFluid = new BasicTinkerFluid("arcanite", 0xFF272354, true, 538, 10, 4000); public static BasicTinkerFluid arcaniteFluid = new BasicTinkerFluid("arcanite", 0xFF272354, true, 538, 8, 3768);
public static BasicTinkerFluid titaniteFluid = new BasicTinkerFluid("titanite", 0xFFe0ede7, true, 942, 10, 4000); public static BasicTinkerFluid titaniteFluid = new BasicTinkerFluid("titanite", 0xFFe0ede7, true, 942, 7, 1858);
public static BasicTinkerFluid adamantiteFluid = new BasicTinkerFluid("adamantite", 0xFFc45c82, true, 1100, 10, 4000); public static BasicTinkerFluid adamantiteFluid = new BasicTinkerFluid("adamantite", 0xFFc45c82, true, 1100, 10, 3597);
public static BasicTinkerFluid violiumFluid = new BasicTinkerFluid("violium", 0xFF264c4f, true, 875, 10, 4000); public static BasicTinkerFluid violiumFluid = new BasicTinkerFluid("violium", 0xFF264c4f, true, 875, 10, 3970);
public static BasicTinkerFluid bismuthFluid = new BasicTinkerFluid("bismuth", 0xFF555555, true, 612, 10, 4000); public static BasicTinkerFluid bismuthFluid = new BasicTinkerFluid("bismuth", 0xFF555555, true, 612, 9, 2552);
public static BasicTinkerFluid eterniteFluid = new BasicTinkerFluid("eternite", 0xFFfafa98, true, 542, 10, 4000); public static BasicTinkerFluid eterniteFluid = new BasicTinkerFluid("eternite", 0xFFfafa98, true, 542, 10, 3980);
public static BasicTinkerFluid ignititeFluid = new BasicTinkerFluid("ignitite", 0xFFff6642, true, 422, 10, 4000); public static BasicTinkerFluid ignititeFluid = new BasicTinkerFluid("ignitite", 0xFFff6642, true, 422, 9, 3787);
public static BasicTinkerFluid karmesineFluid = new BasicTinkerFluid("karmesine", 0xFFc16d6d, true, 499, 10, 4000); public static BasicTinkerFluid karmesineFluid = new BasicTinkerFluid("karmesine", 0xFFc16d6d, true, 499, 7, 3978);
public static BasicTinkerFluid meteoriteFluid = new BasicTinkerFluid("meteorite", 0xFF6e6a62, true, 942, 10, 4000); public static BasicTinkerFluid meteoriteFluid = new BasicTinkerFluid("meteorite", 0xFF6e6a62, true, 942, 10, 2588);
public static BasicTinkerFluid mindoriteFluid = new BasicTinkerFluid("mindorite", 0xFF6bbbbf, true, 671, 10, 4000); public static BasicTinkerFluid mindoriteFluid = new BasicTinkerFluid("mindorite", 0xFF6bbbf, true, 671, 8, 2956);
public static BasicTinkerFluid mythrilFluid = new BasicTinkerFluid("mythril", 0xFFa8c0ba, true, 841, 10, 3000); public static BasicTinkerFluid mythrilFluid = new BasicTinkerFluid("mythril", 0xFFa8c0ba, true, 841, 10, 1579);
public static BasicTinkerFluid palladiumFluid = new BasicTinkerFluid("palladium", 0xFFfe5c05, true, 786, 10, 4000); public static BasicTinkerFluid palladiumFluid = new BasicTinkerFluid("palladium", 0xFFfe5c05, true, 786, 10, 3302);
public static BasicTinkerFluid prometheumFluid = new BasicTinkerFluid("prometheum", 0xFF2b282f, true, 786, 10, 4000); public static BasicTinkerFluid prometheumFluid = new BasicTinkerFluid("prometheum", 0xFF2b282f, true, 786, 2, 2256);
public static BasicTinkerFluid tiberiumFluid = new BasicTinkerFluid("tiberium", 0xFF5f9e2d, true, 352, 10, 4000); public static BasicTinkerFluid tiberiumFluid = new BasicTinkerFluid("tiberium", 0xFF5f9e2d, true, 352, 10, 1553);
public static BasicTinkerFluid vibraniumFluid = new BasicTinkerFluid("vibranium", 0xFFc4ddc8, true, 1050, 10, 4000); public static BasicTinkerFluid vibraniumFluid = new BasicTinkerFluid("vibranium", 0xFFc4ddc8, true, 1050, 9, 3402);
public static BasicTinkerFluid rubiumFluid = new BasicTinkerFluid("rubium", 0xFFe371b0, true, 200, 600, 4000); public static BasicTinkerFluid rubiumFluid = new BasicTinkerFluid("rubium", 0xFFe371b0, true, 200, 600, 1653);
public static BasicTinkerFluid astriumFluid = new BasicTinkerFluid("astrium", 0xFF7a3b74, true, 810, 10, 1525);
public static BasicTinkerFluid astriumFluid = new BasicTinkerFluid("astrium", 0xFF7a3b74, true, 810, 10, 4000); public static BasicTinkerFluid nitroniteFluid = new BasicTinkerFluid("nitronite", 0xFFdfe553, true, 680, 10, 2185);
public static BasicTinkerFluid nitroniteFluid = new BasicTinkerFluid("nitronite", 0xFFdfe553, true, 680, 10, 4000); public static BasicTinkerFluid proxideumFluid = new BasicTinkerFluid("proxideum", 0xFF2f7177, true, 700, 9, 3859);
public static BasicTinkerFluid proxideumFluid = new BasicTinkerFluid("proxideum", 0xFF2f7177, true, 700, 10, 4000); public static BasicTinkerFluid noctunyxFluid = new BasicTinkerFluid("noctunyx", 0xFF5f5081, true, 712, 8, 3983);
public static BasicTinkerFluid noctunyxFluid = new BasicTinkerFluid("noctunyx", 0xFF5f5081, true, 712, 10, 4000); public static BasicTinkerFluid imperomiteFluid = new BasicTinkerFluid("imperomite", 0xFFff6642, true, 510, 10, 2353);
public static BasicTinkerFluid imperomiteFluid = new BasicTinkerFluid("imperomite", 0xFFff6642, true, 510, 10, 4000); public static BasicTinkerFluid cryptogenFluid = new BasicTinkerFluid("cryptogen", 0xFF9f8a4a, true, 560, 10, 3243);
public static BasicTinkerFluid cryptogenFluid = new BasicTinkerFluid("cryptogen", 0xFF9f8a4a, true, 560, 10, 4000); public static BasicTinkerFluid fractoryteFluid = new BasicTinkerFluid("fractoryte", 0xFF983f11, true, 670, 8, 3805);
public static BasicTinkerFluid fractoryteFluid = new BasicTinkerFluid("fractoryte", 0xFF983f11, true, 670, 10, 4000); public static BasicTinkerFluid seismodiumFluid = new BasicTinkerFluid("seismodium", 0xFF46131D, true, 831, 10, 1837);
public static BasicTinkerFluid seismodiumFluid = new BasicTinkerFluid("seismodium", 0xFF46131D, true, 831, 10, 4000); public static BasicTinkerFluid terramiteFluid = new BasicTinkerFluid("terramite", 0xFFa6b27a, true, 687, 10, 2121);
public static BasicTinkerFluid terramiteFluid = new BasicTinkerFluid("terramite", 0xFFa6b27a, true, 687, 10, 4000); public static BasicTinkerFluid lumixylFluid = new BasicTinkerFluid("lumixyl", 0xFFfbe8cb, true, 548, 10, 2165);
public static BasicTinkerFluid lumixylFluid = new BasicTinkerFluid("lumixyl", 0xFFfbe8cb, true, 548, 10, 4000); public static BasicTinkerFluid solariumFluid = new BasicTinkerFluid("solarium", 0xFFffc81d, true, 482, 8, 3232);
public static BasicTinkerFluid solariumFluid = new BasicTinkerFluid("solarium", 0xFFffc81d, true, 482, 10, 4000); public static BasicTinkerFluid dyoniteFluid = new BasicTinkerFluid("dyonite", 0xFFff6743, true, 486, 8, 3269);
public static BasicTinkerFluid dyoniteFluid = new BasicTinkerFluid("dyonite", 0xFFff6743, true, 486, 10, 4000); public static BasicTinkerFluid ultraniteFluid = new BasicTinkerFluid("ultranite", 0xFFf5f294, true, 941, 9, 1784);
public static BasicTinkerFluid ultraniteFluid = new BasicTinkerFluid("ultranite", 0xFFf5f294, true, 941, 10, 4000); public static BasicTinkerFluid nucleumFluid = new BasicTinkerFluid("nucleum", 0xFFa8ea3b, true, 813, 10, 2355);
public static BasicTinkerFluid nucleumFluid = new BasicTinkerFluid("nucleum", 0xFFa8ea3b, true, 813, 10, 4000); public static BasicTinkerFluid aegisaltFluid = new BasicTinkerFluid("aegisalt", 0xFFb6af74, true, 660, 7, 2089);
public static BasicTinkerFluid aegisaltFluid = new BasicTinkerFluid("aegisalt", 0xFFb6af74, true, 660, 10, 4000); public static BasicTinkerFluid bysmuidFluid = new BasicTinkerFluid("bysmuid", 0xFF7b97b0, true, 560, 8, 2674);
public static BasicTinkerFluid bysmuidFluid = new BasicTinkerFluid("bysmuid", 0xFF7b97b0, true, 560, 10, 4000);
// Additional fluids to cast alloys // Additional fluids to cast alloys
public static BasicTinkerFluid radiant_enderium = new BasicTinkerFluid("radiant_enderium", 0xFFbcea5d, false, 529, 10, 800); public static BasicTinkerFluid radiant_enderium = new BasicTinkerFluid("radiant_enderium", 0xFFbcea5d, false, 529, 10, 768);
public static BasicTinkerFluid glimming_enderium = new BasicTinkerFluid("glimming_enderium", 0xFFfffc98, false, 633, 10, 2500); public static BasicTinkerFluid glimming_enderium = new BasicTinkerFluid("glimming_enderium", 0xFFfffc98, false, 633, 10, 821);
public static BasicTinkerFluid energy_enderium = new BasicTinkerFluid("energy_enderium", 0xFFffb498, false, 562, 10, 3000); public static BasicTinkerFluid energy_enderium = new BasicTinkerFluid("energy_enderium", 0xFFffb498, false, 562, 10, 421);
public static BasicTinkerFluid glimmercoalFluid = new BasicTinkerFluid("glimmercoal", 0xFFee7c28, false, 531, 10, 3000); public static BasicTinkerFluid glimmercoalFluid = new BasicTinkerFluid("glimmercoal_fluid", 0xFFee7c28, false, 531, 10, 312);
public static BasicTinkerFluid nitroFluid = new BasicTinkerFluid("nitro", 0xFF223512, false, 405, 5, 900); public static BasicTinkerFluid nitroFluid = new BasicTinkerFluid("nitro_fluid", 0xFF223512, false, 405, 5, 772);
public static BasicTinkerFluid anthraciteFluid = new BasicTinkerFluid("anthracite", 0xFF111111, false, 500, 0, 1000); public static BasicTinkerFluid anthraciteFluid = new BasicTinkerFluid("anthracite_fluid", 0xFF111111, false, 500, 0, 632);
public static BasicTinkerFluid spectrumFluid = new BasicTinkerFluid("spectrum", 0xFF64748f, false, 600, 0, 1000); public static BasicTinkerFluid spectrumFluid = new BasicTinkerFluid("spectrum_fluid", 0xFF64748f, false, 600, 0, 512);
static void register() { static void register() {

View File

@@ -1,16 +1,54 @@
package com.sosnitzka.ztic_addon; package com.sosnitzka.ztic_addon;
import com.sosnitzka.ztic_addon.traits.*;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import slimeknights.tconstruct.library.materials.HandleMaterialStats; import slimeknights.tconstruct.library.materials.HandleMaterialStats;
import slimeknights.tconstruct.library.materials.HeadMaterialStats; import slimeknights.tconstruct.library.materials.HeadMaterialStats;
import slimeknights.tconstruct.library.materials.Material; import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import static com.sosnitzka.ztic_addon.ZTiC.*;
import static slimeknights.tconstruct.tools.TinkerMaterials.*; import static slimeknights.tconstruct.tools.TinkerMaterials.*;
public class Materials { public class MaterialTraits {
public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(arcane, HeadMaterialStats.TYPE).addTrait(blind);
// new hardness levels
public static final int TITANITE = 5;
public static final int METEORITE = 6;
public static final int VIBRANIUM = 7;
public static final int ADAMANTITE = 8;
// Init of new traits
public static final AbstractTrait instable = new TraitInstable();
public static final AbstractTrait naturebound = new TraitNatureBound();
public static final AbstractTrait uncertain = new TraitUncertain();
public static final AbstractTrait softy = new TraitSofty();
public static final AbstractTrait curvature = new TraitCurvature();
public static final AbstractTrait resonance = new TraitResonance();
public static final AbstractTrait fracture = new TraitFracture();
public static final AbstractTrait glimmer = new TraitGlimmer();
public static final AbstractTrait garishly = new TraitGarishly();
public static final AbstractTrait pulverizing = new TraitPulverizing();
public static final AbstractTrait analysing = new TraitAnalysing();
public static final AbstractTrait cascade = new TraitCascade();
public static final AbstractTrait blind = new TraitBlind();
public static final AbstractTrait dark = new TraitDark();
public static final AbstractTrait bright = new TraitBright();
public static final AbstractTrait slaughtering = new TraitSlaughtering();
public static final AbstractTrait haunted = new TraitHaunted();
public static final AbstractTrait fragile = new TraitFragile();
public static final AbstractTrait dissolving = new TraitDissolving();
public static final AbstractTrait organizing = new TraitOrganizing();
public static final AbstractTrait arcane = new TraitArcane();
public static final AbstractTrait heroic = new TraitHeroic();
public static final AbstractTrait hollow = new TraitHollow();
public static final AbstractTrait diffuse = new TraitDiffuse();
public static final AbstractTrait randomize = new TraitRandomize();
public static final AbstractTrait reviving = new TraitReviving();
public static final AbstractTrait melting = new TraitMelting();
public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(arcane, HeadMaterialStats.TYPE).addTrait(blind, HandleMaterialStats.TYPE);
public static Material tiberium = new Material("tiberium", TextFormatting.GREEN).addTrait(instable); public static Material tiberium = new Material("tiberium", TextFormatting.GREEN).addTrait(instable);
public static Material prometheum = new Material("prometheum", TextFormatting.DARK_PURPLE).addTrait(haunted, HeadMaterialStats.TYPE).addTrait(blind); public static Material prometheum = new Material("prometheum", TextFormatting.DARK_PURPLE).addTrait(haunted, HeadMaterialStats.TYPE).addTrait(blind);
public static Material rubium = new Material("rubium", TextFormatting.RED).addTrait(enderference, HeadMaterialStats.TYPE).addTrait(blind); public static Material rubium = new Material("rubium", TextFormatting.RED).addTrait(enderference, HeadMaterialStats.TYPE).addTrait(blind);
@@ -22,25 +60,25 @@ public class Materials {
public static Material meteorite = new Material("meteorite", TextFormatting.GRAY).addTrait(established, HandleMaterialStats.TYPE).addTrait(momentum, HeadMaterialStats.TYPE); public static Material meteorite = new Material("meteorite", TextFormatting.GRAY).addTrait(established, HandleMaterialStats.TYPE).addTrait(momentum, HeadMaterialStats.TYPE);
public static Material adamantite = new Material("adamantite", TextFormatting.GRAY).addTrait(coldblooded, HeadMaterialStats.TYPE).addTrait(magnetic, HandleMaterialStats.TYPE); public static Material adamantite = new Material("adamantite", TextFormatting.GRAY).addTrait(coldblooded, HeadMaterialStats.TYPE).addTrait(magnetic, HandleMaterialStats.TYPE);
public static Material vibranium = new Material("vibranium", TextFormatting.GRAY).addTrait(resonance); public static Material vibranium = new Material("vibranium", TextFormatting.GRAY).addTrait(resonance);
public static Material ignitite = new Material("ignitite", TextFormatting.RED).addTrait(hellish, HandleMaterialStats.TYPE).addTrait(flammable, HeadMaterialStats.TYPE); public static Material ignitite = new Material("ignitite", TextFormatting.RED).addTrait(melting, HandleMaterialStats.TYPE).addTrait(flammable, HeadMaterialStats.TYPE);
public static Material palladium = new Material("palladium", TextFormatting.DARK_GRAY).addTrait(dark); public static Material palladium = new Material("palladium", TextFormatting.DARK_GRAY).addTrait(dark);
public static Material eternite = new Material("eternite", TextFormatting.AQUA).addTrait(writable2); public static Material eternite = new Material("eternite", TextFormatting.AQUA).addTrait(writable2);
public static Material mythril = new Material("mythril", TextFormatting.GRAY).addTrait(bentonite); public static Material mythril = new Material("mythril", TextFormatting.GRAY).addTrait(holy, HeadMaterialStats.TYPE).addTrait(hellish, HandleMaterialStats.TYPE);
public static Material astrium = new Material("astrium", TextFormatting.BLACK).addTrait(curvature); public static Material imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(cascade, HeadMaterialStats.TYPE).addTrait(fragile);
public static Material nitronite = new Material("nitronite", TextFormatting.DARK_AQUA).addTrait(uncertain);
public static Material proxideum = new Material("proxideum", TextFormatting.LIGHT_PURPLE).addTrait(softy, HandleMaterialStats.TYPE).addTrait(lightweight);
public static Material noctunyx = new Material("noctunyx", TextFormatting.LIGHT_PURPLE).addTrait(hollow);
public static Material imperomite = new Material("imperomite", TextFormatting.DARK_GREEN).addTrait(heroic);
public static Material cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN).addTrait(randomize);
public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_RED).addTrait(fracture, HeadMaterialStats.TYPE).addTrait(fragile); public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_RED).addTrait(fracture, HeadMaterialStats.TYPE).addTrait(fragile);
public static Material seismodium = new Material("seismodium", TextFormatting.DARK_GREEN).addTrait(cascade, HeadMaterialStats.TYPE).addTrait(fragile); public static Material noctunyx = new Material("noctunyx", TextFormatting.LIGHT_PURPLE).addTrait(hollow, HeadMaterialStats.TYPE).addTrait(reviving, HandleMaterialStats.TYPE);
public static Material terramite = new Material("terramite", TextFormatting.GRAY).addTrait(naturebound).addTrait(fragile); public static Material nitronite = new Material("nitronite", TextFormatting.YELLOW).addTrait(uncertain);
public static Material lumixyl = new Material("lumixyl", TextFormatting.YELLOW).addTrait(glimmer); public static Material cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN).addTrait(randomize);
public static Material solarium = new Material("solarium", TextFormatting.RED).addTrait(garishly); public static Material seismodium = new Material("seismodium", TextFormatting.WHITE).addTrait(heroic);
public static Material dyonite = new Material("dyonite", TextFormatting.GRAY).addTrait(slaughtering, HeadMaterialStats.TYPE).addTrait(dissolving, HandleMaterialStats.TYPE);
public static Material ultranite = new Material("ultranite", TextFormatting.AQUA).addTrait(pulverizing);
public static Material nucleum = new Material("nucleum", TextFormatting.AQUA).addTrait(diffuse).addTrait(bright, HeadMaterialStats.TYPE);
public static Material aegisalt = new Material("aegisalt", TextFormatting.AQUA).addTrait(analysing); public static Material aegisalt = new Material("aegisalt", TextFormatting.AQUA).addTrait(analysing);
public static Material bysmuid = new Material("bysmuid", TextFormatting.AQUA).addTrait(dense, HandleMaterialStats.TYPE).addTrait(sharp, HeadMaterialStats.TYPE); public static Material ultranite = new Material("ultranite", TextFormatting.AQUA).addTrait(pulverizing);
public static Material bysmuid = new Material("bysmuid", TextFormatting.AQUA).addTrait(organizing, HandleMaterialStats.TYPE).addTrait(melting, HeadMaterialStats.TYPE);
public static Material nucleum = new Material("nucleum", TextFormatting.AQUA).addTrait(diffuse).addTrait(bright, HeadMaterialStats.TYPE);
public static Material lumixyl = new Material("lumixyl", TextFormatting.YELLOW).addTrait(glimmer);
public static Material dyonite = new Material("dyonite", TextFormatting.GRAY).addTrait(slaughtering, HeadMaterialStats.TYPE).addTrait(dissolving, HandleMaterialStats.TYPE);
public static Material terramite = new Material("terramite", TextFormatting.GRAY).addTrait(naturebound).addTrait(fragile);
public static Material solarium = new Material("solarium", TextFormatting.RED).addTrait(garishly);
public static Material astrium = new Material("astrium", TextFormatting.DARK_PURPLE).addTrait(curvature);
public static Material proxideum = new Material("proxideum", TextFormatting.LIGHT_PURPLE).addTrait(softy, HandleMaterialStats.TYPE).addTrait(lightweight);
} }

View File

@@ -4,7 +4,6 @@ import com.google.common.collect.Lists;
import com.sosnitzka.ztic_addon.proxy.ServerProxy; import com.sosnitzka.ztic_addon.proxy.ServerProxy;
import com.sosnitzka.ztic_addon.recipes.Crafting; import com.sosnitzka.ztic_addon.recipes.Crafting;
import com.sosnitzka.ztic_addon.recipes.Smelting; import com.sosnitzka.ztic_addon.recipes.Smelting;
import com.sosnitzka.ztic_addon.traits.*;
import com.sosnitzka.ztic_addon.util.FuelHandler; import com.sosnitzka.ztic_addon.util.FuelHandler;
import com.sosnitzka.ztic_addon.world.ZWorldGen; import com.sosnitzka.ztic_addon.world.ZWorldGen;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
@@ -20,56 +19,24 @@ import slimeknights.tconstruct.library.TinkerRegistry;
import slimeknights.tconstruct.library.materials.ExtraMaterialStats; import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
import slimeknights.tconstruct.library.materials.HandleMaterialStats; import slimeknights.tconstruct.library.materials.HandleMaterialStats;
import slimeknights.tconstruct.library.materials.HeadMaterialStats; import slimeknights.tconstruct.library.materials.HeadMaterialStats;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.tools.TinkerMaterials; import slimeknights.tconstruct.tools.TinkerMaterials;
import java.util.List; import java.util.List;
import static com.sosnitzka.ztic_addon.Fluids.*; import static com.sosnitzka.ztic_addon.Fluids.*;
import static com.sosnitzka.ztic_addon.Materials.*; import static com.sosnitzka.ztic_addon.MaterialTraits.*;
import static com.sosnitzka.ztic_addon.Materials.arcanite;
import static slimeknights.tconstruct.library.utils.HarvestLevels.*; import static slimeknights.tconstruct.library.utils.HarvestLevels.*;
@Mod(modid = ZTiC.MODID, version = ZTiC.VERSION) @Mod(modid = ZTiC.MODID, version = ZTiC.VERSION)
public class ZTiC { public class ZTiC {
public static final int TITANITE = 5;
public static final int METEORITE = 6;
public static final int VIBRANIUM = 7;
public static final int ADAMANTITE = 8;
public static final AbstractTrait instable = new TraitInstable();
public static final AbstractTrait naturebound = new TraitNatureBound();
public static final AbstractTrait uncertain = new TraitUncertain();
public static final AbstractTrait softy = new TraitSofty();
public static final AbstractTrait curvature = new TraitCurvature();
public static final AbstractTrait resonance = new TraitResonance();
public static final AbstractTrait fracture = new TraitFracture();
public static final AbstractTrait glimmer = new TraitGlimmer();
public static final AbstractTrait garishly = new TraitGarishly();
public static final AbstractTrait pulverizing = new TraitPulverizing();
public static final AbstractTrait analysing = new TraitAnalysing();
public static final AbstractTrait cascade = new TraitCascade();
public static final AbstractTrait blind = new TraitBlind();
public static final AbstractTrait dark = new TraitDark();
public static final AbstractTrait bright = new TraitBright();
public static final AbstractTrait slaughtering = new TraitSlaughtering();
public static final AbstractTrait haunted = new TraitHaunted();
public static final AbstractTrait fragile = new TraitFragile();
public static final AbstractTrait dissolving = new TraitDissolving();
public static final AbstractTrait bentonite = new TraitBentonite();
public static final AbstractTrait arcane = new TraitArcane();
public static final AbstractTrait heroic = new TraitHeroic();
public static final AbstractTrait hollow = new TraitHollow();
public static final AbstractTrait diffuse = new TraitDiffuse();
public static final AbstractTrait randomize = new TraitRandomize();
public static final String MODID = "ztic_addon"; public static final String MODID = "ztic_addon";
public static final String VERSION = "@VERSION@"; public static final String VERSION = "@VERSION@";
@SidedProxy(clientSide = "com.sosnitzka.ztic_addon.proxy.ClientProxy", serverSide = "com.sosnitzka.ztic_addon.proxy.ServerProxy") @SidedProxy(clientSide = "com.sosnitzka.ztic_addon.proxy.ClientProxy", serverSide = "com.sosnitzka.ztic_addon.proxy.ServerProxy")
public static ServerProxy proxy; public static ServerProxy proxy;
private List<MaterialIntegration> integrateList = Lists.newArrayList(); private List<MaterialIntegration> integrateList = Lists.newArrayList();
@EventHandler @EventHandler
public void preInit(FMLPreInitializationEvent e) { public void preInit(FMLPreInitializationEvent e) {
Items.register(); Items.register();
@@ -78,18 +45,16 @@ public class ZTiC {
Fluids.registerfromItem(); Fluids.registerfromItem();
Alloys.register(); Alloys.register();
// # Head Durability, Speed, Attack, Modifier, Handle Durability, Extra Durability
// ARCANE ORES // ARCANE ORES
registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 223, 6.2f, 8.35f, 0.63f, 50, 50, OBSIDIAN, false, true); registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 223, 6.2f, 8.35f, 0.63f, 50, 50, OBSIDIAN, false, true);
registerTinkerMaterial("Rubium", rubium, rubiumFluid, 351, 5.15f, 7.00f, 1.05f, -100, 250, COBALT, false, true); registerTinkerMaterial("Rubium", rubium, rubiumFluid, 351, 5.15f, 7.00f, 1.05f, -100, 250, COBALT, false, true);
registerTinkerMaterial("Prometheum", prometheum, prometheumFluid, 539, 3.6f, 6.60f, 0.90f, 0, 150, TITANITE, 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); registerTinkerMaterial("Arcanite", arcanite, arcaniteFluid, 698, 4.3f, 7.88f, 0.85f, -50, 150, METEORITE, false, true);
// SOLIDE ORES // SOLIDE ORES
registerTinkerMaterial("Titanite", titanite, titaniteFluid, 811, 4.8f, 4.00f, 1.00f, -50, 150, TITANITE, false, true); registerTinkerMaterial("Titanite", titanite, titaniteFluid, 811, 4.8f, 6.40f, 1.00f, -50, 150, TITANITE, false, true);
registerTinkerMaterial("Meteorite", meteorite, meteoriteFluid, 823, 6.1f, 4.33f, 1.20f, -50, 200, METEORITE, 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, 5.17f, 1.15f, 50, 150, VIBRANIUM, 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, 7.00f, 1.20f, -200, 300, ADAMANTITE, false, true); registerTinkerMaterial("Adamantite", adamantite, adamantiteFluid, 981, 8.9f, 9.11f, 1.20f, -200, 300, ADAMANTITE, false, true);
// ETHERE ORES // ETHERE ORES
registerTinkerMaterial("Eternite", eternite, eterniteFluid, 592, 7.35f, 1.95f, 1.10f, 150, 150, COBALT, false, true); 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("Mythril", mythril, mythrilFluid, 552, 8.75f, 2.87f, 0.98f, -100, 200, TITANITE, false, true);
@@ -137,7 +102,6 @@ public class ZTiC {
} }
} }
@EventHandler @EventHandler
public void postInit(FMLPostInitializationEvent e) { public void postInit(FMLPostInitializationEvent e) {
@@ -148,12 +112,6 @@ public class ZTiC {
TinkerRegistry.addMaterialStats(material, new HandleMaterialStats(handleMod, handleDura)); TinkerRegistry.addMaterialStats(material, new HandleMaterialStats(handleMod, handleDura));
TinkerRegistry.addMaterialStats(material, new ExtraMaterialStats(extra)); TinkerRegistry.addMaterialStats(material, new ExtraMaterialStats(extra));
material.setFluid(fluid).setCraftable(craft).setCastable(cast); material.setFluid(fluid).setCraftable(craft).setCastable(cast);
/*
if (material.isCraftable()) {
material.addItem(Blocks.tiberiumBlock, Material.VALUE_Block);
material.setRepresentativeItem(Blocks.tiberiumBlock);
}
*/
proxy.setRenderInfo(material); proxy.setRenderInfo(material);
MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix); MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix);

View File

@@ -22,7 +22,7 @@ import slimeknights.tconstruct.library.materials.Material;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import static com.sosnitzka.ztic_addon.Materials.*; import static com.sosnitzka.ztic_addon.MaterialTraits.*;
public class ClientProxy extends ServerProxy { public class ClientProxy extends ServerProxy {

View File

@@ -60,7 +60,7 @@ public class TraitAnalysing extends AbstractTrait {
@Override @Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
if (random.nextFloat() < 0.75) { if (random.nextFloat() < 0.85) {
event.getDrops().clear(); event.getDrops().clear();
} }
} }

View File

@@ -34,6 +34,7 @@ public class TraitArcane extends AbstractTrait {
} }
} }
public boolean isNight(int time) { public boolean isNight(int time) {
if (time > 12500) { if (time > 12500) {
return true; return true;

View File

@@ -1,9 +1,16 @@
package com.sosnitzka.ztic_addon.traits; package com.sosnitzka.ztic_addon.traits;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
/** /**
* Created by Robert on 03.06.2016. * Created by Robert on 03.06.2016.
@@ -24,6 +31,17 @@ public class TraitBright extends AbstractTrait {
} }
@Override
public void onUpdate(ItemStack item, World world, Entity entity, int i, boolean b) {
if (entity instanceof EntityPlayer) {
EntityPlayer e = (EntityPlayer) entity;
if (TinkerUtil.hasTrait(TagUtil.getTagSafe(e.getHeldItemMainhand()), identifier)) {
e.addPotionEffect(new PotionEffect(MobEffects.GLOWING, 100));
}
}
}
public boolean isDay(int time) { public boolean isDay(int time) {
if (time < 12500) { if (time < 12500) {
return true; return true;

View File

@@ -7,6 +7,7 @@ import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -31,6 +32,7 @@ public class TraitCurvature extends AbstractTrait {
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
if (random.nextFloat() <= 0.05 && world.provider.getDimension() != -1) { if (random.nextFloat() <= 0.05 && world.provider.getDimension() != -1) {
teleport(player, world); teleport(player, world);
player.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
} }
} }
@@ -40,7 +42,9 @@ public class TraitCurvature extends AbstractTrait {
if (random.nextFloat() <= 0.1 && w.provider.getDimension() != -1) { if (random.nextFloat() <= 0.1 && w.provider.getDimension() != -1) {
if (random.nextBoolean()) { if (random.nextBoolean()) {
teleport(player, w); teleport(player, w);
target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
} else { } else {
target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
teleport(target, w); teleport(target, w);
} }
} }
@@ -68,6 +72,7 @@ public class TraitCurvature extends AbstractTrait {
while (w.getBlockState(new BlockPos(x, y - 1, z)).getBlock() == Blocks.AIR) { while (w.getBlockState(new BlockPos(x, y - 1, z)).getBlock() == Blocks.AIR) {
y--; y--;
} }
e.setPosition(x, y, z); e.setPosition(x, y, z);
} }

View File

@@ -1,7 +1,9 @@
package com.sosnitzka.ztic_addon.traits; package com.sosnitzka.ztic_addon.traits;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -20,14 +22,66 @@ public class TraitFragile extends AbstractTrait {
@Override @Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
float f = random.nextFloat(); if (random.nextBoolean()) {
float b = 0.99F * calcBonus(tool); float f = random.nextFloat();
if (!world.isRemote && tool.canHarvestBlock(state) && f <= b) { float b = 0.99F * calcBonus(tool);
if (random.nextBoolean()) ToolHelper.damageTool(tool, random.nextInt(5), player); if (!world.isRemote && tool.canHarvestBlock(state) && f <= b) {
} if (random.nextBoolean()) ToolHelper.damageTool(tool, random.nextInt(3), player);
}
} else {
float f = random.nextFloat();
float b = 0.99F * calcBonus(tool);
if (!world.isRemote && state.getBlock() == Blocks.STONE && f <= b) {
double x, y, z, sx, sy, sz;
sx = x = pos.getX();
sy = y = pos.getY();
sz = z = pos.getZ();
for (int i = random.nextInt(50) + 50; i > 0; i--) {
int r = random.nextInt(3);
int d = random.nextBoolean() ? 1 : -1;
if (r == 0) x += d;
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);
switch (ib) {
case 0:
block = Blocks.COBBLESTONE;
break;
case 1:
block = Blocks.MOSSY_COBBLESTONE;
break;
case 2:
block = Blocks.GRAVEL;
break;
}
f = random.nextFloat();
if (f < 0.85) {
world.setBlockState(nextBlock, block.getDefaultState());
} else if (f > 95) {
world.destroyBlock(nextBlock, true);
}
sx = x = nextBlock.getX();
sy = y = nextBlock.getY();
sz = z = nextBlock.getZ();
if (random.nextBoolean()) ToolHelper.damageTool(tool, 1, player);
} else {
x = sx;
y = sy;
z = sz;
}
}
}
}
} }
private float calcBonus(ItemStack tool) { private float calcBonus(ItemStack tool) {
int durability = ToolHelper.getCurrentDurability(tool); int durability = ToolHelper.getCurrentDurability(tool);
int maxDurability = ToolHelper.getMaxDurability(tool); int maxDurability = ToolHelper.getMaxDurability(tool);

View File

@@ -4,7 +4,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@@ -69,13 +68,12 @@ public class TraitGarishly extends AbstractTrait {
@Override @Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
float r = random.nextFloat(); float r = random.nextFloat();
if (r > 0.9f) event.getDrops().clear(); if (r > 0.5f) event.getDrops().clear();
else if (r < 0.5f && r > 0.4f && event.getWorld().getBlockState(event.getPos()).getMaterial() == Material.ROCK) { else if (r < 0.1 && event.getWorld().getBlockState(event.getPos()).getMaterial() == Material.ROCK) {
ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), random.nextInt(5)); ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), random.nextInt(5));
event.getDrops().add(0, stack); event.getDrops().add(0, stack);
ToolHelper.damageTool(tool, random.nextInt(6) + 1, event.getHarvester()); ToolHelper.damageTool(tool, random.nextInt(6) + 1, event.getHarvester());
} else if (r < 1 && random.nextBoolean()) }
event.getWorld().setBlockState(event.getPos(), Blocks.LAVA.getDefaultState());
} }

View File

@@ -10,7 +10,6 @@ import net.minecraft.potion.PotionEffect;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil; import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil; import slimeknights.tconstruct.library.utils.TinkerUtil;
@@ -23,7 +22,6 @@ public class TraitGlimmer extends AbstractTrait {
public TraitGlimmer() { public TraitGlimmer() {
super("glimmer", TextFormatting.DARK_GRAY); super("glimmer", TextFormatting.DARK_GRAY);
MinecraftForge.EVENT_BUS.register(this);
} }
@Override @Override
@@ -39,14 +37,14 @@ public class TraitGlimmer extends AbstractTrait {
@Override @Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
if (random.nextFloat() <= 0.05) { if (random.nextFloat() <= 0.08) {
player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, random.nextInt(600) + 300)); player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, random.nextInt(600) + 300));
} }
} }
@Override @Override
public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) { public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) {
if (random.nextFloat() <= 0.05) { if (random.nextFloat() <= 0.08) {
player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, random.nextInt(600) + 300)); player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, random.nextInt(600) + 300));
} }
} }

View File

@@ -19,8 +19,8 @@ public class TraitHeroic extends AbstractTrait {
public float damage(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, float newDamage, boolean isCritical) { public float damage(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, float newDamage, boolean isCritical) {
int durability = ToolHelper.getCurrentDurability(tool); int durability = ToolHelper.getCurrentDurability(tool);
int durabilitymax = ToolHelper.getMaxDurability(tool); int durabilitymax = ToolHelper.getMaxDurability(tool);
float calc = (float) (newDamage + (newDamage / 2) / (durability * durabilitymax / (durabilitymax - durability))); float calc = (float) (newDamage + (newDamage / 2) / (durability * durabilitymax / (durabilitymax - durability - 1)));
if ((float) durability < (float) (0.12 * durabilitymax)) { 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); return super.damage(tool, player, target, damage, calc, isCritical);
} else return super.damage(tool, player, target, damage, newDamage, isCritical); } else return super.damage(tool, player, target, damage, newDamage, isCritical);
} }

View File

@@ -4,6 +4,7 @@ import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
@@ -27,6 +28,7 @@ public class TraitHollow extends AbstractTrait {
int time = (int) player.getEntityWorld().getWorldTime(); int time = (int) player.getEntityWorld().getWorldTime();
if (random.nextFloat() <= 0.2 || (random.nextFloat() <= 0.2 && isNight(time))) { if (random.nextFloat() <= 0.2 || (random.nextFloat() <= 0.2 && isNight(time))) {
((EntityLiving) target).setNoAI(true); ((EntityLiving) target).setNoAI(true);
target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
if (target.getMaxHealth() < 200) { if (target.getMaxHealth() < 200) {
target.setHealth(target.getMaxHealth() * (1.8f - random.nextFloat() * 0.4f)); target.setHealth(target.getMaxHealth() * (1.8f - random.nextFloat() * 0.4f));
} }
@@ -38,7 +40,7 @@ public class TraitHollow extends AbstractTrait {
World w = event.getEntity().getEntityWorld(); World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) { if (event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && random.nextFloat() <= 0.2 && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (!w.isRemote && random.nextFloat() <= 0.9 && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
event.getDrops().clear(); event.getDrops().clear();
} }
} }

View File

@@ -0,0 +1,32 @@
package com.sosnitzka.ztic_addon.traits;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
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() {
super("melting", TextFormatting.YELLOW);
}
@Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
float r = random.nextFloat();
Block b = event.getWorld().getBlockState(event.getPos()).getBlock();
if (r <= 0.01 && (b == Blocks.STONE || b == Blocks.COBBLESTONE || b == Blocks.NETHERRACK)) {
event.getWorld().setBlockState(event.getPos(), Blocks.LAVA.getDefaultState());
}
}
}

View File

@@ -1,12 +1,17 @@
package com.sosnitzka.ztic_addon.traits; package com.sosnitzka.ztic_addon.traits;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper; import slimeknights.tconstruct.library.utils.ToolHelper;
@@ -20,6 +25,11 @@ public class TraitNatureBound extends AbstractTrait {
MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(this);
} }
@Override
public int onToolHeal(ItemStack tool, int amount, int newAmount, EntityLivingBase entity) {
// 5% less durability repaired!
return newAmount - amount * 5 / 100;
}
@Override @Override
public void onUpdate(ItemStack tool, World world, Entity entity, int itemSlot, boolean isSelected) { public void onUpdate(ItemStack tool, World world, Entity entity, int itemSlot, boolean isSelected) {
@@ -29,4 +39,18 @@ public class TraitNatureBound extends AbstractTrait {
} }
} }
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent e) {
Block b = e.getWorld().getBlockState(e.getPos()).getBlock();
if (random.nextFloat() <= .07 && (b == Blocks.DIRT || b == Blocks.GRASS || b == Blocks.LOG || b == Blocks.LOG2 || b == Blocks.STONE)) {
e.setCanceled(true);
e.getPlayer().playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
}
}
} }

View File

@@ -3,6 +3,7 @@ package com.sosnitzka.ztic_addon.traits;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -10,18 +11,19 @@ import net.minecraft.world.World;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper; import slimeknights.tconstruct.library.utils.ToolHelper;
public class TraitBentonite extends AbstractTrait { public class TraitOrganizing extends AbstractTrait {
private static final float chance = 0.1f; private static final float chance = 0.1f;
public TraitBentonite() { public TraitOrganizing() {
super("bentonite", TextFormatting.RED); super("organizing", TextFormatting.GREEN);
} }
@Override @Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
if (!world.isRemote && (state.getMaterial() == Material.ROCK) && random.nextFloat() < chance) { if (!world.isRemote && (state.getMaterial() == Material.ROCK) && random.nextFloat() < chance) {
ToolHelper.healTool(tool, random.nextInt(15), player); world.setBlockState(pos, Blocks.LOG.getDefaultState());
ToolHelper.healTool(tool, random.nextInt(5), player);
} }
} }
} }

View File

@@ -2,7 +2,6 @@ package com.sosnitzka.ztic_addon.traits;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.event.world.BlockEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
@@ -15,7 +14,6 @@ public class TraitPulverizing extends AbstractTrait {
public TraitPulverizing() { public TraitPulverizing() {
super("pulverizing", TextFormatting.DARK_GRAY); super("pulverizing", TextFormatting.DARK_GRAY);
MinecraftForge.EVENT_BUS.register(this);
} }
@Override @Override

View File

@@ -7,11 +7,11 @@ import net.minecraft.entity.item.EntityTNTPrimed;
import net.minecraft.entity.monster.*; import net.minecraft.entity.monster.*;
import net.minecraft.entity.passive.*; import net.minecraft.entity.passive.*;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.event.world.BlockEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
@@ -29,7 +29,6 @@ public class TraitRandomize extends AbstractTrait {
public TraitRandomize() { public TraitRandomize() {
super("randomize", TextFormatting.DARK_RED); super("randomize", TextFormatting.DARK_RED);
MinecraftForge.EVENT_BUS.register(this);
} }
@Override @Override
@@ -44,6 +43,7 @@ public class TraitRandomize extends AbstractTrait {
if (random.nextFloat() <= .15 && target instanceof EntityLiving) { if (random.nextFloat() <= .15 && target instanceof EntityLiving) {
World w = player.getEntityWorld(); World w = player.getEntityWorld();
Entity e = new EntityCow(w); Entity e = new EntityCow(w);
target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
if (!w.isRemote) { if (!w.isRemote) {
int i = random.nextInt(22); int i = random.nextInt(22);
switch (i) { switch (i) {
@@ -128,9 +128,9 @@ public class TraitRandomize extends AbstractTrait {
float r = random.nextFloat(); float r = random.nextFloat();
if (r > 0.95f) event.getDrops().clear(); if (r > 0.95f) event.getDrops().clear();
if (event.getDrops() != null) { if (event.getDrops() != null) {
if (r < 0.4f && event.getDrops().get(0).getItem() == Item.getItemFromBlock(Blocks.IRON_ORE)) { if (r < 0.4f && (event.getDrops().get(0).getItem() == Item.getItemFromBlock(Blocks.IRON_ORE) || event.getDrops().get(0).getItem() == Item.getItemFromBlock(Blocks.GOLD_ORE))) {
ItemStack change = new ItemStack(Item.getItemFromBlock(Blocks.IRON_ORE)); ItemStack change = new ItemStack(Item.getItemFromBlock(Blocks.IRON_ORE));
int i = random.nextInt(11); int i = random.nextInt(12);
switch (i) { switch (i) {
case 0: case 0:
change = new ItemStack(Item.getItemFromBlock(Blocks.GOLD_ORE)); change = new ItemStack(Item.getItemFromBlock(Blocks.GOLD_ORE));
@@ -165,6 +165,9 @@ public class TraitRandomize extends AbstractTrait {
case 10: case 10:
change = new ItemStack(eterniteOre); change = new ItemStack(eterniteOre);
break; break;
case 11:
change = new ItemStack(Item.getItemFromBlock(Blocks.IRON_ORE));
break;
} }
event.getDrops().set(0, change); event.getDrops().set(0, change);

View File

@@ -3,7 +3,6 @@ package com.sosnitzka.ztic_addon.traits;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
/** /**
@@ -14,7 +13,6 @@ public class TraitResonance extends AbstractTrait {
public TraitResonance() { public TraitResonance() {
super("resonance", TextFormatting.AQUA); super("resonance", TextFormatting.AQUA);
MinecraftForge.EVENT_BUS.register(this);
} }
@Override @Override

View File

@@ -0,0 +1,72 @@
package com.sosnitzka.ztic_addon.traits;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
/**
* Created by Robert on 03.06.2016.
*/
public class TraitReviving extends AbstractTrait {
public TraitReviving() {
super("reviving", TextFormatting.DARK_PURPLE);
MinecraftForge.EVENT_BUS.register(this);
}
@SubscribeEvent
public void onEntityKill(LivingDeathEvent e) {
BlockPos pos = e.getEntity().getPosition();
World w = e.getEntity().getEntityWorld();
if (!w.isRemote && e.getSource().getEntity() != null) {
if (e.getSource().getEntity() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) {
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);
ent.setPosition(pos.getX(), pos.getY(), pos.getZ());
w.spawnEntityInWorld(ent);
}
}
}
}
@Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
int time = (int) world.getWorldTime();
if (random.nextFloat() <= 0.1 && isNight(time)) {
ToolHelper.healTool(tool, random.nextInt(15) + 1, null);
}
}
@Override
public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) {
int time = (int) player.getEntityWorld().getWorldTime();
if (random.nextFloat() <= 0.1 && isNight(time)) {
ToolHelper.healTool(tool, random.nextInt(15) + 1, null);
}
}
public boolean isNight(int time) {
if (time > 12500) {
return true;
} else {
return false;
}
}
}

View File

@@ -19,6 +19,9 @@ import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil; import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper; import slimeknights.tconstruct.library.utils.ToolHelper;
import static com.sosnitzka.ztic_addon.Items.glimmerstone_dust;
import static com.sosnitzka.ztic_addon.Items.tiberiumShardStable;
public class TraitUncertain extends AbstractTrait { public class TraitUncertain extends AbstractTrait {
@@ -32,11 +35,11 @@ public class TraitUncertain extends AbstractTrait {
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
if (random.nextFloat() <= 0.05) { if (random.nextFloat() <= 0.05) {
if (!world.isRemote) { if (!world.isRemote) {
if (random.nextFloat() > 0.15f) { if (random.nextFloat() > 0.1f) {
explode(world, player, pos.getX(), pos.getY(), pos.getZ()); explode(world, player, pos.getX(), pos.getY(), pos.getZ());
} else explode(world, null, pos.getX(), pos.getY(), pos.getZ()); } else explode(world, null, pos.getX(), pos.getY(), pos.getZ());
} }
ToolHelper.damageTool(tool, 5 + random.nextInt(10), null); ToolHelper.damageTool(tool, random.nextInt(5) + 1, null);
} }
} }
@@ -46,13 +49,30 @@ public class TraitUncertain extends AbstractTrait {
if (event.getSource().getEntity() instanceof EntityPlayer) { if (event.getSource().getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
ItemStack i = new ItemStack(Items.GUNPOWDER, random.nextInt(4)); ItemStack i = new ItemStack(Items.COAL, random.nextInt(4));
if (random.nextBoolean()) {
int r = random.nextInt(4);
switch (r) {
case 0:
i = new ItemStack(Items.GUNPOWDER, random.nextInt(4));
break;
case 1:
i = new ItemStack(tiberiumShardStable, random.nextInt(4));
break;
case 2:
i = new ItemStack(tiberiumShardStable, random.nextInt(4));
break;
case 3:
i = new ItemStack(glimmerstone_dust, random.nextInt(4));
break;
}
}
event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i)); event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i));
} }
} }
} }
private void explode(World w, Entity e, double x, double y, double z) { private void explode(World w, Entity e, double x, double y, double z) {
w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 35, random.nextBoolean(), true); w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 5, random.nextBoolean(), true);
} }
} }

View File

@@ -24,7 +24,7 @@ public class Utils {
public static void registerFluid(Fluid fluid) { public static void registerFluid(Fluid fluid) {
FluidRegistry.registerFluid(fluid); FluidRegistry.registerFluid(fluid);
//FluidRegistry.addBucketForFluid(fluid); FluidRegistry.addBucketForFluid(fluid);
} }
public static void registerTinkerAlloys(Fluid alloy, int out, Fluid first, int inOne, Fluid second, int inTwo) { public static void registerTinkerAlloys(Fluid alloy, int out, Fluid first, int inOne, Fluid second, int inTwo) {

View File

@@ -11,6 +11,55 @@
} }
} }
], ],
"tiberium": [
{
"custom": {
"fluid": "tiberium"
}
}
],
"prometheum": [
{
"custom": {
"fluid": "prometheum"
}
}
],
"rubium": [
{
"custom": {
"fluid": "rubium"
}
}
],
"violium": [
{
"custom": {
"fluid": "violium"
}
}
],
"bismuth": [
{
"custom": {
"fluid": "bismuth"
}
}
],
"karmesine": [
{
"custom": {
"fluid": "karmesine"
}
}
],
"mindorite": [
{
"custom": {
"fluid": "mindorite"
}
}
],
"titanite": [ "titanite": [
{ {
"custom": { "custom": {
@@ -18,6 +67,132 @@
} }
} }
], ],
"meteorite": [
{
"custom": {
"fluid": "meteorite"
}
}
],
"adamantite": [
{
"custom": {
"fluid": "adamantite"
}
}
],
"vibranium": [
{
"custom": {
"fluid": "vibranium"
}
}
],
"ignitite": [
{
"custom": {
"fluid": "ignitite"
}
}
],
"palladium": [
{
"custom": {
"fluid": "palladium"
}
}
],
"eternite": [
{
"custom": {
"fluid": "eternite"
}
}
],
"mythril": [
{
"custom": {
"fluid": "mythril"
}
}
],
"astrium": [
{
"custom": {
"fluid": "astrium"
}
}
],
"nitronite": [
{
"custom": {
"fluid": "nitronite"
}
}
],
"proxideum": [
{
"custom": {
"fluid": "proxideum"
}
}
],
"noctunyx": [
{
"custom": {
"fluid": "noctunyx"
}
}
],
"imperomite": [
{
"custom": {
"fluid": "imperomite"
}
}
],
"cryptogen": [
{
"custom": {
"fluid": "cryptogen"
}
}
],
"fractoryte": [
{
"custom": {
"fluid": "fractoryte"
}
}
],
"seismodium": [
{
"custom": {
"fluid": "seismodium"
}
}
],
"terramite": [
{
"custom": {
"fluid": "terramite"
}
}
],
"lumixyl": [
{
"custom": {
"fluid": "lumixyl"
}
}
],
"solarium": [
{
"custom": {
"fluid": "solarium"
}
}
],
"dyonite": [ "dyonite": [
{ {
"custom": { "custom": {
@@ -25,10 +200,80 @@
} }
} }
], ],
"astrium": [ "ultranite": [
{ {
"custom": { "custom": {
"fluid": "astrium" "fluid": "ultranite"
}
}
],
"nucleum": [
{
"custom": {
"fluid": "nucleum"
}
}
],
"aegisalt": [
{
"custom": {
"fluid": "aegisalt"
}
}
],
"bysmuid": [
{
"custom": {
"fluid": "bysmuid"
}
}
],
"radiant_enderium": [
{
"custom": {
"fluid": "radiant_enderium"
}
}
],
"glimming_enderium": [
{
"custom": {
"fluid": "glimming_enderium"
}
}
],
"energy_enderium": [
{
"custom": {
"fluid": "energy_enderium"
}
}
],
"glimmercoal_fluid": [
{
"custom": {
"fluid": "glimmercoal_fluid"
}
}
],
"nitro_fluid": [
{
"custom": {
"fluid": "nitro_fluid"
}
}
],
"anthracite_fluid": [
{
"custom": {
"fluid": "anthracite_fluid"
}
}
],
"spectrum_fluid": [
{
"custom": {
"fluid": "spectrum_fluid"
} }
} }
] ]

View File

@@ -61,105 +61,6 @@ material.dyonite.name=Dyonit
material.proxideum.name=Proxideum material.proxideum.name=Proxideum
material.astrium.name=Astrium material.astrium.name=Astrium
fluid.titanite.name=Titanit
fluid.meteorite.name=Meteorit
fluid.vibranium.name=Vibranium
fluid.adamantite.name=Adamantit
fluid.prometheum.name=Prometheum
fluid.rubium.name=Rubium
fluid.tiberium.name=Tiberium
fluid.arcanite.name=Arcanit
fluid.eternite.name=Eternit
fluid.mythril.name=Mythril
fluid.palladium.name=Palladium
fluid.ignitite.name=Ignitit
fluid.violium.name=Violium
fluid.bismuth.name=Bismuth
fluid.mindorite.name=Mindorit
fluid.karmesine.name=Karmesin
fluid.imperomite.name=Imperomit
fluid.fractoryte.name=Fractoryt
fluid.noctunyx.name=Noctunyx
fluid.nitronite.name=Nitronit
fluid.cryptogen.name=Cryptogen
fluid.seismodium.name=Seismodium
fluid.aegisalt.name=Aegisalt
fluid.ultranite.name=Ultranit
fluid.bysmuid.name=Bysmuid
fluid.nucleum.name=Nucleum
fluid.terramite.name=Terramit
fluid.solarium.name=Solarium
fluid.lumixyl.name=Lumixyl
fluid.dyonite.name=Dyonit
fluid.proxideum.name=Proxideum
fluid.astrium.name=Astrium
fluid.titanite=Titanit
fluid.meteorite=Meteorit
fluid.vibranium=Vibranium
fluid.adamantite=Adamantit
fluid.prometheum=Prometheum
fluid.rubium=Rubium
fluid.tiberium=Tiberium
fluid.arcanite=Arcanit
fluid.eternite=Eternit
fluid.mythril=Mythril
fluid.palladium=Palladium
fluid.ignitite=Ignitit
fluid.violium=Violium
fluid.bismuth=Bismuth
fluid.mindorite=Mindorit
fluid.karmesine=Karmesin
fluid.imperomite=Imperomit
fluid.fractoryte=Fractoryt
fluid.noctunyx=Noctunyx
fluid.nitronite=Nitronit
fluid.cryptogen=Cryptogen
fluid.seismodium=Seismodium
fluid.aegisalt=Aegisalt
fluid.ultranite=Ultranit
fluid.bysmuid=Bysmuid
fluid.nucleum=Nucleum
fluid.terramite=Terramit
fluid.solarium=Solarium
fluid.lumixyl=Lumixyl
fluid.dyonite=Dyonit
fluid.proxideum=Proxideum
fluid.astrium=Astrium
Titanite.name=Titanit
Meteorite.name=Meteorit
Vibranium.name=Vibranium
Adamantite.name=Adamantit
Prometheum.name=Prometheum
Rubium.name=Rubium
Tiberium.name=Tiberium
Arcanite.name=Arcanit
Eternite.name=Eternit
Mythril.name=Mythril
Palladium.name=Palladium
Ignitite.name=Ignitit
Violium.name=Violium
Bismuth.name=Bismuth
Mindorite.name=Mindorit
Karmesine.name=Karmesin
Imperomite.name=Imperomit
Fractoryte.name=Fractoryt
Noctunyx.name=Noctunyx
Nitronite.name=Nitronit
Cryptogen.name=Cryptogen
Seismodium.name=Seismodium
Aegisalt.name=Aegisalt
Ultranite.name=Ultranit
Bysmuid.name=Bysmuid
Nucleum.name=Nucleum
Terramite.name=Terramit
Solarium.name=Solarium
Lumixyl.name=Lumixyl
Dyonite.name=Dyonit
Proxideum.name=Proxideum
Astrium.name=Astrium
tile.titanite_block.name=Titanitblock tile.titanite_block.name=Titanitblock
tile.meteorite_block.name=Meteoritblock tile.meteorite_block.name=Meteoritblock
tile.vibranium_block.name=Vibraniumblock tile.vibranium_block.name=Vibraniumblock
@@ -226,9 +127,49 @@ item.dyonite_ingot.name=Dyonitbarren
item.proxideum_ingot.name=Proxideumbarren item.proxideum_ingot.name=Proxideumbarren
item.astrium_ingot.name=Astriumbarren item.astrium_ingot.name=Astriumbarren
fluid.tconstruct.arcanite.name=Arcanit
fluid.tconstruct.tiberium.name=Tiberium
fluid.tconstruct.prometheum.name=Prometheum
fluid.tconstruct.rubium.name=Rubium
fluid.tconstruct.violium.name=Violium
fluid.tconstruct.bismuth.name=Bismuth
fluid.tconstruct.karmesine.name=Karmesin
fluid.tconstruct.mindorite.name=Mindorit
fluid.tconstruct.titanite.name=Titanit
fluid.tconstruct.meteorite.name=Meteorit
fluid.tconstruct.adamantite.name=Adamantit
fluid.tconstruct.vibranium.name=Vibranium
fluid.tconstruct.ignitite.name=Ignitit
fluid.tconstruct.palladium.name=Palladium
fluid.tconstruct.eternite.name=Eternit
fluid.tconstruct.mythril.name=Mythril
fluid.tconstruct.astrium.name=Astrium
fluid.tconstruct.nitronite.name=Nitronit
fluid.tconstruct.proxideum.name=Proxideum
fluid.tconstruct.noctunyx.name=Noctunyx
fluid.tconstruct.imperomite.name=Imperomit
fluid.tconstruct.cryptogen.name=Cryptogen
fluid.tconstruct.fractoryte.name=Fractoryt
fluid.tconstruct.seismodium.name=Seismodium
fluid.tconstruct.terramite.name=Terramit
fluid.tconstruct.lumixyl.name=Lumixyl
fluid.tconstruct.solarium.name=Solarium
fluid.tconstruct.dyonite.name=Dyonite
fluid.tconstruct.ultranite.name=Ultranit
fluid.tconstruct.nucleum.name=Nucleum
fluid.tconstruct.aegisalt.name=Aegisalt
fluid.tconstruct.bysmuid.name=Bysmuid
fluid.tconstruct.radiant_enderium.name=Radiant Enderium
fluid.tconstruct.glimming_enderium.name=Glimming Enderium
fluid.tconstruct.energy_enderium.name=Energy Enderium
fluid.tconstruct.glimmercoal_fluid.name=Flüssige Glimmerkohle
fluid.tconstruct.nitro_fluid.name=Flüssiges Nitro
fluid.tconstruct.anthracite_fluid.name=Flüssiges Anthracit
fluid.tconstruct.spectrum_fluid.name=Spektrumfluid
modifier.analysing.name=Analysing modifier.analysing.name=Analysing
modifier.arcane.name=Arcane modifier.arcane.name=Arcane
modifier.bentonite.name=Bentonite modifier.organizing.name=Organisieren
modifier.blind.name=Blind modifier.blind.name=Blind
modifier.bright.name=Bright modifier.bright.name=Bright
modifier.cascade.name=Cascade modifier.cascade.name=Cascade
@@ -251,18 +192,17 @@ modifier.resonance.name=Resonance
modifier.slaughtering.name=Slaughtering modifier.slaughtering.name=Slaughtering
modifier.softy.name=Softy modifier.softy.name=Softy
modifier.uncertain.name=Uncertain modifier.uncertain.name=Uncertain
modifier.reviving.name=Wiederbelebend
modifier.melting.name=Schmelzend
fluid.radiant_enderium=Radiant Enderium
fluid.glimming_enderium=Glimmer Enderium
fluid.energy_enderium=Energy Enderium
fluid.glimmercoal=Glimmerkohlenfluid
item.glimmercoal.name=Glimmerkohle item.glimmercoal.name=Glimmerkohle
item.glimmer_pearl.name=Glimmerperle item.glimmer_pearl.name=Glimmerperle
item.glimmerstone_dust.name=Glimmerstein Staub item.glimmerstone_dust.name=Glimmerstein Staub
item.energy_pearl.name=Energieperle item.energy_pearl.name=Energieperle
fluid.nitro=Nitro
item.nitro_brick.name=Nitroziegel item.nitro_brick.name=Nitroziegel
fluid.anthracite=Anthracitfluid
item.anthracite_dust.name=Anthracitstaub item.anthracite_dust.name=Anthracitstaub
fluid.spectrum=Spectrumfluid item.spectrum_dust.name=Spektrumstaub
item.spectrum_dust.name=Spectrumstaub item.tiberium_shard_instable.name=Instabile Tiberiumscherbe
item.tiberium_nugget.name=Tiberium Nugget
item.radiant_pearl.name=Radiumperle
item.luminar_dust.name=Luminarstaub

View File

@@ -61,104 +61,45 @@ material.dyonite.name=Dyonite
material.proxideum.name=Proxideum material.proxideum.name=Proxideum
material.astrium.name=Astrium material.astrium.name=Astrium
fluid.titanite.name=Titanite fluid.tconstruct.arcanite.name=Arcanite
fluid.meteorite.name=Meteorite fluid.tconstruct.tiberium.name=Tiberium
fluid.vibranium.name=Vibranium fluid.tconstruct.prometheum.name=Prometheum
fluid.adamantite.name=Adamantite fluid.tconstruct.rubium.name=Rubium
fluid.prometheum.name=Prometheum fluid.tconstruct.violium.name=Violium
fluid.rubium.name=Rubium fluid.tconstruct.bismuth.name=Bismuth
fluid.tiberium.name=Tiberium fluid.tconstruct.karmesine.name=Karmesine
fluid.arcanite.name=Arcanite fluid.tconstruct.mindorite.name=Mindorite
fluid.eternite.name=Eternite fluid.tconstruct.titanite.name=Titanite
fluid.mythril.name=Mythril fluid.tconstruct.meteorite.name=Meteorite
fluid.palladium.name=Palladium fluid.tconstruct.adamantite.name=Adamantite
fluid.ignitite.name=Ignitite fluid.tconstruct.vibranium.name=Vibranium
fluid.violium.name=Violium fluid.tconstruct.ignitite.name=Ignitite
fluid.bismuth.name=Bismuth fluid.tconstruct.palladium.name=Palladium
fluid.mindorite.name=Mindorite fluid.tconstruct.eternite.name=Eternite
fluid.karmesine.name=Karmesine fluid.tconstruct.mythril.name=Mythril
fluid.imperomite.name=Imperomite fluid.tconstruct.astrium.name=Astrium
fluid.fractoryte.name=Fractoryte fluid.tconstruct.nitronite.name=Nitronite
fluid.noctunyx.name=Noctunyx fluid.tconstruct.proxideum.name=Proxideum
fluid.nitronite.name=Nitronite fluid.tconstruct.noctunyx.name=Noctunyx
fluid.cryptogen.name=Cryptogen fluid.tconstruct.imperomite.name=Imperomite
fluid.seismodium.name=Seismodium fluid.tconstruct.cryptogen.name=Cryptogen
fluid.aegisalt.name=Aegisalt fluid.tconstruct.fractoryte.name=Fractoryte
fluid.ultranite.name=Ultranite fluid.tconstruct.seismodium.name=Seismodium
fluid.bysmuid.name=Bysmuid fluid.tconstruct.terramite.name=Terramite
fluid.nucleum.name=Nucleum fluid.tconstruct.lumixyl.name=Lumixyl
fluid.terramite.name=Terramite fluid.tconstruct.solarium.name=Solarium
fluid.solarium.name=Solarium fluid.tconstruct.dyonite.name=Dyonite
fluid.lumixyl.name=Lumixyl fluid.tconstruct.ultranite.name=Ultranite
fluid.dyonite.name=Dyonite fluid.tconstruct.nucleum.name=Nucleum
fluid.proxideum.name=Proxideum fluid.tconstruct.aegisalt.name=Aegisalt
fluid.astrium.name=Astrium fluid.tconstruct.bysmuid.name=Bysmuid
fluid.tconstruct.radiant_enderium.name=Radiant Enderium
fluid.titanite=Titanite fluid.tconstruct.glimming_enderium.name=Glimming Enderium
fluid.meteorite=Meteorite fluid.tconstruct.energy_enderium.name=Energy Enderium
fluid.vibranium=Vibranium fluid.tconstruct.glimmercoal_fluid.name=Glimmercoal Fluid
fluid.adamantite=Adamantite fluid.tconstruct.nitro_fluid.name=Nitro Fluid
fluid.prometheum=Prometheum fluid.tconstruct.anthracite_fluid.name=Anthracite Fluid
fluid.rubium=Rubium fluid.tconstruct.spectrum_fluid.name=Spectrum Fluid
fluid.tiberium=Tiberium
fluid.arcanite=Arcanite
fluid.eternite=Eternite
fluid.mythril=Mythril
fluid.palladium=Palladium
fluid.ignitite=Ignitite
fluid.violium=Violium
fluid.bismuth=Bismuth
fluid.mindorite=Mindorite
fluid.karmesine=Karmesine
fluid.imperomite=Imperomite
fluid.fractoryte=Fractoryte
fluid.noctunyx=Noctunyx
fluid.nitronite=Nitronite
fluid.cryptogen=Cryptogen
fluid.seismodium=Seismodium
fluid.aegisalt=Aegisalt
fluid.ultranite=Ultranite
fluid.bysmuid=Bysmuid
fluid.nucleum=Nucleum
fluid.terramite=Terramite
fluid.solarium=Solarium
fluid.lumixyl=Lumixyl
fluid.dyonite=Dyonite
fluid.proxideum=Proxideum
fluid.astrium=Astrium
Titanite.name=Titanite
Meteorite.name=Meteorite
Vibranium.name=Vibranium
Adamantite.name=Adamantite
Prometheum.name=Prometheum
Rubium.name=Rubium
Tiberium.name=Tiberium
Arcanite.name=Arcanite
Eternite.name=Eternite
Mythril.name=Mythril
Palladium.name=Palladium
Ignitite.name=Ignitite
Violium.name=Violium
Bismuth.name=Bismuth
Mindorite.name=Mindorite
Karmesine.name=Karmesine
Imperomite.name=Imperomite
Fractoryte.name=Fractoryte
Noctunyx.name=Noctunyx
Nitronite.name=Nitronite
Cryptogen.name=Cryptogen
Seismodium.name=Seismodium
Aegisalt.name=Aegisalt
Ultranite.name=Ultranite
Bysmuid.name=Bysmuid
Nucleum.name=Nucleum
Terramite.name=Terramite
Solarium.name=Solarium
Lumixyl.name=Lumixyl
Dyonite.name=Dyonite
Proxideum.name=Proxideum
Astrium.name=Astrium
tile.titanite_block.name=Titanite Block tile.titanite_block.name=Titanite Block
tile.meteorite_block.name=Meteorite Block tile.meteorite_block.name=Meteorite Block
@@ -228,7 +169,7 @@ item.astrium_ingot.name=Astrium Ingot
modifier.analysing.name=Analysing modifier.analysing.name=Analysing
modifier.arcane.name=Arcane modifier.arcane.name=Arcane
modifier.bentonite.name=Bentonite modifier.organizing.name=Organizing
modifier.blind.name=Blind modifier.blind.name=Blind
modifier.bright.name=Bright modifier.bright.name=Bright
modifier.cascade.name=Cascade modifier.cascade.name=Cascade
@@ -250,19 +191,19 @@ modifier.randomize.name=Randomize
modifier.resonance.name=Resonance modifier.resonance.name=Resonance
modifier.slaughtering.name=Slaughtering modifier.slaughtering.name=Slaughtering
modifier.softy.name=Softy modifier.softy.name=Softy
modifier.uncertain.name=Uncertai modifier.uncertain.name=Uncertain
modifier.reviving.name=Reviving
modifier.melting.name=Melting
fluid.radiant_enderium=Radiant enderium
fluid.glimming_enderium=Glimming enderium
fluid.energy_enderium=Energy enderium
fluid.glimmercoal=Glimmercoal fluid
item.glimmercoal.name=Glimmercoal item.glimmercoal.name=Glimmercoal
item.glimmer_pearl.name=Glimmerpearl item.glimmer_pearl.name=Glimmerpearl
item.glimmerstone_dust.name=Glimmerstone dust item.glimmerstone_dust.name=Glimmerstone Dust
item.energy_pearl.name=Energy pearl item.energy_pearl.name=Energy Pearl
fluid.nitro=Nitro item.nitro_brick.name=Nitro Brick
item.nitro_brick.name=Nitro brick item.anthracite_dust.name=Anthracite Dust
fluid.anthracite=Anthracite fluid item.spectrum_dust.name=Spectrum Dust
item.anthracite_dust.name=Anthracite dust item.tiberium_shard_instable.name=Instable Tiberium Shard
fluid.spectrum=Spectrum fluid item.tiberium_nugget.name=Tiberium Nugget
item.spectrum_dust.name=Spectrum dust item.radiant_pearl.name=Radiant Pearl
item.luminar_dust.name=Luminar Dust

View File

@@ -1,8 +1,8 @@
[{ [{
"modid": "ztic_addon", "modid": "ztic_addon",
"name": "Tinkers ", "name": "Tinkers ",
"description": "A modification for Tinkers' Construct, adding several ores and materials", "description": "A modification for Tinkers' Construct! 32 New Materials including a special alloy system",
"version": "0.5", "version": "0.9",
"mcversion": "1.9", "mcversion": "1.9",
"url": "www.sosnitzka.com", "url": "www.sosnitzka.com",
"updateUrl": "", "updateUrl": "",