aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/common/Recipes.java4
-rw-r--r--src/main/java/common/blocks/Block_IchorJar.java67
-rw-r--r--src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java67
-rw-r--r--src/main/java/kekztech/KekzCore.java5
4 files changed, 85 insertions, 58 deletions
diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java
index 15516ecc88..8462405fef 100644
--- a/src/main/java/common/Recipes.java
+++ b/src/main/java/common/Recipes.java
@@ -399,12 +399,12 @@ public class Recipes {
15, aspects_jarichor, ItemApi.getBlock("blockJar", 0), recipe_jarichor));
final ItemStack[] recipe_jarthaumiumreinforced = {
- GameRegistry.makeItemStack("Thaumcraft:ItemResource", 15, 0, null),
+ GameRegistry.makeItemStack("Thaumcraft:ItemResource", 15, 1, null),
GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1),
new ItemStack(net.minecraft.init.Blocks.glass_pane),
GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1),
new ItemStack(net.minecraft.init.Blocks.glass_pane),
- GameRegistry.makeItemStack("Thaumcraft:ItemResource", 15, 0, null),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1),
GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1),
new ItemStack(net.minecraft.init.Blocks.glass_pane),
GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1),
diff --git a/src/main/java/common/blocks/Block_IchorJar.java b/src/main/java/common/blocks/Block_IchorJar.java
index cd3df9aa04..c64770485b 100644
--- a/src/main/java/common/blocks/Block_IchorJar.java
+++ b/src/main/java/common/blocks/Block_IchorJar.java
@@ -8,17 +8,16 @@ import common.tileentities.TE_IchorVoidJar;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import items.Item_IchorJarFilled;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.Explosion;
import net.minecraft.world.World;
-import thaumcraft.api.aspects.AspectList;
import thaumcraft.common.blocks.BlockJar;
+import thaumcraft.common.config.ConfigBlocks;
public class Block_IchorJar extends BlockJar {
@@ -26,6 +25,9 @@ public class Block_IchorJar extends BlockJar {
private Block_IchorJar() {
super();
+
+ super.setHardness(20.0F);
+ super.setResistance(3.0f);
}
public static Block registerBlock() {
@@ -71,36 +73,47 @@ public class Block_IchorJar extends BlockJar {
}
@Override
- public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) {
- final ArrayList<ItemStack> drops = new ArrayList<>();
-
- ItemStack drop;
-
+ public void breakBlock(World world, int x, int y, int z, Block par5, int par6) {
final TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TE_IchorJar) {
- drop = new ItemStack(Item_IchorJarFilled.getInstance());
- // Empty and no label
- if(((TE_IchorJar) te).amount <= 0 && ((TE_IchorJar) te).aspectFilter == null) {
- drop = new ItemStack(this);
- }
- // If is void jar, set meta
- if(te instanceof TE_IchorVoidJar) {
- drop.setItemDamage(3);
- }
- // Non empty, generate filled jar item with contents
if(((TE_IchorJar) te).amount > 0) {
- ((Item_IchorJarFilled) drop.getItem()).setAspects(drop,
- (new AspectList()).add(((TE_IchorJar) te).aspect, ((TE_IchorJar) te).amount));
- }
- // has label
- if(((TE_IchorJar) te).aspectFilter != null) {
- if(!drop.hasTagCompound()) {
- drop.setTagCompound(new NBTTagCompound());
+ // Create a decent explosion in the center of the block (TNT has strength 4.0F)
+ world.createExplosion(null, x + 0.5D, y + 0.5D, z + 0.5D, 6.0F, false);
+
+ // Place a lot of Flux in the area
+ final int limit = ((TE_IchorJar) te).amount / 16;
+ int created = 0;
+ for(int i = 0; i < 200; i++) {
+ final int xf = x + world.rand.nextInt(7) - world.rand.nextInt(7);
+ final int yf = x + world.rand.nextInt(7) - world.rand.nextInt(7);
+ final int zf = x + world.rand.nextInt(7) - world.rand.nextInt(7);
+ if(world.isAirBlock(xf, yf, zf)) {
+ if(yf > y) {
+ world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGas, 8, 3);
+ } else {
+ world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGoo, 8, 3);
+ }
+
+ if(created++ > limit) {
+ break;
+ }
+ }
}
- drop.stackTagCompound.setString("AspectFilter", ((TE_IchorJar) te).aspectFilter.getTag());
}
- drops.add(drop);
}
+
+ super.breakBlock(world, x, y, z, par5, par6);
+ }
+
+ @Override
+ public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) {
+ final ArrayList<ItemStack> drops = new ArrayList<>();
+ drops.add(new ItemStack(this, 1, (meta == 3) ? 3 : 0));
return drops;
}
+
+ @Override
+ public boolean canDropFromExplosion(Explosion e) {
+ return false;
+ }
}
diff --git a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java
index 421e1d2c2b..2317646c53 100644
--- a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java
+++ b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java
@@ -8,17 +8,16 @@ import common.tileentities.TE_ThaumiumReinforcedVoidJar;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import items.Item_ThaumiumReinforcedJarFilled;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.Explosion;
import net.minecraft.world.World;
-import thaumcraft.api.aspects.AspectList;
import thaumcraft.common.blocks.BlockJar;
+import thaumcraft.common.config.ConfigBlocks;
public class Block_ThaumiumReinforcedJar extends BlockJar {
@@ -26,6 +25,9 @@ public class Block_ThaumiumReinforcedJar extends BlockJar {
private Block_ThaumiumReinforcedJar() {
super();
+
+ super.setHardness(8.0F);
+ super.setResistance(6.0F);
}
public static Block registerBlock() {
@@ -71,36 +73,47 @@ public class Block_ThaumiumReinforcedJar extends BlockJar {
}
@Override
- public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) {
- final ArrayList<ItemStack> drops = new ArrayList<>();
-
- ItemStack drop;
-
+ public void breakBlock(World world, int x, int y, int z, Block par5, int par6) {
final TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TE_ThaumiumReinforcedJar) {
- drop = new ItemStack(Item_ThaumiumReinforcedJarFilled.getInstance());
- // Empty and no label
- if(((TE_ThaumiumReinforcedJar) te).amount <= 0 && ((TE_ThaumiumReinforcedJar) te).aspectFilter == null) {
- drop = new ItemStack(this);
- }
- // If is void jar, set meta
- if(te instanceof TE_ThaumiumReinforcedVoidJar) {
- drop.setItemDamage(3);
- }
- // Non empty, generate filled jar item with contents
if(((TE_ThaumiumReinforcedJar) te).amount > 0) {
- ((Item_ThaumiumReinforcedJarFilled) drop.getItem()).setAspects(drop,
- (new AspectList()).add(((TE_ThaumiumReinforcedJar) te).aspect, ((TE_ThaumiumReinforcedJar) te).amount));
- }
- // has label
- if(((TE_ThaumiumReinforcedJar) te).aspectFilter != null) {
- if(!drop.hasTagCompound()) {
- drop.setTagCompound(new NBTTagCompound());
+ // Create a small explosion in the center of the block (TNT has strength 4.0F)
+ world.createExplosion(null, x + 0.5D, y + 0.5D, z + 0.5D, 1.0F, false);
+
+ // Place some Flux in the area
+ final int limit = ((TE_ThaumiumReinforcedJar) te).amount / 16;
+ int created = 0;
+ for(int i = 0; i < 50; i++) {
+ final int xf = x + world.rand.nextInt(4) - world.rand.nextInt(4);
+ final int yf = x + world.rand.nextInt(4) - world.rand.nextInt(4);
+ final int zf = x + world.rand.nextInt(4) - world.rand.nextInt(4);
+ if(world.isAirBlock(xf, yf, zf)) {
+ if(yf > y) {
+ world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGas, 8, 3);
+ } else {
+ world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGoo, 8, 3);
+ }
+
+ if(created++ > limit) {
+ break;
+ }
+ }
}
- drop.stackTagCompound.setString("AspectFilter", ((TE_ThaumiumReinforcedJar) te).aspectFilter.getTag());
}
- drops.add(drop);
}
+
+ super.breakBlock(world, x, y, z, par5, par6);
+ }
+
+ @Override
+ public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) {
+ final ArrayList<ItemStack> drops = new ArrayList<>();
+ drops.add(new ItemStack(this, 1, (meta == 3) ? 3 : 0));
return drops;
}
+
+ @Override
+ public boolean canDropFromExplosion(Explosion e) {
+ return false;
+ }
}
diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java
index ff677a3296..3c5617dcc8 100644
--- a/src/main/java/kekztech/KekzCore.java
+++ b/src/main/java/kekztech/KekzCore.java
@@ -101,8 +101,9 @@ public class KekzCore {
// Thaumcraft research
final ResearchItem jar_thaumiumreinforced = new ResearchItem("THAUMIUMREINFORCEDJAR", "ALCHEMY", new AspectList(), 3, -4, 2, new ItemStack(Blocks.jarThaumiumReinforced, 1));
jar_thaumiumreinforced.setPages(new ResearchPage[] {
- new ResearchPage("kekztech.research_page.THAUMIUMREINFORCEDJAR"),
- new ResearchPage(Recipes.infusionRecipes.get("THAUMIUMREINFORCEDJAR"))
+ new ResearchPage("kekztech.research_page.THAUMIUMREINFORCEDJAR.0"),
+ new ResearchPage(Recipes.infusionRecipes.get("THAUMIUMREINFORCEDJAR")),
+ new ResearchPage("kekztech.research_page.THAUMIUMREINFORCEDJAR.1")
});
jar_thaumiumreinforced.setParents(new String[] {"JARLABEL"});
jar_thaumiumreinforced.registerResearchItem();