// Path: ChatUILib/src/main/java/com/simon816/chatui/lib/PlayerChatView.java
// public interface PlayerChatView {
// 
//     public Player getPlayer();
// 
//     public TopWindow getWindow();
// 
//     public boolean showWindow(TopWindow window);
// 
//     public boolean removeShownWindow();
// 
//     public void update();
// 
//     public boolean handleIncoming(Text message);
// 
//     public Optional<Text> transformOutgoing(CommandSource sender, Text originalOutgoing, ChatType type);
// 
//     public boolean handleCommand(String[] args);
// 
//     public void onRemove();
// 
//     public void initialize();
// 
// }


import static com.google.common.base.Preconditions.checkNotNull;
import com.simon816.chatui.lib.PlayerChatView;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.Event;
import org.spongepowered.api.event.cause.Cause;

package com.simon816.chatui.lib.event;



public class CreatePlayerViewEvent implements Event {

    private final Cause cause;
    private final Player player;

    private PlayerChatView view;

    public CreatePlayerViewEvent(PlayerChatView view, Player player, Cause cause) {
        this.view = view;
        this.player = player;
        this.cause = cause;
    }

    @Override
    public Cause getCause() {
        return this.cause;
    }

    public Player getPlayer() {
        return this.player;
    }

    public PlayerChatView getView() {
        return this.view;
    }


// Path: ChatUILib/src/main/java/com/simon816/chatui/lib/PlayerChatView.java
// public interface PlayerChatView {
// 
//     public Player getPlayer();
// 
//     public TopWindow getWindow();
// 
//     public boolean showWindow(TopWindow window);
// 
//     public boolean removeShownWindow();
// 
//     public void update();
// 
//     public boolean handleIncoming(Text message);
// 
//     public Optional<Text> transformOutgoing(CommandSource sender, Text originalOutgoing, ChatType type);
// 
//     public boolean handleCommand(String[] args);
// 
//     public void onRemove();
// 
//     public void initialize();
// 
// }


// Path: ChatUILib/src/main/java/com/simon816/chatui/lib/event/CreatePlayerViewEvent.java
import static com.google.common.base.Preconditions.checkNotNull;
import com.simon816.chatui.lib.PlayerChatView;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.Event;
import org.spongepowered.api.event.cause.Cause;

package com.simon816.chatui.lib.event;



public class CreatePlayerViewEvent implements Event {

    private final Cause cause;
    private final Player player;

    private PlayerChatView view;

    public CreatePlayerViewEvent(PlayerChatView view, Player player, Cause cause) {
        this.view = view;
        this.player = player;
        this.cause = cause;
    }

    @Override
    public Cause getCause() {
        return this.cause;
    }

    public Player getPlayer() {
        return this.player;
    }

    public PlayerChatView getView() {
        return this.view;
    }


    public void setView(PlayerChatView view) {
