add nugget horse armor and related assets; update mod version to 1.1.1
This commit is contained in:
@@ -48,7 +48,7 @@ mod_name=Nugget Mod
|
|||||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||||
mod_license=MIT
|
mod_license=MIT
|
||||||
# The mod version. See https://semver.org/
|
# The mod version. See https://semver.org/
|
||||||
mod_version=1.1.0
|
mod_version=1.1.1
|
||||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
# 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.
|
# This should match the base package used for the mod sources.
|
||||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||||
|
|||||||
@@ -35,5 +35,7 @@ public class DataGenerators {
|
|||||||
|
|
||||||
generator.addProvider(event.includeClient(), new ModItemModelProvider(packOutput, existingFileHelper));
|
generator.addProvider(event.includeClient(), new ModItemModelProvider(packOutput, existingFileHelper));
|
||||||
generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper));
|
generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper));
|
||||||
|
|
||||||
|
generator.addProvider(event.includeServer(), new ModDatapackEntries(packOutput, lookupProvider));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package xyz.sillyangel.nugget.datagen;
|
||||||
|
|
||||||
|
import xyz.sillyangel.nugget.NuggetMod;
|
||||||
|
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
|
||||||
|
import xyz.sillyangel.nugget.trim.ModTrimMaterials;
|
||||||
|
import xyz.sillyangel.nugget.trim.ModTrimPatterns;
|
||||||
|
import net.minecraft.core.HolderLookup;
|
||||||
|
import net.minecraft.core.RegistrySetBuilder;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
public class ModDatapackEntries extends DatapackBuiltinEntriesProvider {
|
||||||
|
public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
|
||||||
|
.add(Registries.TRIM_MATERIAL, ModTrimMaterials::bootstrap)
|
||||||
|
.add(Registries.TRIM_PATTERN, ModTrimPatterns::bootstrap);
|
||||||
|
|
||||||
|
public ModDatapackEntries(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
|
||||||
|
super(output, registries, BUILDER, Set.of(NuggetMod.MOD_ID));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -41,6 +41,7 @@ public class ModItemModelProvider extends ItemModelProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void registerModels() {
|
protected void registerModels() {
|
||||||
|
basicItem(ModItems.NUGGET_HORSE_ARMOR.get());
|
||||||
basicItem(ModItems.NUGGET.get());
|
basicItem(ModItems.NUGGET.get());
|
||||||
basicItem(ModItems.RAW_NUGGET.get());
|
basicItem(ModItems.RAW_NUGGET.get());
|
||||||
|
|
||||||
|
|||||||
@@ -34,5 +34,9 @@ public class ModItemTagProvider extends ItemTagsProvider {
|
|||||||
.add(ModItems.NUGGET_CHESTPLATE.get())
|
.add(ModItems.NUGGET_CHESTPLATE.get())
|
||||||
.add(ModItems.NUGGET_LEGGINGS.get())
|
.add(ModItems.NUGGET_LEGGINGS.get())
|
||||||
.add(ModItems.NUGGET_BOOTS.get());
|
.add(ModItems.NUGGET_BOOTS.get());
|
||||||
|
tag(ItemTags.TRIM_MATERIALS)
|
||||||
|
.add(ModItems.NUGGET.get());
|
||||||
|
tag(ItemTags.TRIM_TEMPLATES)
|
||||||
|
.add(ModItems.NUGGET_SMITHING_TEMPLATE.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@ import xyz.sillyangel.nugget.item.ModItems;
|
|||||||
import net.minecraft.core.HolderLookup;
|
import net.minecraft.core.HolderLookup;
|
||||||
import net.minecraft.data.PackOutput;
|
import net.minecraft.data.PackOutput;
|
||||||
import net.minecraft.data.recipes.*;
|
import net.minecraft.data.recipes.*;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.item.crafting.*;
|
import net.minecraft.world.item.crafting.*;
|
||||||
import net.minecraft.world.level.ItemLike;
|
import net.minecraft.world.level.ItemLike;
|
||||||
import net.minecraftforge.common.crafting.conditions.IConditionBuilder;
|
import net.minecraftforge.common.crafting.conditions.IConditionBuilder;
|
||||||
@@ -122,6 +123,8 @@ public class ModRecipeProvider extends RecipeProvider implements IConditionBuild
|
|||||||
.define('A', ModItems.NUGGET.get())
|
.define('A', ModItems.NUGGET.get())
|
||||||
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())).save(pRecipeOutput);
|
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())).save(pRecipeOutput);
|
||||||
|
|
||||||
|
trimSmithing(pRecipeOutput, ModItems.NUGGET_SMITHING_TEMPLATE.get(), ResourceLocation.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget"));
|
||||||
|
|
||||||
oreSmelting(pRecipeOutput, NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget");
|
oreSmelting(pRecipeOutput, NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget");
|
||||||
oreBlasting(pRecipeOutput, NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 100, "nugget");
|
oreBlasting(pRecipeOutput, NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 100, "nugget");
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,9 @@ public class ModCreativeModeTabs {
|
|||||||
output.accept(ModItems.NUGGET_LEGGINGS.get());
|
output.accept(ModItems.NUGGET_LEGGINGS.get());
|
||||||
output.accept(ModItems.NUGGET_BOOTS.get());
|
output.accept(ModItems.NUGGET_BOOTS.get());
|
||||||
|
|
||||||
|
output.accept(ModItems.NUGGET_HORSE_ARMOR.get());
|
||||||
|
output.accept(ModItems.NUGGET_SMITHING_TEMPLATE.get());
|
||||||
|
|
||||||
}).build());
|
}).build());
|
||||||
|
|
||||||
public static final RegistryObject<CreativeModeTab> NUGGET_BLOCKS_TAB = CREATIVE_MODE_TABS.register("nuggetmod_blocks_tab",
|
public static final RegistryObject<CreativeModeTab> NUGGET_BLOCKS_TAB = CREATIVE_MODE_TABS.register("nuggetmod_blocks_tab",
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import net.minecraftforge.eventbus.api.IEventBus;
|
|||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
import net.minecraft.world.item.*;
|
import net.minecraft.world.item.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -55,8 +56,13 @@ public class ModItems {
|
|||||||
public static final RegistryObject<Item> NUGGET_BOOTS = ITEMS.register("nugget_boots",
|
public static final RegistryObject<Item> NUGGET_BOOTS = ITEMS.register("nugget_boots",
|
||||||
() -> new ArmorItem(ModArmorMaterials.NUGGET_ARMOR_MATERIAL, ArmorItem.Type.BOOTS,
|
() -> new ArmorItem(ModArmorMaterials.NUGGET_ARMOR_MATERIAL, ArmorItem.Type.BOOTS,
|
||||||
new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(25))));
|
new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(25))));
|
||||||
|
// horse armor
|
||||||
|
public static final RegistryObject<Item> NUGGET_HORSE_ARMOR = ITEMS.register("nugget_horse_armor",
|
||||||
|
() -> new AnimalArmorItem(ModArmorMaterials.NUGGET_ARMOR_MATERIAL, AnimalArmorItem.BodyType.EQUESTRIAN,
|
||||||
|
false, new Item.Properties().stacksTo(1)));
|
||||||
|
// smithing temp
|
||||||
|
public static final RegistryObject<Item> NUGGET_SMITHING_TEMPLATE = ITEMS.register("nugget_armor_trim_smithing_template",
|
||||||
|
() -> SmithingTemplateItem.createArmorTrimTemplate(ResourceLocation.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget")));
|
||||||
public static void register(IEventBus eventBus) {
|
public static void register(IEventBus eventBus) {
|
||||||
ITEMS.register(eventBus);
|
ITEMS.register(eventBus);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package xyz.sillyangel.nugget.trim;
|
||||||
|
|
||||||
|
import xyz.sillyangel.nugget.NuggetMod;
|
||||||
|
import xyz.sillyangel.nugget.item.ModItems;
|
||||||
|
import net.minecraft.Util;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.data.worldgen.BootstrapContext;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.network.chat.Style;
|
||||||
|
import net.minecraft.network.chat.TextColor;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.item.armortrim.TrimMaterial;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class ModTrimMaterials {
|
||||||
|
public static final ResourceKey<TrimMaterial> NUGGET =
|
||||||
|
ResourceKey.create(Registries.TRIM_MATERIAL, ResourceLocation.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget"));
|
||||||
|
|
||||||
|
public static void bootstrap(BootstrapContext<TrimMaterial> context) {
|
||||||
|
register(context, NUGGET, ModItems.NUGGET.get(), Style.EMPTY.withColor(TextColor.parseColor("#f9b042").getOrThrow()), 0.1F);
|
||||||
|
}
|
||||||
|
private static void register(BootstrapContext<TrimMaterial> context, ResourceKey<TrimMaterial> trimKey, Item item,
|
||||||
|
Style style, float itemModelIndex) {
|
||||||
|
TrimMaterial trimmaterial = TrimMaterial.create(trimKey.location().getPath(), item, itemModelIndex,
|
||||||
|
Component.translatable(Util.makeDescriptionId("trim_material", trimKey.location())).withStyle(style), Map.of());
|
||||||
|
context.register(trimKey, trimmaterial);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package xyz.sillyangel.nugget.trim;
|
||||||
|
|
||||||
|
import xyz.sillyangel.nugget.NuggetMod;
|
||||||
|
import xyz.sillyangel.nugget.item.ModItems;
|
||||||
|
import net.minecraft.Util;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.data.worldgen.BootstrapContext;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.item.armortrim.TrimPattern;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
|
public class ModTrimPatterns {
|
||||||
|
public static final ResourceKey<TrimPattern> NUGGET = ResourceKey.create(Registries.TRIM_PATTERN,
|
||||||
|
ResourceLocation.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget"));
|
||||||
|
|
||||||
|
public static void bootstrap(BootstrapContext<TrimPattern> context) {
|
||||||
|
register(context, ModItems.NUGGET_SMITHING_TEMPLATE.get(), NUGGET);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void register(BootstrapContext<TrimPattern> context, Item item, ResourceKey<TrimPattern> key) {
|
||||||
|
TrimPattern trimPattern = new TrimPattern(key.location(), ForgeRegistries.ITEMS.getHolder(item).get(),
|
||||||
|
Component.translatable(Util.makeDescriptionId("trim_pattern", key.location())), false);
|
||||||
|
context.register(key, trimPattern);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package xyz.sillyangel.nugget.util;
|
||||||
|
|
||||||
|
public class ModItemProperites {
|
||||||
|
|
||||||
|
}
|
||||||
63
src/main/resources/assets/minecraft/atlases/armor_trims.json
Normal file
63
src/main/resources/assets/minecraft/atlases/armor_trims.json
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "paletted_permutations",
|
||||||
|
"textures": [
|
||||||
|
"trims/models/armor/coast",
|
||||||
|
"trims/models/armor/coast_leggings",
|
||||||
|
"trims/models/armor/sentry",
|
||||||
|
"trims/models/armor/sentry_leggings",
|
||||||
|
"trims/models/armor/dune",
|
||||||
|
"trims/models/armor/dune_leggings",
|
||||||
|
"trims/models/armor/wild",
|
||||||
|
"trims/models/armor/wild_leggings",
|
||||||
|
"trims/models/armor/ward",
|
||||||
|
"trims/models/armor/ward_leggings",
|
||||||
|
"trims/models/armor/eye",
|
||||||
|
"trims/models/armor/eye_leggings",
|
||||||
|
"trims/models/armor/vex",
|
||||||
|
"trims/models/armor/vex_leggings",
|
||||||
|
"trims/models/armor/tide",
|
||||||
|
"trims/models/armor/tide_leggings",
|
||||||
|
"trims/models/armor/snout",
|
||||||
|
"trims/models/armor/snout_leggings",
|
||||||
|
"trims/models/armor/rib",
|
||||||
|
"trims/models/armor/rib_leggings",
|
||||||
|
"trims/models/armor/spire",
|
||||||
|
"trims/models/armor/spire_leggings",
|
||||||
|
"trims/models/armor/wayfinder",
|
||||||
|
"trims/models/armor/wayfinder_leggings",
|
||||||
|
"trims/models/armor/shaper",
|
||||||
|
"trims/models/armor/shaper_leggings",
|
||||||
|
"trims/models/armor/silence",
|
||||||
|
"trims/models/armor/silence_leggings",
|
||||||
|
"trims/models/armor/raiser",
|
||||||
|
"trims/models/armor/raiser_leggings",
|
||||||
|
"trims/models/armor/host",
|
||||||
|
"trims/models/armor/host_leggings",
|
||||||
|
"nuggetmod:trims/models/armor/nugget",
|
||||||
|
"nuggetmod:trims/models/armor/nugget_leggings"
|
||||||
|
|
||||||
|
],
|
||||||
|
"palette_key": "trims/color_palettes/trim_palette",
|
||||||
|
"permutations": {
|
||||||
|
"quartz": "trims/color_palettes/quartz",
|
||||||
|
"iron": "trims/color_palettes/iron",
|
||||||
|
"gold": "trims/color_palettes/gold",
|
||||||
|
"diamond": "trims/color_palettes/diamond",
|
||||||
|
"netherite": "trims/color_palettes/netherite",
|
||||||
|
"redstone": "trims/color_palettes/redstone",
|
||||||
|
"copper": "trims/color_palettes/copper",
|
||||||
|
"emerald": "trims/color_palettes/emerald",
|
||||||
|
"lapis": "trims/color_palettes/lapis",
|
||||||
|
"amethyst": "trims/color_palettes/amethyst",
|
||||||
|
"iron_darker": "trims/color_palettes/iron_darker",
|
||||||
|
"gold_darker": "trims/color_palettes/gold_darker",
|
||||||
|
"diamond_darker": "trims/color_palettes/diamond_darker",
|
||||||
|
"netherite_darker": "trims/color_palettes/netherite_darker",
|
||||||
|
"nugget": "nuggetmod:trims/color_palettes/nugget"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
"item.nuggetmod.nugget_shovel": "Nugget Shovel",
|
"item.nuggetmod.nugget_shovel": "Nugget Shovel",
|
||||||
"item.nuggetmod.nugget_axe": "Nugget Axe",
|
"item.nuggetmod.nugget_axe": "Nugget Axe",
|
||||||
"item.nuggetmod.nugget_hoe": "Nugget Hoe",
|
"item.nuggetmod.nugget_hoe": "Nugget Hoe",
|
||||||
|
"item.nuggetmod.nugget_horse_armor": "Nugget Horse Armor",
|
||||||
|
|
||||||
"item.nuggetmod.nugget_helmet": "Nugget Helmet",
|
"item.nuggetmod.nugget_helmet": "Nugget Helmet",
|
||||||
"item.nuggetmod.nugget_chestplate": "Nugget Chestplate",
|
"item.nuggetmod.nugget_chestplate": "Nugget Chestplate",
|
||||||
@@ -21,5 +22,8 @@
|
|||||||
"creativetab.nuggetmod.nugget_items": "Nugget Mod Items",
|
"creativetab.nuggetmod.nugget_items": "Nugget Mod Items",
|
||||||
"creativetab.nuggetmod.nugget_blocks": "Nugget Mod Blocks",
|
"creativetab.nuggetmod.nugget_blocks": "Nugget Mod Blocks",
|
||||||
|
|
||||||
"item.nuggetmod.nugget.tooltip": "THE NUGGET"
|
"item.nuggetmod.nugget.tooltip": "THE NUGGET",
|
||||||
|
|
||||||
|
"trim_pattern.nuggetmod.nugget": "Nugget Armor Trim",
|
||||||
|
"trim_material.nuggetmod.nugget": "Nugget Material"
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 921 B |
Binary file not shown.
|
After Width: | Height: | Size: 140 B |
Binary file not shown.
|
After Width: | Height: | Size: 584 B |
Binary file not shown.
|
After Width: | Height: | Size: 328 B |
Reference in New Issue
Block a user