Kotlin-Mod:修订间差异

来自像素工厂维基百科-mindustry wiki
无编辑摘要
无编辑摘要
 
(未显示同一用户的3个中间版本)
第9行: 第9行:
== 完成构建,开始创作之旅 ==
== 完成构建,开始创作之旅 ==
你的项目结构大概是这样:
你的项目结构大概是这样:
<pre>mod名
<pre>项目名
├── assets
├── assets
├── src
├── src
├── builid.gradle
├── builid.gradle
├── mod.hjson"assets"文件夹是你的配置文件存放的地方,如贴图文件,json,等等。具体参考[[Json-Mod|这里]]
├── mod.hjson</pre>


“src"是你的kotlin源码位置
"assets"文件夹是你的配置文件存放的地方,如贴图文件,json,等等。具体参考[[Json-Mod|这里]]


”build.gradle" 是你的构建脚本
"src"是你的kotlin源码位置
 
"build.gradle" 是你的构建脚本


"mod.hjosn"和"mod.json"一样
"mod.hjosn"和"mod.json"一样


=== 物品-示例代码: ===
=== 物品-示例代码: ===
第46行: 第49行:
         }
         }
     }
     }
}
}</pre>
 
=== 工厂-示例代码: ===
<pre>class ModBuild {
    var YourGenericCraftertName: GenericCrafter? = null
    fun load() {
        YourGenericCraftertName = object : GenericCrafter("YorGenericCrafterName") {
            init {
                requirements = ItemStack.with(Items.copper,5,Items.scrap,10)//建造消耗
                consPower = ConsumePower(5f/*消耗*/,5f/*容量*/,true/*缓冲*/)//耗电
                consumeItems(ItemStack(Items.copper,5),ItemStack(Items.scrap,10))//物品消耗
                consumeLiquids(LiquidStack(Liquids.slag,1f),LiquidStack(Liquids.oil,1f))//液体消耗
                outputItems = ItemStack.with(Items.copper,5,Items.scrap,10)//输出物品
                outputLiquids = LiquidStack.with(Liquids.slag,1f,Liquids.oil,1f)//输出液体
                craftTime = 80f//生产时间
                size = 1//大小
            }
        }
    }
}</pre>

2024年2月18日 (日) 12:07的最新版本

打开模板

在开始创作Kotlin Mod前,请:

  1. 下载并安装IntelliJ IDEA,这是很重要的一步,没有IDEA,您的创作之路将寸步难行
  2. 下载Anuken的KotlinMod模板,并使用IDEA打开。就像这样:
  3. 构建环境,将模板打开后,IDEA会提示你“找到Gradle 'xxx'构建脚本”,选择“加载 Gradle 项目”。具体参考@lyr的视频。如果无法构建,建议使用此build.gradle来替换原本的文件。

完成构建,开始创作之旅

你的项目结构大概是这样:

项目名
├── assets
├── src
├── builid.gradle
├── mod.hjson

"assets"文件夹是你的配置文件存放的地方,如贴图文件,json,等等。具体参考这里

"src"是你的kotlin源码位置

"build.gradle" 是你的构建脚本

"mod.hjosn"和"mod.json"一样


物品-示例代码:

import arc.graphics.Color
import mindustry.type.Item

class ModItems {
    var YourItemName: Item? = null
    fun load() {
        YourItemName = object : Item("YorItemName", Color.black/*显示颜色*/) {
            init {
                explosiveness = 0f//爆炸性
                flammability = 0f//可燃性
                radioactivity = 0f//放射性
                charge = 0f//导电性
                hardness = 0//硬度
                cost = 1f//建造耗时倍率
                healthScaling = 0f//使用此物品为耗材建筑的加成生命倍率
                lowPriority = false
                frames = 0//动画帧
                transitionFrames = 0//动画过渡帧
                frameTime = 5f//每个动画帧间隔帧
                buildable = true//是否用于建造
                hidden = false//是否隐藏
            }
        }
    }
}

工厂-示例代码:

class ModBuild {
    var YourGenericCraftertName: GenericCrafter? = null
    fun load() {
        YourGenericCraftertName = object : GenericCrafter("YorGenericCrafterName") {
            init {
                requirements = ItemStack.with(Items.copper,5,Items.scrap,10)//建造消耗
                consPower = ConsumePower(5f/*消耗*/,5f/*容量*/,true/*缓冲*/)//耗电
                consumeItems(ItemStack(Items.copper,5),ItemStack(Items.scrap,10))//物品消耗
                consumeLiquids(LiquidStack(Liquids.slag,1f),LiquidStack(Liquids.oil,1f))//液体消耗
                outputItems = ItemStack.with(Items.copper,5,Items.scrap,10)//输出物品
                outputLiquids = LiquidStack.with(Liquids.slag,1f,Liquids.oil,1f)//输出液体
                craftTime = 80f//生产时间
                size = 1//大小
            }
        }
    }
}