Jump to content

SeaBass

Members
  • Posts

    41
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed

SeaBass's Achievements

Tree Puncher

Tree Puncher (2/8)

8

Reputation

  1. Thanks! I just tried running a server and it does crash. I'll be putting the proxy code back in now.
  2. I've been using a client proxy to register entity renderers in 1.5 and 1.6. I'm upgrading to 1.7 now, and I decided to try removing all the proxy code and just register the rendering directly in my main mod class. It all seems to work fine, so I'm wondering if I should even bother with the proxy stuff in 1.7?
  3. Hopefully this will answer 90% of the questions here: While an early version of Forge is available for Minecraft 1.7, it's not going to be very useful for most of the modders except for basic testing. The new version of Mod Coder Pack (MCP) isn't quite ready, so there's no mapping yet. This means that instead of variables and methods having useful, human-readable names, they'll be named things like func_70088_a(). This is something outside of Forge, so complaining to LexManos doesn't do much except make you look like a twat. However, you can help with MCP! Here's some links: Searge's twitter (useful for finding the latest version): https://twitter.com/SeargeDP Mod EDIT: Forge, as of 1.7, no longer uses the MCP toolkit, but we still use their mappings.
  4. All I had to do with mine is change: protected void preRenderCallback(EntityLiving par1EntityLiving, float par2) To: protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2)
  5. I believe setSize only sets the size of the hitbox, the part that's used for collision detection, and not how it's actually rendered. To change the render size, you probably need your own render class, and to set the size I would use the code from RenderCaveSpider. protected void preRenderCallback(EntityLivingBase par1EntityLivingBase, float par2) { this.scaleSpider((EntityCaveSpider)par1EntityLivingBase, par2); } protected void scaleSpider(EntityCaveSpider par1EntityCaveSpider, float par2) { GL11.glScalef(0.7F, 0.7F, 0.7F); } Post that into your entity rendering class, and replace every instance of EntityCaveSpider with EntityButterfly. The floats inside the glScalef method will determine the render size.
  6. Here's the code I use with an item, if this helps: public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { if (par3EntityPlayer instanceof EntityPlayerMP) { WorldServer worldserver = (WorldServer)par2World; EntityPlayerMP var4 = (EntityPlayerMP)par3EntityPlayer; if (par3EntityPlayer.ridingEntity == null && par3EntityPlayer.riddenByEntity == null && par3EntityPlayer instanceof EntityPlayer && var4.dimension != Registration.dimID) { var4.mcServer.getConfigurationManager().transferPlayerToDimension(var4, Registration.dimID, new TutorialTeleporter(worldserver)); } if (par3EntityPlayer.ridingEntity == null && par3EntityPlayer.riddenByEntity == null && par3EntityPlayer instanceof EntityPlayer && var4.dimension == Registration.dimID) { var4.mcServer.getConfigurationManager().transferPlayerToDimension(var4, 0, new TutorialTeleporter(worldserver)); } } return par1ItemStack; }
  7. So how'd you do this without changing the method signature?
  8. I don't think the problem is with func_110147_ax(), I've played around with that quite a bit and never had any problems. AI appears to work somewhat differently now, I suspect your problem has to do with that.
  9. Did you create a new type of wood block for the tree? The leaves will decay if they don't detect the correct type of block nearby. If you don't want them to decay at all, remove everything in the removeLeaves or updateTick methods.
  10. \forge\mcp\src\minecraft\assets\[MODID]\textures\blocks
  11. This method appears to be what sets weapon damage now: public Multimap func_111205_h() { Multimap multimap = super.func_111205_h(); multimap.put(SharedMonsterAttributes.field_111264_e.func_111108_a(), new AttributeModifier(field_111210_e, "Weapon modifier", (double)this.weaponDamage, 0)); return multimap; }
  12. On second thought, I'm making things way more difficult than they need to be, just put something like this in the entity's class to update the speed of existing ones: @Override public void onLivingUpdate() { // // Movement Speed - default 0.699D - min 0.0D - max Double.MAX_VALUE this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.699D); super.onLivingUpdate(); }
  13. Looks like you have to go in and edit the NBT data to update existing entities, but exactly how you'd go about doing that I'm not sure. I'm currently using NBTExplorer to check out the structure and I see where the attributes are stored, but I'm not sure how to change them with a mod. I did find this mod, which seems to have all the NBT editing figured out: http://www.minecraftforum.net/topic/1558668-161forgesspsmp-in-game-nbtedit-edit-mob-spawners-attributes-in-game/
  14. Okay, looks like I was correct originally, I just never bothered to spawn new mobs so they'd get the new attributes. You can use the following function to set move speed, damage, health, etc. in the mobs entity class: protected void func_110147_ax() { super.func_110147_ax(); // Max Health - default 20.0D - min 0.0D - max Double.MAX_VALUE this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(20.0D); // Follow Range - default 32.0D - min 0.0D - max 2048.0D this.func_110148_a(SharedMonsterAttributes.field_111265_b).func_111128_a(32.0D); // Knockback Resistance - default 0.0D - min 0.0D - max 1.0D this.func_110148_a(SharedMonsterAttributes.field_111266_c).func_111128_a(0.0D); // Movement Speed - default 0.699D - min 0.0D - max Double.MAX_VALUE this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.699D); // Attack Damage - default 2.0D - min 0.0D - max Doubt.MAX_VALUE this.func_110148_a(SharedMonsterAttributes.field_111264_e).func_111128_a(2.0D); }
  15. Okay, I think I understand how attributes work a little better. Looks like they're set when the mob is first spawned, and unique to each instance of that mob. Changing the code for the mob will not affect the attributes of the mobs already spawned, which means the way I've been testing the changes to my code has been completely flawed. Gonna try again to see if I can get it to work.
×
×
  • Create New...

Important Information

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