diff --git a/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java b/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java index d6ca197..8db418c 100644 --- a/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java +++ b/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java @@ -10,5 +10,6 @@ import net.minecraft.util.Identifier; */ public class ModIdentifiers { public static final Identifier ITEM_STUB = Identifier.of(Quickiemod.MOD_ID, "stub"); - + public static final Identifier ITEM_SPEEDPOWDER = Identifier.of(Quickiemod.MOD_ID, "speedpowder"); + public static final Identifier ITEM_QUICKIEPOWDER = Identifier.of(Quickiemod.MOD_ID, "quickiepowder"); } diff --git a/src/main/java/de/jottyfan/quickiemod/item/AbstractIdentifiedItem.java b/src/main/java/de/jottyfan/quickiemod/item/AbstractIdentifiedItem.java new file mode 100644 index 0000000..0bc8bda --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/item/AbstractIdentifiedItem.java @@ -0,0 +1,20 @@ +package de.jottyfan.quickiemod.item; + +import net.minecraft.item.Item; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.util.Identifier; + +/** + * + * @author jotty + * + */ +public abstract class AbstractIdentifiedItem extends Item { + + public AbstractIdentifiedItem(Identifier identifier, Integer maxCount) { + super(new Item.Settings().maxCount(maxCount).useItemPrefixedTranslationKey() + .registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier))); + } + +} diff --git a/src/main/java/de/jottyfan/quickiemod/item/Item64Stack.java b/src/main/java/de/jottyfan/quickiemod/item/Item64Stack.java new file mode 100644 index 0000000..2ca2b1d --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/item/Item64Stack.java @@ -0,0 +1,16 @@ +package de.jottyfan.quickiemod.item; + +import net.minecraft.util.Identifier; + +/** + * + * @author jotty + * + */ +public class Item64Stack extends AbstractIdentifiedItem { + + public Item64Stack(Identifier identifier) { + super(identifier, 64); + } + +} diff --git a/src/main/java/de/jottyfan/quickiemod/item/ModItems.java b/src/main/java/de/jottyfan/quickiemod/item/ModItems.java index f692619..ee59111 100644 --- a/src/main/java/de/jottyfan/quickiemod/item/ModItems.java +++ b/src/main/java/de/jottyfan/quickiemod/item/ModItems.java @@ -2,13 +2,14 @@ package de.jottyfan.quickiemod.item; import de.jottyfan.quickiemod.Quickiemod; import de.jottyfan.quickiemod.identifier.ModIdentifiers; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; import net.minecraft.item.Item; -import net.minecraft.item.ItemGroups; +import net.minecraft.item.ItemStack; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; +import net.minecraft.text.Text; import net.minecraft.util.Identifier; /** @@ -17,9 +18,9 @@ import net.minecraft.util.Identifier; * */ public class ModItems { - public static final Item ITEM_STUB = registerItem(ModIdentifiers.ITEM_STUB, - new Item(new Item.Settings().maxCount(64).useItemPrefixedTranslationKey() - .registryKey(RegistryKey.of(RegistryKeys.ITEM, ModIdentifiers.ITEM_STUB)))); + public static final Item ITEM_STUB = registerItem(ModIdentifiers.ITEM_STUB, new Item64Stack(ModIdentifiers.ITEM_STUB)); + public static final Item ITEM_SPEEDPOWDER = registerItem(ModIdentifiers.ITEM_SPEEDPOWDER, new Item64Stack(ModIdentifiers.ITEM_SPEEDPOWDER)); + public static final Item ITEM_QUICKIEPOWDER = registerItem(ModIdentifiers.ITEM_QUICKIEPOWDER, new Item64Stack(ModIdentifiers.ITEM_QUICKIEPOWDER)); private static final Item registerItem(Identifier identifier, Item item) { return Registry.register(Registries.ITEM, identifier, item); @@ -28,8 +29,13 @@ public class ModItems { public static final void registerModItems() { Quickiemod.LOGGER.info(String.format("registering items for %s", Quickiemod.MOD_ID)); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register(entries -> { - entries.add(ITEM_STUB); - }); + Registry.register(Registries.ITEM_GROUP, + RegistryKey.of(RegistryKeys.ITEM_GROUP, Identifier.of(Quickiemod.MOD_ID, "itemgroup")), + FabricItemGroup.builder().icon(() -> new ItemStack(ITEM_SPEEDPOWDER)) + .displayName(Text.literal(Quickiemod.MOD_ID)).entries((enabledFeatures, stacks) -> { + stacks.add(new ItemStack(ITEM_STUB)); + stacks.add(new ItemStack(ITEM_SPEEDPOWDER)); + stacks.add(new ItemStack(ITEM_QUICKIEPOWDER)); + }).build()); } } diff --git a/src/main/resources/assets/quickiemod/blockstates/blockquickiepowder.json b/src/main/resources/assets/quickiemod/blockstates/blockquickiepowder.json new file mode 100644 index 0000000..3a61359 --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/blockquickiepowder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiemod:block/blockquickiepowder" + } + } +} diff --git a/src/main/resources/assets/quickiemod/blockstates/blockspeedpowder.json b/src/main/resources/assets/quickiemod/blockstates/blockspeedpowder.json new file mode 100644 index 0000000..d7180b7 --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/blockspeedpowder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiemod:block/blockspeedpowder" + } + } +} diff --git a/src/main/resources/assets/quickiemod/models/block/blockquickiepowder.json b/src/main/resources/assets/quickiemod/models/block/blockquickiepowder.json new file mode 100644 index 0000000..74f91e5 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/blockquickiepowder.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiemod:block/blockquickiepowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/blockspeedpowder.json b/src/main/resources/assets/quickiemod/models/block/blockspeedpowder.json new file mode 100644 index 0000000..2c47f2c --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/blockspeedpowder.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiemod:block/blockspeedpowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/blockquickiepowder.json b/src/main/resources/assets/quickiemod/models/item/blockquickiepowder.json new file mode 100644 index 0000000..277c69a --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/blockquickiepowder.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiemod:block/blockquickiepowder", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/blockspeedpowder.json b/src/main/resources/assets/quickiemod/models/item/blockspeedpowder.json new file mode 100644 index 0000000..9cb3013 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/blockspeedpowder.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiemod:block/blockspeedpowder", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/quickiepowder.json b/src/main/resources/assets/quickiemod/models/item/quickiepowder.json new file mode 100644 index 0000000..02966e1 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/quickiepowder.json @@ -0,0 +1,6 @@ +{ + "parent": "item/coal", + "textures": { + "layer0": "quickiemod:item/quickiepowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/speedpowder.json b/src/main/resources/assets/quickiemod/models/item/speedpowder.json new file mode 100644 index 0000000..79cd274 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/speedpowder.json @@ -0,0 +1,6 @@ +{ + "parent": "item/coal", + "textures": { + "layer0": "quickiemod:item/speedpowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/textures/block/blockquickiepowder.png b/src/main/resources/assets/quickiemod/textures/block/blockquickiepowder.png new file mode 100644 index 0000000..958902d Binary files /dev/null and b/src/main/resources/assets/quickiemod/textures/block/blockquickiepowder.png differ diff --git a/src/main/resources/assets/quickiemod/textures/block/blockspeedpowder.png b/src/main/resources/assets/quickiemod/textures/block/blockspeedpowder.png new file mode 100644 index 0000000..2b5b745 Binary files /dev/null and b/src/main/resources/assets/quickiemod/textures/block/blockspeedpowder.png differ diff --git a/src/main/resources/assets/quickiemod/textures/item/quickiepowder.png b/src/main/resources/assets/quickiemod/textures/item/quickiepowder.png new file mode 100644 index 0000000..317fdb7 Binary files /dev/null and b/src/main/resources/assets/quickiemod/textures/item/quickiepowder.png differ diff --git a/src/main/resources/assets/quickiemod/textures/item/speedpowder.png b/src/main/resources/assets/quickiemod/textures/item/speedpowder.png new file mode 100644 index 0000000..a096fe3 Binary files /dev/null and b/src/main/resources/assets/quickiemod/textures/item/speedpowder.png differ diff --git a/src/main/resources/data/quickiemod/recipe/shapeless_blockquickiepowder_from_slimeblockandspeedpowderblock.json b/src/main/resources/data/quickiemod/recipe/shapeless_blockquickiepowder_from_slimeblockandspeedpowderblock.json new file mode 100644 index 0000000..38d0b09 --- /dev/null +++ b/src/main/resources/data/quickiemod/recipe/shapeless_blockquickiepowder_from_slimeblockandspeedpowderblock.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "minecraft:slime_block", + "quickiemod:blockspeedpowder" + ], + "result": { + "id": "quickiemod:blockquickiepowder", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/recipe/shapeless_blockspeedpowder_from_salpetersulforcoalblock.json b/src/main/resources/data/quickiemod/recipe/shapeless_blockspeedpowder_from_salpetersulforcoalblock.json new file mode 100644 index 0000000..157e805 --- /dev/null +++ b/src/main/resources/data/quickiemod/recipe/shapeless_blockspeedpowder_from_salpetersulforcoalblock.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "quickiemod:blocksalpeter", + "quickiemod:blocksulphor", + "minecraft:coal_block" + ], + "result": { + "id": "quickiemod:blockspeedpowder", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_block.json b/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_block.json new file mode 100644 index 0000000..a4c871a --- /dev/null +++ b/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_block.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "quickiemod:blockquickiepowder" + ], + "result": { + "id": "quickiemod:quickiepowder", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_oxidizedcopperpowder.json b/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_oxidizedcopperpowder.json new file mode 100644 index 0000000..b89b35f --- /dev/null +++ b/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_oxidizedcopperpowder.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "quickiemod:speedpowder", + "quickiemod:oxidizedcopperpowder" + ], + "result": { + "id": "quickiemod:quickiepowder", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_slimeball.json b/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_slimeball.json new file mode 100644 index 0000000..81437a5 --- /dev/null +++ b/src/main/resources/data/quickiemod/recipe/shapeless_quickiepowder_from_slimeball.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "quickiemod:speedpowder", + "minecraft:slime_ball" + ], + "result": { + "id": "quickiemod:quickiepowder", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/recipe/shapeless_speedpowder.json b/src/main/resources/data/quickiemod/recipe/shapeless_speedpowder.json new file mode 100644 index 0000000..98ab0a9 --- /dev/null +++ b/src/main/resources/data/quickiemod/recipe/shapeless_speedpowder.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "minecraft:gunpowder", + "minecraft:redstone" + ], + "result": { + "id": "quickiemod:speedpowder", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/recipe/shapeless_speedpowder_from_block.json b/src/main/resources/data/quickiemod/recipe/shapeless_speedpowder_from_block.json new file mode 100644 index 0000000..a1dba73 --- /dev/null +++ b/src/main/resources/data/quickiemod/recipe/shapeless_speedpowder_from_block.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "quickiemod:blockspeedpowder" + ], + "result": { + "id": "quickiemod:speedpowder", + "count": 9 + } +} \ No newline at end of file