2
0
Fork 0

Added Blocks that can have metaData

frozen
KeyLime17 1 year ago
parent 084c02a1bf
commit 112b8abe19

@ -1 +1 @@
�[�i5�ï¿ä¶
�[�i5�ï¿ëc

@ -0,0 +1,22 @@
package com.zivilon.cinder_loe;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
public class CinderBlockMetaData extends ItemBlock {
public CinderBlockMetaData(Block block) {
super(block);
this.setHasSubtypes(true);
}
@Override
public int getMetadata(int damage) {
return damage;
}
@Override
public String getUnlocalizedName(ItemStack stack) {
return super.getUnlocalizedName() + "." + stack.getItemDamage();
}
}

@ -123,7 +123,7 @@ public class CinderLoE {
///public static Block rustedsword;
public static Block mistBlock;
public static Block cutDrystone;
public static Block Cindercobble;
public static Block cindercobble;
public static Block reeflessCoral;
public static Block silverChain;
public static Block goldChain;
@ -493,8 +493,8 @@ public class CinderLoE {
cutDrystone = (new cutDrystone());
GameRegistry.registerBlock(cutDrystone, "cutDrystone");
Cindercobble = new CobbleBlock().setBlockName("lotr:Cindercobble");
GameRegistry.registerBlock(Cindercobble, LOTRItemBlockMetadata.class, "Cindercobble");
cindercobble = (new CobbleBlock());
GameRegistry.registerBlock(cindercobble, CinderBlockMetaData.class, "cindercobble");
plaster = (new plaster());
GameRegistry.registerBlock(plaster, "plaster");
@ -667,13 +667,14 @@ public class CinderLoE {
// Misc
EVENT = getLOTRMaterialByName("EVENT");
MATERIAL_JADE = getLOTRMaterialByName("JADE");
frostblade = (new LOTRItemSword(EVENT)).setUnlocalizedName("lotr:frostblade").setTextureName("lotr:frostblade");
daggervoid = (new VoidDagger(EVENT)).addWeaponDamage(5.0F).setUnlocalizedName("lotr:daggerVoid").setTextureName("lotr:daggerVoid").setCreativeTab(null);
spearsolidgold = (new LOTRItemSpear(EVENT)).setUnlocalizedName("lotr:spearsolidgold").setTextureName("lotr:spearsolidgold").setCreativeTab(null);
spearUnnamed = (new UnnamedSpear(EVENT)).setUnlocalizedName("lotr:spearUnnamed").setTextureName("lotr:spearUnnamed").setCreativeTab(null);
whip = (new Whip()).setUnlocalizedName("lotr:whip").setTextureName("lotr:whip");
helmetbrokenhalo = (new LOTRItemArmor(EVENT, 0, "helmet")).setUnlocalizedName("lotr:helmetbrokenhalo").setTextureName("lotr:helmetbrokenhalo").setCreativeTab(null);
MATERIAL_JADE = getLOTRMaterialByName("JADE");
helmetJade = (new LOTRItemArmor(MATERIAL_JADE, 0, "helmet")).setUnlocalizedName("lotr:helmetJade").setTextureName("lotr:helmetJade").setCreativeTab(null);
bodyJade = (new LOTRItemArmor(MATERIAL_JADE, 1, "chestplate")).setUnlocalizedName("lotr:bodyJade").setTextureName("lotr:bodyJade").setCreativeTab(null);
legsJade = (new LOTRItemArmor(MATERIAL_JADE, 2,"leggings")).setUnlocalizedName("lotr:legsJade").setTextureName("lotr:legsJade").setCreativeTab(null);
@ -1149,7 +1150,7 @@ public class CinderLoE {
CinderCore.registerItemFallback(Block.getIdFromBlock(bronzeChain), Block.getIdFromBlock(LOTRMod.orcChain), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(mistBlock), Block.getIdFromBlock(LOTRMod.utumnoPortal), "cinder_loe", "1.1");
CinderCore.registerItemFallback(Block.getIdFromBlock(cutDrystone), Block.getIdFromBlock(LOTRMod.cobblebrick), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(Cindercobble), Block.getIdFromBlock(LOTRMod.cobblebrick), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(cindercobble), Block.getIdFromBlock(LOTRMod.cobblebrick), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(reeflessCoral), Block.getIdFromBlock(LOTRMod.coralReef), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(plaster), Block.getIdFromBlock(Blocks.brick_block), "cinder_loe", "1.2.1");
CinderCore.registerItemFallback(Block.getIdFromBlock(voidblock), Block.getIdFromBlock(Blocks.coal_block), "cinder_loe", "1.2.1");

@ -1,16 +1,32 @@
package com.zivilon.cinder_loe.blocks;
import com.zivilon.cinder_loe.util.Utilities;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import lotr.common.LOTRCreativeTabs;
import lotr.common.block.LOTRBlockBrick2;
import lotr.common.block.LOTRBlockBrickBase;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
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;
import java.lang.reflect.Field;
import java.util.List;
public class CobbleBlock extends Block {
protected IIcon[] brickIcons;
protected String[] brickNames;
public class CobbleBlock extends LOTRBlockBrickBase {
public CobbleBlock() {
/*
super(Material.rock);
this.setHardness(1.5f);
this.setResistance(10.0f);
this.setStepSound(Block.soundTypeStone);
try {
Field tabField = LOTRCreativeTabs.class.getDeclaredField("tabBlock"); // Stupid workaround because ForgeGradle tries to obfuscate field LOTRCreativeTabs.tabBlock when it's not supposed to
LOTRCreativeTabs tab = (LOTRCreativeTabs)tabField.get(null);
@ -18,8 +34,40 @@ public class CobbleBlock extends LOTRBlockBrickBase {
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
*/
setBlockTextureName("lotr:cindercobble");
setBlockName("lotr:cindercobble");
this.setBrickNames("drystone", "mordor");
}
protected void setBrickNames(String ... names) {
this.brickNames = names;
}
@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister iconregister) {
this.brickIcons = new IIcon[this.brickNames.length];
for (int i = 0; i < this.brickNames.length; ++i) {
String texturePath = this.getTextureName() + "_" + this.brickNames[i];
System.out.println("Registering texture: " + texturePath); // Debug log
this.brickIcons[i] = iconregister.registerIcon(texturePath);
}
}
@Override
public IIcon getIcon(int side, int meta) {
return this.brickIcons[meta];
}
@Override
public int damageDropped(int meta) {
return meta;
}
@SideOnly(Side.CLIENT)
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < this.brickNames.length; ++i) {
list.add(new ItemStack(item, 1, i));
}
}
}

@ -1,13 +1,56 @@
package com.zivilon.cinder_loe.items;
import com.zivilon.cinder_loe.entity.corrupt.CorruptMan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import lotr.common.item.LOTRItemArmor;
import lotr.common.item.LOTRMaterial;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.living.LivingEvent;
public class BrokenHalo extends LOTRItemArmor {
public BrokenHalo(LOTRMaterial material, int slotType, String s) {
super(material, slotType, s);
};
}
@SubscribeEvent
public void onLivingUpdate(LivingEvent.LivingUpdateEvent event) {
if (event.entityLiving instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entityLiving;
ItemStack helmet = player.getCurrentArmor(0); // Helmet slot
if (helmet != null && helmet.getItem() instanceof BrokenHalo) {
World world = player.worldObj;
if (!world.isRemote) {
// Summon NPC
CorruptMan corruptman = new CorruptMan(world);
corruptman.copyLocationAndAnglesFrom(player);
// Copy armor and weapon from player to CorruptOrc
for (int i = 0; i < 4; i++) {
ItemStack armor = player.getCurrentArmor(i);
corruptman.setCurrentItemOrArmor(i + 1, armor);
}
ItemStack mainWeapon = player.getHeldItem();
corruptman.npcItemsInv.setIdleItem(mainWeapon);
corruptman.npcItemsInv.setMeleeWeapon(mainWeapon);
corruptman.setHealth(20);
corruptman.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
// Remove player and spawn CorruptOrc
world.removeEntity(player);
corruptman.onSpawnWithEgg((IEntityLivingData) null);
world.spawnEntityInWorld(corruptman);
world.playAuxSFXAtEntity(null, 1016, (int) corruptman.posX, (int) corruptman.posY, (int) corruptman.posZ, 0);
}
}
}
}
}

@ -117,10 +117,10 @@ public class recipes {
Character.valueOf('X'), Items.iron_ingot}));
GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.bronzeChain, 8), new Object[] { "X", "X", "X",
Character.valueOf('X'), LOTRMod.bronze}));
GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.Cindercobble, 4, 0), new Object[] { "XX", "XX",
GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.cindercobble, 4, 0), new Object[] { "XX", "XX",
Character.valueOf('X'), LOTRMod.cobblebrick}));
GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.cutDrystone, 4), new Object[] { "XX", "XX",
Character.valueOf('X'), new ItemStack(CinderLoE.Cindercobble, 1, 0)}));
Character.valueOf('X'), new ItemStack(CinderLoE.cindercobble, 1, 0)}));
GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(LOTRMod.cobblebrick, 4, 0), new Object[] { "XX", "XX",
Character.valueOf('X'), CinderLoE.cutDrystone}));
GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.reeflessCoral, 1), new Object[] { "X",

@ -15,9 +15,10 @@ tile.lotr:mistBlock.name=Mist
tile.lotr:fishbarrel.name=Barrel of Fish
tile.lotr:reeflessCoral.name=Cut Coral
tile.lotr:cutDrystone.name=Cut Drystone
tile.lotr:cobbleDrystone.name=Cobbled Drystone
tile.lotr:plaster.name=Plaster
tile.lotr:voidblock.name=Void
tile.lotr:cobblebrick.0.name=Cobbled Drystone
tile.lotr:cobblebrick.1.name=Cobbled Mordor Rock
item.lotr:spearUnnamed.name=Drannach Oriour
item.lotr:frostblade.name=Frostblade
@ -28,7 +29,7 @@ item.lotr:helmetRedDwarf.name=Red Dwarven Helmet
item.lotr:bodyRedDwarf.name=Red Dwarven Chestplate
item.lotr:legsRedDwarf.name=Red Dwarven Leggings
item.lotr:bootsRedDwarf.name=Red Dwarven Boots
item.lotr:redDwarfSteel.name=Red Dwarven Steel
item.lotr:redDwarfSteel.name=Red Dwarven Steel Ingot
item.lotr:spearRedDwarf.name=Red Dwarven Spear
item.lotr:swordRedDwarf.name=Red Dwarven Sword
item.lotr:battleaxeRedDwarf.name=Red Dwarven Battleaxe

Loading…
Cancel
Save