8 Commits
1.1.2 ... 1.1.4

7 changed files with 62 additions and 51 deletions

View File

@@ -61,18 +61,10 @@ task buildInfo {
version = project.buildInfo.revision version = project.buildInfo.revision
minecraft { minecraft {
version = "1.10.2-12.18.1.2011" version = "1.10.2-12.18.2.2107"
runDir = "run" runDir = "run"
mappings = "snapshot_20161015"
// the mappings can be changed at any time, and must be in the following format. replace '@VERSION@', project.version
// snapshot_YYYYMMDD snapshot are built nightly.
// stable_# stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not allways work.
// simply re-run your setup task after changing the mappings to update your workspace.
mappings = "snapshot_20160701"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
replace "${version}", project.version
} }
//noinspection GroovyAssignabilityCheck //noinspection GroovyAssignabilityCheck
@@ -83,10 +75,10 @@ dependencies {
//deobfCompile "codechicken:CodeChickenLib:1.9.4-2.0.2.39:deobf" //deobfCompile "codechicken:CodeChickenLib:1.9.4-2.0.2.39:deobf"
//deobfCompile "codechicken:CodeChickenCore:1.9.4-2.0.3.65:deobf" //deobfCompile "codechicken:CodeChickenCore:1.9.4-2.0.3.65:deobf"
//deobfCompile "codechicken:NotEnoughItems:1.9-${nei_version}:dev" //deobfCompile "codechicken:NotEnoughItems:1.9-${nei_version}:dev"
deobfCompile "slimeknights.mantle:Mantle:1.10.2-0.10.3.jenkins161:deobf" deobfCompile "slimeknights.mantle:Mantle:1.10.2-1.0.0.jenkins170:deobf"
//Old: deobfCompile "slimeknights.mantle:Mantle:1.9-0.10.0.jenkins132:deobf" //Old: deobfCompile "slimeknights.mantle:Mantle:1.9-0.10.0.jenkins132:deobf"
deobfCompile "mezz.jei:jei_1.10.2:3.7.6.231" deobfCompile "mezz.jei:jei_1.10.2:3.9.3.252"
deobfCompile "slimeknights:TConstruct:1.10-2.3.3a.jenkins271:deobf" deobfCompile "slimeknights:TConstruct:1.10.2-2.5.5.jenkins393:deobf"
//compile files('libs/TConstruct-1.9-2.3.1.DEV.1d4c1de-deobf.jar') //compile files('libs/TConstruct-1.9-2.3.1.DEV.1d4c1de-deobf.jar')
} }
@@ -134,8 +126,8 @@ curseforge {
id = '247661' id = '247661'
changelog = project.buildInfo.changes // A file can also be set using: changelog = file('changelog.txt') changelog = project.buildInfo.changes // A file can also be set using: changelog = file('changelog.txt')
releaseType = 'release' releaseType = 'release'
addGameVersion '1.10.2' //addGameVersion '1.10.2'
addGameVersion '1.10.1' //addGameVersion '1.10.1'
addArtifact deobfJar addArtifact deobfJar
mainArtifact(jar) { mainArtifact(jar) {

View File

@@ -3,12 +3,11 @@ package com.sosnitzka.taiga;
import com.sosnitzka.taiga.traits.*; import com.sosnitzka.taiga.traits.*;
import net.minecraft.util.text.TextFormatting; 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.materials.Material;
import slimeknights.tconstruct.library.materials.MaterialTypes;
import slimeknights.tconstruct.library.traits.AbstractTrait; import slimeknights.tconstruct.library.traits.AbstractTrait;
import static slimeknights.tconstruct.tools.TinkerMaterials.*; import static slimeknights.tconstruct.tools.TinkerTraits.*;
public class MaterialTraits { public class MaterialTraits {
@@ -49,36 +48,36 @@ public class MaterialTraits {
public static final AbstractTrait traditional = new TraitTraditional(); public static final AbstractTrait traditional = new TraitTraditional();
public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(arcane, HeadMaterialStats.TYPE).addTrait(blind, HandleMaterialStats.TYPE); 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 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, MaterialTypes.HEAD).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, MaterialTypes.HEAD).addTrait(blind);
public static Material violium = new Material("violium", TextFormatting.DARK_GREEN).addTrait(stonebound, HandleMaterialStats.TYPE).addTrait(poisonous, HeadMaterialStats.TYPE); 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, HeadMaterialStats.TYPE).addTrait(splinters, HandleMaterialStats.TYPE); 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, HandleMaterialStats.TYPE).addTrait(superheat, HeadMaterialStats.TYPE); 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 mindorite = new Material("mindorite", TextFormatting.AQUA).addTrait(cheap);
public static Material titanite = new Material("titanite", TextFormatting.GRAY).addTrait(shocking, HandleMaterialStats.TYPE).addTrait(sharp, HeadMaterialStats.TYPE); 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, HandleMaterialStats.TYPE).addTrait(momentum, HeadMaterialStats.TYPE); 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, HeadMaterialStats.TYPE).addTrait(magnetic, HandleMaterialStats.TYPE); 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 vibranium = new Material("vibranium", TextFormatting.GRAY).addTrait(resonance);
public static Material ignitite = new Material("ignitite", TextFormatting.RED).addTrait(melting, HandleMaterialStats.TYPE).addTrait(flammable, HeadMaterialStats.TYPE); 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 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 eternite = new Material("eternite", TextFormatting.AQUA).addTrait(writable2); //.addTrait(traditional)
public static Material mythril = new Material("mythril", TextFormatting.GRAY).addTrait(holy, HeadMaterialStats.TYPE).addTrait(hellish, HandleMaterialStats.TYPE); 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 imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(cascade);
public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_RED).addTrait(fracture); public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_RED).addTrait(fracture);
public static Material noctunyx = new Material("noctunyx", TextFormatting.LIGHT_PURPLE).addTrait(hollow, HeadMaterialStats.TYPE).addTrait(reviving, HandleMaterialStats.TYPE); 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 nitronite = new Material("nitronite", TextFormatting.YELLOW).addTrait(uncertain);
public static Material cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN).addTrait(randomize); 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 seismodium = new Material("seismodium", TextFormatting.WHITE).addTrait(heroic).addTrait(fragile);
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 ultranite = new Material("ultranite", TextFormatting.AQUA).addTrait(pulverizing); 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 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, HeadMaterialStats.TYPE); 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 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 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 terramite = new Material("terramite", TextFormatting.GRAY).addTrait(naturebound).addTrait(fragile);
public static Material solarium = new Material("solarium", TextFormatting.RED).addTrait(garishly); 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 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); public static Material proxideum = new Material("proxideum", TextFormatting.LIGHT_PURPLE).addTrait(softy, MaterialTypes.HANDLE).addTrait(lightweight);
} }

