Skip to content

Commit

Permalink
Initial Commit - Just the basics:)
Browse files Browse the repository at this point in the history
  • Loading branch information
Direwolf20-MC committed Feb 18, 2024
1 parent dea9193 commit 6cbce5d
Show file tree
Hide file tree
Showing 11 changed files with 191 additions and 237 deletions.
5 changes: 1 addition & 4 deletions TEMPLATE_LICENSE.txt → LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
MIT License

Copyright (c) 2023 NeoForged project

This license applies to the template files as supplied by github.com/NeoForged/MDK

Copyright (c) 2023 Direwolf20-MC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
29 changes: 2 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,3 @@
# Just Dire Things

Installation information
=======

This template repository can be directly cloned to get you started with a new
mod. Simply create a new repository cloned from this one, by following the
instructions at [github](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).

Once you have your clone, simply open the repository in the IDE of your choice. The usual recommendation for an IDE is either IntelliJ IDEA or Eclipse.

> **Note**: For Eclipse, use tasks in `Launch Group` instead of ones founds in `Java Application`. A preparation task must run before launching the game. NeoGradle uses launch groups to do these subsequently.
If at any point you are missing libraries in your IDE, or you've run into problems you can
run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything
{this does not affect your code} and then start the process again.

Mapping Names:
============
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this
license, if you do not agree with it you can change your mapping names to other crowdsourced names in your
build.gradle. For the latest license text, refer to the mapping file itself, or the reference copy here:
https://github.com/NeoForged/NeoForm/blob/main/Mojang.md

Additional Resources:
==========
Community Documentation: https://docs.neoforged.net/
NeoForged Discord: https://discord.neoforged.net/
Just some things Direwolf20 wanted to have...
27 changes: 26 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,31 @@ group = mod_group_id

repositories {
mavenLocal()

maven { //Patchouli && JEI
url 'https://maven.blamejared.com'
content {
includeGroup "vazkii.patchouli"
includeGroup "mezz.jei"
}
}

maven { //Curios
url = "https://maven.theillusivec4.top/"
content {
includeGroup "top.theillusivec4.curios"
}
}

maven { // mek
url = 'https://modmaven.dev/'
content {
includeGroup "mekanism"
includeGroup "appeng"
}
}

maven { url = "https://www.cursemaven.com" } // curse mods
}

