[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
This commit is contained in:
Giovanni Harting
2016-12-05 20:34:02 +01:00
committed by GitHub
parent 9554b56931
commit 826ab1cf3a
625 changed files with 3540 additions and 3279 deletions

View File

@@ -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. <br>
* <p>
* <p> 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);
}