-
[Answered] Are proxies needed for 1.7?
Thanks! I just tried running a server and it does crash. I'll be putting the proxy code back in now.
-
[Answered] Are proxies needed for 1.7?
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?
-
Minecraft 1.7 - News
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.
-
[SOLVED] Problems with entity sizes
All I had to do with mine is change: protected void preRenderCallback(EntityLiving par1EntityLiving, float par2) To: protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2)
-
[SOLVED] Problems with entity sizes
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.
-
teleporting players between dimensions and to new location with command
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; }
-
[1.6.1] onBlockActivated doesn't work anymore!
So how'd you do this without changing the method signature?
-
My entities won't move with AI. I'm stumped...
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.
-
1.6.2 Custom leaves Decay Help (solved)!!
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.
-
1.6 source file structure
\forge\mcp\src\minecraft\assets\[MODID]\textures\blocks
-
New Sword in forge
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; }
-
[1.6] Mob Movement Speed
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(); }
-
[1.6] Mob Movement Speed
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/
-
[1.6] Mob Movement Speed
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); }
-
[1.6] Mob Movement Speed
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.
IPS spam blocked by CleanTalk.