Skip to content
This repository was archived by the owner on Aug 31, 2019. It is now read-only.

Conversation

@jedediah
Copy link
Member

Implements OvercastNetwork/minecraft-api#6

RenderableComponent holds an original BaseComponent and a map of UUID -> BaseComponent rendered for each viewer. It also implements IChatBaseComponent, so it can be smuggled through without adding any fields to packets. The packets that use it implement Renderable, which PlayerConnection calls to render the text for each viewer, on the main thread, just before sending the packet. The player's UUID is stored in PacketDataSerializer, and used to lookup the rendered text on the I/O thread.

+ public com.mojang.authlib.properties.Property[] spoofedProfile;
+
+ public int protocolVersion = Protocol.LATEST;
+ public java.util.UUID playerId;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move this

+
+ @Override
+ public void render(Player viewer) {
+ ((RenderableComponent) a).render(viewer);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RenderableComponent.render()

for(Plugin plugin : getPluginManager().getPlugins()) {
if(plugin.isEnabled()) {
for(Provider<TextRenderer> renderer : plugin.textRenderers()) {
text = renderer.get().render(this, text, viewer);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

catch exceptions


import org.bukkit.entity.Player;

public interface Renderable {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename this to something more specific


import static com.google.common.base.Preconditions.checkNotNull;

public class RenderableComponent extends ChatBaseComponent {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs docs

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant