
BoonieQuafter-CrAfTeR
Members-
Posts
337 -
Joined
-
Last visited
Everything posted by BoonieQuafter-CrAfTeR
-
[1.7.10] Explosion does not register
BoonieQuafter-CrAfTeR replied to BoonieQuafter-CrAfTeR's topic in Modder Support
heres the new code, its still not registering. what did I do wrong. package com.OlympiansMod.entity; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityGreekFire extends EntityThrowable{ public EntityGreekFire(World p_i1776_1_) { super(p_i1776_1_); } public EntityGreekFire(World world, EntityLivingBase entity){ super(world, entity); } @Override protected void onImpact(MovingObjectPosition p_70184_1_) { for(int i = 0; i < 10; i++){ this.worldObj.spawnParticle("largesmoke", this.posX, this.posY, this.posZ, 0f, 0f, 0f); this.worldObj.playSound(this.posX, this.posY, this.posZ, "random.explode", 10.0f, 1.0f, inGround); } if(this.worldObj.isRemote){ this.setDead(); this.worldObj.createExplosion((Entity) null, this.posX, this.posY, this.posZ, 10f, true); } } } MEntity Class package com.OlympiansMod.entity; import net.minecraft.entity.EntityList; import com.OlympiansMod.Main.MainRegistry; import cpw.mods.fml.common.registry.EntityRegistry; public class MEntity { public static void MainRegistry(){ } public static void registerEntity(){ createEntity(EntityGreekFire.class, "GreekFire", 0x008521, 0x00FF0800); } public static void createEntity(Class entityClass, String entityName, int solidColour, int spotColour){ int randomId = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(entityClass, entityName, randomId, MainRegistry.modInstance, 80, 1, true); createEgg(randomId, solidColour, spotColour); } private static void createEgg(int randomId, int solidColour, int spotColour){ EntityList.entityEggs.put(Integer.valueOf(randomId), new EntityList.EntityEggInfo(randomId, solidColour, spotColour)); } } -
so basically I made a throwable entity that explodes on impact, the problem is, the blocks register on the client side(I think) but not on the server side(I think), basically I am wondering how I should register the entity in the game, because, after re-logging the explosion cease to exist, how should I fix this? EntityClass package com.OlympiansMod.entity; import net.minecraft.entity.EntityList; import com.OlympiansMod.Main.MainRegistry; import cpw.mods.fml.common.registry.EntityRegistry; public class MEntity { public static void MainRegistry(){ } public static void registerEntity(){ createEntity(EntityGreekFire.class, "GreekFire", 0x008521, 0x00FF0800); } public static void createEntity(Class entityClass, String entityName, int solidColour, int spotColour){ int randomId = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(entityClass, entityName, randomId); EntityRegistry.registerModEntity(entityClass, entityName, randomId, MainRegistry.modInstance, 80, 1, true); createEgg(randomId, solidColour, spotColour); } private static void createEgg(int randomId, int solidColour, int spotColour){ EntityList.entityEggs.put(Integer.valueOf(randomId), new EntityList.EntityEggInfo(randomId, solidColour, spotColour)); } } EntityGreekFireClass package com.OlympiansMod.entity; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityGreekFire extends EntityThrowable{ public EntityGreekFire(World p_i1776_1_) { super(p_i1776_1_); } public EntityGreekFire(World world, EntityLivingBase entity){ super(world, entity); } @Override protected void onImpact(MovingObjectPosition p_70184_1_) { for(int i = 0; i < 10; i++){ this.worldObj.spawnParticle("largesmoke", this.posX, this.posY, this.posZ, 0f, 0f, 0f); this.worldObj.playSound(this.posX, this.posY, this.posZ, "random.explode", 10.0f, 1.0f, inGround); } if(this.worldObj.isRemote){ this.setDead(); if(this.worldObj.isRemote){ this.worldObj.createExplosion((Entity) null, this.posX, this.posY, this.posZ, 10f, true); } } } } GreekFire Item extends package com.OlympiansMod.Item; import com.OlympiansMod.entity.EntityGreekFire; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class GreekFire extends Item{ public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player){ if(!player.capabilities.isCreativeMode){ --itemstack.stackSize; } world.playSoundAtEntity(player, "random.fizz", 0.7f, 0.8f); if(world.isRemote){ world.spawnEntityInWorld(new EntityGreekFire(world, player)); } return itemstack; } } MainRegistery package com.OlympiansMod.Main; import com.OlympiansMod.Block.ModBlocks; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.creativetabs.MCreativeTabs; import com.OlympiansMod.entity.MEntity; import com.OlympiansMod.lib.Refstrings; import com.OlympiansMod.world.MWorld; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = Refstrings.MODID , name = Refstrings.NAME , version = Refstrings.VERSION) public class MainRegistry { @SidedProxy(clientSide = Refstrings.CLIENTSIDE , serverSide = Refstrings.SERVERSIDE) public static ServerProxy proxy; @Instance public static MainRegistry modInstance; @EventHandler public static void PreLoad(FMLPreInitializationEvent PreEvent) { MCreativeTabs.initialiseTabs(); ModBlocks.MainRegistry(); MEntity.MainRegistry(); ModItems.MainRegistry(); MWorld.MainRegistry(); CraftingManager.mainRegistry(); proxy.registerRenderInfo(); } @EventHandler public static void Load(FMLInitializationEvent event) { } @EventHandler public static void PostLoad(FMLPostInitializationEvent PostEvent) { } } Client and ServerSide Proxys package com.OlympiansMod.Main; import net.minecraft.client.renderer.entity.RenderSnowball; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.entity.EntityGreekFire; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends ServerProxy{ public void registerRenderInfo(){ RenderingRegistry.registerEntityRenderingHandler(EntityGreekFire.class, new RenderSnowball(ModItems.GreekFire)); } public int addArmor(String armor){ return RenderingRegistry.addNewArmourRendererPrefix(armor); } } package com.OlympiansMod.Main; import net.minecraft.client.renderer.entity.RenderSnowball; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.entity.EntityGreekFire; import cpw.mods.fml.client.registry.RenderingRegistry; public class ServerProxy { public void registerRenderInfo() { RenderingRegistry.registerEntityRenderingHandler(EntityGreekFire.class, new RenderSnowball(ModItems.GreekFire)); } public int addArmor(String armor){ return 0; } } Thank you all for your time. -BoonieQuafterCrAfTeR
-
the only difference is that I put ! before if(!this.worldObj.isRemote){ this.setDead(); if(!this.worldObj.isRemote){ this.worldObj.createExplosion((Entity) null, this.posX, this.posY, this.posZ, 4.0f, true); after renamed the file and changed it back, nothing works. the game doesn't even seem to register the new entity.
-
I did this before, and inturn the item did not explode on impact, so I removed it and it worked. but here is the catch, I renamed the package ModEntity, and then back to entity(The Original name, because after changing the name the game didn't seem to register the code at all.) This has happened before, in fact with my ores, after changing the name of my ores package, the game did not seem to load the package or any of its code. I'm wondering if there is something wrong with the java path or something, have any ideas???
-
I am trying to make a explosive type throwable item, but in game nothing happens when I right click the Item. here are the classes. please take a look I am desperate for a solution, thanks. Item Class package com.OlympiansMod.Item; import com.OlympiansMod.Block.ModBlocks; import com.OlympiansMod.Main.MainRegistry; import com.OlympiansMod.creativetabs.MCreativeTabs; import com.OlympiansMod.lib.Refstrings; import com.mojang.realmsclient.client.Request.Delete; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemSeeds; import net.minecraft.world.SpawnerAnimals; import net.minecraftforge.common.util.EnumHelper; public class ModItems { public static void MainRegistry() { initializeItem(); registerItem(); } //Armor Material public static ArmorMaterial GArmor = EnumHelper.addArmorMaterial("GArmor", 33, new int[]{4, 10, 7, 2}, 10); public static ArmorMaterial CBArmor = EnumHelper.addArmorMaterial("Celestial Bronze Armor", 33, new int[]{2, 8, 6, 3}, 10); //Tool Material public static ToolMaterial FrankMagic = EnumHelper.addToolMaterial("Frank Magic", 3, 3, 9.0f, 6, 10); public static ToolMaterial Hack = EnumHelper.addToolMaterial("Hack", 3, 1000, 9.0f, 96, 10); public static ToolMaterial CBronze = EnumHelper.addToolMaterial("Celestial Bronze", 3, 2500, 10.0f, 6, 10); public static ToolMaterial IGold = EnumHelper.addToolMaterial("Imperial Gold", 3, 2250, 9.0f, 5, 10); public static ToolMaterial SIron = EnumHelper.addToolMaterial("Stygian Iron", 3, 5000, 11.50f, 7, 10); //Tools-Items "name" 3 = harvestlevel 2500 = uses 5 = damage public static Item CelestialBronzeIngot; public static Item BallPointPen; public static Item IGoldIngot; public static Item SIronIngot; public static Item anklamolses; public static Item Riptide; public static Item CBronzePick; public static Item CBronzeHoe; public static Item CBronzeSpade; public static Item CBronzeSword; public static Item CBronzeAxe; public static Item FSpear; public static Item FireEssence; public static Item IceShard; public static Item LightningEssence; public static Item IGoldPick; public static Item IGoldAxe; public static Item IGoldSpade; public static Item IGoldHoe; public static Item IGoldSword; public static Item SIronPick; public static Item SIronAxe; public static Item SIronSpade; public static Item SIronHoe; public static Item SIronSword; public static Item PoplarWoodStick; public static Item CBNugget; public static Item SINugget; public static Item IGNugget; //Food-Crops public static Item SSeeds; public static Item CBronzeItem; public static Item Ambrosia; //Armor public static Item CBHelm; public static Item CBChest; public static Item CBLegg; public static Item CBBoot; public static Item GWarHelm; public static Item GWarChest; public static Item GWarLegg; public static Item GWarBoots; //Item Entitys public static Item GreekFire; public static void initializeItem() { //DiffrentWayToMakeTools: youritem = new youritem(ID, youritemmaterial).setIconIndex(.setItemName("your item"); //DiffrentWayToRegisterName: LanguageRegistry.addName(youritem,(youritem); //DiffrentWayToMakeItems: youritem = new youritem(ID).setIconIndex(ID).setItemName("your item"); CelestialBronzeIngot = new Item().setUnlocalizedName("CelestialBronzeIngot").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":CelestialBronzeIngot"); BallPointPen = new Item().setUnlocalizedName("BallPointPen").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":BallPointPen"); IGoldIngot = new Item().setUnlocalizedName("IGoldIngot").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":IGoldIngot"); SIronIngot = new Item().setUnlocalizedName("SIronIngot").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":SIronIngot"); anklamolses = new Item().setUnlocalizedName("anklamolses").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":anklamolses"); Riptide = new Riptide(Hack).setUnlocalizedName("Riptide").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":Riptide").setMaxDamage(20).setMaxStackSize(1); CBronzePick = new CBronzePick(CBronze).setUnlocalizedName("CBronzePick").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBronzePick"); CBronzeAxe = new CBronzeAxe(CBronze).setUnlocalizedName("CBronzeAxe").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBronzeAxe"); CBronzeHoe = new CBronzeHoe(CBronze).setUnlocalizedName("CBronzeHoe").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBronzeHoe"); CBronzeSword = new CBronzeSword(CBronze).setUnlocalizedName("CBronzeSword").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBronzeSword"); CBronzeSpade = new CBronzeSpade(CBronze).setUnlocalizedName("CBronzeSpade").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBronzeSpade"); FSpear = new FSpear(FrankMagic).setUnlocalizedName("FSpear").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID +":Franks Spear").setNoRepair(); FireEssence = new Item().setUnlocalizedName("FireEssence").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":FireEssence"); IceShard = new Item().setUnlocalizedName("IceShard").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":IceShard"); LightningEssence = new Item().setUnlocalizedName("LightningEssence").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":LightningEssence"); IGoldPick = new IGoldPick(IGold).setUnlocalizedName("IGoldPick").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":IGoldPick"); IGoldAxe = new IGoldAxe(IGold).setUnlocalizedName("IGoldAxe").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":IGoldAxe"); IGoldHoe = new IGoldHoe(IGold).setUnlocalizedName("IGoldHoe").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":IGoldHoe"); IGoldSpade = new IGoldSpade(IGold).setUnlocalizedName("IGoldSpade").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":IGoldSpade"); IGoldSword = new IGoldSword(IGold).setUnlocalizedName("IGoldSword").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":IGoldSword"); SIronPick = new SIronPick(SIron).setUnlocalizedName("SIronPick").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":SIronPick"); SIronAxe = new SIronAxe(SIron).setUnlocalizedName("SIronAxe").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":SIronAxe"); SIronHoe = new SIronHoe(SIron).setUnlocalizedName("SIronHoe").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":SIronHoe"); SIronSpade = new SIronSpade(SIron).setUnlocalizedName("SIronSpade").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":SIronSpade"); SIronSword = new SIronSword(SIron).setUnlocalizedName("SIronSword").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":SIronSword"); CBNugget = new Item().setUnlocalizedName("CBNugget").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":CelestialBronzeNugget"); PoplarWoodStick = new Item().setUnlocalizedName("PoplarWoodStick").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":PoplarWoodStick"); IGNugget = new Item().setUnlocalizedName("IGNugget").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":IGoldNugget"); SINugget = new Item().setUnlocalizedName("SINugget").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":SIronNugget"); //Plants/Crops/Foods SSeeds = new ItemSeeds(ModBlocks.SPlant, Blocks.farmland).setCreativeTab(MCreativeTabs.tabItems).setUnlocalizedName("SSeeds").setTextureName(Refstrings.MODID + ":SSeeds"); CBronzeItem = new ItemFood(4, 1F, true).setCreativeTab(MCreativeTabs.tabItems).setUnlocalizedName("CBronzeItem").setTextureName(Refstrings.MODID + ":Strawberry"); Ambrosia = new ItemFood(20, 5F, false).setCreativeTab(MCreativeTabs.tabItems).setUnlocalizedName("Ambrosia").setTextureName(Refstrings.MODID + ":Ambrosia"); //Armor CBHelm = new CBArmor(CBArmor, MainRegistry.proxy.addArmor("CBArmor"), 0).setUnlocalizedName("CBHelm").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBHelm"); CBChest = new CBArmor(CBArmor, MainRegistry.proxy.addArmor("CBArmor"), 1).setUnlocalizedName("CBChest").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBChest"); CBLegg = new CBArmor(CBArmor, MainRegistry.proxy.addArmor("CBArmor"), 2).setUnlocalizedName("CBLegg").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBLegg"); CBBoot = new CBArmor(CBArmor, MainRegistry.proxy.addArmor("CBArmor"), 3).setUnlocalizedName("CBBoot").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":CBBoot"); GWarHelm = new GArmor(GArmor, MainRegistry.proxy.addArmor("GArmor"), 0).setUnlocalizedName("GreekWarHelm").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":GreekWarHelmet"); GWarChest = new GArmor(GArmor, MainRegistry.proxy.addArmor("GArmor"), 1).setUnlocalizedName("GreekWarChest").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":GreekWarChestplate"); GWarLegg = new GArmor(GArmor, MainRegistry.proxy.addArmor("GArmor"), 2).setUnlocalizedName("GreekWarLegg").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":GreekWarLeggings"); GWarBoots = new GArmor(GArmor, MainRegistry.proxy.addArmor("GArmor"), 3).setUnlocalizedName("GreekWarBoot").setCreativeTab(MCreativeTabs.tabTools).setTextureName(Refstrings.MODID + ":GreekWarBoots"); //Item Entitys GreekFire = new GreekFire().setUnlocalizedName("GreekFire").setCreativeTab(MCreativeTabs.tabItems).setTextureName(Refstrings.MODID + ":GreekFire"); } public static void registerItem() { GameRegistry.registerItem(CelestialBronzeIngot, CelestialBronzeIngot.getUnlocalizedName()); GameRegistry.registerItem(BallPointPen, BallPointPen.getUnlocalizedName()); GameRegistry.registerItem(IGoldIngot, IGoldIngot.getUnlocalizedName()); GameRegistry.registerItem(SIronIngot, SIronIngot.getUnlocalizedName()); GameRegistry.registerItem(anklamolses, anklamolses.getUnlocalizedName()); GameRegistry.registerItem(CBronzePick, CBronzePick.getUnlocalizedName()); GameRegistry.registerItem(CBronzeAxe, CBronzeAxe.getUnlocalizedName()); GameRegistry.registerItem(CBronzeHoe, CBronzeHoe.getUnlocalizedName()); GameRegistry.registerItem(CBronzeSword, CBronzeSword.getUnlocalizedName()); GameRegistry.registerItem(CBronzeSpade, CBronzeSpade.getUnlocalizedName()); GameRegistry.registerItem(IGoldPick, IGoldPick.getUnlocalizedName()); GameRegistry.registerItem(IGoldAxe, IGoldAxe.getUnlocalizedName()); GameRegistry.registerItem(IGoldHoe, IGoldHoe.getUnlocalizedName()); GameRegistry.registerItem(IGoldSpade, IGoldSpade.getUnlocalizedName()); GameRegistry.registerItem(IGoldSword, IGoldSword.getUnlocalizedName()); GameRegistry.registerItem(SIronPick, SIronPick.getUnlocalizedName()); GameRegistry.registerItem(SIronHoe, SIronHoe.getUnlocalizedName()); GameRegistry.registerItem(SIronSpade, SIronSpade.getUnlocalizedName()); GameRegistry.registerItem(SIronAxe, SIronAxe.getUnlocalizedName()); GameRegistry.registerItem(SIronSword, SIronSword.getUnlocalizedName()); GameRegistry.registerItem(Riptide, Riptide.getUnlocalizedName()); GameRegistry.registerItem(FSpear, FSpear.getUnlocalizedName()); GameRegistry.registerItem(LightningEssence, LightningEssence.getUnlocalizedName()); GameRegistry.registerItem(FireEssence, FireEssence.getUnlocalizedName()); GameRegistry.registerItem(IceShard, IceShard.getUnlocalizedName()); GameRegistry.registerItem(SSeeds, SSeeds.getUnlocalizedName()); GameRegistry.registerItem(CBronzeItem, CBronzeItem.getUnlocalizedName()); GameRegistry.registerItem(Ambrosia, Ambrosia.getUnlocalizedName()); GameRegistry.registerItem(PoplarWoodStick, PoplarWoodStick.getUnlocalizedName()); GameRegistry.registerItem(CBNugget, CBNugget.getUnlocalizedName()); GameRegistry.registerItem(IGNugget, IGNugget.getUnlocalizedName()); GameRegistry.registerItem(SINugget, SINugget.getUnlocalizedName()); GameRegistry.registerItem(CBChest, CBChest.getUnlocalizedName()); GameRegistry.registerItem(CBHelm, CBHelm.getUnlocalizedName()); GameRegistry.registerItem(CBBoot, CBBoot.getUnlocalizedName()); GameRegistry.registerItem(CBLegg, CBLegg.getUnlocalizedName()); GameRegistry.registerItem(GWarChest, GWarChest.getUnlocalizedName()); GameRegistry.registerItem(GWarHelm, GWarHelm.getUnlocalizedName()); GameRegistry.registerItem(GWarBoots, GWarBoots.getUnlocalizedName()); GameRegistry.registerItem(GWarLegg, GWarLegg.getUnlocalizedName()); GameRegistry.registerItem(GreekFire, GreekFire.getUnlocalizedName()); } } Extended Item Greek Fire package com.OlympiansMod.Item; import com.OlympiansMod.entity.EntityGreekFire; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class GreekFire extends Item{ public ItemStack onRightClick(ItemStack itemstack, World world, EntityPlayer player){ if(!player.capabilities.isCreativeMode){ --itemstack.stackSize; } world.playSoundAtEntity(player, "random.fuse", 0.7f, 0.8f); if(world.isRemote){ world.spawnEntityInWorld(new EntityGreekFire(world, player)); } return itemstack; } } Entity Class package com.OlympiansMod.entity; import net.minecraft.entity.EntityList; import com.OlympiansMod.Main.MainRegistry; import cpw.mods.fml.common.registry.EntityRegistry; public class MEntity { public static void mainRegistry(){ } public static void registerEntity(){ createEntity(EntityGreekFire.class, "GreekFire", 0x008521, 0x00FF0800); } public static void createEntity(Class entityClass, String entityName, int solidColour, int spotColour){ int randomID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(entityClass, entityName, randomID); EntityRegistry.registerModEntity(entityClass, entityName, randomID, MainRegistry.modInstance, 80, 1, true); createEgg(randomID, solidColour, spotColour); } private static void createEgg(int randomID, int solidColour, int spotColour){ EntityList.entityEggs.put(Integer.valueOf(randomID), new EntityList.EntityEggInfo(randomID, solidColour, spotColour)); } } extends entity class package com.OlympiansMod.entity; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityGreekFire extends EntityThrowable{ public EntityGreekFire(World p_i1776_1_) { super(p_i1776_1_); } public EntityGreekFire(World world, EntityLivingBase entity){ super(world, entity); } @Override protected void onImpact(MovingObjectPosition p_70184_1_) { for(int i = 0; i < 10; i++){ this.worldObj.spawnParticle("largesmoke", this.posX, this.posY, this.posZ, 0f, 0f, 0f); } if(this.worldObj.isRemote){ this.setDead(); if(this.worldObj.isRemote){ this.worldObj.createExplosion((Entity) null, this.posX, this.posY, this.posZ, 4.0f, true); } } } } Main Registry package com.OlympiansMod.Main; import com.OlympiansMod.Block.ModBlocks; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.creativetabs.MCreativeTabs; import com.OlympiansMod.entity.MEntity; import com.OlympiansMod.lib.Refstrings; import com.OlympiansMod.world.MWorld; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = Refstrings.MODID , name = Refstrings.NAME , version = Refstrings.VERSION) public class MainRegistry { @SidedProxy(clientSide = Refstrings.CLIENTSIDE , serverSide = Refstrings.SERVERSIDE) public static ServerProxy proxy; @Instance public static MainRegistry modInstance; @EventHandler public static void PreLoad(FMLPreInitializationEvent PreEvent) { MCreativeTabs.initialiseTabs(); ModBlocks.MainRegistry(); MEntity.mainRegistry(); ModItems.MainRegistry(); MWorld.MainRegistry(); CraftingManager.mainRegistry(); proxy.registerRenderInfo(); } @EventHandler public static void Load(FMLInitializationEvent event) { } @EventHandler public static void PostLoad(FMLPostInitializationEvent PostEvent) { } } Client Proxy package com.OlympiansMod.Main; import net.minecraft.client.renderer.entity.RenderSnowball; import com.OlympiansMod.Item.ModItems; import com.OlympiansMod.entity.EntityGreekFire; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends ServerProxy{ public void registerRenderInfo(){ RenderingRegistry.registerEntityRenderingHandler(EntityGreekFire.class, new RenderSnowball(ModItems.GreekFire)); } public int addArmor(String armor){ return RenderingRegistry.addNewArmourRendererPrefix(armor); } } the change doesn't even seem to be registering what should I do??? Thank you all for you time- BoonieQuAFtERCrAfTeR
-
I've looked a lot of other places on the web and I cannot figure this out, this is what I want to do, when a tool runs out of durability I want it to render dysfunctional (not break but not being able to use the tool, disabling its ability do damage or mine). how should I do this??? thank you all for your time.
-
kk guys thanks. I wont ask newbie questions like that, sorry.
-
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.Riptide), new ItemStack(ModItems.Riptide = OreDicitionary.WILDCARD_VALUE), new ItemStack(ModItems.anklamolses)); this is my recipe that I added your string to earlier, is this how I should do it ? Im guessing not because I gt an error saying that OreDicitionary is not resolved as a variable. what should I do?
-
do I just put it in the crafting recipe code, or do I define it in a public static ? public static ModItems.Riptide(OreDicitionary.WILDCARD_VALUE); I get an error to create a new class im still learning how to do this stuff.
-
the minecraft version is 1.7.10 btws
-
hey guys, so yeah I want to make a crafting recipe that doesn't essentially care if I used a damaged item or not, how exactly should I code this?
-
Sorry I thought I posted the updated code . and I did it because I want it to pass as a diamond ore, like it will have the same properties. any way here is the updated code. package com.OlympiansMod.world; import java.util.Random; import com.OlympiansMod.Block.ModBlocks; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; import cpw.mods.fml.common.IWorldGenerator; public class AllOre implements IWorldGenerator { @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.dimensionId){ case -1: generateNether(random, chunkX * 16, chunkZ * 16, world); break; case 0: generateOverworld(random, chunkX * 16, chunkZ * 16, world); break; case 1: generateEnd(random, chunkX * 16, chunkZ * 16, world); } } private void addOre(Block block, Block blockspawn, Random random, World world, int posX, int posZ, int minY, int maxY, int minVien, int maxVien, int spawnChance){ for(int i = 0; i < spawnChance; i++){ int defaultChunkSize = 16; int xPos = posX + random.nextInt(defaultChunkSize); int yPos = minY + random.nextInt(maxY - minY); int zPos = posZ + random.nextInt(defaultChunkSize); new WorldGenMinable(block, (minVien + random.nextInt(maxVien - minVien)), blockspawn).generate(world, random, xPos, yPos, zPos); } } private void generateEnd(Random random, int chunkX, int chunkZ, World world) { } private void generateOverworld(Random random, int chunkX, int chunkZ, World world) { addOre(ModBlocks.CBronzeOre, Blocks.stone, random, world, chunkX, chunkZ, 5, 20, 2, 6, 12); } private void generateNether(Random random, int chunkX, int chunkZ, World world) { } }
-
ok now I've fixed the crashing problem now I cant play my mod without it lagging so bad that when I walk onto a new chunk I fall into the void. so please how should I fix this, I want my mod to be playable, should I make it spawn less frequently? will it not lag after being uploaded? should I make the default chunk size smaller? Please Help
-
OMG I AM SO STUPID. I cannot believe that I didn't see this before. wow. I will definitely learn from this experience. I had tried this before but then my AllOre class wouldn't load so I had to re- code it from some internal errors. but thank you all for your time I greatly appreciate it. -BoonieQuafter-CrAfTeR I did this but it didn't solve the problem of being able to not experience chunk problems, I can only log in if I turn my render distance down to two chunks, or else it immediately crashes, plus I get extreme lag(meaning I have to wait ten minutes for 1 chunk to load).