Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Kevqn

Members
  • Joined

  • Last visited

  1. NOTE: WHAT I HAVE IN MY CODE SO FAR IS AT THE BOTTOM OF THE PAGE So basically I'm trying to make a tamable entity in singleplayer, render as a dragon, if that makes any sense. I've gotten the basic idea around it complete but there's a lot of bugs. I'm not trying to get the tamable entity to fly, just trying to replace an entity with a dragon One problem is i can't get the wings to "flap" properly, i'm not trying to make the entity fly, but i just want the dragon model to have a flapping animation, but it just glitches out for me. If anyone can help please do. Another problem is I can't get the dragon to follow the direction of the player when the player is riding it. For example: Me as a player is facing west or east, so is the dragon model, however when i face south or north, the dragon model doesn't look that direction. Here's some screenshots: Facing west, dragon is facing west Facing North, Dragon isn't Here's the code for rendering the dragon @SideOnly(Side.CLIENT) @SubscribeEvent public void onRender(final RenderLivingEvent.Pre event) { if (event.entity instanceof EntityHorse && this.dragon) { final EntityPig entity = (EntityPig)event.entity; final EntityDragon dragon = new EntityDragon(entity.getEntityWorld()); final float partialTicks = Animation.getPartialTickTime(); dragon.distanceWalkedModified = entity.distanceWalkedModified; dragon.distanceWalkedOnStepModified = entity.distanceWalkedOnStepModified; dragon.swingProgress = entity.swingProgress; dragon.prevSwingProgress = entity.prevSwingProgress; dragon.ticksExisted = 1; dragon.posX = entity.posX; dragon.lastTickPosX = entity.lastTickPosX; dragon.posY = entity.posY; dragon.lastTickPosY = entity.lastTickPosY; dragon.posZ = entity.posZ; dragon.lastTickPosZ = entity.lastTickPosZ; dragon.rotationPitch = entity.rotationPitch; dragon.prevRotationPitch = entity.prevRotationPitch; dragon.rotationYaw = entity.rotationYaw; dragon.prevRotationYaw = entity.prevRotationYaw; dragon.renderYawOffset = entity.renderYawOffset; dragon.prevRenderYawOffset = entity.prevRenderYawOffset; dragon.rotationYawHead = entity.rotationYawHead; dragon.prevRotationYawHead = entity.prevRotationYawHead; dragon.limbSwing = entity.limbSwing; dragon.limbSwingAmount = entity.limbSwingAmount; dragon.prevLimbSwingAmount = entity.prevLimbSwingAmount; dragon.swingProgress = entity.swingProgress; dragon.isAirBorne = true; dragon.moveStrafing = entity.moveStrafing; dragon.moveForward = entity.moveForward; dragon.swingProgressInt = entity.swingProgressInt; dragon.prevAnimTime = dragon.animTime; dragon.renderYawOffset = dragon.rotationYaw; final EntityDragonPart dragonPartHead = dragon.dragonPartHead; final EntityDragonPart dragonPartHead2 = dragon.dragonPartHead; final float n = 3.0f; dragonPartHead2.height = 3.0f; dragonPartHead.width = 3.0f; final EntityDragonPart dragonPartTail1 = dragon.dragonPartTail1; final EntityDragonPart dragonPartTail2 = dragon.dragonPartTail1; final float n2 = 2.0f; dragonPartTail2.height = 2.0f; dragonPartTail1.width = 2.0f; final EntityDragonPart dragonPartTail3 = dragon.dragonPartTail2; final EntityDragonPart dragonPartTail4 = dragon.dragonPartTail2; final float n3 = 2.0f; dragonPartTail4.height = 2.0f; dragonPartTail3.width = 2.0f; final EntityDragonPart dragonPartTail5 = dragon.dragonPartTail3; final EntityDragonPart dragonPartTail6 = dragon.dragonPartTail3; final float n4 = 2.0f; dragonPartTail6.height = 2.0f; dragonPartTail5.width = 2.0f; dragon.dragonPartBody.height = 3.0f; dragon.dragonPartBody.width = 5.0f; dragon.dragonPartWing1.height = 2.0f; dragon.dragonPartWing1.width = 4.0f; dragon.dragonPartWing2.height = 3.0f; dragon.dragonPartWing2.width = 4.0f; // final float f2 = 0.0f; float f3 = 0.03f / (MathHelper.sqrt_double(dragon.motionX * dragon.motionX + dragon.motionZ * dragon.motionZ) * 10.0f + 1.0f); f3 *= (float)Math.pow(0.05, dragon.motionY); if (dragon.slowed) { final EntityDragon entityDragon4; final EntityDragon entityDragon7; final EntityDragon entityDragon3 = entityDragon7 = (entityDragon4 = dragon); entityDragon7.animTime += f3 * 0.0f; } else { final EntityDragon entityDragon6; final EntityDragon entityDragon8; final EntityDragon entityDragon5 = entityDragon8 = (entityDragon6 = dragon); entityDragon8.animTime += f3; } for (int i = 0; i < dragon.ringBuffer.length; ++i) { dragon.ringBuffer[i][0] = -dragon.rotationYaw; dragon.ringBuffer[i][1] = -dragon.posY; } final float rotation = 0.0f; GL11.glPushMatrix(); final float baseRotation = dragon.renderYawOffset - dragon.prevRenderYawOffset * partialTicks + dragon.prevRenderYawOffset; final RenderManager renderManager = Minecraft.getMinecraft().getRenderManager(); // GL11.glScalef(0.4f, 0.4f, 0.4f); renderManager.renderEntitySimple((Entity)dragon, partialTicks); final double x = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * partialTicks - renderManager.viewerPosX; final double y = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * partialTicks - renderManager.viewerPosY; final double z = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * partialTicks - renderManager.viewerPosZ; event.renderer.renderName((EntityLivingBase)entity, x, y, z); event.setCanceled(true); } }

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.