Initial commit
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
// 1.20.1 2024-09-07T08:46:38.014248417 Registrate Provider for create_mechanical_template [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
e7c73663bd817394eb709fd00580ffebb1f19500 assets/create_mechanical_template/lang/en_ud.json
|
||||
24ebfd55dfc92ea15449b1474183a4057062bf65 assets/create_mechanical_template/lang/en_us.json
|
||||
@@ -0,0 +1 @@
|
||||
// 1.20.1 2024-09-07T08:46:38.014960087 Mechanical Template's crafting recipes.
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"block.create_mechanical_template.mechanical_block.tooltip": "ʞƆOꞀᗺ ꞀⱯƆINⱯHƆƎW",
|
||||
"block.create_mechanical_template.mechanical_block.tooltip.summary": "˙dıʇןooʇ ‾ʞɔoןᗺ‾ ǝɔıN",
|
||||
"config.jade.plugin_create_mechanical_template.template_data": "ɐʇɐp ǝʇɐןdɯǝʇ ןɐɔıuɐɥɔǝW",
|
||||
"itemGroup.create_mechanical_template:main": "ǝʇɐןdɯǝ⟘ ןɐɔıuɐɥɔǝW ǝʇɐǝɹƆ"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"block.create_mechanical_template.mechanical_block.tooltip": "MECHANICAL BLOCK",
|
||||
"block.create_mechanical_template.mechanical_block.tooltip.summary": "Nice _Block_ tooltip.",
|
||||
"config.jade.plugin_create_mechanical_template.template_data": "Mechanical template data",
|
||||
"itemGroup.create_mechanical_template:main": "Create Mechanical Template"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.oierbravo.create_mechanical_template;
|
||||
|
||||
import com.mojang.logging.LogUtils;
|
||||
import com.oierbravo.create_mechanical_template.infrastructure.data.ModDataGen;
|
||||
import com.oierbravo.create_mechanical_template.registrate.*;
|
||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||
import com.simibubi.create.foundation.item.ItemDescription;
|
||||
import com.simibubi.create.foundation.item.KineticStats;
|
||||
import com.simibubi.create.foundation.item.TooltipHelper;
|
||||
import com.simibubi.create.foundation.item.TooltipModifier;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
// The value here should match an entry in the META-INF/mods.toml file
|
||||
@Mod(CreateMechanicalTemplate.MODID)
|
||||
public class CreateMechanicalTemplate
|
||||
{
|
||||
// Directly reference a slf4j logger
|
||||
public static final String MODID = "create_mechanical_template";
|
||||
public static final String DISPLAY_NAME = "Create Mechanical Template";
|
||||
|
||||
public static final CreateRegistrate REGISTRATE = CreateRegistrate.create(MODID);
|
||||
static {
|
||||
REGISTRATE.setTooltipModifierFactory(item -> {
|
||||
return new ItemDescription.Modifier(item, TooltipHelper.Palette.STANDARD_CREATE)
|
||||
.andThen(TooltipModifier.mapNull(KineticStats.create(item)));
|
||||
});
|
||||
}
|
||||
public static final Logger LOGGER = LogUtils.getLogger();
|
||||
|
||||
public CreateMechanicalTemplate()
|
||||
{
|
||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||
REGISTRATE.registerEventListeners(modEventBus);
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
ModConfigs.register();
|
||||
|
||||
|
||||
ModBlocks.register();
|
||||
ModBlockEntities.register();
|
||||
ModCreativeTabs.register(modEventBus);
|
||||
|
||||
modEventBus.addListener(this::doClientStuff);
|
||||
modEventBus.addListener(ModDataGen::gatherData);
|
||||
|
||||
|
||||
generateLangEntries();
|
||||
}
|
||||
private void generateLangEntries(){
|
||||
|
||||
registerLangCustom("itemGroup.create_mechanical_template:main", "Create Mechanical Template");
|
||||
registerLangCustom("config.jade.plugin_create_mechanical_template.template_data", "Mechanical template data");
|
||||
|
||||
registerLangCustom("block.create_mechanical_template.mechanical_block.tooltip", "MECHANICAL BLOCK");
|
||||
registerLangCustom("block.create_mechanical_template.mechanical_block.tooltip.summary", "Nice _Block_ tooltip.");
|
||||
|
||||
|
||||
|
||||
}
|
||||
private void doClientStuff(final FMLClientSetupEvent event) {
|
||||
event.enqueueWork(ModPonders::register);
|
||||
}
|
||||
|
||||
public static CreateRegistrate registrate() {
|
||||
return REGISTRATE;
|
||||
}
|
||||
public static ResourceLocation asResource(String path) {
|
||||
return new ResourceLocation(MODID, path);
|
||||
}
|
||||
|
||||
public static void registerLang(String id, String text){
|
||||
registerLangCustom(MODID.toLowerCase() + id, text);
|
||||
}
|
||||
|
||||
public static void registerLangCustom(String id, String text){
|
||||
registrate().addRawLang(id, text);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.oierbravo.create_mechanical_template.foundation.data.recipe;
|
||||
|
||||
import com.oierbravo.create_mechanical_template.registrate.ModBlocks;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllTags;
|
||||
import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeBuilder;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraft.data.recipes.FinishedRecipe;
|
||||
import net.minecraft.data.recipes.RecipeProvider;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraftforge.common.Tags;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class CraftingRecipeGen extends RecipeProvider {
|
||||
public CraftingRecipeGen(PackOutput output) {
|
||||
super(output);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildRecipes(Consumer<FinishedRecipe> pWriter) {
|
||||
|
||||
|
||||
}
|
||||
@Override
|
||||
public final String getName() {
|
||||
return "Mechanical Template's crafting recipes.";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.oierbravo.create_mechanical_template.foundation.utility;
|
||||
|
||||
import com.oierbravo.create_mechanical_template.CreateMechanicalTemplate;
|
||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
||||
|
||||
public class ModLang extends com.simibubi.create.foundation.utility.Lang {
|
||||
public ModLang() {
|
||||
super();
|
||||
}
|
||||
public static LangBuilder builder() {
|
||||
return new LangBuilder(CreateMechanicalTemplate.MODID);
|
||||
}
|
||||
public static LangBuilder translate(String langKey, Object... args) {
|
||||
return builder().translate(langKey, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.oierbravo.create_mechanical_template.infrastructure.data;
|
||||
|
||||
import com.oierbravo.create_mechanical_template.foundation.data.recipe.CraftingRecipeGen;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraftforge.data.event.GatherDataEvent;
|
||||
|
||||
public class ModDataGen {
|
||||
public static void gatherData(GatherDataEvent event) {
|
||||
|
||||
DataGenerator generator = event.getGenerator();
|
||||
PackOutput output = generator.getPackOutput();
|
||||
|
||||
if (event.includeServer()) {
|
||||
generator.addProvider(true, new CraftingRecipeGen(output));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.oierbravo.create_mechanical_template.ponders;
|
||||
|
||||
import com.simibubi.create.foundation.ponder.*;
|
||||
|
||||
public class PonderScenes {
|
||||
public static void block(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("block", "Title");
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.showBasePlate();
|
||||
|
||||
scene.markAsFinished();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.oierbravo.create_mechanical_template.registrate;
|
||||
|
||||
public class ModBlockEntities {
|
||||
|
||||
public static void register() {}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.oierbravo.create_mechanical_template.registrate;
|
||||
|
||||
import com.oierbravo.create_mechanical_template.CreateMechanicalTemplate;
|
||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||
|
||||
public class ModBlocks {
|
||||
|
||||
|
||||
private static final CreateRegistrate REGISTRATE = CreateMechanicalTemplate.registrate();
|
||||
|
||||
|
||||
public static void register() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.oierbravo.create_mechanical_template.registrate;
|
||||
|
||||
import com.electronwill.nightconfig.core.file.CommentedFileConfig;
|
||||
import com.electronwill.nightconfig.core.io.WritingMode;
|
||||
import com.oierbravo.create_mechanical_template.CreateMechanicalTemplate;
|
||||
import net.minecraftforge.common.ForgeConfigSpec;
|
||||
import net.minecraftforge.fml.ModLoadingContext;
|
||||
import net.minecraftforge.fml.config.ModConfig;
|
||||
import net.minecraftforge.fml.loading.FMLPaths;
|
||||
|
||||
public class ModConfigs {
|
||||
public static ForgeConfigSpec COMMON;
|
||||
public static void register() {
|
||||
registerServerConfigs();
|
||||
registerCommonConfigs();
|
||||
registerClientConfigs();
|
||||
}
|
||||
private static void registerClientConfigs() {
|
||||
ForgeConfigSpec.Builder CLIENT_BUILDER = new ForgeConfigSpec.Builder();
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, CLIENT_BUILDER.build());
|
||||
}
|
||||
|
||||
private static void registerCommonConfigs() {
|
||||
ForgeConfigSpec.Builder COMMON_BUILDER = new ForgeConfigSpec.Builder();
|
||||
COMMON = COMMON_BUILDER.build();
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, COMMON);
|
||||
ModConfigs.loadConfig(COMMON, FMLPaths.CONFIGDIR.get().resolve(CreateMechanicalTemplate.MODID + "-common.toml"));
|
||||
|
||||
}
|
||||
|
||||
private static void registerServerConfigs() {
|
||||
ForgeConfigSpec.Builder SERVER_BUILDER = new ForgeConfigSpec.Builder();
|
||||
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, SERVER_BUILDER.build());
|
||||
|
||||
}
|
||||
//from: https://github.com/mrh0/createaddition/blob/1.19.2/src/main/java/com/mrh0/createaddition/config/Config.java
|
||||
public static void loadConfig(ForgeConfigSpec spec, java.nio.file.Path path) {
|
||||
final CommentedFileConfig configData = CommentedFileConfig.builder(path)
|
||||
.sync()
|
||||
.autosave()
|
||||
.writingMode(WritingMode.REPLACE)
|
||||
.build();
|
||||
configData.load();
|
||||
spec.setConfig(configData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.oierbravo.create_mechanical_template.registrate;
|
||||
|
||||
import com.oierbravo.create_mechanical_template.CreateMechanicalTemplate;
|
||||
import com.simibubi.create.AllCreativeModeTabs;
|
||||
import com.tterrag.registrate.util.entry.RegistryEntry;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||
public class ModCreativeTabs {
|
||||
|
||||
private static final DeferredRegister<CreativeModeTab> TAB_REGISTER =
|
||||
DeferredRegister.create(Registries.CREATIVE_MODE_TAB, CreateMechanicalTemplate.MODID);
|
||||
|
||||
public static final RegistryObject<CreativeModeTab> MAIN_TAB = TAB_REGISTER.register("main",
|
||||
() -> CreativeModeTab.builder()
|
||||
.title(Component.translatable("itemGroup.create_mechanical_template:main"))
|
||||
.withTabsBefore(AllCreativeModeTabs.PALETTES_CREATIVE_TAB.getId())
|
||||
//.icon(ModBlocks.MECHANICAL_BLOCK::asStack)
|
||||
.displayItems((pParameters, pOutput) -> {
|
||||
for (RegistryEntry<Item> entry : CreateMechanicalTemplate.REGISTRATE.getAll(Registries.ITEM)) {
|
||||
pOutput.accept(entry.get());
|
||||
}
|
||||
})
|
||||
.build());
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
TAB_REGISTER.register(modEventBus);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.oierbravo.create_mechanical_template.registrate;
|
||||
|
||||
import com.oierbravo.create_mechanical_template.CreateMechanicalTemplate;
|
||||
import com.oierbravo.create_mechanical_template.ponders.PonderScenes;
|
||||
import com.simibubi.create.foundation.ponder.PonderRegistrationHelper;
|
||||
import com.simibubi.create.foundation.ponder.PonderRegistry;
|
||||
import com.simibubi.create.infrastructure.ponder.AllPonderTags;
|
||||
|
||||
public class ModPonders {
|
||||
static final PonderRegistrationHelper HELPER = new PonderRegistrationHelper(CreateMechanicalTemplate.MODID);
|
||||
|
||||
public static void register() {
|
||||
|
||||
/*HELPER.addStoryBoard(ModBlocks.MECHANICAL_BLOCK, "mechanical_block", PonderScenes::block, AllPonderTags.KINETIC_APPLIANCES);
|
||||
|
||||
PonderRegistry.TAGS.forTag(AllPonderTags.KINETIC_APPLIANCES)
|
||||
.add(ModBlocks.MECHANICAL_SPAWNER);*/
|
||||
}
|
||||
}
|
||||
1
src/main/resources/META-INF/accesstransformer.cfg
Normal file
1
src/main/resources/META-INF/accesstransformer.cfg
Normal file
@@ -0,0 +1 @@
|
||||
public-f net.minecraft.data.recipes.RecipeProvider m_6055_()Ljava/lang/String; # getName
|
||||
46
src/main/resources/META-INF/mods.toml
Normal file
46
src/main/resources/META-INF/mods.toml
Normal file
@@ -0,0 +1,46 @@
|
||||
modLoader="javafml" #mandatory
|
||||
loaderVersion="[47,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
|
||||
license="MIT"
|
||||
[[mods]] #mandatory
|
||||
modId="create_mechanical_template" #mandatory
|
||||
version="${file.jarVersion}" #mandatory
|
||||
displayName="Create Mechanical Template" #mandatory
|
||||
#updateJSONURL="https://change.me.example.invalid/updates.json" #optional
|
||||
# A URL for the "homepage" for this mod, displayed in the mod UI
|
||||
#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional
|
||||
# A file name (in the root of the mod JAR) containing a logo for display
|
||||
logoFile="logo.png" #optional
|
||||
# A text field displayed in the mod UI
|
||||
credits="Thanks to the Creators of Create" #optional
|
||||
# A text field displayed in the mod UI
|
||||
authors="oierbravo" #optional
|
||||
# The description text for the mod (multi line!) (#mandatory)
|
||||
description='''
|
||||
Description
|
||||
'''
|
||||
# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
|
||||
[[dependencies.create_mechanical_template]] #optional
|
||||
# the modid of the dependency
|
||||
modId="forge" #mandatory
|
||||
# Does this dependency have to exist - if not, ordering below must be specified
|
||||
mandatory=true #mandatory
|
||||
# The version range of the dependency
|
||||
versionRange="[43,)" #mandatory
|
||||
# An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory
|
||||
ordering="NONE"
|
||||
# Side this dependency is applied on - BOTH, CLIENT or SERVER
|
||||
side="BOTH"
|
||||
# Here's another dependency
|
||||
[[dependencies.create_mechanical_template]]
|
||||
modId="minecraft"
|
||||
mandatory=true
|
||||
# This version range declares a minimum of the current minecraft version up to but not including the next major version
|
||||
versionRange="[1.20.1,1.21)"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
[[dependencies.create_mechanical_template]]
|
||||
modId = "create"
|
||||
mandatory = true
|
||||
versionRange="[0.5.1.h,)"
|
||||
ordering = "AFTER"
|
||||
side = "BOTH"
|
||||
9
src/main/resources/assets/minecraft/atlases/blocks.json
Normal file
9
src/main/resources/assets/minecraft/atlases/blocks.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "directory",
|
||||
"source": "fluid",
|
||||
"prefix": "fluid/"
|
||||
}
|
||||
]
|
||||
}
|
||||
13
src/main/resources/create_mechanical_template.mixins.json
Normal file
13
src/main/resources/create_mechanical_template.mixins.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"required": true,
|
||||
"priority": 1100,
|
||||
"package": "com.oierbravo.mechanical_template.mixin",
|
||||
"compatibilityLevel": "JAVA_16",
|
||||
"refmap": "create_mechanical_template.refmap.json",
|
||||
"mixins": [],
|
||||
"client": [],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
},
|
||||
"minVersion": "0.8"
|
||||
}
|
||||
1
src/main/resources/kubejs.plugins.txt.dis
Normal file
1
src/main/resources/kubejs.plugins.txt.dis
Normal file
@@ -0,0 +1 @@
|
||||
com.oierbravo.create_mechanical_template.compat.kubejs.CustomKubeJSPlugin
|
||||
BIN
src/main/resources/logo.png
Normal file
BIN
src/main/resources/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 965 KiB |
6
src/main/resources/pack.mcmeta
Normal file
6
src/main/resources/pack.mcmeta
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"pack": {
|
||||
"description": "Create Mechanical Spawner resources",
|
||||
"pack_format": 12
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user