summaryrefslogtreecommitdiff
path: root/src/main/java/com/sosnitzka/taiga/generic
diff options
context:
space:
mode:
authorRobert Sosnitzka <robert.sosnitzka@gmail.com>2017-01-01 21:39:02 +0100
committerRobert Sosnitzka <robert.sosnitzka@gmail.com>2017-01-01 21:39:02 +0100
commit18bd88e7f98bb62d704d933341599bbb7b2ce3c7 (patch)
treed5d8336ee88d6cb7d4f539fdbe4d05eda9436395 /src/main/java/com/sosnitzka/taiga/generic
parent6b1a9d4b278c7f1b8dc0c4ca1c7b54dbb4e2fa59 (diff)
Added Dilithium Ore and assigned crystals. Added some Book pages as a test (need to be fixed before next release).
Removed deprecated stuff. Removed 2016, Added 2017.
Diffstat (limited to 'src/main/java/com/sosnitzka/taiga/generic')
-rw-r--r--src/main/java/com/sosnitzka/taiga/generic/BlockOre.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/com/sosnitzka/taiga/generic/BlockOre.java b/src/main/java/com/sosnitzka/taiga/generic/BlockOre.java
new file mode 100644
index 0000000..55737c3
--- /dev/null
+++ b/src/main/java/com/sosnitzka/taiga/generic/BlockOre.java
@@ -0,0 +1,62 @@
+package com.sosnitzka.taiga.generic;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.item.Item;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+import java.util.Random;
+
+import static slimeknights.tconstruct.TConstruct.random;
+
+public class BlockOre extends Block {
+
+ private Item dropItem;
+ private int itemAmount;
+ private int xpAmount;
+
+ public BlockOre(String name, Material material, float hardness, float resistance, int harvest, float lightLevel, Item item, int amount, int xp) {
+ super(material);
+ setUnlocalizedName(name);
+ setRegistryName(name);
+ setHardness(hardness);
+ setResistance(resistance);
+ setHarvestLevel("pickaxe", harvest);
+ setLightLevel(lightLevel);
+ this.dropItem = item;
+ this.itemAmount = amount;
+ this.xpAmount = xp;
+
+ }
+
+ @Override
+ public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune) {
+ return random.nextInt(xpAmount) + fortune;
+
+ }
+
+ @Override
+ @ParametersAreNonnullByDefault
+ public int quantityDropped(IBlockState state, int fortune, Random random) {
+ return (random.nextInt(itemAmount + fortune) + 1);
+ }
+
+ @Override
+ public Item getItemDropped(IBlockState state, Random rand, int fortune) {
+ return dropItem;
+ }
+
+ @Override
+ public void onBlockDestroyedByExplosion(World worldIn, BlockPos pos, Explosion explosionIn) {
+ if (!worldIn.isRemote) {
+ if (random.nextFloat() < 0.5) {
+ worldIn.newExplosion(null, pos.getX(), pos.getY(), pos.getZ(), random.nextFloat() * 4f + 1.5f, true, true);
+ }
+ }
+ }
+}