diff options
Diffstat (limited to 'src/Java')
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); |