mirror of
https://github.com/TheClashFruit/CreatePissAndShit.git
synced 2024-09-19 09:26:46 +00:00
feat: config & config screen
This commit is contained in:
parent
536a44f4e4
commit
a308410ef5
|
@ -41,10 +41,13 @@ dependencies {
|
|||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
||||
|
||||
modImplementation("com.simibubi.create:create-fabric-${minecraft_version}:${create_version}")
|
||||
modImplementation("com.terraformersmc:modmenu:${modmenu_version}")
|
||||
|
||||
modApi("me.shedaniel.cloth:cloth-config-fabric:${cloth_config_version}") {
|
||||
exclude(group: "net.fabricmc.fabric-api")
|
||||
}
|
||||
|
||||
modLocalRuntime("maven.modrinth:lazydfu:${lazydfu_version}")
|
||||
modLocalRuntime("com.terraformersmc:modmenu:${modmenu_version}")
|
||||
|
||||
modLocalRuntime("dev.emi:emi-fabric:${emi_version}")
|
||||
}
|
||||
|
||||
|
|
|
@ -17,3 +17,4 @@ create_version = 0.5.1-f-build.1417+mc1.20.1
|
|||
modmenu_version = 7.2.2
|
||||
lazydfu_version = 0.1.3
|
||||
emi_version = 1.1.10+1.20.1
|
||||
cloth_config_version = 11.1.118
|
|
@ -1,6 +1,9 @@
|
|||
package me.theclashfruit.pissnshit;
|
||||
|
||||
import com.simibubi.create.Create;
|
||||
import me.shedaniel.autoconfig.AutoConfig;
|
||||
import me.shedaniel.autoconfig.serializer.Toml4jConfigSerializer;
|
||||
import me.theclashfruit.pissnshit.config.MainConfig;
|
||||
import me.theclashfruit.pissnshit.registry.Blocks;
|
||||
import me.theclashfruit.pissnshit.registry.Fluids;
|
||||
import me.theclashfruit.pissnshit.registry.Items;
|
||||
|
@ -9,6 +12,7 @@ import net.fabricmc.api.ModInitializer;
|
|||
import net.fabricmc.fabric.api.gamerule.v1.GameRuleFactory;
|
||||
import net.fabricmc.fabric.api.gamerule.v1.GameRuleRegistry;
|
||||
import net.fabricmc.fabric.api.loot.v2.LootTableEvents;
|
||||
import net.minecraft.data.Main;
|
||||
import net.minecraft.loot.LootPool;
|
||||
import net.minecraft.loot.condition.RandomChanceLootCondition;
|
||||
import net.minecraft.loot.entry.ItemEntry;
|
||||
|
@ -35,6 +39,8 @@ public class PissAndShit implements ModInitializer {
|
|||
|
||||
ItemGroups.init();
|
||||
|
||||
AutoConfig.register(MainConfig.class, Toml4jConfigSerializer::new);
|
||||
|
||||
Identifier jungleTemple = new Identifier("minecraft", "chests/jungle_temple");
|
||||
Identifier desertPyramid = new Identifier("minecraft", "chests/desert_pyramid");
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package me.theclashfruit.pissnshit.config;
|
||||
|
||||
import me.shedaniel.autoconfig.ConfigData;
|
||||
import me.shedaniel.autoconfig.annotation.Config;
|
||||
import me.shedaniel.autoconfig.annotation.ConfigEntry;
|
||||
|
||||
@Config(name = "pissnshit")
|
||||
public class MainConfig implements ConfigData {
|
||||
@ConfigEntry.Gui.Excluded
|
||||
int configVersion = 1;
|
||||
|
||||
@ConfigEntry.Gui.CollapsibleObject
|
||||
ShittingMechanics shittingMechanics = new ShittingMechanics();
|
||||
|
||||
@ConfigEntry.Gui.CollapsibleObject
|
||||
PissingMechanics pissingMechanics = new PissingMechanics();
|
||||
|
||||
static class ShittingMechanics {
|
||||
boolean isMandatory = true;
|
||||
|
||||
int maxIntervalTicks = 72000;
|
||||
int minIntervalTicks = 12000;
|
||||
}
|
||||
|
||||
static class PissingMechanics {
|
||||
boolean isMandatory = true;
|
||||
|
||||
int maxIntervalTicks = 24000;
|
||||
int minIntervalTicks = 3000;
|
||||
}
|
||||
}
|
16
src/main/java/me/theclashfruit/pissnshit/util/ModMenu.java
Normal file
16
src/main/java/me/theclashfruit/pissnshit/util/ModMenu.java
Normal file
|
@ -0,0 +1,16 @@
|
|||
package me.theclashfruit.pissnshit.util;
|
||||
|
||||
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
||||
import com.terraformersmc.modmenu.api.ModMenuApi;
|
||||
import me.shedaniel.autoconfig.AutoConfig;
|
||||
import me.theclashfruit.pissnshit.config.MainConfig;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ModMenu implements ModMenuApi {
|
||||
@Override
|
||||
public ConfigScreenFactory<?> getModConfigScreenFactory() {
|
||||
return parent -> AutoConfig.getConfigScreen(MainConfig.class, parent).get();
|
||||
}
|
||||
}
|
|
@ -14,5 +14,18 @@
|
|||
"block.pissnshit.mechanical_sanctifier": "Mechanical Sanctifier",
|
||||
|
||||
"gamerule.pissSourceConversion": "Piss converts to source",
|
||||
"itemGroup.pissnshit.creative_tab": "Create: Piss & Shit"
|
||||
"itemGroup.pissnshit.creative_tab": "Create: Piss & Shit",
|
||||
|
||||
"text.autoconfig.pissnshit.title": "Create: Piss & Shit Configuration",
|
||||
|
||||
"text.autoconfig.pissnshit.option.shittingMechanics": "Shitting Mechanics",
|
||||
"text.autoconfig.pissnshit.option.pissingMechanics": "Pissing Mechanics",
|
||||
|
||||
"text.autoconfig.pissnshit.option.shittingMechanics.isMandatory": "Enable Mandatory Shitting",
|
||||
"text.autoconfig.pissnshit.option.shittingMechanics.maxIntervalTicks": "Max Interval (Ticks)",
|
||||
"text.autoconfig.pissnshit.option.shittingMechanics.minIntervalTicks": "Min Interval (Ticks)",
|
||||
|
||||
"text.autoconfig.pissnshit.option.pissingMechanics.isMandatory": "Enable Mandatory Pissing",
|
||||
"text.autoconfig.pissnshit.option.pissingMechanics.maxIntervalTicks": "Max Interval (Ticks)",
|
||||
"text.autoconfig.pissnshit.option.pissingMechanics.minIntervalTicks": "Min Interval (Ticks)"
|
||||
}
|
|
@ -23,6 +23,9 @@
|
|||
],
|
||||
"main": [
|
||||
"me.theclashfruit.pissnshit.PissAndShit"
|
||||
],
|
||||
"modmenu": [
|
||||
"me.theclashfruit.pissnshit.util.ModMenu"
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
|
|
Loading…
Reference in a new issue