mod works !!!
|
@ -16,6 +16,7 @@ repositories {
|
|||
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
|
||||
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
|
||||
// for more information about repositories.
|
||||
maven { url "https://maven.shedaniel.me" }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -29,6 +30,9 @@ dependencies {
|
|||
|
||||
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs.
|
||||
// You may need to force-disable transitiveness on them.
|
||||
modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config_version}") {
|
||||
exclude(group: "net.fabricmc.fabric-api")
|
||||
}
|
||||
}
|
||||
|
||||
processResources {
|
||||
|
|
|
@ -14,3 +14,4 @@ org.gradle.jvmargs=-Xmx1G
|
|||
|
||||
# Dependencies
|
||||
fabric_version=0.39.2+1.17
|
||||
cloth_config_version=5.0.38
|
25
src/main/java/dk/palmoe/immersivetools/ImmersiveTools.java
Normal file
|
@ -0,0 +1,25 @@
|
|||
package dk.palmoe.immersivetools;
|
||||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import dk.palmoe.immersivetools.init.ItemInit;
|
||||
|
||||
public class ImmersiveTools implements ModInitializer {
|
||||
// This logger is used to write text to the console and the log file.
|
||||
// It is considered best practice to use your mod id as the logger's name.
|
||||
// That way, it's clear which mod wrote info, warnings, and errors.
|
||||
public static final Logger LOGGER = LogManager.getLogger("immersivetools");
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
// This code runs as soon as Minecraft is in a mod-load-ready state.
|
||||
// However, some things (like resources) may still be uninitialized.
|
||||
// Proceed with mild caution.
|
||||
|
||||
ItemInit.init();
|
||||
|
||||
// TODO: remove when mod is done
|
||||
LOGGER.info("Initialized Immersive Tools");
|
||||
}
|
||||
}
|
11
src/main/java/dk/palmoe/immersivetools/Util.java
Normal file
|
@ -0,0 +1,11 @@
|
|||
package dk.palmoe.immersivetools;
|
||||
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class Util {
|
||||
private static final String MOD_ID = "immersivetools";
|
||||
|
||||
public static Identifier ID(String path) {
|
||||
return new Identifier(MOD_ID, path);
|
||||
}
|
||||
}
|
65
src/main/java/dk/palmoe/immersivetools/init/ItemInit.java
Normal file
|
@ -0,0 +1,65 @@
|
|||
package dk.palmoe.immersivetools.init;
|
||||
|
||||
import dk.palmoe.immersivetools.Util;
|
||||
import dk.palmoe.immersivetools.item.*;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
|
||||
public class ItemInit {
|
||||
|
||||
// Copper
|
||||
public static final CopperPickaxeItem COPPER_PICKAXE_ITEM = new CopperPickaxeItem(
|
||||
new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final CopperAxeItem COPPER_AXE_ITEM = new CopperAxeItem(
|
||||
new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final CopperShovelItem COPPER_SHOVEL_ITEM = new CopperShovelItem(
|
||||
new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final CopperHoeItem COPPER_HOE_ITEM = new CopperHoeItem(
|
||||
new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final CopperSwordItem COPPER_SWORD_ITEM = new CopperSwordItem(
|
||||
new Item.Settings().group(ItemGroup.COMBAT));
|
||||
|
||||
public static final ArmorMaterial COPPER_ARMOR_MATERIAL = CopperArmorMaterial.getInstance();
|
||||
public static final Item COPPER_HELMET = new CopperArmor(COPPER_ARMOR_MATERIAL, EquipmentSlot.HEAD,
|
||||
new Item.Settings().group(ItemGroup.COMBAT));
|
||||
public static final Item COPPER_CHESTPLATE = new CopperArmor(COPPER_ARMOR_MATERIAL, EquipmentSlot.CHEST,
|
||||
new Item.Settings().group(ItemGroup.COMBAT));
|
||||
public static final Item COPPER_LEGGINGS = new CopperArmor(COPPER_ARMOR_MATERIAL, EquipmentSlot.LEGS,
|
||||
new Item.Settings().group(ItemGroup.COMBAT));
|
||||
public static final Item COPPER_BOOTS = new CopperArmor(COPPER_ARMOR_MATERIAL, EquipmentSlot.FEET,
|
||||
new Item.Settings().group(ItemGroup.COMBAT));
|
||||
|
||||
// Flint
|
||||
public static final FlintPickaxeItem FLINT_PICKAXE_ITEM = new FlintPickaxeItem(
|
||||
new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final FlintAxeItem FLINT_AXE_ITEM = new FlintAxeItem(new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final FlintShovelItem FLINT_SHOVEL_ITEM = new FlintShovelItem(
|
||||
new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final FlintHoeItem FLINT_HOE_ITEM = new FlintHoeItem(new Item.Settings().group(ItemGroup.TOOLS));
|
||||
public static final FlintSwordItem FLINT_SWORD_ITEM = new FlintSwordItem(
|
||||
new Item.Settings().group(ItemGroup.COMBAT));
|
||||
|
||||
public static void init() {
|
||||
// Copper
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_pickaxe"), COPPER_PICKAXE_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_axe"), COPPER_AXE_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_shovel"), COPPER_SHOVEL_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_hoe"), COPPER_HOE_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_sword"), COPPER_SWORD_ITEM);
|
||||
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_helmet"), COPPER_HELMET);
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_chestplate"), COPPER_CHESTPLATE);
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_leggings"), COPPER_LEGGINGS);
|
||||
Registry.register(Registry.ITEM, Util.ID("copper_boots"), COPPER_BOOTS);
|
||||
|
||||
// Flint
|
||||
Registry.register(Registry.ITEM, Util.ID("flint_pickaxe"), FLINT_PICKAXE_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("flint_axe"), FLINT_AXE_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("flint_shovel"), FLINT_SHOVEL_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("flint_hoe"), FLINT_HOE_ITEM);
|
||||
Registry.register(Registry.ITEM, Util.ID("flint_sword"), FLINT_SWORD_ITEM);
|
||||
}
|
||||
}
|
13
src/main/java/dk/palmoe/immersivetools/item/CopperArmor.java
Normal file
|
@ -0,0 +1,13 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.item.ArmorItem;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
|
||||
public class CopperArmor extends ArmorItem {
|
||||
|
||||
public CopperArmor(ArmorMaterial material, EquipmentSlot slot, Settings settings) {
|
||||
super(material, slot, settings);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.recipe.Ingredient;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
|
||||
public class CopperArmorMaterial implements ArmorMaterial {
|
||||
private static final int[] BASE_DURABILITY = new int[] { 13, 15, 16, 11 };
|
||||
private static final int[] PROTECTION_VALUES = new int[] { 2, 5, 4, 1 };
|
||||
|
||||
private static CopperArmorMaterial INSTANCE = null;
|
||||
|
||||
private CopperArmorMaterial() {
|
||||
}
|
||||
|
||||
public static CopperArmorMaterial getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new CopperArmorMaterial();
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
// TODO: Make copper armor properties configurable
|
||||
@Override
|
||||
public int getDurability(EquipmentSlot slot) {
|
||||
return BASE_DURABILITY[slot.getEntitySlotId()] * 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProtectionAmount(EquipmentSlot slot) {
|
||||
return PROTECTION_VALUES[slot.getEntitySlotId()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnchantability() {
|
||||
return 18;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getEquipSound() {
|
||||
return SoundEvents.ITEM_ARMOR_EQUIP_IRON;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingredient getRepairIngredient() {
|
||||
// TODO: Make copper armor repairable
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "copper";
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getToughness() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getKnockbackResistance() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.AxeItem;
|
||||
|
||||
public class CopperAxeItem extends AxeItem {
|
||||
public CopperAxeItem(Settings settings) {
|
||||
super(CopperToolMaterial.getInstance(), 7, -3.2f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.HoeItem;
|
||||
|
||||
public class CopperHoeItem extends HoeItem {
|
||||
public CopperHoeItem(Settings settings) {
|
||||
super(CopperToolMaterial.getInstance(), -2, -1f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.PickaxeItem;
|
||||
|
||||
public class CopperPickaxeItem extends PickaxeItem {
|
||||
public CopperPickaxeItem(Settings settings) {
|
||||
super(CopperToolMaterial.getInstance(), 1, -2.8f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.ShovelItem;
|
||||
|
||||
public class CopperShovelItem extends ShovelItem {
|
||||
public CopperShovelItem(Settings settings) {
|
||||
super(CopperToolMaterial.getInstance(), 1.5F, -3.0f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.SwordItem;
|
||||
|
||||
public class CopperSwordItem extends SwordItem {
|
||||
public CopperSwordItem(Settings settings) {
|
||||
super(CopperToolMaterial.getInstance(), 3, -2.4f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.ToolMaterial;
|
||||
import net.minecraft.recipe.Ingredient;
|
||||
|
||||
public class CopperToolMaterial implements ToolMaterial {
|
||||
private static CopperToolMaterial INSTANCE = null;
|
||||
|
||||
private CopperToolMaterial() {
|
||||
}
|
||||
|
||||
public static CopperToolMaterial getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new CopperToolMaterial();
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
// TODO: Make tool properties configurable
|
||||
@Override
|
||||
public float getAttackDamage() {
|
||||
// Dmg for sword is +3 of value below
|
||||
return 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDurability() {
|
||||
// iron = 250, diamond = 1561, stone = 131
|
||||
return 185;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnchantability() {
|
||||
return 19;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMiningLevel() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMiningSpeedMultiplier() {
|
||||
// 6 = iron, 8 = diamond
|
||||
return 7;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingredient getRepairIngredient() {
|
||||
// TODO: set repair item
|
||||
return null;
|
||||
}
|
||||
|
||||
// LevelZ Compatibility
|
||||
@Override
|
||||
public String toString() {
|
||||
return "COPPER";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.AxeItem;
|
||||
|
||||
public class FlintAxeItem extends AxeItem {
|
||||
public FlintAxeItem(Settings settings) {
|
||||
super(FlintToolMaterial.getInstance(), 6, -3.2f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.HoeItem;
|
||||
|
||||
public class FlintHoeItem extends HoeItem {
|
||||
public FlintHoeItem(Settings settings) {
|
||||
super(FlintToolMaterial.getInstance(), -2, -1f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.PickaxeItem;
|
||||
|
||||
public class FlintPickaxeItem extends PickaxeItem {
|
||||
public FlintPickaxeItem(Settings settings) {
|
||||
super(FlintToolMaterial.getInstance(), 1, -2.8f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.ShovelItem;
|
||||
|
||||
public class FlintShovelItem extends ShovelItem {
|
||||
public FlintShovelItem(Settings settings) {
|
||||
super(FlintToolMaterial.getInstance(), 1.5F, -3.0f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.SwordItem;
|
||||
|
||||
public class FlintSwordItem extends SwordItem {
|
||||
public FlintSwordItem(Settings settings) {
|
||||
super(FlintToolMaterial.getInstance(), 3, -2.4f, settings);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
package dk.palmoe.immersivetools.item;
|
||||
|
||||
import net.minecraft.item.ToolMaterial;
|
||||
import net.minecraft.recipe.Ingredient;
|
||||
|
||||
public class FlintToolMaterial implements ToolMaterial {
|
||||
private static FlintToolMaterial INSTANCE = null;
|
||||
|
||||
private FlintToolMaterial() {
|
||||
}
|
||||
|
||||
public static FlintToolMaterial getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new FlintToolMaterial();
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
// TODO: Make tool properties configurable
|
||||
@Override
|
||||
public float getAttackDamage() {
|
||||
// Dmg for sword is +3 of value below
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDurability() {
|
||||
// iron = 250, diamond = 1561, stone = 131
|
||||
return 131;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnchantability() {
|
||||
return 5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMiningLevel() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMiningSpeedMultiplier() {
|
||||
// 6 = iron, 8 = diamond
|
||||
return 4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingredient getRepairIngredient() {
|
||||
// TODO: set repair item
|
||||
return null;
|
||||
}
|
||||
|
||||
// LevelZ Compatibility
|
||||
@Override
|
||||
public String toString() {
|
||||
return "FLINT";
|
||||
}
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
package net.fabricmc.example.mixin;
|
||||
package dk.palmoe.immersivetools.mixin;
|
||||
|
||||
import net.fabricmc.example.ExampleMod;
|
||||
import net.minecraft.client.gui.screen.TitleScreen;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
@ -8,9 +7,9 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
|||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(TitleScreen.class)
|
||||
public class ExampleMixin {
|
||||
@Inject(at = @At("HEAD"), method = "init()V")
|
||||
private void init(CallbackInfo info) {
|
||||
ExampleMod.LOGGER.info("This line is printed by an example mod mixin!");
|
||||
}
|
||||
public class ImmersiveToolsMixin {
|
||||
@Inject(at = @At("HEAD"), method = "init()V")
|
||||
private void init(CallbackInfo info) {
|
||||
// TODO: Remove mixing if unused
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
package net.fabricmc.example;
|
||||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
public class ExampleMod implements ModInitializer {
|
||||
// This logger is used to write text to the console and the log file.
|
||||
// It is considered best practice to use your mod id as the logger's name.
|
||||
// That way, it's clear which mod wrote info, warnings, and errors.
|
||||
public static final Logger LOGGER = LogManager.getLogger("modid");
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
// This code runs as soon as Minecraft is in a mod-load-ready state.
|
||||
// However, some things (like resources) may still be uninitialized.
|
||||
// Proceed with mild caution.
|
||||
|
||||
LOGGER.info("Hello Fabric world!");
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
13
src/main/resources/assets/immersivetools/lang/en_us.json
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"item.immersivetools.copper_pickaxe": "Copper Pickaxe",
|
||||
"item.immersivetools.copper_axe": "Copper Axe",
|
||||
"item.immersivetools.copper_shovel": "Copper Shovel",
|
||||
"item.immersivetools.copper_hoe": "Copper Hoe",
|
||||
"item.immersivetools.copper_sword": "Copper Sword",
|
||||
|
||||
"item.immersivetools.flint_pickaxe": "Flint Pickaxe",
|
||||
"item.immersivetools.flint_axe": "Flint Axe",
|
||||
"item.immersivetools.flint_shovel": "Flint Shovel",
|
||||
"item.immersivetools.flint_hoe": "Flint Hoe",
|
||||
"item.immersivetools.flint_sword": "Flint Sword"
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_axe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_boots"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_chestplate"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_helmet"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_hoe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_leggings"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_pickaxe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_shovel"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/copper_sword"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/flint_axe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/flint_hoe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/flint_pickaxe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/flint_shovel"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "immersivetools:item/flint_sword"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 292 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 334 B |
After Width: | Height: | Size: 247 B |
After Width: | Height: | Size: 254 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 298 B |
After Width: | Height: | Size: 260 B |
After Width: | Height: | Size: 336 B |
After Width: | Height: | Size: 282 B |
After Width: | Height: | Size: 259 B |
After Width: | Height: | Size: 332 B |
After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 572 B |
4
src/main/resources/data/fabric/tags/items/axes.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": ["immersivetools:copper_axe", "immersivetools:flint_axe"]
|
||||
}
|
4
src/main/resources/data/fabric/tags/items/hoes.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": ["immersivetools:copper_hoe", "immersivetools:flint_hoe"]
|
||||
}
|
4
src/main/resources/data/fabric/tags/items/pickaxes.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": ["immersivetools:copper_pickaxe", "immersivetools:flint_pickaxe"]
|
||||
}
|
4
src/main/resources/data/fabric/tags/items/shovels.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": ["immersivetools:copper_shovel", "immersivetools:flint_shovel"]
|
||||
}
|
4
src/main/resources/data/fabric/tags/items/swords.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": ["immersivetools:copper_sword", "immersivetools:flint_sword"]
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["CC", "CS", " S"],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_axe",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["C C", "C C", " "],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_boots",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["C C", "CCC", "CCC"],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_chestplate",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["CCC", "C C", " "],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_helmet",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["CC", " S", " S"],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_hoe",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["CCC", "C C", "C C"],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_leggings",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["CCC", " S ", " S "],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_pickaxe",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["C", "S", "S"],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_shovel",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["C", "C", "S"],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:copper_sword",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["FF", "FS", " S"],
|
||||
"key": {
|
||||
"F": {
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:flint_axe",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["FF", " S", " S"],
|
||||
"key": {
|
||||
"F": {
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:flint_hoe",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["FFF", " S ", " S "],
|
||||
"key": {
|
||||
"F": {
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:flint_pickaxe",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["F", "S", "S"],
|
||||
"key": {
|
||||
"F": {
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:flint_shovel",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": ["F", "F", "S"],
|
||||
"key": {
|
||||
"F": {
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:stick"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "immersivetools:flint_sword",
|
||||
"count": 1
|
||||
}
|
||||
}
|
7
src/main/resources/data/levelz/item/copper_armor.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "defense",
|
||||
"level": 2,
|
||||
"item": "minecraft:armor",
|
||||
"material": "copper"
|
||||
}
|
7
src/main/resources/data/levelz/item/copper_axe.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "farming",
|
||||
"level": 2,
|
||||
"item": "minecraft:axe",
|
||||
"material": "copper"
|
||||
}
|
7
src/main/resources/data/levelz/item/copper_hoe.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "farming",
|
||||
"level": 2,
|
||||
"item": "minecraft:hoe",
|
||||
"material": "copper"
|
||||
}
|
7
src/main/resources/data/levelz/item/copper_pickaxe.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "mining",
|
||||
"level": 2,
|
||||
"item": "minecraft:tool",
|
||||
"material": "copper"
|
||||
}
|
7
src/main/resources/data/levelz/item/copper_sword.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "strength",
|
||||
"level": 2,
|
||||
"item": "minecraft:sword",
|
||||
"material": "copper"
|
||||
}
|
7
src/main/resources/data/levelz/item/flint_axe.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "farming",
|
||||
"level": 1,
|
||||
"item": "minecraft:axe",
|
||||
"material": "flit"
|
||||
}
|
7
src/main/resources/data/levelz/item/flint_hoe.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "farming",
|
||||
"level": 1,
|
||||
"item": "minecraft:hoe",
|
||||
"material": "hoe"
|
||||
}
|
7
src/main/resources/data/levelz/item/flint_pickaxe.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "mining",
|
||||
"level": 1,
|
||||
"item": "minecraft:tool",
|
||||
"material": "flint"
|
||||
}
|
7
src/main/resources/data/levelz/item/flint_sword.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"skill": "strength",
|
||||
"level": 1,
|
||||
"item": "minecraft:sword",
|
||||
"material": "flint"
|
||||
}
|
|
@ -1,38 +1,32 @@
|
|||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "modid",
|
||||
"version": "${version}",
|
||||
"schemaVersion": 1,
|
||||
"id": "immersivetools",
|
||||
"version": "${version}",
|
||||
|
||||
"name": "Example Mod",
|
||||
"description": "This is an example description! Tell everyone what your mod is about!",
|
||||
"authors": [
|
||||
"Me!"
|
||||
],
|
||||
"contact": {
|
||||
"homepage": "https://fabricmc.net/",
|
||||
"sources": "https://github.com/FabricMC/fabric-example-mod"
|
||||
},
|
||||
"name": "Immersive Tools",
|
||||
"description": "A small mod that adds flint- and copper tools with appropriate material tags and LevelZ support.",
|
||||
"authors": ["vodofrede"],
|
||||
"contact": {
|
||||
"homepage": "",
|
||||
"sources": ""
|
||||
},
|
||||
|
||||
"license": "CC0-1.0",
|
||||
"icon": "assets/modid/icon.png",
|
||||
"license": "BSD-3-Clause",
|
||||
"icon": "assets/immersivetools/icon.png",
|
||||
|
||||
"environment": "*",
|
||||
"entrypoints": {
|
||||
"main": [
|
||||
"net.fabricmc.example.ExampleMod"
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
"modid.mixins.json"
|
||||
],
|
||||
"environment": "*",
|
||||
"entrypoints": {
|
||||
"main": ["dk.palmoe.immersivetools.ImmersiveTools"]
|
||||
},
|
||||
"mixins": ["immersivetools.mixins.json"],
|
||||
|
||||
"depends": {
|
||||
"fabricloader": ">=0.11.3",
|
||||
"fabric": "*",
|
||||
"minecraft": "1.17.x",
|
||||
"java": ">=16"
|
||||
},
|
||||
"suggests": {
|
||||
"another-mod": "*"
|
||||
}
|
||||
"depends": {
|
||||
"fabricloader": ">=0.11.3",
|
||||
"fabric": "*",
|
||||
"minecraft": "1.17.x",
|
||||
"java": ">=16"
|
||||
},
|
||||
"suggests": {
|
||||
"another-mod": "*"
|
||||
}
|
||||
}
|
||||
|
|
11
src/main/resources/immersivetools.mixins.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "dk.palmoe.immersivetools.mixin",
|
||||
"compatibilityLevel": "JAVA_16",
|
||||
"mixins": [],
|
||||
"client": ["ImmersiveToolsMixin"],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "net.fabricmc.example.mixin",
|
||||
"compatibilityLevel": "JAVA_16",
|
||||
"mixins": [
|
||||
],
|
||||
"client": [
|
||||
"ExampleMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|