summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorRobert Sosnitzka <robert.sosnitzka@gmail.com>2016-07-18 00:16:46 +0200
committerRobert Sosnitzka <robert.sosnitzka@gmail.com>2016-07-18 00:16:46 +0200
commit302ef6cccbb994b164d562cd3842feafb24296b6 (patch)
tree01280b8e0cf0d72f0ec1d130871ccf7e34368584 /src/main/java
parent77e86d42814a8a08b21cc1a6b8f457e3461e5767 (diff)
Final adjustments, 2 additional traits, 1 trait rewritten. Liquids + textures included. German and english translation added.
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Blocks.java15
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Fluids.java79
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/MaterialTraits.java (renamed from src/main/java/com/sosnitzka/ztic_addon/Materials.java)74
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/ZTiC.java54
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java2
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java2
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitArcane.java1
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitBright.java18
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitCurvature.java5
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitFragile.java64
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java8
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java6
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitHeroic.java4
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitHollow.java4
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitMelting.java32
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitNatureBound.java24
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitOrganizing.java (renamed from src/main/java/com/sosnitzka/ztic_addon/traits/TraitBentonite.java)10
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java2
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitRandomize.java11
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java2
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitReviving.java72
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitUncertain.java28
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/util/Utils.java2
23 files changed, 365 insertions, 154 deletions
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Blocks.java b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
index d8701cb..e11703d 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
@@ -14,14 +14,14 @@ import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field;
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 slimeknights.tconstruct.library.utils.HarvestLevels.*;
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 rottenGround = new BasicBlockGround("rotten_ground", Material.GROUND, 2.0f, 2.0f, STONE);
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 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 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 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 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 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 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 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 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 astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 55.0f, 400.0f, 7, PREFIX_BLOCK);
@@ -120,7 +112,6 @@ public class Blocks {
} else {
oreDictName = nameParts[0];
}
-
OreDictionary.registerOre(((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName), block);
}
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Fluids.java b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
index c9f904d..7cbb2b3 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
@@ -15,49 +15,48 @@ import static slimeknights.tconstruct.library.TinkerRegistry.registerMelting;
public class Fluids {
- public static BasicTinkerFluid arcaniteFluid = new BasicTinkerFluid("arcanite", 0xFF272354, true, 538, 10, 4000);
- public static BasicTinkerFluid titaniteFluid = new BasicTinkerFluid("titanite", 0xFFe0ede7, true, 942, 10, 4000);
- public static BasicTinkerFluid adamantiteFluid = new BasicTinkerFluid("adamantite", 0xFFc45c82, true, 1100, 10, 4000);
- public static BasicTinkerFluid violiumFluid = new BasicTinkerFluid("violium", 0xFF264c4f, true, 875, 10, 4000);
- public static BasicTinkerFluid bismuthFluid = new BasicTinkerFluid("bismuth", 0xFF555555, true, 612, 10, 4000);
- public static BasicTinkerFluid eterniteFluid = new BasicTinkerFluid("eternite", 0xFFfafa98, true, 542, 10, 4000);
- public static BasicTinkerFluid ignititeFluid = new BasicTinkerFluid("ignitite", 0xFFff6642, true, 422, 10, 4000);
- public static BasicTinkerFluid karmesineFluid = new BasicTinkerFluid("karmesine", 0xFFc16d6d, true, 499, 10, 4000);
- public static BasicTinkerFluid meteoriteFluid = new BasicTinkerFluid("meteorite", 0xFF6e6a62, true, 942, 10, 4000);
- public static BasicTinkerFluid mindoriteFluid = new BasicTinkerFluid("mindorite", 0xFF6bbbbf, true, 671, 10, 4000);
- public static BasicTinkerFluid mythrilFluid = new BasicTinkerFluid("mythril", 0xFFa8c0ba, true, 841, 10, 3000);
- public static BasicTinkerFluid palladiumFluid = new BasicTinkerFluid("palladium", 0xFFfe5c05, true, 786, 10, 4000);
- public static BasicTinkerFluid prometheumFluid = new BasicTinkerFluid("prometheum", 0xFF2b282f, true, 786, 10, 4000);
- public static BasicTinkerFluid tiberiumFluid = new BasicTinkerFluid("tiberium", 0xFF5f9e2d, true, 352, 10, 4000);
- public static BasicTinkerFluid vibraniumFluid = new BasicTinkerFluid("vibranium", 0xFFc4ddc8, true, 1050, 10, 4000);
- public static BasicTinkerFluid rubiumFluid = new BasicTinkerFluid("rubium", 0xFFe371b0, true, 200, 600, 4000);
-
- public static BasicTinkerFluid astriumFluid = new BasicTinkerFluid("astrium", 0xFF7a3b74, true, 810, 10, 4000);
- public static BasicTinkerFluid nitroniteFluid = new BasicTinkerFluid("nitronite", 0xFFdfe553, true, 680, 10, 4000);
- public static BasicTinkerFluid proxideumFluid = new BasicTinkerFluid("proxideum", 0xFF2f7177, true, 700, 10, 4000);
- public static BasicTinkerFluid noctunyxFluid = new BasicTinkerFluid("noctunyx", 0xFF5f5081, true, 712, 10, 4000);
- public static BasicTinkerFluid imperomiteFluid = new BasicTinkerFluid("imperomite", 0xFFff6642, true, 510, 10, 4000);
- public static BasicTinkerFluid cryptogenFluid = new BasicTinkerFluid("cryptogen", 0xFF9f8a4a, true, 560, 10, 4000);
- public static BasicTinkerFluid fractoryteFluid = new BasicTinkerFluid("fractoryte", 0xFF983f11, true, 670, 10, 4000);
- public static BasicTinkerFluid seismodiumFluid = new BasicTinkerFluid("seismodium", 0xFF46131D, true, 831, 10, 4000);
- public static BasicTinkerFluid terramiteFluid = new BasicTinkerFluid("terramite", 0xFFa6b27a, true, 687, 10, 4000);
- public static BasicTinkerFluid lumixylFluid = new BasicTinkerFluid("lumixyl", 0xFFfbe8cb, true, 548, 10, 4000);
- public static BasicTinkerFluid solariumFluid = new BasicTinkerFluid("solarium", 0xFFffc81d, true, 482, 10, 4000);
- public static BasicTinkerFluid dyoniteFluid = new BasicTinkerFluid("dyonite", 0xFFff6743, true, 486, 10, 4000);
- public static BasicTinkerFluid ultraniteFluid = new BasicTinkerFluid("ultranite", 0xFFf5f294, true, 941, 10, 4000);
- public static BasicTinkerFluid nucleumFluid = new BasicTinkerFluid("nucleum", 0xFFa8ea3b, true, 813, 10, 4000);
- public static BasicTinkerFluid aegisaltFluid = new BasicTinkerFluid("aegisalt", 0xFFb6af74, true, 660, 10, 4000);
- public static BasicTinkerFluid bysmuidFluid = new BasicTinkerFluid("bysmuid", 0xFF7b97b0, true, 560, 10, 4000);
+ public static BasicTinkerFluid arcaniteFluid = new BasicTinkerFluid("arcanite", 0xFF272354, true, 538, 8, 3768);
+ public static BasicTinkerFluid titaniteFluid = new BasicTinkerFluid("titanite", 0xFFe0ede7, true, 942, 7, 1858);
+ public static BasicTinkerFluid adamantiteFluid = new BasicTinkerFluid("adamantite", 0xFFc45c82, true, 1100, 10, 3597);
+ public static BasicTinkerFluid violiumFluid = new BasicTinkerFluid("violium", 0xFF264c4f, true, 875, 10, 3970);
+ public static BasicTinkerFluid bismuthFluid = new BasicTinkerFluid("bismuth", 0xFF555555, true, 612, 9, 2552);
+ public static BasicTinkerFluid eterniteFluid = new BasicTinkerFluid("eternite", 0xFFfafa98, true, 542, 10, 3980);
+ public static BasicTinkerFluid ignititeFluid = new BasicTinkerFluid("ignitite", 0xFFff6642, true, 422, 9, 3787);
+ public static BasicTinkerFluid karmesineFluid = new BasicTinkerFluid("karmesine", 0xFFc16d6d, true, 499, 7, 3978);
+ public static BasicTinkerFluid meteoriteFluid = new BasicTinkerFluid("meteorite", 0xFF6e6a62, true, 942, 10, 2588);
+ public static BasicTinkerFluid mindoriteFluid = new BasicTinkerFluid("mindorite", 0xFF6bbbf, true, 671, 8, 2956);
+ public static BasicTinkerFluid mythrilFluid = new BasicTinkerFluid("mythril", 0xFFa8c0ba, true, 841, 10, 1579);
+ public static BasicTinkerFluid palladiumFluid = new BasicTinkerFluid("palladium", 0xFFfe5c05, true, 786, 10, 3302);
+ public static BasicTinkerFluid prometheumFluid = new BasicTinkerFluid("prometheum", 0xFF2b282f, true, 786, 2, 2256);
+ public static BasicTinkerFluid tiberiumFluid = new BasicTinkerFluid("tiberium", 0xFF5f9e2d, true, 352, 10, 1553);
+ public static BasicTinkerFluid vibraniumFluid = new BasicTinkerFluid("vibranium", 0xFFc4ddc8, true, 1050, 9, 3402);
+ 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 nitroniteFluid = new BasicTinkerFluid("nitronite", 0xFFdfe553, true, 680, 10, 2185);
+ public static BasicTinkerFluid proxideumFluid = new BasicTinkerFluid("proxideum", 0xFF2f7177, true, 700, 9, 3859);
+ public static BasicTinkerFluid noctunyxFluid = new BasicTinkerFluid("noctunyx", 0xFF5f5081, true, 712, 8, 3983);
+ public static BasicTinkerFluid imperomiteFluid = new BasicTinkerFluid("imperomite", 0xFFff6642, true, 510, 10, 2353);
+ public static BasicTinkerFluid cryptogenFluid = new BasicTinkerFluid("cryptogen", 0xFF9f8a4a, true, 560, 10, 3243);
+ public static BasicTinkerFluid fractoryteFluid = new BasicTinkerFluid("fractoryte", 0xFF983f11, true, 670, 8, 3805);
+ public static BasicTinkerFluid seismodiumFluid = new BasicTinkerFluid("seismodium", 0xFF46131D, true, 831, 10, 1837);
+ public static BasicTinkerFluid terramiteFluid = new BasicTinkerFluid("terramite", 0xFFa6b27a, true, 687, 10, 2121);
+ public static BasicTinkerFluid lumixylFluid = new BasicTinkerFluid("lumixyl", 0xFFfbe8cb, true, 548, 10, 2165);
+ public static BasicTinkerFluid solariumFluid = new BasicTinkerFluid("solarium", 0xFFffc81d, true, 482, 8, 3232);
+ public static BasicTinkerFluid dyoniteFluid = new BasicTinkerFluid("dyonite", 0xFFff6743, true, 486, 8, 3269);
+ public static BasicTinkerFluid ultraniteFluid = new BasicTinkerFluid("ultranite", 0xFFf5f294, true, 941, 9, 1784);
+ public static BasicTinkerFluid nucleumFluid = new BasicTinkerFluid("nucleum", 0xFFa8ea3b, true, 813, 10, 2355);
+ public static BasicTinkerFluid aegisaltFluid = new BasicTinkerFluid("aegisalt", 0xFFb6af74, true, 660, 7, 2089);
+ public static BasicTinkerFluid bysmuidFluid = new BasicTinkerFluid("bysmuid", 0xFF7b97b0, true, 560, 8, 2674);
// Additional fluids to cast alloys
- public static BasicTinkerFluid radiant_enderium = new BasicTinkerFluid("radiant_enderium", 0xFFbcea5d, false, 529, 10, 800);
- public static BasicTinkerFluid glimming_enderium = new BasicTinkerFluid("glimming_enderium", 0xFFfffc98, false, 633, 10, 2500);
- public static BasicTinkerFluid energy_enderium = new BasicTinkerFluid("energy_enderium", 0xFFffb498, false, 562, 10, 3000);
- public static BasicTinkerFluid glimmercoalFluid = new BasicTinkerFluid("glimmercoal", 0xFFee7c28, false, 531, 10, 3000);
- public static BasicTinkerFluid nitroFluid = new BasicTinkerFluid("nitro", 0xFF223512, false, 405, 5, 900);
- public static BasicTinkerFluid anthraciteFluid = new BasicTinkerFluid("anthracite", 0xFF111111, false, 500, 0, 1000);
- public static BasicTinkerFluid spectrumFluid = new BasicTinkerFluid("spectrum", 0xFF64748f, false, 600, 0, 1000);
+ 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, 821);
+ public static BasicTinkerFluid energy_enderium = new BasicTinkerFluid("energy_enderium", 0xFFffb498, false, 562, 10, 421);
+ public static BasicTinkerFluid glimmercoalFluid = new BasicTinkerFluid("glimmercoal_fluid", 0xFFee7c28, false, 531, 10, 312);
+ public static BasicTinkerFluid nitroFluid = new BasicTinkerFluid("nitro_fluid", 0xFF223512, false, 405, 5, 772);
+ public static BasicTinkerFluid anthraciteFluid = new BasicTinkerFluid("anthracite_fluid", 0xFF111111, false, 500, 0, 632);
+ public static BasicTinkerFluid spectrumFluid = new BasicTinkerFluid("spectrum_fluid", 0xFF64748f, false, 600, 0, 512);
static void register() {
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Materials.java b/src/main/java/com/sosnitzka/ztic_addon/MaterialTraits.java
index c995d01..1f8c3ae 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Materials.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/MaterialTraits.java
@@ -1,16 +1,54 @@
package com.sosnitzka.ztic_addon;
+import com.sosnitzka.ztic_addon.traits.*;
import net.minecraft.util.text.TextFormatting;
import slimeknights.tconstruct.library.materials.HandleMaterialStats;
import slimeknights.tconstruct.library.materials.HeadMaterialStats;
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.*;
-public class Materials {
- public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(arcane, HeadMaterialStats.TYPE).addTrait(blind);
+public class MaterialTraits {
+
+ // 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 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);
@@ -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 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 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 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 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 imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(cascade, 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 terramite = new Material("terramite", TextFormatting.GRAY).addTrait(naturebound).addTrait(fragile);
- public static Material lumixyl = new Material("lumixyl", TextFormatting.YELLOW).addTrait(glimmer);
- public static Material solarium = new Material("solarium", TextFormatting.RED).addTrait(garishly);
- public static Material dyonite = new Material("dyonite", TextFormatting.GRAY).addTrait(slaughtering, HeadMaterialStats.TYPE).addTrait(dissolving, HandleMaterialStats.TYPE);
+ public static Material noctunyx = new Material("noctunyx", TextFormatting.LIGHT_PURPLE).addTrait(hollow, HeadMaterialStats.TYPE).addTrait(reviving, HandleMaterialStats.TYPE);
+ public static Material nitronite = new Material("nitronite", TextFormatting.YELLOW).addTrait(uncertain);
+ public static Material cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN).addTrait(randomize);
+ public static Material seismodium = new Material("seismodium", TextFormatting.WHITE).addTrait(heroic);
+ public static Material aegisalt = new Material("aegisalt", TextFormatting.AQUA).addTrait(analysing);
public static Material ultranite = new Material("ultranite", TextFormatting.AQUA).addTrait(pulverizing);
+ public static Material bysmuid = new Material("bysmuid", TextFormatting.AQUA).addTrait(organizing, HandleMaterialStats.TYPE).addTrait(melting, HeadMaterialStats.TYPE);
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 bysmuid = new Material("bysmuid", TextFormatting.AQUA).addTrait(dense, HandleMaterialStats.TYPE).addTrait(sharp, 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);
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
index 31c0d7a..1e0f11f 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
@@ -4,7 +4,6 @@ import com.google.common.collect.Lists;
import com.sosnitzka.ztic_addon.proxy.ServerProxy;
import com.sosnitzka.ztic_addon.recipes.Crafting;
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.world.ZWorldGen;
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.HandleMaterialStats;
import slimeknights.tconstruct.library.materials.HeadMaterialStats;
-import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.tools.TinkerMaterials;
import java.util.List;
import static com.sosnitzka.ztic_addon.Fluids.*;
-import static com.sosnitzka.ztic_addon.Materials.*;
-import static com.sosnitzka.ztic_addon.Materials.arcanite;
+import static com.sosnitzka.ztic_addon.MaterialTraits.*;
import static slimeknights.tconstruct.library.utils.HarvestLevels.*;
@Mod(modid = ZTiC.MODID, version = ZTiC.VERSION)
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 VERSION = "@VERSION@";
+
@SidedProxy(clientSide = "com.sosnitzka.ztic_addon.proxy.ClientProxy", serverSide = "com.sosnitzka.ztic_addon.proxy.ServerProxy")
public static ServerProxy proxy;
private List<MaterialIntegration> integrateList = Lists.newArrayList();
-
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
Items.register();
@@ -78,18 +45,16 @@ public class ZTiC {
Fluids.registerfromItem();
Alloys.register();
- // # Head Durability, Speed, Attack, Modifier, Handle Durability, Extra Durability
-
// ARCANE ORES
registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 223, 6.2f, 8.35f, 0.63f, 50, 50, OBSIDIAN, false, true);
registerTinkerMaterial("Rubium", rubium, rubiumFluid, 351, 5.15f, 7.00f, 1.05f, -100, 250, COBALT, false, true);
registerTinkerMaterial("Prometheum", prometheum, prometheumFluid, 539, 3.6f, 6.60f, 0.90f, 0, 150, TITANITE, false, true);
registerTinkerMaterial("Arcanite", arcanite, arcaniteFluid, 698, 4.3f, 7.88f, 0.85f, -50, 150, METEORITE, false, true);
// SOLIDE ORES
- registerTinkerMaterial("Titanite", titanite, titaniteFluid, 811, 4.8f, 4.00f, 1.00f, -50, 150, TITANITE, false, true);
- registerTinkerMaterial("Meteorite", meteorite, meteoriteFluid, 823, 6.1f, 4.33f, 1.20f, -50, 200, METEORITE, false, true);
- registerTinkerMaterial("Vibranium", vibranium, vibraniumFluid, 917, 7.45f, 5.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("Titanite", titanite, titaniteFluid, 811, 4.8f, 6.40f, 1.00f, -50, 150, TITANITE, false, true);
+ registerTinkerMaterial("Meteorite", meteorite, meteoriteFluid, 823, 6.1f, 6.83f, 1.20f, -50, 200, METEORITE, false, true);
+ registerTinkerMaterial("Vibranium", vibranium, vibraniumFluid, 917, 7.45f, 7.17f, 1.15f, 50, 150, VIBRANIUM, false, true);
+ registerTinkerMaterial("Adamantite", adamantite, adamantiteFluid, 981, 8.9f, 9.11f, 1.20f, -200, 300, ADAMANTITE, false, true);
// ETHERE ORES
registerTinkerMaterial("Eternite", eternite, eterniteFluid, 592, 7.35f, 1.95f, 1.10f, 150, 150, COBALT, false, true);
registerTinkerMaterial("Mythril", mythril, mythrilFluid, 552, 8.75f, 2.87f, 0.98f, -100, 200, TITANITE, false, true);
@@ -137,7 +102,6 @@ public class ZTiC {
}
}
-
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
@@ -148,12 +112,6 @@ public class ZTiC {
TinkerRegistry.addMaterialStats(material, new HandleMaterialStats(handleMod, handleDura));
TinkerRegistry.addMaterialStats(material, new ExtraMaterialStats(extra));
material.setFluid(fluid).setCraftable(craft).setCastable(cast);
- /*
- if (material.isCraftable()) {
- material.addItem(Blocks.tiberiumBlock, Material.VALUE_Block);
- material.setRepresentativeItem(Blocks.tiberiumBlock);
- }
- */
proxy.setRenderInfo(material);
MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix);
diff --git a/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java b/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java
index 2914980..81e3982 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java
@@ -22,7 +22,7 @@ import slimeknights.tconstruct.library.materials.Material;
import javax.annotation.Nonnull;
import java.lang.reflect.Field;
-import static com.sosnitzka.ztic_addon.Materials.*;
+import static com.sosnitzka.ztic_addon.MaterialTraits.*;
public class ClientProxy extends ServerProxy {
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java
index a8d1e56..56a3bc7 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java
@@ -60,7 +60,7 @@ public class TraitAnalysing extends AbstractTrait {
@Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
- if (random.nextFloat() < 0.75) {
+ if (random.nextFloat() < 0.85) {
event.getDrops().clear();
}
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitArcane.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitArcane.java
index dfdd57c..07d49be 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitArcane.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitArcane.java
@@ -34,6 +34,7 @@ public class TraitArcane extends AbstractTrait {
}
}
+
public boolean isNight(int time) {
if (time > 12500) {
return true;
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitBright.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitBright.java
index 95ddde1..9291951 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitBright.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitBright.java
@@ -1,9 +1,16 @@
package com.sosnitzka.ztic_addon.traits;
+import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.MobEffects;
import net.minecraft.item.ItemStack;
+import net.minecraft.potion.PotionEffect;
import net.minecraft.util.text.TextFormatting;
+import net.minecraft.world.World;
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.
@@ -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) {
if (time < 12500) {
return true;
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitCurvature.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitCurvature.java
index 458552e..3d8164b 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitCurvature.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitCurvature.java
@@ -7,6 +7,7 @@ import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
+import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
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) {
if (random.nextFloat() <= 0.05 && world.provider.getDimension() != -1) {
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.nextBoolean()) {
teleport(player, w);
+ target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
} else {
+ target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
teleport(target, w);
}
}
@@ -68,6 +72,7 @@ public class TraitCurvature extends AbstractTrait {
while (w.getBlockState(new BlockPos(x, y - 1, z)).getBlock() == Blocks.AIR) {
y--;
}
+
e.setPosition(x, y, z);
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitFragile.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitFragile.java
index 0e923a1..47dad00 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitFragile.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitFragile.java
@@ -1,7 +1,9 @@
package com.sosnitzka.ztic_addon.traits;
+import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
@@ -20,14 +22,66 @@ public class TraitFragile extends AbstractTrait {
@Override
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
- float f = random.nextFloat();
- float b = 0.99F * calcBonus(tool);
- if (!world.isRemote && tool.canHarvestBlock(state) && f <= b) {
- if (random.nextBoolean()) ToolHelper.damageTool(tool, random.nextInt(5), player);
- }
+ if (random.nextBoolean()) {
+ float f = random.nextFloat();
+ float b = 0.99F * calcBonus(tool);
+ 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) {
int durability = ToolHelper.getCurrentDurability(tool);
int maxDurability = ToolHelper.getMaxDurability(tool);
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java
index 4d84726..58c23b6 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java
@@ -4,7 +4,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -69,13 +68,12 @@ public class TraitGarishly extends AbstractTrait {
@Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
float r = random.nextFloat();
- if (r > 0.9f) event.getDrops().clear();
- else if (r < 0.5f && r > 0.4f && event.getWorld().getBlockState(event.getPos()).getMaterial() == Material.ROCK) {
+ if (r > 0.5f) event.getDrops().clear();
+ else if (r < 0.1 && event.getWorld().getBlockState(event.getPos()).getMaterial() == Material.ROCK) {
ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), random.nextInt(5));
event.getDrops().add(0, stack);
ToolHelper.damageTool(tool, random.nextInt(6) + 1, event.getHarvester());
- } else if (r < 1 && random.nextBoolean())
- event.getWorld().setBlockState(event.getPos(), Blocks.LAVA.getDefaultState());
+ }
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java
index 23a7b59..bf4e80b 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java
@@ -10,7 +10,6 @@ import net.minecraft.potion.PotionEffect;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
@@ -23,7 +22,6 @@ public class TraitGlimmer extends AbstractTrait {
public TraitGlimmer() {
super("glimmer", TextFormatting.DARK_GRAY);
- MinecraftForge.EVENT_BUS.register(this);
}
@Override
@@ -39,14 +37,14 @@ public class TraitGlimmer extends AbstractTrait {
@Override
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));
}
}
@Override
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));
}
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHeroic.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHeroic.java
index adf3784..4b5cd99 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHeroic.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHeroic.java
@@ -19,8 +19,8 @@ public class TraitHeroic extends AbstractTrait {
public float damage(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, float newDamage, boolean isCritical) {
int durability = ToolHelper.getCurrentDurability(tool);
int durabilitymax = ToolHelper.getMaxDurability(tool);
- float calc = (float) (newDamage + (newDamage / 2) / (durability * durabilitymax / (durabilitymax - durability)));
- if ((float) durability < (float) (0.12 * durabilitymax)) {
+ float calc = (float) (newDamage + (newDamage / 2) / (durability * durabilitymax / (durabilitymax - durability - 1)));
+ if ((float) durability < (float) (0.10 * durabilitymax) || player.getHealth() < player.getMaxHealth() / 8 || (target.getHealth() == target.getMaxHealth() && random.nextFloat() > 0.8)) {
return super.damage(tool, player, target, damage, calc, isCritical);
} else return super.damage(tool, player, target, damage, newDamage, isCritical);
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHollow.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHollow.java
index 7f3f15e..6dbed56 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHollow.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHollow.java
@@ -4,6 +4,7 @@ import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
@@ -27,6 +28,7 @@ public class TraitHollow extends AbstractTrait {
int time = (int) player.getEntityWorld().getWorldTime();
if (random.nextFloat() <= 0.2 || (random.nextFloat() <= 0.2 && isNight(time))) {
((EntityLiving) target).setNoAI(true);
+ target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
if (target.getMaxHealth() < 200) {
target.setHealth(target.getMaxHealth() * (1.8f - random.nextFloat() * 0.4f));
}
@@ -38,7 +40,7 @@ public class TraitHollow extends AbstractTrait {
World w = event.getEntity().getEntityWorld();
if (event.getSource().getEntity() instanceof EntityPlayer) {
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();
}
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitMelting.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitMelting.java
new file mode 100644
index 0000000..bd3853b
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitMelting.java
@@ -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());
+ }
+ }
+
+
+}
+
+
+
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitNatureBound.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitNatureBound.java
index 8b67847..8cf6a11 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitNatureBound.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitNatureBound.java
@@ -1,12 +1,17 @@
package com.sosnitzka.ztic_addon.traits;
+import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.world.BlockEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
@@ -20,6 +25,11 @@ public class TraitNatureBound extends AbstractTrait {
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
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);
+ }
+ }
+
+
+
+
+
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitBentonite.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitOrganizing.java
index 821d31d..bdfb959 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitBentonite.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitOrganizing.java
@@ -3,6 +3,7 @@ package com.sosnitzka.ztic_addon.traits;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
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.utils.ToolHelper;
-public class TraitBentonite extends AbstractTrait {
+public class TraitOrganizing extends AbstractTrait {
private static final float chance = 0.1f;
- public TraitBentonite() {
- super("bentonite", TextFormatting.RED);
+ public TraitOrganizing() {
+ super("organizing", TextFormatting.GREEN);
}
@Override
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) {
- ToolHelper.healTool(tool, random.nextInt(15), player);
+ world.setBlockState(pos, Blocks.LOG.getDefaultState());
+ ToolHelper.healTool(tool, random.nextInt(5), player);
}
}
} \ No newline at end of file
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java
index e60b91a..01b1be4 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java
@@ -2,7 +2,6 @@ package com.sosnitzka.ztic_addon.traits;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
-import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.world.BlockEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait;
@@ -15,7 +14,6 @@ public class TraitPulverizing extends AbstractTrait {
public TraitPulverizing() {
super("pulverizing", TextFormatting.DARK_GRAY);
- MinecraftForge.EVENT_BUS.register(this);
}
@Override
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitRandomize.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitRandomize.java
index f5fbce7..0c0f1a6 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitRandomize.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitRandomize.java
@@ -7,11 +7,11 @@ import net.minecraft.entity.item.EntityTNTPrimed;
import net.minecraft.entity.monster.*;
import net.minecraft.entity.passive.*;
import net.minecraft.init.Blocks;
+import net.minecraft.init.SoundEvents;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.world.BlockEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait;
@@ -29,7 +29,6 @@ public class TraitRandomize extends AbstractTrait {
public TraitRandomize() {
super("randomize", TextFormatting.DARK_RED);
- MinecraftForge.EVENT_BUS.register(this);
}
@Override
@@ -44,6 +43,7 @@ public class TraitRandomize extends AbstractTrait {
if (random.nextFloat() <= .15 && target instanceof EntityLiving) {
World w = player.getEntityWorld();
Entity e = new EntityCow(w);
+ target.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
if (!w.isRemote) {
int i = random.nextInt(22);
switch (i) {
@@ -128,9 +128,9 @@ public class TraitRandomize extends AbstractTrait {
float r = random.nextFloat();
if (r > 0.95f) event.getDrops().clear();
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));
- int i = random.nextInt(11);
+ int i = random.nextInt(12);
switch (i) {
case 0:
change = new ItemStack(Item.getItemFromBlock(Blocks.GOLD_ORE));
@@ -165,6 +165,9 @@ public class TraitRandomize extends AbstractTrait {
case 10:
change = new ItemStack(eterniteOre);
break;
+ case 11:
+ change = new ItemStack(Item.getItemFromBlock(Blocks.IRON_ORE));
+ break;
}
event.getDrops().set(0, change);
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java
index d6adc21..3207b49 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java
@@ -3,7 +3,6 @@ package com.sosnitzka.ztic_addon.traits;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
-import net.minecraftforge.common.MinecraftForge;
import slimeknights.tconstruct.library.traits.AbstractTrait;
/**
@@ -14,7 +13,6 @@ public class TraitResonance extends AbstractTrait {
public TraitResonance() {
super("resonance", TextFormatting.AQUA);
- MinecraftForge.EVENT_BUS.register(this);
}
@Override
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitReviving.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitReviving.java
new file mode 100644
index 0000000..64be2c1
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitReviving.java
@@ -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;
+ }
+ }
+}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitUncertain.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitUncertain.java
index da5f1c3..9a1324b 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitUncertain.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitUncertain.java
@@ -19,6 +19,9 @@ import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
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 {
@@ -32,11 +35,11 @@ public class TraitUncertain extends AbstractTrait {
public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) {
if (random.nextFloat() <= 0.05) {
if (!world.isRemote) {
- if (random.nextFloat() > 0.15f) {
+ if (random.nextFloat() > 0.1f) {
explode(world, player, 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) {
EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
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));
}
}
}
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);
}
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
index 794c302..656d5ff 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
@@ -24,7 +24,7 @@ public class Utils {
public static void registerFluid(Fluid 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) {