From 826ab1cf3a01dadae2a5d5a204fa557f7134eac6 Mon Sep 17 00:00:00 2001 From: Giovanni Harting Date: Mon, 5 Dec 2016 20:34:02 +0100 Subject: [1.2] Material rework (#60) * Developement tests for nbt data in traits * Lot of trait changes and better balancing * Traits reworked a bit, new traits added. * First correction of NBT Data in Trait (Soulbound). Is shown twice. Still needs corrections. * Few fixes in traits and new trait "catcher" * Small fix, needs workaround * fixed some catch issues * Fixed Catcher and Reviving Traits, new Trait: Souleater. Updated build.gradle for new TiC Version. * Splitted SoulEater to get the bad touch to an extra trait "Cursed". Added method for using nbt more easily. Changed declaration names of fluids * Some minor changes in Traits, Registry and Utils. * Iron_nugget is replaced with oreDict Item when not loaded via TAIGA. * Beginning of new material integration. Lot of names changed, lot more work to do here. Many null pointer exceptions and no changes of values up to now. * Some Small changes in names, registry and recipes * Some weird stuff I don't remember :D * fixed some things I missed while merging * Rollback to something * More Stuff * fixed some merging stuff * Fixed some misspelled names. Actually working with lots of restrictions. * Rearranged alloys, tried to add blocks / ingots for non-tinker-materials, but they won't work. * Again tried to fix the melting issue, but non-tinker materials still are not able to be casted as a block, ingot or nugget... * Fixed integration of materials without tools. * changed IMC to direct lib calls * removed more IMC, removed redundant code * some reformatting * Alloy integration reworked, needs to be balanced. * updated deps, renamed some func's, added duplicate material check * some more renaming * some reformatting, fixed wrong import, fixed string cmp's * Added images for blocks, ingots, nuggets and dust. Json changes do not work yet. * some reformatting * Removed old json files. Placeholder needed. * Fixed block json, items not working yet. * Fixed my own derp (missing json files) * Reduced materials to ensure unique traits for most of them. Still 30 though, but reduced by 20 more :'( RIP * Changed some generator stuff, not working properly right now! * rewrote offset generation, added some debug command, fixed some stuff * fixed on-surface-generation, made dependencies more flexible * reverted gen-weight back to its normal value * Meteor generator implemented. * fixed generating on ground * optimized a thing * Replaced Uru with Osram, replaced Meteorite with Uru, added Meteorite again for Hull-Material and late game alloy. * Some changes in generation of ores, not ready yet. * Added Cobble Meteorite. Added debug command. Implemented rest of ore generation. Some minor fixes left for generation including balancing. * Some changes for ore generation. Added 2 separate Generic Blocks for meteorite and their cobble variant. * some cleanup in Generator class, added meteor world save handler * Added Textures. Added blockstates and item models. Fixed fluid rendering. * renamed world save data file to be little more specific, removed a unused method * some preps for the upcoming release * First attempt of well balancing material stats. Renamed TiberiumX to Triberium. * Final changes... ready for beta testing * Added missing alloys. * Corrected balancing of ore generation. Still WIP * removed some last debug out * one last reformat --- .../java/com/sosnitzka/taiga/MaterialTraits.java | 89 +++++++++++++--------- 1 file changed, 52 insertions(+), 37 deletions(-) (limited to 'src/main/java/com/sosnitzka/taiga/MaterialTraits.java') diff --git a/src/main/java/com/sosnitzka/taiga/MaterialTraits.java b/src/main/java/com/sosnitzka/taiga/MaterialTraits.java index c5ab2ba..f2ca5bf 100644 --- a/src/main/java/com/sosnitzka/taiga/MaterialTraits.java +++ b/src/main/java/com/sosnitzka/taiga/MaterialTraits.java @@ -7,15 +7,15 @@ import slimeknights.tconstruct.library.materials.Material; import slimeknights.tconstruct.library.materials.MaterialTypes; import slimeknights.tconstruct.library.traits.AbstractTrait; +import static com.sosnitzka.taiga.Fluids.obsidioriteFluid; import static slimeknights.tconstruct.tools.TinkerTraits.*; public class MaterialTraits { // new hardness levels - public static final int TITANITE = 5; - public static final int METEORITE = 6; + public static final int DURANITE = 5; + public static final int VALYRIUM = 6; public static final int VIBRANIUM = 7; - public static final int ADAMANTITE = 8; // Init of new traits public static final AbstractTrait instable = new TraitInstable(); @@ -34,50 +34,65 @@ public class MaterialTraits { 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 final AbstractTrait traditional = new TraitTraditional(); + public static final AbstractTrait tantrum = new TraitTantrum(); + public static final AbstractTrait catcher = new TraitCatcher(); + public static final AbstractTrait congenial = new TraitCongenial(); + public static final AbstractTrait souleater = new TraitSoulEater(); + public static final AbstractTrait cursed = new TraitCursed(); + public static final AbstractTrait ported = new TraitPorted(); + public static final AbstractTrait decay = new TraitDecay(); + public static final AbstractTrait whirl = new TraitWhirl(); + /** + * Assign traits to related materials.
+ *

+ *

Example: + * .addTrait(x, HandleMaterialStats.TYPE).addTrait(y, HeadMaterialStats.TYPE) + * .addTrait(z) + */ - public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(arcane, MaterialTypes.HEAD).addTrait(blind, MaterialTypes.HANDLE); public static Material tiberium = new Material("tiberium", TextFormatting.GREEN).addTrait(instable); - public static Material prometheum = new Material("prometheum", TextFormatting.DARK_PURPLE).addTrait(haunted, MaterialTypes.HEAD).addTrait(blind); - public static Material rubium = new Material("rubium", TextFormatting.RED).addTrait(enderference, MaterialTypes.HEAD).addTrait(blind); - public static Material violium = new Material("violium", TextFormatting.DARK_GREEN).addTrait(stonebound, MaterialTypes.HANDLE).addTrait(poisonous, MaterialTypes.HEAD); - public static Material bismuth = new Material("bismuth", TextFormatting.GREEN).addTrait(splintering, MaterialTypes.HEAD).addTrait(splinters, MaterialTypes.HANDLE); - public static Material karmesine = new Material("karmesine", TextFormatting.DARK_RED).addTrait(aridiculous, MaterialTypes.HANDLE).addTrait(superheat, MaterialTypes.HEAD); - public static Material mindorite = new Material("mindorite", TextFormatting.AQUA).addTrait(cheap); - public static Material titanite = new Material("titanite", TextFormatting.GRAY).addTrait(shocking, MaterialTypes.HANDLE).addTrait(sharp, MaterialTypes.HEAD); - public static Material meteorite = new Material("meteorite", TextFormatting.GRAY).addTrait(established, MaterialTypes.HANDLE).addTrait(momentum, MaterialTypes.HEAD); - public static Material adamantite = new Material("adamantite", TextFormatting.GRAY).addTrait(coldblooded, MaterialTypes.HEAD).addTrait(magnetic, MaterialTypes.HANDLE); - public static Material vibranium = new Material("vibranium", TextFormatting.GRAY).addTrait(resonance); - public static Material ignitite = new Material("ignitite", TextFormatting.RED).addTrait(melting, MaterialTypes.HANDLE).addTrait(flammable, MaterialTypes.HEAD); - 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, MaterialTypes.HEAD).addTrait(hellish, MaterialTypes.HANDLE); - 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, MaterialTypes.HEAD).addTrait(reviving, MaterialTypes.HANDLE); - 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, MaterialTypes.HANDLE).addTrait(melting, MaterialTypes.HEAD); - public static Material nucleum = new Material("nucleum", TextFormatting.AQUA).addTrait(diffuse).addTrait(bright, MaterialTypes.HEAD); - public static Material lumixyl = new Material("lumixyl", TextFormatting.YELLOW).addTrait(glimmer); - public static Material dyonite = new Material("dyonite", TextFormatting.GRAY).addTrait(slaughtering, MaterialTypes.HEAD).addTrait(dissolving, MaterialTypes.HANDLE); - 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, MaterialTypes.HANDLE).addTrait(lightweight); + public static Material aurorium = new Material("aurorium", TextFormatting.RED).addTrait(arcane); + public static Material prometheum = new Material("prometheum", TextFormatting.DARK_PURPLE).addTrait(blind, MaterialTypes.HANDLE).addTrait(catcher); + public static Material duranite = new Material("duranite", TextFormatting.YELLOW).addTrait(analysing); + public static Material valyrium = new Material("valyrium", TextFormatting.DARK_GRAY).addTrait(congenial); + public static Material vibranium = new Material("vibranium", TextFormatting.GRAY).addTrait(resonance, MaterialTypes.HANDLE).addTrait(heroic, MaterialTypes.HEAD); + public static Material karmesine = new Material("karmesine", TextFormatting.RED).addTrait(slaughtering); + public static Material palladium = new Material("palladium", TextFormatting.GOLD).addTrait(dark).addTrait(cursed); + public static Material uru = new Material("uru", TextFormatting.DARK_RED).addTrait(diffuse); + public static Material basalt = new Material("basalt", TextFormatting.WHITE).addTrait(softy); + public static Material eezo = new Material("eezo", TextFormatting.GOLD).addTrait(dissolving); + public static Material triberium = new Material("triberium", TextFormatting.GREEN).addTrait(fragile); + public static Material fractum = new Material("fractum", TextFormatting.DARK_RED).addTrait(fracture); + public static Material violium = new Material("violium", TextFormatting.DARK_PURPLE).addTrait(arcane); + public static Material proxii = new Material("proxii", TextFormatting.LIGHT_PURPLE).addTrait(curvature); + public static Material tritonite = new Material("tritonite", TextFormatting.GOLD).addTrait(whirl); + public static Material ignitz = new Material("ignitz", TextFormatting.RED).addTrait(melting).addTrait(garishly, MaterialTypes.HANDLE); + public static Material imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(hollow); + public static Material solarium = new Material("solarium", TextFormatting.YELLOW).addTrait(pulverizing); + public static Material nihilite = new Material("nihilite", TextFormatting.BLACK).addTrait(souleater); + public static Material adamant = new Material("adamant", TextFormatting.GOLD); + public static Material dyonite = new Material("dyonite", TextFormatting.GREEN).addTrait(tantrum); + public static Material nucleum = new Material("nucleum", TextFormatting.YELLOW).addTrait(decay); + public static Material lumix = new Material("lumix", TextFormatting.YELLOW).addTrait(bright, MaterialTypes.HANDLE).addTrait(glimmer, MaterialTypes.HEAD); + public static Material seismum = new Material("seismum", TextFormatting.GREEN).addTrait(cascade); + public static Material astrium = new Material("astrium", TextFormatting.DARK_PURPLE).addTrait(ported); + public static Material niob = new Material("niob", TextFormatting.RED).addTrait(reviving); + public static Material yrdeen = new Material("yrdeen", TextFormatting.RED).addTrait(naturebound); + public static Material meteorite = new Material("meteorite", TextFormatting.DARK_GREEN).addTrait(crumbling, MaterialTypes.HEAD).addTrait(cheap); + public static Material obsidiorite = new Material("obsidiorite", obsidioriteFluid.getColor()).addTrait(alien); + + public static Material osram = new Material("osram", TextFormatting.GOLD); + public static Material abyssum = new Material("abyssum", TextFormatting.GOLD); + public static Material iox = new Material("iox", TextFormatting.RED); + } -- cgit v1.2.3