Initial commit

This commit is contained in:
2024-09-07 08:36:32 +02:00
commit 80f6bebd3d
194 changed files with 761290 additions and 0 deletions

View File

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

View File

@@ -0,0 +1 @@
// 1.20.1 2024-09-07T08:46:38.014960087 Mechanical Template's crafting recipes.

View File

@@ -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 ǝʇɐǝɹƆ"
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,6 @@
package com.oierbravo.create_mechanical_template.registrate;
public class ModBlockEntities {
public static void register() {}
}

View File

@@ -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() {
}
}

View File

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

View File

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

View File

@@ -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);*/
}
}

View File

@@ -0,0 +1 @@
public-f net.minecraft.data.recipes.RecipeProvider m_6055_()Ljava/lang/String; # getName

View 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"

View File

@@ -0,0 +1,9 @@
{
"sources": [
{
"type": "directory",
"source": "fluid",
"prefix": "fluid/"
}
]
}

View 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"
}

View File

@@ -0,0 +1 @@
com.oierbravo.create_mechanical_template.compat.kubejs.CustomKubeJSPlugin

BIN
src/main/resources/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 965 KiB

View File

@@ -0,0 +1,6 @@
{
"pack": {
"description": "Create Mechanical Spawner resources",
"pack_format": 12
}
}