mojira.dev
MC-13094

Missing smoke particles when placing ender eye into end portal frame

What I expected to happen was...:
Upon placing an eye of ender in a portal frame, the portal frame should emit smoke

What actually happened was...:
In the latest version since the multiplayer restructuring (1.3-present), inserting an eye into a portal frame does not make it smoke.

Steps to Reproduce:
1. Run current version of MC, create an end portal. Note how frame does not smoke when eyes are inserted.
2. Revert to 1.2.5 using MCNostalgia or MultiMC
3. create an end portal in single player. Note how frame does emit smoke when eyes are inserted.
Trivial error, but that's what the community is for, isn't it? 😉


Code analysis: https://bugs.mojang.com/browse/MC-13094?focusedCommentId=284697&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-284697 and https://bugs.mojang.com/browse/MC-10369?focusedCommentId=284639&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-284639

Linked issues

Attachments

Comments

Tails

Confirmed.

Itouch2

Confirmed for 1.7.5, 14w08a and 14w10c

Itouch2

Confirmed for 14w18a

kazblox

Confirmed for 14w26c

williewillus

Confirmed for 14w29b, 1.7.10

James9270

Confirmed for 1.8.2-pre4 and many versions before that.

Swekob

Affects 15w47c & 1.8.8

Relates to MC-10369

marcono1234

Confirmed for

  • 16w06a

marcono1234

Please link to this comment and the comment on MC-10369 in the description of this report

The following is based on decompiled version of Minecraft 1.8 using MCP. All method and class names are the names used in the decompiled version.

This modified version does not use the same method for calculation the offset than the old one. The smoke particles have a larger maximum offset in x and z direction and are higher placed than before.

How to fix the bug

Instead of having the for loops to create the particles, the following could / should be used:

  • Affected class: net.minecraft.item.ItemEnderEye

  • Affected method: net.minecraft.item.ItemEnderEye.onItemUse(ItemStack, EntityPlayer, World, BlockPos, EnumFacing, float, float, float)

  • New code:
    pos - The BlockPos of the end portal frame

    ((WorldServer) worldIn).func_175739_a(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 0.9225D, pos.getZ() + 0.5D, 16, 0.225D, 0D, 0.225D, 0D, new int[0]);
[Mod]Les3awe

Confirmed for 1.9.1-pre1 / 1.9.1-pre2 / 1.9.1-pre3

marcono1234

Duplicates MC-10369

williewillus

(Unassigned)

Confirmed

end_portal_frame, ender_eye, particle, smoke

Minecraft 1.4.7, Minecraft 1.5.1, Minecraft 1.5.2, Snapshot 13w19a, Snapshot 13w21a, ..., Minecraft 16w06a, Minecraft 1.9, Minecraft 1.9.1 Pre-Release 1, Minecraft 1.9.1 Pre-Release 2, Minecraft 1.9.1 Pre-Release 3

Retrieved