Added Wolframite Ore

This commit is contained in:
JAWolfe04 2016-08-04 12:29:41 -05:00
parent cea198eec0
commit 90544b74e7
18 changed files with 357 additions and 4 deletions

3
.gitignore vendored
View File

@ -16,4 +16,5 @@
/.classpath
/.project
/bin
/libs
/libs
To Do.txt

View File

@ -1,6 +1,6 @@
minecraft_version=1.7.10
forge_version=10.13.4.1566-1.7.10
tfc_version=0.79.27
mod_version=1.17
mod_version=1.18
mod_id=TerraFirmaPunkTweaks
group_name=com.JAWolfe.TerraFirmaPunkTweaks

Binary file not shown.

View File

@ -1,5 +1,11 @@
Changelog
=================================================
-------------------------------------------------
TFP Tweaks 1.18
-------------------------------------------------
New Features
+Added Wolframite Ore world generation
-------------------------------------------------
TFP Tweaks 1.17
-------------------------------------------------

View File

@ -55,6 +55,8 @@ public class TerraFirmaPunkTweaks
proxy.registerRenderInformation();
proxy.registerOreGen();
proxy.registerWAILA();
}

View File

@ -6,7 +6,6 @@ import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import steamcraft.common.blocks.machines.BlockLightningRod;
import steamcraft.common.init.InitBlocks;
public class BlockTFPLigntningRod extends BlockLightningRod
{

View File

@ -0,0 +1,142 @@
package com.JAWolfe.terrafirmapunktweaks.blocks;
import java.util.ArrayList;
import java.util.Random;
import com.JAWolfe.terrafirmapunktweaks.items.TFPItems;
import com.JAWolfe.terrafirmapunktweaks.reference.Globals;
import com.JAWolfe.terrafirmapunktweaks.reference.References;
import com.bioxx.tfc.Blocks.Terrain.BlockOre;
import com.bioxx.tfc.Core.TFC_Core;
import com.bioxx.tfc.TileEntities.TEOre;
import com.bioxx.tfc.api.TFCItems;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.util.IIcon;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
public class BlockWolframite extends BlockOre
{
public String[] blockNames = Globals.ORE_METAL;
public BlockWolframite(Material mat)
{
super(mat);
icons = new IIcon[blockNames.length];
}
@Override
public int damageDropped(int dmg)
{
return dmg;
}
@Override
public int quantityDropped(int meta, int fortune, Random random)
{
return 1;
}
@Override
public void registerBlockIcons(IIconRegister iconRegisterer)
{
for(int i = 0; i < blockNames.length; i++)
icons[i] = iconRegisterer.registerIcon(References.ModID + ":" + "ores/"+ blockNames[i] + " Ore");
}
@Override
public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z)
{
if(!world.isRemote)
{
boolean dropOres = false;
boolean hasHammer = false;
int meta = world.getBlockMetadata(x, y, z);
ItemStack itemstack = null;
if(player != null)
{
TFC_Core.addPlayerExhaustion(player, 0.001f);
player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1);
dropOres = player.canHarvestBlock(this);
ItemStack heldItem = player.getCurrentEquippedItem();
if (heldItem != null)
{
int[] itemIDs = OreDictionary.getOreIDs(heldItem);
for (int id : itemIDs)
{
String name = OreDictionary.getOreName(id);
if (name.startsWith("itemHammer"))
{
hasHammer = true;
break;
}
}
}
}
if (player == null || dropOres)
{
TEOre te = (TEOre) world.getTileEntity(x, y, z);
int ore = getOreGrade(te, meta);
itemstack = new ItemStack(TFPItems.oreChunk, 1, damageDropped(ore));
}
else if (hasHammer)
itemstack = new ItemStack(TFCItems.smallOreChunk, 1, meta);
if (itemstack != null)
dropBlockAsItem(world, x, y, z, itemstack);
}
return world.setBlockToAir(x, y, z);
}
@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune)
{
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
TEOre te = (TEOre) world.getTileEntity(x, y, z);
int ore = getOreGrade(te, metadata);
int count = quantityDropped(metadata, fortune, world.rand);
for (int i = 0; i < count; i++)
{
ItemStack itemstack = new ItemStack(TFPItems.oreChunk, 1, damageDropped(ore));
ret.add(itemstack);
}
return ret;
}
@Override
public void onBlockExploded(World world, int x, int y, int z, Explosion exp)
{
if (!world.isRemote)
{
TEOre te = (TEOre)world.getTileEntity(x, y, z);
ItemStack itemstack;
int meta = world.getBlockMetadata(x, y, z);
int ore = getOreGrade(te, meta);
itemstack = new ItemStack(TFPItems.oreChunk, 1, ore);
dropBlockAsItem(world, x, y, z, itemstack);
onBlockDestroyedByExplosion(world, x, y, z, exp);
}
}
@Override
public int getOreGrade(TEOre te, int ore)
{
if(te != null)
{
int grade = te.extraData & 7;
if (grade == 1)
ore = 1;
else if (grade == 2)
ore = 2;
}
return ore;
}
}

