Advertisement
boblovespi

Tungsten Carbide tinkers

Feb 21st, 2019
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. #loader contenttweaker
  2.  
  3. import mods.contenttweaker.MaterialSystem;
  4. import mods.contenttweaker.Material;
  5. import mods.contenttweaker.MaterialBuilder;
  6. import mods.contenttweaker.tconstruct.Trait;
  7. import mods.contenttweaker.tconstruct.TraitBuilder;
  8.  
  9. var part_names = ["dust", "gear", "plate", "nugget", "ingot"] as string[];
  10.  
  11. var builder = MaterialSystem.getMaterialBuilder();
  12. builder.setName("Tungsten Carbide");
  13. builder.setColor(0x63595f);
  14. builder.setHasEffect(false);
  15.  
  16. val tungstenCarbide = builder.build();
  17.  
  18. tungstenCarbide.registerParts(part_names);
  19.  
  20. var tCBlock = tungstenCarbide.registerPart("block").getData();
  21. tCBlock.addDataValue("hardness", "5");
  22. tCBlock.addDataValue("resistance", "30");
  23. tCBlock.addDataValue("harvestTool", "pickaxe");
  24. tCBlock.addDataValue("harvestLevel", "1");
  25.  
  26. var tCFluid = tungstenCarbide.registerPart("molten").getData();
  27. tCFluid.addDataValue("temperature", "3200");
  28. tCFluid.addDataValue("density", "15000");
  29. tCFluid.addDataValue("luminosity", "5");
  30. tCFluid.addDataValue("viscosity", "30000");
  31. tCFluid.addDataValue("vaporize", "false");
  32.  
  33. val tCMat = mods.contenttweaker.tconstruct.MaterialBuilder.create("tungsten_carbide_ct");
  34. tCMat.color = 0x63595f;
  35. tCMat.craftable = false;
  36. tCMat.castable = true;
  37. tCMat.liquid = <liquid:tungsten_carbide>;
  38. tCMat.localizedName = "Tungsten Carbide";
  39. tCMat.representativeOre = <ore:ingotTungstenCarbide>;
  40.  
  41. // stats!
  42. tCMat.addHeadMaterialStats(801, 9.6, 8.5, 20);
  43. tCMat.addHandleMaterialStats(0.88, 80);
  44. tCMat.addExtraMaterialStats(120);
  45.  
  46. // custom traits!
  47. val superhard = mods.contenttweaker.tconstruct.TraitBuilder.create("superhard");
  48. superhard.localizedDescription = "Mines blocks with higher harvest level faster. Cannot be combined with silky";
  49. superhard.localizedName = "Superhard";
  50. superhard.color = 0x63595f;
  51.  
  52. // prevent combining with silky
  53. superhard.canApplyTogetherTrait = function(thisTrait, otherTrait) { return otherTrait != "silktouch"; };
  54.  
  55. // mine faster
  56. global speedLookup as float[] = [1, 1.3, 1.7, 2.2, 2.9, 3.7, 4.8, 6.3, 8.2] as float[];
  57. superhard.getMiningSpeed = function(trait, tool, event) {
  58. val lookup = event.block.definition.harvestLevel;
  59. if (lookup < 9)
  60. {
  61. event.newSpeed = event.originalSpeed * speedLookup[lookup];
  62. } else
  63. {
  64. event.newSpeed = event.originalSpeed * 12;
  65. }
  66. };
  67. val superhardTrait = superhard.register() as Trait;
  68.  
  69. // add the trait
  70. tCMat.addMaterialTrait(superhardTrait, "head");
  71.  
  72. tCMat.register();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement