[全民写端]#4添加Event和Module

简介: 在EntityPlayerSP类里面找到onUpdate方法 在第一行写 new EventUpdate().call();

首发于Enaium的个人博客


一. 添加Event

  1. 下载Event解压到你想要的目录
  2. 修改Event

    4-1

二. 钩子

  1. 在EntityPlayerSP类里面找到onUpdate方法 在第一行写 new EventUpdate().call();
  2. 在Minecraft类里找到runTick方法 找到Keyboard.next()循环 在if (k == 62 && this.entityRenderer != null)下面写 new EventKeyboard(k).call();
    ```java
    [...]
    public void onUpdate()
    {
    new EventUpdate().call();
[...]

```java
[...]
if (k == 62 && this.entityRenderer != null)
{
    this.entityRenderer.switchUseShader();
}

    new EventKeyboard(k).call();

    if (this.currentScreen != null)
    [...]

三. 写Category枚举

package cn.enaium.coreium.module;

public enum Category {
   
   
    COMBAT,
    RENDER,
    MOVEMENT,
    PLAYER,
    OTHER
}

四. 写Module类

package cn.enaium.coreium.module;

import cn.enaium.coreium.Coreium;

public class Module {
   
   
    private boolean toggle;
    private String name;
    private int keyCode;
    private Category category;

    public Module(String name, int keyCode, Category category) {
   
   
        this.toggle = false;
        this.name = name;
        this.keyCode = keyCode;
        this.category = category;
    }

    public boolean isToggle() {
   
   
        return toggle;
    }

    public void setToggle(boolean toggle) {
   
   
        this.toggle = toggle;
    }

    public String getName() {
   
   
        return name;
    }

    public void setName(String name) {
   
   
        this.name = name;
    }

    public int getKeyCode() {
   
   
        return keyCode;
    }

    public void setKeyCode(int keyCode) {
   
   
        this.keyCode = keyCode;
    }

    public Category getCategory() {
   
   
        return category;
    }

    public void setCategory(Category category) {
   
   
        this.category = category;
    }

    public void toggle()
    {
   
   
        this.toggle = !this.toggle;
        if(this.toggle) onEnable(); else onDisable();
    }

    public void onEnable() {
   
   
        Coreium.INSTANCE.eventManager.register(this);
    }

    public void onDisable() {
   
   
        Coreium.INSTANCE.eventManager.unregister(this);
    }
}

五. 写ModuleManager类

package cn.enaium.coreium.module;

import cn.enaium.coreium.Coreium;
import cn.enaium.coreium.event.EventTarget;
import cn.enaium.coreium.event.events.EventKeyboard;

import java.util.ArrayList;

public class ModuleManager {
   
   
    private ArrayList<Module> modules;

    public ModuleManager() {
   
   
        this.modules = new ArrayList();
        Coreium.INSTANCE.eventManager.register(this);
    }

    public void loadMods() {
   
   

    }


    private void addModule(Module m) {
   
   
        modules.add(m);
    }

    @EventTarget
    public void onKey(EventKeyboard eventKeyBoard) {
   
   
        for (Module mod : modules) {
   
   
            if (mod.getKeyCode() == eventKeyBoard.getKey())
                mod.toggle();
        }
    }

    public ArrayList<Module> getModules() {
   
   
        return modules;
    }
}

六. 在Start添加

    public void start() {
   
   
        eventManager = new EventManager();
        moduleManager = new ModuleManager();
        Display.setTitle("Coreium");
        moduleManager.loadMods();
    }
目录
相关文章
|
安全 Linux 网络安全
如何在群晖中本地部署WPS Office并实现公网远程访问
如何在群晖中本地部署WPS Office并实现公网远程访问
1623 0
|
自然语言处理 iOS开发
iOS 国际化(多语言)如何指定默认语言
iOS 国际化(多语言)如何指定默认语言
779 0
|
API Python Windows
python2.7 win32com 避坑指南
python2.7 win32com 避坑指南
1254 0
|
JavaScript Unix Linux
⨯ cannot execute cause=fork/exec...pnpm\bin\pnpm.cjs: %1 is not a valid Win32 application.
⨯ cannot execute cause=fork/exec...pnpm\bin\pnpm.cjs: %1 is not a valid Win32 application.
1502 0
|
数据采集 安全 数据挖掘
Pandas数据合并:10种高效连接技巧与常见问题
在数据分析中,数据合并是常见且关键的步骤。本文针对合并来自多个来源的数据集时可能遇到的问题,如列丢失、重复记录等,提供系统解决方案。基于对超1000个复杂数据集的分析经验,总结了10种关键技术,涵盖Pandas库中`merge`和`join`函数的使用方法。内容包括基本合并、左连接、右连接、外连接、基于索引连接、多键合并、数据拼接、交叉连接、后缀管理和合并验证等场景。通过实际案例与技术原理解析,帮助用户高效准确地完成数据整合任务,提升数据分析效率。
1295 13
Pandas数据合并:10种高效连接技巧与常见问题
|
机器学习/深度学习 人工智能 算法
快瞳犬种识别效果图示,120种狗品种精准覆盖
犬种识别技术已从实验室走向大众,基于深度学习的卷积神经网络(CNN)和YOLO系列算法,可高效实现犬种分类与目标检测。本文介绍了快瞳犬种识别的技术原理、训练代码及应用场景,包括宠物管理、遗传疾病研究、公共安全、城市管理及遗失宠物寻找等。通过Python代码加载YOLOv8模型并进行训练,模型能在图像中标注犬种及其边界框,为智慧生活提供技术支持。
1140 33
|
人工智能 计算机视觉 Python
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】(1)
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】(1)
|
人工智能 边缘计算 分布式计算
ODPS 在 AI 时代的引领潜力与突破方向分析
阿里云 ODPS 凭借超大规模数据处理、多模态架构与 Data+AI 融合优势,正引领 AI 时代数据革命。其弹性算力支撑大模型训练,多模态处理提升数据利用率,AI 工程化能力完善。但实时性、边缘计算与跨云协同仍存短板。未来将重点突破智能数据编织、异构计算调度、隐私增强平台与边缘云端协同,加速行业落地。结合绿色计算与开放生态,ODPS 有望成为 AI 驱动的数据基础设施核心。
498 0
|
存储 人工智能 算法
当机器学会思考:人类在AI镜像中的自我发现
《当机器学会思考:人类在AI镜像中的自我发现》探讨人工智能如何成为映照人性的镜子。从情感模拟到意识探索,从技术工具到文明伙伴,AI不仅改变生活方式,更促使人类重新理解自身的思维、情感与存在意义。在人机共舞的时代,我们既是创造者,也是被解读的对象。
|
存储 安全 搜索推荐
从长网址到短链接:探索网址缩短的神奇世界
从长网址到短链接:探索网址缩短的神奇世界
956 4

热门文章

最新文章