View File

@@ -32,11 +32,11 @@ import static com.sosnitzka.taiga.MaterialTraits.*;
import static com.sosnitzka.taiga.TAIGAConfiguration.*; import static com.sosnitzka.taiga.TAIGAConfiguration.*;
import static slimeknights.tconstruct.library.utils.HarvestLevels.*; import static slimeknights.tconstruct.library.utils.HarvestLevels.*;
@Mod(modid = TAIGA.MODID, version = TAIGA.VERSION, guiFactory = TAIGA.GUIFACTORY, dependencies = "required-after:tconstruct@[1.10-2.3.3,);" + "required-after:mantle@[1.10-0.10.3,)") @Mod(modid = TAIGA.MODID, version = TAIGA.VERSION, guiFactory = TAIGA.GUIFACTORY, dependencies = "required-after:tconstruct@[1.10.2-2.5.0,);" + "required-after:mantle@[1.10.2-1.0.0,)")
public class TAIGA { public class TAIGA {
public static final String MODID = "taiga"; public static final String MODID = "taiga";
public static final String VERSION = "${version}"; public static final String VERSION = "@VERSION@";
public static final String GUIFACTORY = "com.sosnitzka.taiga.TAIGAGuiFactory"; public static final String GUIFACTORY = "com.sosnitzka.taiga.TAIGAGuiFactory";
@SidedProxy(clientSide = "com.sosnitzka.taiga.proxy.ClientProxy", serverSide = "com.sosnitzka.taiga.proxy.CommonProxy") @SidedProxy(clientSide = "com.sosnitzka.taiga.proxy.ClientProxy", serverSide = "com.sosnitzka.taiga.proxy.CommonProxy")
@@ -130,11 +130,11 @@ public class TAIGA {
private void registerTinkerMaterials() { private void registerTinkerMaterials() {
double d = durabilityFactorGeneral; double d = durabilityFactorGeneral;
System.out.println("DURABILITY FACTOR" + d); System.out.println("Durability=" + d);
float s = (float) speedFactorGeneral; float s = (float) speedFactorGeneral;
System.out.println("SPEED FACTOR" + s); System.out.println("Speed=" + s);
float a = (float) attackFactorGeneral; float a = (float) attackFactorGeneral;
System.out.println("ATTACK FACTOR" + a); System.out.println("Attack=" + a);
// ARCANE ORES // ARCANE ORES
registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, (int) (223 * d), 6.2f * s, 8.35f * a, 0.63f, 50, 50, OBSIDIAN, false, true); registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, (int) (223 * d), 6.2f * s, 8.35f * a, 0.63f, 50, 50, OBSIDIAN, false, true);

View File

@@ -63,10 +63,17 @@ public class TraitCurvature extends AbstractTrait {
int x = e.getPosition().getX() + random.nextInt(250) - 125; int x = e.getPosition().getX() + random.nextInt(250) - 125;
int y = e.getPosition().getY(); int y = e.getPosition().getY();
int z = e.getPosition().getZ() + random.nextInt(250) - 125; int z = e.getPosition().getZ() + random.nextInt(250) - 125;
// TODO: Make this a proper search for top block (if there is one)
while (w.getBlockState(new BlockPos(x, y, z)).getBlock() != Blocks.AIR) { while (w.getBlockState(new BlockPos(x, y, z)).getBlock() != Blocks.AIR) {
y++; y++;
} }
while (w.getBlockState(new BlockPos(x, y - 1, z)).getBlock() == Blocks.AIR) { while (w.getBlockState(new BlockPos(x, y - 1, z)).getBlock() == Blocks.AIR) {
if (y <= 0) {
y = 1;
break;
}
y--; y--;
} }

View File

@@ -3,6 +3,7 @@ package com.sosnitzka.taiga.traits;
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.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
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.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult;
@@ -28,33 +29,38 @@ public class TraitFracture extends AbstractTrait {
switch (mop.sideHit) { switch (mop.sideHit) {
case UP: case UP:
BlockPos next1 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ()); BlockPos next1 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ());
if (tool.canHarvestBlock(world.getBlockState(next1))) world.destroyBlock(next1, true); if (tool.canHarvestBlock(world.getBlockState(next1)) && !world.getBlockState(next1).equals(Blocks.BEDROCK.getDefaultState()))
world.destroyBlock(next1, true);
break; break;
case DOWN: case DOWN:
BlockPos next2 = new BlockPos(pos.getX(), pos.getY() + i, pos.getZ()); BlockPos next2 = new BlockPos(pos.getX(), pos.getY() + i, pos.getZ());
if (tool.canHarvestBlock(world.getBlockState(next2))) world.destroyBlock(next2, true); if (tool.canHarvestBlock(world.getBlockState(next2)) && !world.getBlockState(next2).equals(Blocks.BEDROCK.getDefaultState()))
world.destroyBlock(next2, true);
break; break;
case WEST: case WEST:
BlockPos next3 = new BlockPos(pos.getX() + i, pos.getY(), pos.getZ()); BlockPos next3 = new BlockPos(pos.getX() + i, pos.getY(), pos.getZ());
if (tool.canHarvestBlock(world.getBlockState(next3))) world.destroyBlock(next3, true); if (tool.canHarvestBlock(world.getBlockState(next3)) && !world.getBlockState(next3).equals(Blocks.BEDROCK.getDefaultState()))
world.destroyBlock(next3, true);
break; break;
case EAST: case EAST:
BlockPos next4 = new BlockPos(pos.getX() - i, pos.getY(), pos.getZ()); BlockPos next4 = new BlockPos(pos.getX() - i, pos.getY(), pos.getZ());
if (tool.canHarvestBlock(world.getBlockState(next4))) world.destroyBlock(next4, true); if (tool.canHarvestBlock(world.getBlockState(next4)) && !world.getBlockState(next4).equals(Blocks.BEDROCK.getDefaultState()))
world.destroyBlock(next4, true);
break; break;
case SOUTH: case SOUTH:
BlockPos next5 = new BlockPos(pos.getX(), pos.getY(), pos.getZ() - i); BlockPos next5 = new BlockPos(pos.getX(), pos.getY(), pos.getZ() - i);
if (tool.canHarvestBlock(world.getBlockState(next5))) world.destroyBlock(next5, true); if (tool.canHarvestBlock(world.getBlockState(next5)) && !world.getBlockState(next5).equals(Blocks.BEDROCK.getDefaultState()))
world.destroyBlock(next5, true);
break; break;
case NORTH: case NORTH:
BlockPos next6 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ() + i); BlockPos next6 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ() + i);
if (tool.canHarvestBlock(world.getBlockState(next6))) world.destroyBlock(next6, true); if (tool.canHarvestBlock(world.getBlockState(next6)) && !world.getBlockState(next6).equals(Blocks.BEDROCK.getDefaultState()))
world.destroyBlock(next6, true);
break; break;
} }
} }
if (random.nextBoolean()) ToolHelper.damageTool(tool, random.nextInt(5), player); if (random.nextBoolean()) ToolHelper.damageTool(tool, random.nextInt(5), player);
} }
} }
private float calcBonus(ItemStack tool) { private float calcBonus(ItemStack tool) {

View File

@@ -5,6 +5,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityCreature; import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@@ -36,10 +37,16 @@ public class TraitReviving extends AbstractTrait {
if (e.getSource().getEntity() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) { 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)) { 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()); String name = EntityList.getEntityString(e.getEntity());
Entity ent = EntityList.createEntityByName(name, w); Entity ent = EntityList.createEntityByName(name, w);
assert ent != null; if (ent != null) {
ent.setPosition(pos.getX(), pos.getY(), pos.getZ()); if (ent instanceof EntitySkeleton && e.getEntity() instanceof EntitySkeleton) {
w.spawnEntityInWorld(ent); ((EntitySkeleton) ent).setSkeletonType(((EntitySkeleton) e.getEntity()).getSkeletonType());
}
ent.setPosition(pos.getX(), pos.getY(), pos.getZ());
w.spawnEntityInWorld(ent);
}
} }
} }
} }

View File

@@ -219,7 +219,7 @@ modifier.dark.desc=§oIt's dark outside, let's fight!§r\Nighttime makes you str
modifier.diffuse.name=Diffuse modifier.diffuse.name=Diffuse
modifier.diffuse.desc=§oSo much EXP... or nothing?§r\Regular blocks drop exp, but loot is probably gone. modifier.diffuse.desc=§oSo much EXP... or nothing?§r\Regular blocks drop exp, but loot is probably gone.
modifier.dissolving.name=Dissolving modifier.dissolving.name=Dissolving
modifier.dissolving.desc=§oI dont care about missing Experience.§r\Switching amount of experience. modifier.dissolving.desc=§oI don't care about missing Experience.§r\Switching amount of experience.
modifier.fracture.name=Fracture modifier.fracture.name=Fracture
modifier.fracture.desc=§oYou gonna dig deep!§r\Do you have a drill or something? modifier.fracture.desc=§oYou gonna dig deep!§r\Do you have a drill or something?
modifier.fragile.name=Fragile modifier.fragile.name=Fragile