base {
Expand Down Expand Up @@ -86,7 +111,7 @@ dependencies {
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
// compileOnly "mezz.jei:jei-${mc_version}-common-api:${jei_version}"
// compileOnly "mezz.jei:jei-${mc_version}-forge-api:${jei_version}"
// runtimeOnly "mezz.jei:jei-${mc_version}-forge:${jei_version}"
runtimeOnly "mezz.jei:jei-1.20.4-neoforge:${jei_version}"

// Example mod dependency using a mod jar from ./libs with a flat dir repository
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
Expand Down
20 changes: 11 additions & 9 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
#org.gradle.jvmargs=
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
org.gradle.debug=false

Expand All @@ -16,7 +16,7 @@ minecraft_version=1.20.4
# as they do not follow standard versioning conventions.
minecraft_version_range=[1.20.4,1.21)
# The Neo version must agree with the Minecraft version to get a valid artifact
neo_version=20.4.80-beta
neo_version=20.4.161-beta
# The Neo version range can use any version of Neo as bounds
neo_version_range=[20.4,)
# The loader version range can only use the major version of FML as bounds
Expand All @@ -26,18 +26,20 @@ loader_version_range=[2,)

# The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63}
# Must match the String constant located in the main mod class annotated with @Mod.
mod_id=examplemod
mod_id=justdirethings
# The human-readable display name for the mod.
mod_name=Example Mod
mod_name=Just Dire Things
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=All Rights Reserved
mod_license=MIT
# The mod version. See https://semver.org/
mod_version=1.0.0
mod_version=0.0.1
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
mod_group_id=com.example.examplemod
mod_group_id=com.direwolf20.justdirethings
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
mod_authors=YourNameHere, OtherNameHere
mod_authors=Direwolf20
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
mod_description=Example mod description.\nNewline characters can be used and will be replaced properly.
mod_description=Just some things that Direwolf20 wanted.
#Dependencies
jei_version=17.3.0.48
29 changes: 29 additions & 0 deletions src/main/java/com/direwolf20/justdirethings/JustDireThings.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.direwolf20.justdirethings;

import com.direwolf20.justdirethings.setup.ClientSetup;
import com.direwolf20.justdirethings.setup.Config;
import com.direwolf20.justdirethings.setup.ModSetup;
import com.direwolf20.justdirethings.setup.Registration;
import com.mojang.logging.LogUtils;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.loading.FMLLoader;
import org.slf4j.Logger;

// The value here should match an entry in the META-INF/mods.toml file
@Mod(JustDireThings.MODID)
public class JustDireThings {
public static final String MODID = "justdirethings";
private static final Logger LOGGER = LogUtils.getLogger();

public JustDireThings(IEventBus modEventBus) {

Registration.init(modEventBus);
Config.register();
ModSetup.CREATIVE_MODE_TABS.register(modEventBus);

if (FMLLoader.getDist().isClient()) {
modEventBus.addListener(ClientSetup::init);
}
}
}
31 changes: 31 additions & 0 deletions src/main/java/com/direwolf20/justdirethings/setup/ClientSetup.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.direwolf20.justdirethings.setup;


import com.direwolf20.justdirethings.JustDireThings;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
import net.neoforged.neoforge.client.event.EntityRenderersEvent;

@Mod.EventBusSubscriber(modid = JustDireThings.MODID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD)
public class ClientSetup {
public static void init(final FMLClientSetupEvent event) {
//NeoForge.EVENT_BUS.addListener(KeyBindings::onClientInput);

//Register our Render Events Class
//NeoForge.EVENT_BUS.register(RenderLevelLast.class);
//NeoForge.EVENT_BUS.register(EventKeyInput.class);

//Screens
/*event.enqueueWork(() -> {
MenuScreens.register(Registration.TemplateManager_Container.get(), TemplateManagerGUI::new); // Attach our container to the screen
});*/
}

@SubscribeEvent
public static void registerRenderers(EntityRenderersEvent.RegisterRenderers event) {
//Register Block Entity Renders
//event.registerBlockEntityRenderer(Registration.RenderBlock_BE.get(), RenderBlockBER::new);
}
}
41 changes: 41 additions & 0 deletions src/main/java/com/direwolf20/justdirethings/setup/Config.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.direwolf20.justdirethings.setup;

import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.config.ModConfig;
import net.neoforged.neoforge.common.ModConfigSpec;

public class Config {
public static final ModConfigSpec.Builder CLIENT_BUILDER = new ModConfigSpec.Builder();
public static final ModConfigSpec.Builder COMMON_BUILDER = new ModConfigSpec.Builder();
public static final ModConfigSpec.Builder SERVER_BUILDER = new ModConfigSpec.Builder();

public static final String CATEGORY_GENERAL = "general";

public static void register() {
//registerServerConfigs();
registerCommonConfigs();
//registerClientConfigs();
}

private static void registerClientConfigs() {

ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, CLIENT_BUILDER.build());
}

private static void registerCommonConfigs() {
COMMON_BUILDER.comment("General settings").push(CATEGORY_GENERAL);
generalConfig();
COMMON_BUILDER.pop();

ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, COMMON_BUILDER.build());
}

private static void registerServerConfigs() {

ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, SERVER_BUILDER.build());
}

private static void generalConfig() {

}
}
27 changes: 27 additions & 0 deletions src/main/java/com/direwolf20/justdirethings/setup/ModSetup.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.direwolf20.justdirethings.setup;

import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.DeferredRegister;

import static com.direwolf20.justdirethings.JustDireThings.MODID;

public class ModSetup {
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MODID);
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> TAB_JUSTDIRETHINGS = CREATIVE_MODE_TABS.register(MODID, () -> CreativeModeTab.builder()
.title(Component.literal("Just Dire Things"))
.withTabsBefore(CreativeModeTabs.SPAWN_EGGS)
.icon(() -> Items.DIRT.getDefaultInstance()) //Todo Proper Item
.displayItems((parameters, output) -> {
Registration.ITEMS.getEntries().forEach(e -> {
Item item = e.get();
output.accept(item);
});
}).build());

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.direwolf20.justdirethings.setup;

import net.minecraft.core.registries.Registries;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredRegister;

import static com.direwolf20.justdirethings.JustDireThings.MODID;

public class Registration {
public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(MODID);
public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(MODID);
private static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, MODID);
private static final DeferredRegister<MenuType<?>> CONTAINERS = DeferredRegister.create(Registries.MENU, MODID);

public static void init(IEventBus eventBus) {
BLOCKS.register(eventBus);
ITEMS.register(eventBus);
BLOCK_ENTITIES.register(eventBus);
CONTAINERS.register(eventBus);
}
}
63 changes: 0 additions & 63 deletions src/main/java/com/example/examplemod/Config.java

This file was deleted.

Loading

0 comments on commit 6cbce5d

Please sign in to comment.