aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java4
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java59
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java16
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java4
4 files changed, 49 insertions, 34 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index 49663c2cb7..2ec4d107c4 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -1,5 +1,6 @@
package gtPlusPlus.core.block;
+import gtPlusPlus.core.block.general.FirePit;
import gtPlusPlus.core.block.general.LightGlass;
import gtPlusPlus.core.block.machine.Machine_Workbench;
import gtPlusPlus.core.block.machine.Machine_WorkbenchAdvanced;
@@ -31,6 +32,8 @@ public final class ModBlocks {
public static Fluid fluidJackDaniels = new Fluid("fluidJackDaniels");
public static Block blockFluidJackDaniels;
public static Block blockCasings2Misc;
+
+ public static Block blockFirePit;
@@ -52,6 +55,7 @@ public final class ModBlocks {
//Workbench
blockWorkbench = new Machine_Workbench().setHardness(1.5F);
blockWorkbenchAdvanced = new Machine_WorkbenchAdvanced().setHardness(2.5F);
+ blockFirePit = new FirePit();
}
diff --git a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
index d59072d066..d01a259aaa 100644
--- a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
@@ -2,6 +2,7 @@ package gtPlusPlus.core.handler.events;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import java.util.Random;
@@ -60,38 +61,38 @@ public class BlockEventHandler {
//Used to handle Thaumcraft Shards when TC is not installed.
@SubscribeEvent
public void harvestDrops(BlockEvent.HarvestDropsEvent event) {
- if (event.harvester != null){
- //Spawn Dull Shards (Can spawn from Tree Logs, Grass or Stone. Stone going to be the most common source.)
- if ((event.block == Blocks.stone || event.block == Blocks.log || event.block == Blocks.log2 || event.block == Blocks.grass)
- && !LoadedMods.Thaumcraft) {
- //small chance for one to spawn per stone mined. 1 per 4 stacks~ //TODO MAKE A CONFIG OPTION
- if (MathUtils.randInt(1, 256) == 1){
- if (event.harvester.canHarvestBlock(event.block)){
- //Let's sort out a lucky charm for the player.
- int FancyChance = MathUtils.randInt(1, 4);
- if (MathUtils.randInt(1, 100) > 90){
- event.drops.add(new ItemStack(ModItems.shardDull));
- }
- //Make a Fire Shard
- else if (FancyChance == 1){
- event.drops.add(new ItemStack(ModItems.shardIgnis));
- }
- //Make a Water Shard.
- else if (FancyChance == 2){
- event.drops.add(new ItemStack(ModItems.shardAqua));
- }
- //Make an Earth Shard.
- else if (FancyChance == 3){
- event.drops.add(new ItemStack(ModItems.shardTerra));
- }
- //Make an Air Shard.
- else if (FancyChance == 4){
- event.drops.add(new ItemStack(ModItems.shardAer));
- }
- }
+ //Spawn Dull Shards (Can spawn from Tree Logs, Grass or Stone. Stone going to be the most common source.)
+ if ((event.block == Blocks.stone || event.block == Blocks.sandstone || event.block == Blocks.log || event.block == Blocks.log2 || event.block == Blocks.grass)
+ && !LoadedMods.Thaumcraft) {
+ //small chance for one to spawn per stone mined. 1 per 3 stacks~ //TODO MAKE A CONFIG OPTION
+ if (MathUtils.randInt(1, 196) == 1){
+ //Let's sort out a lucky charm for the player.
+ int FancyChance = MathUtils.randInt(1, 4);
+ if (MathUtils.randInt(1, 100) < 90){
+ event.drops.add(new ItemStack(ModItems.shardDull));
+ }
+ //Make a Fire Shard
+ else if (FancyChance == 1){
+ event.drops.add(new ItemStack(ModItems.shardIgnis));
+ }
+ //Make a Water Shard.
+ else if (FancyChance == 2){
+ event.drops.add(new ItemStack(ModItems.shardAqua));
+ }
+ //Make an Earth Shard.
+ else if (FancyChance == 3){
+ event.drops.add(new ItemStack(ModItems.shardTerra));
+ }
+ //Make an Air Shard.
+ else if (FancyChance == 4){
+ event.drops.add(new ItemStack(ModItems.shardAer));
}
+ }
+ else {
+ Utils.LOG_INFO("invalid chance");
}
}
+ //}
}
@SubscribeEvent
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index b2426ed562..cc9ca0e9e6 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -153,10 +153,10 @@ public final class ModItems {
public static BaseEuItem metaItem2;
- public static BaseItemTCShard shardAer;
- public static BaseItemTCShard shardIgnis;
- public static BaseItemTCShard shardTerra;
- public static BaseItemTCShard shardAqua;
+ public static Item shardAer;
+ public static Item shardIgnis;
+ public static Item shardTerra;
+ public static Item shardAqua;
public static BaseItemTCShard shardDull;
@@ -306,7 +306,7 @@ public final class ModItems {
//TC Style Shards, for use in making energy crystal mix.
//A dull shard, able to be infused with an element.
- shardDull = new BaseItemTCShard("Drained", Utils.rgbtoHexValue(75, 75, 75), "Small chance to be mined from Stone.", "Only useful if you do not have Thaumcraft installed.");
+ shardDull = new BaseItemTCShard("Drained", Utils.rgbtoHexValue(75, 75, 75), "Can be infused to create a magical shard.", "Obtained from Mining Stone/SandStone, Chopping Logs or Shovelling Dirt.");
//Generates four elemental shards when TC is not installed.
if (!LoadedMods.Thaumcraft){
shardAer = new BaseItemTCShard("Aer", Utils.rgbtoHexValue(225, 225, 5));
@@ -314,6 +314,12 @@ public final class ModItems {
shardTerra = new BaseItemTCShard("Terra", Utils.rgbtoHexValue(5, 255, 5));
shardAqua = new BaseItemTCShard("Aqua", Utils.rgbtoHexValue(5, 5, 255));
}
+ else {
+ shardAer = ItemUtils.getItemStackWithMeta(LoadedMods.Thaumcraft, "Thaumcraft:ItemShard", "Air Shard", 0, 1).getItem();
+ shardIgnis = ItemUtils.getItemStackWithMeta(LoadedMods.Thaumcraft, "Thaumcraft:ItemShard", "Fire Shard", 1, 1).getItem();
+ shardAqua = ItemUtils.getItemStackWithMeta(LoadedMods.Thaumcraft, "Thaumcraft:ItemShard", "Warer Shard", 2, 1).getItem();
+ shardTerra = ItemUtils.getItemStackWithMeta(LoadedMods.Thaumcraft, "Thaumcraft:ItemShard", "Earth Shard", 3, 1).getItem();
+ }
//Generates a set of four special dusts to be used in my recipes.
dustAer = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().AER, true)[0];
dustIgnis = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().IGNIS, true)[0];
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java b/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
index b4d0ca9233..136a26d4d0 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
@@ -1,5 +1,6 @@
package gtPlusPlus.core.item.general;
+import gtPlusPlus.core.block.general.FirePit;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.CoreItem;
import gtPlusPlus.core.util.math.MathUtils;
@@ -42,6 +43,9 @@ public class ItemBasicFirestarter extends CoreItem {
if (!thisPlayer.canPlayerEdit(blockX, blockY, blockZ, p_77648_7_, thisItem)) {
return false;
}
+ if (thisWorld.getBlock(blockX, blockY, blockZ) instanceof FirePit){
+ thisWorld.setBlockMetadataWithNotify(blockX, blockY, blockZ, 2, 4);
+ }
if (thisWorld.isAirBlock(blockX, blockY, blockZ))
{
int random = MathUtils.randInt(0, 3);