解决Flutter APP访问Django后台API跨域问题 踩坑 目前的项目使用Django+REST_API开放了几个接口,在8000上。使用前端FlutterAPP访问本地8000接口会因为跨域问题而被拦截请求,本质上虽然都是在同一个主机地址,但是由于不是同一个端口导致后台认为发生了跨域. 安装依赖 在你的环境下执行下面指令来安装需要的依赖 pip insta
开源多人协作文档应用docmost部署 默认分类 因为朋友的项目需要一款效率工具,在网上发现了这个开源项目,似乎能成为Notion的替代品。 前提条件 官方文档给出的前提条件是需要安装docker 安装步骤 1.设置docker compose文件 为docmost创建一个目录并把docker compose文件下载到这个目录 mkdir docm
方块 NeoForge官方文档翻译 方块对Minecraft世界来说很重要.他们构成了所有的地形,结构还有机器.事实是如果你对于制作模组感兴趣,你就会想去添加一些方块.本页面会告诉你如何你创造方块,以及一些你可以用它来做的事。 用一个方块来统治他们 在开始之前,需要理解的是,在游戏中每种方块只存在一个.世界是由那一个方块的千万个在不同
事件 NeoForge官方文档翻译 NeoForge 的主要特性之一是事件系统。事件会在游戏中发生的各种事情时触发。例如,有玩家右键单击、玩家或其他实体跳跃、方块渲染、游戏加载等事件。模组开发者可以将事件处理程序订阅到这些事件中的每一个,然后在这些事件处理程序内部执行他们想要的行为。 事件在其各自的事件总线上触发。最重要的总线是 Ne
侧(Sides) NeoForge官方文档翻译 像许多其他程序一样,Minecraft 遵循客户端-服务器概念,其中客户端负责显示数据,而服务器负责更新数据。当我们使用这些术语时,我们对它们的含义有相当直观的理解……对吧? 事实证明,并非如此。许多混淆源于 Minecraft 根据上下文有两种不同的“侧”的概念:物理侧和逻辑侧。 物理侧与逻辑侧
注册表 NeoForge官方文档翻译 注册是将模组的对象(例如物品、方块、实体等)提供给游戏的过程。注册事物很重要,因为没有注册,游戏将根本不知道这些对象,这将导致无法解释的行为和崩溃。 简而言之,注册表是围绕映射的包装器,该映射将注册名称(稍后介绍)映射到已注册的对象,通常称为注册条目。注册名称在同一注册表中必须是唯一的,但相同的注册
版本控制 NeoForge官方文档翻译 这篇文章会讲清楚 Minecraft 和 NeoForge 是怎么进行版本控制的,也会给模组的版本控制提一些建议。 Minecraft Minecraft 使用语义化版本控制(semantic versioning),简称 "semver",其格式为 major.minor.patch。 major
模组文件 NeoForge官方文档翻译 模组文件与决定以何种方式将你的模组打包进你的JAR包,Mods菜单中要显示什么信息,你的模组应该怎样加载进游戏有关。 gradle.properties gradle.properties文件里面有各种有关于你的模组的常见属性,例如模组id或者模组版本。在构建的时候,Gradle会读取这些文件中的值
开始使用NeoForge NeoForge官方文档翻译 本节包含了有关如何建立NeoForge工作空间以及如何运行并测试你的模组的信息 前提条件 熟悉编程语言Java,尤其是其中的面向对象,多态,泛型以及各种功能特性。 安装JDK21以及64位的JVM。 NeoForge官方推荐微软的OpenJDK,但是其他的JDK也一样可以运行。 ⚠️注意
什么是“依赖注入”(DI - Dependency Injection) 基础知识 依赖注入的本质是一种设计模式,最终目的还是为了实现松耦合(并非完全不需要类之间的耦合关系,而是降低耦合) 传统的耦合问题 class Car { private Engine engine = new Engine(); // Car 类负责创建 Engine 实例 public