1
0
Fork 0
mirror of https://github.com/TheClashFruit/CreatePissAndShit.git synced 2024-09-19 17:36:47 +00:00

feat: config & config screen

This commit is contained in:
TheClashFruit 2024-07-28 12:56:55 +02:00
parent 536a44f4e4
commit a308410ef5
Signed by: TheClashFruit
GPG key ID: 09BB24C34C2F3204
7 changed files with 80 additions and 7 deletions

View file

@ -41,10 +41,13 @@ dependencies {
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation("com.simibubi.create:create-fabric-${minecraft_version}:${create_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("maven.modrinth:lazydfu:${lazydfu_version}")
modLocalRuntime("com.terraformersmc:modmenu:${modmenu_version}")
modLocalRuntime("dev.emi:emi-fabric:${emi_version}") modLocalRuntime("dev.emi:emi-fabric:${emi_version}")
} }

View file

@ -17,3 +17,4 @@ create_version = 0.5.1-f-build.1417+mc1.20.1
modmenu_version = 7.2.2 modmenu_version = 7.2.2
lazydfu_version = 0.1.3 lazydfu_version = 0.1.3
emi_version = 1.1.10+1.20.1 emi_version = 1.1.10+1.20.1
cloth_config_version = 11.1.118

View file

@ -1,6 +1,9 @@
package me.theclashfruit.pissnshit; package me.theclashfruit.pissnshit;
import com.simibubi.create.Create; 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.Blocks;
import me.theclashfruit.pissnshit.registry.Fluids; import me.theclashfruit.pissnshit.registry.Fluids;
import me.theclashfruit.pissnshit.registry.Items; 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.GameRuleFactory;
import net.fabricmc.fabric.api.gamerule.v1.GameRuleRegistry; import net.fabricmc.fabric.api.gamerule.v1.GameRuleRegistry;
import net.fabricmc.fabric.api.loot.v2.LootTableEvents; import net.fabricmc.fabric.api.loot.v2.LootTableEvents;
import net.minecraft.data.Main;
import net.minecraft.loot.LootPool; import net.minecraft.loot.LootPool;
import net.minecraft.loot.condition.RandomChanceLootCondition; import net.minecraft.loot.condition.RandomChanceLootCondition;
import net.minecraft.loot.entry.ItemEntry; import net.minecraft.loot.entry.ItemEntry;
@ -35,6 +39,8 @@ public class PissAndShit implements ModInitializer {
ItemGroups.init(); ItemGroups.init();
AutoConfig.register(MainConfig.class, Toml4jConfigSerializer::new);
Identifier jungleTemple = new Identifier("minecraft", "chests/jungle_temple"); Identifier jungleTemple = new Identifier("minecraft", "chests/jungle_temple");
Identifier desertPyramid = new Identifier("minecraft", "chests/desert_pyramid"); Identifier desertPyramid = new Identifier("minecraft", "chests/desert_pyramid");

View file

@ -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;
}
}

View 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();
}
}

View file

@ -14,5 +14,18 @@
"block.pissnshit.mechanical_sanctifier": "Mechanical Sanctifier", "block.pissnshit.mechanical_sanctifier": "Mechanical Sanctifier",
"gamerule.pissSourceConversion": "Piss converts to source", "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)"
} }

View file

@ -23,6 +23,9 @@
], ],
"main": [ "main": [
"me.theclashfruit.pissnshit.PissAndShit" "me.theclashfruit.pissnshit.PissAndShit"
],
"modmenu": [
"me.theclashfruit.pissnshit.util.ModMenu"
] ]
}, },
"mixins": [ "mixins": [