我有这些课程:
我的问题是,对于每个类,我都必须手动注册节点。
/**
* Contains the encoder for messages from the server.
*
* @since 18/08/2018
*/
public abstract class MessageEncoder<T> {
/**
* Register this encoder to a message.
*/
public abstract void register();
/**
* Get the encoded message to send to the client.
*
* @param message The message.
* @return the {@link GamePacket} ready to be sent.
*/
public abstract GamePacket encode(T message);
}
其中 < T > 总是 someClass 扩展消息。
这是消息编码器的样子:
public final class ComponentMessageEncoder extends MessageEncoder<ComponentTextMessage> {
@Override
public void register() {
GameConstants.RELEASE.register(ComponentTextMessage.class, this);
}
@Override
public GamePacket encode(ComponentTextMessage message) {
// TODO Auto-generated method stub
return null;
}
}
正如您在 register 方法中看到的那样,我必须为我制作的每个编码器手动输入这些内容。
是否有我可以将其放入 MessageEncoder 抽象类的快捷方式?
我在这里找不到任何有用的东西
largeQ
相关分类