View File

@ -24,6 +24,7 @@ public class TFPBlocks
public static Block tfpAltar;
public static Block tfpAltarBlock;
public static Block tfpLightningRod;
public static Block blockWolframite;
public static int brickOvenRenderID;
@ -41,6 +42,9 @@ public class TFPBlocks
oliveOil = new BlockOliveOil(TFCFluids.OLIVEOIL).setHardness(100.0F).setLightOpacity(3).setBlockName("OliveOil");
GameRegistry.registerBlock(oliveOil,"OliveOil");
blockWolframite = new BlockWolframite(Material.rock).setHardness(10F).setResistance(10F).setBlockName("Wolframite");
GameRegistry.registerBlock(blockWolframite, "OreWolferamite");
if(Loader.isModLoaded("Steamcraft"))
{
tweakedboiler = new TweakedBoiler(false).setBlockName(SteamcraftBlocks.boiler.getUnlocalizedName().substring(5)).setHardness(5.0F).setResistance(10.0F);

View File

@ -0,0 +1,70 @@
package com.JAWolfe.terrafirmapunktweaks.items;
import com.JAWolfe.terrafirmapunktweaks.reference.Globals;
import com.JAWolfe.terrafirmapunktweaks.reference.References;
import com.bioxx.tfc.Items.ItemOre;
import com.bioxx.tfc.api.Metal;
import com.bioxx.tfc.api.TFCOptions;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
public class ItemTFPOre extends ItemOre
{
public ItemTFPOre()
{
super();
metaNames = new String[] {"Wolframite", "Rich Wolframite", "Poor Wolframite"};
}
@Override
public void registerIcons(IIconRegister registerer)
{
metaIcons = new IIcon[metaNames.length];
for(int i = 0; i < metaNames.length; i++)
metaIcons[i] = registerer.registerIcon(References.ModID + ":" + textureFolder + metaNames[i] + " Ore");
}
@Override
public Metal getMetalType(ItemStack is)
{
switch(is.getItemDamage())
{
case 0: case 1: case 2: return Globals.TUNGSTEN;
default: return null;
}
}
@Override
public short getMetalReturnAmount(ItemStack is)
{
switch (is.getItemDamage())
{
case 0: return (short) TFCOptions.normalOreUnits;
case 1: return (short) TFCOptions.richOreUnits;
case 2: return (short) TFCOptions.poorOreUnits;
default: return 0;
}
}
@Override
public boolean isSmeltable(ItemStack is)
{
switch (is.getItemDamage())
{
case 0: case 1: case 2: return true;
default: return false;
}
}
@Override
public EnumTier getSmeltTier(ItemStack is)
{
switch (is.getItemDamage())
{
case 0: case 1: case 2: return EnumTier.TierI;
default: return EnumTier.TierX;
}
}
}

View File

@ -0,0 +1,48 @@
package com.JAWolfe.terrafirmapunktweaks.items;
import java.util.List;
import com.JAWolfe.terrafirmapunktweaks.reference.References;
import com.bioxx.tfc.api.TFCOptions;
import com.bioxx.tfc.api.Enums.EnumSize;
import com.bioxx.tfc.api.Enums.EnumWeight;
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.util.IIcon;
public class ItemTFPOreSmall extends ItemTFPOre
{
public ItemTFPOreSmall()
{
super();
setWeight(EnumWeight.HEAVY);
setSize(EnumSize.TINY);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void getSubItems(Item item, CreativeTabs tabs, List list)
{
list.add(new ItemStack(this, 1, 0));
}
@Override
public void registerIcons(IIconRegister registerer)
{
metaIcons = new IIcon[1];
metaIcons[0] = registerer.registerIcon(References.ModID + ":" + textureFolder + metaNames[0] + " Small Ore");
}
@Override
public short getMetalReturnAmount(ItemStack is)
{
switch (is.getItemDamage())
{
case 0: return (short) TFCOptions.smallOreUnits;
default: return 0;
}
}
}

View File

@ -1,5 +1,8 @@
package com.JAWolfe.terrafirmapunktweaks.items;
import com.JAWolfe.terrafirmapunktweaks.reference.Globals;
import com.bioxx.tfc.api.Metal;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.Item;
@ -24,11 +27,22 @@ public class TFPItems
public static Item HopperMold;
public static Item TFPNecronomicon;
public static Item tungstenIngot;
public static Item tungstenIngot2x;
public static Item tungstenUnshaped;
public static Item oreChunk;
public static void initialise()
{
CustomBucketOliveOil = new TFPCustomBucket().setUnlocalizedName("Wooden Bucket Olive Oil");
GameRegistry.registerItem(CustomBucketOliveOil, CustomBucketOliveOil.getUnlocalizedName());
Globals.TUNGSTEN = new Metal("Tungsten", tungstenUnshaped, tungstenIngot);
oreChunk = new ItemTFPOre().setFolder("ore/").setUnlocalizedName("Ore");
GameRegistry.registerItem(oreChunk, oreChunk.getUnlocalizedName());
if(Loader.isModLoaded("BuildCraft|Core"))
{
CustomBucketOil = new TFPCustomBucket().setUnlocalizedName("Wooden Bucket Oil");

View File

@ -1,13 +1,20 @@
package com.JAWolfe.terrafirmapunktweaks.proxy;
import static com.bioxx.tfc.WorldGen.Generators.WorldGenOre.oreList;
import com.JAWolfe.terrafirmapunktweaks.TFPFluids;
import com.JAWolfe.terrafirmapunktweaks.items.TFPItems;
import com.JAWolfe.terrafirmapunktweaks.reference.References;
import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar;
import com.JAWolfe.terrafirmapunktweaks.tiles.TEBoiler;
import com.JAWolfe.terrafirmapunktweaks.tiles.TEBrickOven;
import com.JAWolfe.terrafirmapunktweaks.tiles.TEFlashBoiler;
import com.bioxx.tfc.Core.Config.TFC_ConfigFiles;
import com.bioxx.tfc.WorldGen.Generators.OreSpawnData;
import com.bioxx.tfc.api.TFCFluids;
import com.bioxx.tfc.api.TFCItems;
import com.bioxx.tfc.api.Constant.Global;
import com.google.common.collect.ObjectArrays;
import com.sirolf2009.necromancy.item.ItemGeneric;
import buildcraft.BuildCraftEnergy;
@ -15,12 +22,15 @@ import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
public class CommonProxy
{
private static Configuration oresConfig;
public void registerTileEntities()
{
GameRegistry.registerTileEntity(TEBrickOven.class, "TEBrickOven");
@ -68,6 +78,41 @@ public class CommonProxy
//Not server-sided
}
public void registerOreGen()
{
oreList.put("Wolframite", getOreData("Wolframite", "default", "medium", References.ModID + ":OreWolferamite", 0, 120, new String[] {"granite", "quartzite"}, 5, 128, 80, 60));
for (String s : oresConfig.getCategoryNames()) {
// If this is a new entry, otherwise it has already been added by the previous bit of code.
if (!oreList.containsKey(s))
oreList.put(s, getOreData(s, "default", "small", "Ore", 0, 100, new String[] { "granite", "basalt", "sedimentary" }, 5, 128, 50, 50));
}
if (oresConfig.hasChanged())
oresConfig.save();
}
private static OreSpawnData getOreData(String category, String type, String size, String blockName, int meta, int rarity, String[] rocks, int min, int max, int v, int h)
{
oresConfig = TFC_ConfigFiles.getOresConfig();
String[] ALLOWED_TYPES = new String[] { "default", "veins" };
String[] ALLOWED_SIZES = new String[] { "small", "medium", "large" };
String[] ALLOWED_BASE_ROCKS = ObjectArrays.concat(Global.STONE_ALL, new String[] { "igneous intrusive", "igneous extrusive", "sedimentary", "metamorphic" }, String.class);
return new OreSpawnData(
oresConfig.get(category, "type", type).setValidValues(ALLOWED_TYPES).getString(),
oresConfig.get(category, "size", size).setValidValues(ALLOWED_SIZES).getString(),
oresConfig.get(category, "oreName", blockName).getString(),
oresConfig.get(category, "oreMeta", meta).getInt(),
oresConfig.get(category, "rarity", rarity).getInt(),
oresConfig.get(category, "baseRocks", rocks).setValidValues(ALLOWED_BASE_ROCKS).getStringList(),
oresConfig.get(category, "Minimum Height", min).getInt(),
oresConfig.get(category, "Maximum Height", max).getInt(),
oresConfig.get(category, "Vertical Density", v).getInt(),
oresConfig.get(category, "Horizontal Density", h).getInt()
);
}
public void registerWAILA()
{
FMLInterModComms.sendMessage("Waila", "register", "com.JAWolfe.terrafirmapunktweaks.WAILAInfo.callbackRegister");

View File

@ -0,0 +1,10 @@
package com.JAWolfe.terrafirmapunktweaks.reference;
import com.bioxx.tfc.api.Metal;
public class Globals
{
public static final String[] ORE_METAL = {"Wolframite"};
public static Metal TUNGSTEN;
}

View File

@ -76,4 +76,16 @@ tile.tfpLightningRod.name=Lightning Rod
#= Fluids =
#==========
fluid.tfpBlood=Blood
fluid.tfpWhaleOil=Whale Oil
fluid.tfpWhaleOil=Whale Oil
#=======
#= Ore =
#=======
#== Ore Items ==
item.Ore.Wolframite.name=Wolframite
item.Ore.Rich Wolframite.name=Rich Wolframite
item.Ore.Poor Wolframite.name=Poor Wolframite
item.Small Ore.Wolframite.name=Small Wolframite
#== Ore Blocks ==
tile.Wolframite.name=Wolframite

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B