Jump to content

ashtonr12

Members
  • Posts

    479
  • Joined

  • Last visited

Everything posted by ashtonr12

  1. did you write this in eclipse? or free hand? because when i put the code into the event i got a tonne of errors did i do somthing wrong? anyway can you verify that the changes i made to get rid of errors still do the same things? and there are two related errors i cant seem to get rid of under tag.setShort("Zombie", 0); & weapon.stackTagCompound.setShort("Zombie",dmg+1); the error is "The method setShort(String, short) in the type NBTTagCompound is not applicable for the arguments (String, int)" package CriticalStrike.common; import java.awt.List; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EntityDamageSource; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; public class AdaptingBladeEvent { @ForgeSubscribe public void onEntityAttacked(LivingHurtEvent event) { if (!(event.source instanceof EntityDamageSource)) {return;} EntityDamageSource dmgSource = (EntityDamageSource) event.source; Entity ent = dmgSource.getEntity(); if (!(ent instanceof EntityPlayer)) {return;} EntityPlayer player = (EntityPlayer) ent; ItemStack weapon = player.getCurrentEquippedItem(); if (event.source.getDamageType().equals("player")) { if (!(weapon == null)){ if (weapon.getItem() instanceof ImmortalAdaptingBlade){ if (event.entityLiving instanceof EntityZombie) { int dmg = 0; if(weapon.hasTagCompound() && weapon.stackTagCompound.hasKey("Zombie")) { dmg = weapon.stackTagCompound.getShort("Zombie"); } else { NBTTagCompound tag = new NBTTagCompound(); tag.setShort("Zombie", 0); weapon.setTagCompound(tag); } event.ammount =+ dmg; weapon.stackTagCompound.setShort("Zombie",dmg+1); }}}} } }
  2. firstly i though id start a new topic because my old thread has gone off on a rather large tangent. second, i know absolutely nothing about NBT's i only started looking at them about 30 mins ago so please be patient and forgive stupid errors what i am trying to do is make a sword which when it hits a zombie, recognises this and +1 to dmg of the sword to zombies. i tried to do this with package CriticalStrike.common; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; public class MobDrops { int Zombie = 0; @ForgeSubscribe public void onEntityAttacked(LivingHurtEvent event) { if (!(event.source instanceof EntityDamageSource)) {return;} EntityDamageSource dmgSource = (EntityDamageSource) event.source; Entity ent = dmgSource.getEntity(); if (!(ent instanceof EntityPlayer)) {return;} EntityPlayer player = (EntityPlayer) ent; ItemStack weapon = player.getCurrentEquippedItem(); if (event.source.getDamageType().equals("player")) { if (!(weapon == null)){ if (weapon.getItem() instanceof ImmortalAdaptingBlade){ if (event.entityLiving instanceof EntityZombie) { Zombie =+ 1; event.ammount =+ Zombie; }}}} } } The result was that the sword only did 1 dmg. i wanted it to do 1 + 1 + 1 + 1 + 1 ...etc They suggested NBTTagCompound, so here is my effort at that, the problem is that it still seems to do only one dmg not matter how many times i hit a zombie, SwordCode package CriticalStrike.common; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.world.World; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.nbt.*; public class ImmortalAdaptingBlade extends ItemSword{ public ImmortalAdaptingBlade(int ItemID, EnumToolMaterial Steel){ super(ItemID, Steel); } public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { if( par1ItemStack.stackTagCompound == null ) par1ItemStack.setTagCompound( new NBTTagCompound( ) ); int i = 0; par1ItemStack.stackTagCompound.setInteger( "Zombie", i ); } @Override public void registerIcons(IconRegister reg){ this.itemIcon = reg.registerIcon("criticalstrike:MythicalEmpoweringSword"); }} eventClass package CriticalStrike.common; import java.awt.List; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EntityDamageSource; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; public class AdaptingBladeEvent { private int zz; public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if( par1ItemStack.stackTagCompound == null ) par1ItemStack.setTagCompound( new NBTTagCompound( ) ); zz = par1ItemStack.stackTagCompound.getInteger( "Zombie" ); } @ForgeSubscribe public void onEntityAttacked(LivingHurtEvent event) { if (!(event.source instanceof EntityDamageSource)) {return;} EntityDamageSource dmgSource = (EntityDamageSource) event.source; Entity ent = dmgSource.getEntity(); if (!(ent instanceof EntityPlayer)) {return;} EntityPlayer player = (EntityPlayer) ent; ItemStack weapon = player.getCurrentEquippedItem(); if (event.source.getDamageType().equals("player")) { if (!(weapon == null)){ if (weapon.getItem() instanceof ImmortalAdaptingBlade){ if (event.entityLiving instanceof EntityZombie) { zz =+ 1; event.ammount =+ zz; }}}} } } i summery, i want a sword that stacks +1 dmg every time i hit a zombie, only a zombie mind. All help/suggestions/constructive criticism is great, Thanks
  3. anyone know how to do this? "Store the "Zombie" value inside the item, with the ItemStack NBT"
  4. i have never used NBT's before? can you tell me how or direct me to a tutorial? i was going to look into this actually after i have finished what i am working on as i heard you can spawn entities with cool stuff like specific armours and weapons and such.
  5. ok so i think i did what you said; package CriticalStrike.common; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; public class MobDrops { int Zombie = 0; int Skele = 0; int Pigman = 0; int Ghast = 0; int Blaze = 0; int Slime = 0; int Creeper = 0; int Spider = 0; int CaveSpider = 0; int EnderMan = 0; int MagmaCube = 0; int SilverFish = 0; int Witch = 0; @ForgeSubscribe public void onEntityAttacked(LivingHurtEvent event) { if (!(event.source instanceof EntityDamageSource)) {return;} EntityDamageSource dmgSource = (EntityDamageSource) event.source; Entity ent = dmgSource.getEntity(); if (!(ent instanceof EntityPlayer)) {return;} EntityPlayer player = (EntityPlayer) ent; ItemStack weapon = player.getCurrentEquippedItem(); if (event.source.getDamageType().equals("player")) { if (!(weapon == null)){ if (weapon.getItem() instanceof ImmortalAdaptingBlade){ if (event.entityLiving instanceof EntityZombie) { Zombie =+ 1; event.ammount =+ Zombie; }}}} } } no errors but it takes 22 hits with sword to kill a zombie which means the int is not staking mearly staying at 1, how do i get it to stack? one for every attack and keep stacking (everytime i hit a zombie) until set back to zero?
  6. wait what other check do i need to add?
  7. you mean like... MinecraftForge.EVENT_BUS.register(new MobDrops());{}
  8. ok mr genius now can you tell me why it isnt doing what i think it should @ForgeSubscribe public void onEntityAttacked(LivingHurtEvent event) { if (!(event.source instanceof EntityDamageSource)) {return;} EntityDamageSource dmgSource = (EntityDamageSource) event.source; Entity ent = dmgSource.getEntity(); EntityPlayer player = (EntityPlayer) ent; ItemStack weapon = player.getCurrentEquippedItem(); if (!(ent instanceof EntityPlayer)) {return;} if (event.source.getDamageType().equals("player")) { if (!(weapon == null)){ if (weapon.getItem() instanceof ImmortalAdaptingBlade){ if (event.entityLiving instanceof EntityZombie) { Zombie =+ 1; event.ammount =+ Zombie; }}}} } what i think is/want to happen; 1. is it a damagesource? Yes 2. is the dmg not from the player? Yes 3.is dmg is from player? Yes 4. the player doesnt not have a weapon? Yes 5. is it ImmortalAdaptingBlade? Yes 6.is the entity being hit a zombie? Yes 7. add 1 dmg this is what i think is happening, but its not, the dmg should be stacking each tie a zombie is hit? so each time the criteria is met the int zombie gets +1.
  9. annoyingly you were right on the mark i missed chekcing if it was actually a damagesource before telling what to do with the damage source. added this and i now works if (!(event.source instanceof EntityDamageSource)) {return;}
  10. yes i had figured out which line was the problem already i just don't know why
  11. ok here is the current error nd code; package CriticalStrike.common; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; public class MobDrops { int Zombie = 0; int Skele = 0; int Pigman = 0; int Ghast = 0; int Blaze = 0; int Slime = 0; int Creeper = 0; int Spider = 0; int CaveSpider = 0; int EnderMan = 0; int MagmaCube = 0; int SilverFish = 0; int Witch = 0; @ForgeSubscribe public void onEntityAttacked(LivingHurtEvent event) { EntityDamageSource dmgSource = (EntityDamageSource) event.source; Entity ent = dmgSource.getEntity(); EntityPlayer player = (EntityPlayer) ent; ItemStack weapon = player.getCurrentEquippedItem(); if (!(ent instanceof EntityPlayer)) {return;} if (event.source.getDamageType().equals("player")) { if (!(weapon == null)){ if (weapon.getItem() instanceof ImmortalAdaptingBlade){ if (event.entityLiving instanceof EntityZombie) { Zombie =+ 1; event.ammount += Zombie;}} } }}} 2013-09-08 16:33:25 [iNFO] [sTDOUT] A detailed walkthrough of the error, its code path and all known details is as follows: 2013-09-08 16:33:25 [iNFO] [sTDOUT] --------------------------------------------------------------------------------------- 2013-09-08 16:33:25 [iNFO] [sTDOUT] 2013-09-08 16:33:25 [iNFO] [sTDOUT] -- Head -- 2013-09-08 16:33:25 [iNFO] [sTDOUT] Stacktrace: 2013-09-08 16:33:25 [iNFO] [sTDOUT] at CriticalStrike.common.MobDrops.onEntityAttacked(MobDrops.java:31) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraftforge.event.ASMEventHandler_4_MobDrops_onEntityAttacked_LivingHurtEvent.invoke(.dynamic) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraftforge.event.EventBus.post(EventBus.java:108) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraftforge.common.ForgeHooks.onLivingHurt(ForgeHooks.java:335) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.EntityLivingBase.damageEntity(EntityLivingBase.java:1254) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:879) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.passive.EntityBat.attackEntityFrom(EntityBat.java:236) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.Entity.setOnFireFromLava(Entity.java:585) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.Entity.onEntityUpdate(Entity.java:552) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.EntityLivingBase.onEntityUpdate(EntityLivingBase.java:266) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.EntityLiving.onEntityUpdate(EntityLiving.java:195) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.Entity.onUpdate(Entity.java:434) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:1772) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:253) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.entity.passive.EntityBat.onUpdate(EntityBat.java:124) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2345) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:717) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.world.World.updateEntity(World.java:2306) 2013-09-08 16:33:25 [iNFO] [sTDOUT] 2013-09-08 16:33:25 [iNFO] [sTDOUT] -- Entity being ticked -- 2013-09-08 16:33:25 [iNFO] [sTDOUT] Details: 2013-09-08 16:33:25 [iNFO] [sTDOUT] Entity Type: Bat (net.minecraft.entity.passive.EntityBat) 2013-09-08 16:33:25 [iNFO] [sTDOUT] Entity ID: 253 2013-09-08 16:33:25 [iNFO] [sTDOUT] Entity Name: Bat 2013-09-08 16:33:25 [iNFO] [sTDOUT] Entity's Exact location: -181.43, 12.46, 186.91 2013-09-08 16:33:25 [iNFO] [sTDOUT] Entity's Block location: World: (-182,12,186), Chunk: (at 10,0,10 in -12,11; contains blocks -192,0,176 to -177,255,191), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) 2013-09-08 16:33:25 [iNFO] [sTDOUT] Entity's Momentum: -0.03, 0.04, 0.23 2013-09-08 16:33:25 [iNFO] [sTDOUT] Stacktrace: 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.world.World.updateEntities(World.java:2152) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:548) 2013-09-08 16:33:25 [iNFO] [sTDOUT] 2013-09-08 16:33:25 [iNFO] [sTDOUT] -- Affected level -- 2013-09-08 16:33:25 [iNFO] [sTDOUT] Details: 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level name: New World 2013-09-08 16:33:25 [iNFO] [sTDOUT] All players: 0 total; [] 2013-09-08 16:33:25 [iNFO] [sTDOUT] Chunk stats: ServerChunkCache: 625 Drop: 0 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level seed: 7449326189954406979 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level generator: ID 00 - default, ver 1. Features enabled: true 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level generator options: 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level spawn location: World: (-216,64,236), Chunk: (at 8,4,12 in -14,14; contains blocks -224,0,224 to -209,255,239), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level time: 153481 game time, 153481 day time 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level dimension: 0 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level storage version: 0x04ABD - Anvil 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level weather: Rain time: 10640 (now: true), thunder time: 2922 (now: true) 2013-09-08 16:33:25 [iNFO] [sTDOUT] Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true 2013-09-08 16:33:25 [iNFO] [sTDOUT] Stacktrace: 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:666) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:585) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) 2013-09-08 16:33:25 [iNFO] [sTDOUT] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) 2013-09-08 16:33:25 [iNFO] [sTDOUT] 2013-09-08 16:33:25 [iNFO] [sTDOUT] -- System Details -- 2013-09-08 16:33:25 [iNFO] [sTDOUT] Details: 2013-09-08 16:33:25 [iNFO] [sTDOUT] Minecraft Version: 1.6.2 2013-09-08 16:33:25 [iNFO] [sTDOUT] Operating System: Windows 7 (x86) version 6.1 2013-09-08 16:33:25 [iNFO] [sTDOUT] Java Version: 1.7.0_07, Oracle Corporation 2013-09-08 16:33:25 [iNFO] [sTDOUT] Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation 2013-09-08 16:33:25 [iNFO] [sTDOUT] Memory: 839812488 bytes (800 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB) 2013-09-08 16:33:25 [iNFO] [sTDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M 2013-09-08 16:33:25 [iNFO] [sTDOUT] AABB Pool Size: 2724 (152544 bytes; 0 MB) allocated, 2724 (152544 bytes; 0 MB) used 2013-09-08 16:33:25 [iNFO] [sTDOUT] Suspicious classes: FML and Forge are installed 2013-09-08 16:33:25 [iNFO] [sTDOUT] IntCache: cache: 0, tcache: 1, allocated: 5, tallocated: 59 2013-09-08 16:33:25 [iNFO] [sTDOUT] FML: MCP v8.04 FML v6.2.35.804 Minecraft Forge 9.10.0.804 4 mods loaded, 4 mods active 2013-09-08 16:33:25 [iNFO] [sTDOUT] mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-08 16:33:25 [iNFO] [sTDOUT] FML{6.2.35.804} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-08 16:33:25 [iNFO] [sTDOUT] Forge{9.10.0.804} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-08 16:33:25 [iNFO] [sTDOUT] criticalstrikemod{1.00} [Critical$trike] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-08 16:33:25 [iNFO] [sTDOUT] Profiler Position: N/A (disabled) 2013-09-08 16:33:25 [iNFO] [sTDOUT] Vec3 Pool Size: 690 (38640 bytes; 0 MB) allocated, 690 (38640 bytes; 0 MB) used 2013-09-08 16:33:25 [iNFO] [sTDOUT] Player Count: 0 / 8; [] 2013-09-08 16:33:25 [iNFO] [sTDOUT] Type: Integrated Server (map_client.txt) 2013-09-08 16:33:25 [iNFO] [sTDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge' 2013-09-08 16:33:25 [iNFO] [sTDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\owner\Documents\Rob's Crap\Minecraft\CriticalStrikeModEclipse 1.62\forge\mcp\jars\.\crash-reports\crash-2013-09-08_16.33.25-server.txt 2013-09-08 16:33:25 [iNFO] [Minecraft-Server] Stopping server 2013-09-08 16:33:25 [iNFO] [Minecraft-Server] Saving players 2013-09-08 16:33:25 [iNFO] [Minecraft-Server] Saving worlds 2013-09-08 16:33:25 [iNFO] [Minecraft-Server] Saving chunks for level 'New World'/Overworld AL lib: (EE) alc_cleanup: 1 device not closed i am trying to make it so that when a specific mob is hit it add damage the more that mob is hit, you can see i have just started with the zombie. Another thing i dont understand is why entity bat is being called none of my code references it?
  12. now i havtn actually tried this so correct me if im wrong, but surely making the item damageable doesn't make the furnace do it dmg instead of destroying it? surely you would have to find a method similar to onCrafting or make your own custom furnace to check for dmg before removing one from the fuel itemstack?
  13. http://ragefac.es/you-dont-say
  14. what does this mean? AL lib: (EE) alc_cleanup: 1 device not closed i assume it means i have forgotten a return or a } somewhere and the error shows me where but i don't know how to fix it. Please explain. i want to try and fix it on my own because with what i am trying to do this error keeps popping up, otherwise i will post the current version of this error later.
  15. umm, i am terrible with actual entities gotolink may be more helpful than me. there are only two ways i can think to do this is to delete the spear entity on impact after you have done anything you need to the spawning a new spear item entity that is damaged. this way would kind of ruin the effect because when the spear hits, instead of sticking in the ground it will pop up into an item entity and if it hits a mob then it will spawn the spear at them ( and then there is the possibility of them picking it up ) the other way would be to somehow dmg it in the onrightclick method in your item class but i have no idea how that would be affected by the entity or if the dmg would stay with the entity so when you pick it up its still damaged, if you think either of these are good ideas let me know and i will test them then give you a hand ... why is your spear edible??? public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { return par1ItemStack; }
  16. i wish i was as not dumb as you thanks for all your help so far i think you are right on both counts i have one what i wanted with the damaging entities and will try and find a replacement method before i ask for your help again, probs be back in like 5-10 mins max. jokes
  17. i tried this some time ago, i came to the point where you need to create your own plant type and for that you need a list and the list has to be connected to a block file or something i cant exactly remember but i do remember it was to convoluted or i was just too dumb to make it work, so if you have any luck i would be interested to know how you do it Look at sugar cane, and how all the methods linked to whether the black can stay on the current block and look through the connected classes and areas and what information needs to be given in these methods. thats how i looked at it anyway. GoodLuck!
  18. 1) still no idea how to spawn a damaged sword entity? do i have to spawn it with some extra data? 2) trying to make this sword gain health when used, why is it not working? public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { World world = par3EntityLiving.worldObj; if (world.isRemote) { return true; } else{ int dmg = par1ItemStack.getItemDamage(); par1ItemStack.setItemDamage(dmg+500); } return true; } EDIT- i tried putting System.out.println("stuff); in parts of the code above (in the sword class) and it didnt print anything so is it possible its skipping or ignoring the method or somthing??
  19. ok wtf i keep critting 100 with random items which means that som part of the above code is fucked up and i have no idea WHYYYYYY ... GODDAAAAAMITTTTTTT im going to sleep any help would be great, ill read it in the morn.
  20. ok great that answers half my problem now how do i spawn a damaged tool? before the player picks it up so preferable i you can spawn the item with the dmg data or spawn it and immediately dmg it or something ?? EDIT- cant get the stupid extra health thing to work public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { World world = par3EntityLiving.worldObj; if (world.isRemote) { return true; } else{ int dmg = par1ItemStack.getItemDamage(); par1ItemStack.setItemDamage(dmg+500); } return true; } dunno why i have been fiddling with it for most of this hour, im going to bed now, help on either how to spawn a damaged tool entity or how to fix or replace the above code would be great ill read it in the morning.
  21. ok so i have done weapon.getItemDamage(); how do i now use this figure? could i make it an int? then use the int elsewhere? sorry i am unfamiliar with this method also the setdamage for an item only works when the player is holding the item? or i don't know how to use it in my spawn entity code, if which is the case can you provide an example so that i understand what you mean? in the mean time i will keep experimenting
  22. How do you get the dmg of a tool in the players hand? i know how to check what tool it is but not the dmg vaule of it? On a completely unrelated note how do you spawn a tool with a dmg value? i know how to spawn fully repaired ones, like this; ItemStack wsword = new ItemStack(Item.swordDiamond); EntityItem entityitem = new EntityItem(par1World, (double)par2 + d0, (double)par3 + d1, (double)par4 + d2, wsword); entityitem.delayBeforeCanPickup = 10; par1World.spawnEntityInWorld(entityitem);}
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.