major mod registries code refactor

This commit is contained in:
J-onasJones 2024-10-07 02:06:56 +02:00
parent 840ee534a1
commit 76fa00ec8c
10 changed files with 231 additions and 195 deletions

View file

@ -1,11 +1,9 @@
package me.jonasjones.nec;
import me.jonasjones.nec.block.ModBlocks;
import me.jonasjones.nec.item.ModItems;
import me.jonasjones.nec.util.ModRegistries;
import me.jonasjones.nec.registry.ModBlocks;
import me.jonasjones.nec.registry.ModItems;
import me.jonasjones.nec.registry.ModRegistries;
import net.fabricmc.api.ModInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class NotEnoughCursedness implements ModInitializer {
// This logger is used to write text to the console and the log file.
@ -17,8 +15,6 @@ public class NotEnoughCursedness implements ModInitializer {
@Override
public void onInitialize() {
ModBlocks.register();
ModItems.register();
ModRegistries.registerModStuffs();
}
}

View file

@ -1,4 +1,4 @@
package me.jonasjones.nec.block.util;
package me.jonasjones.nec.block;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;

View file

@ -1,97 +0,0 @@
package me.jonasjones.nec.block;
import me.jonasjones.nec.block.util.EvenThickerEndRodBlock;
import me.jonasjones.nec.block.util.ThickEndRodBlock;
import me.jonasjones.nec.block.util.ThickerEndRodBlock;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.*;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
import static net.minecraft.registry.Registries.BLOCK;
import static net.minecraft.registry.Registries.ITEM;
public class ModBlocks {
public static Block GREEN_BIRCH_LOG;
public static Block BLAZE_BLOCK;
public static Block GUN_BLOCK;
public static Block DIAMOND_ORE_ORE;
public static Block DEEPSLATE_DIAMOND_ORE_ORE;
public static Block JAVA_BLOCK;
public static Block POCKET_BLOCK;
public static Block FLETCHING_STAIRS_BLOCK;
public static Block THICK_END_ROD;
public static Block THICKER_END_ROD;
public static Block EVEN_THICKER_END_ROD;
public static BlockItem GUN_BLOCK_ITEM;
public static Block GUN_BLOCK_BLOCK;
public static BlockItem BLAZE_BLOCK_ITEM;
public static Block BLAZE_BLOCK_BLOCK;
public static BlockItem GREEN_BIRCH_LOG_ITEM;
public static Block GREEEN_BIRCH_LOG_BLOCK;
public static BlockItem DIAMOND_ORE_ORE_ITEM;
public static Block DIAMOND_ORE_ORE_BLOCK;
public static BlockItem DEEPSLATE_DIAMOND_ORE_ORE_ITEM;
public static Block DEEPSLATE_DIAMOND_ORE_ORE_BLOCK;
public static BlockItem JAVA_BLOCK_ITEM;
public static Block JAVA_BLOCK_BLOCK;
public static BlockItem POCKET_BLOCK_ITEM;
public static Block POCKET_BLOCK_BLOCK;
public static BlockItem FLETCHING_STAIRS_TIEM;
public static Block FLETCHING_STAIRS_BLOCK_BLOCK;
public static BlockItem THICK_END_ROD_ITEM;
public static Block THICK_END_ROD_BLOCK;
public static BlockItem THICKER_END_ROD_ITEM;
public static Block THICKER_END_ROD_BLOCK;
public static BlockItem EVEN_THICKER_END_ROD_ITEM;
public static Block EVEN_THICKER_END_ROD_BLOCK;
public static void register() {
BLAZE_BLOCK = new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F));
BLAZE_BLOCK_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "blaze_block"), BLAZE_BLOCK);
BLAZE_BLOCK_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "blaze_block"), new BlockItem(BLAZE_BLOCK, new Item.Settings()));
GREEN_BIRCH_LOG = new PillarBlock(FabricBlockSettings.copyOf(Blocks.BIRCH_LOG).strength(4.0f));
GREEEN_BIRCH_LOG_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "green_birch_log"), GREEN_BIRCH_LOG);
GREEN_BIRCH_LOG_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "green_birch_log"), new BlockItem(GREEN_BIRCH_LOG, new Item.Settings()));
GUN_BLOCK = new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F));
GUN_BLOCK_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "gun_block"), GUN_BLOCK);
GUN_BLOCK_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "gun_block"), new BlockItem(GUN_BLOCK, new Item.Settings()));
DIAMOND_ORE_ORE = new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_ORE).strength(5.0F));
DIAMOND_ORE_ORE_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "diamond_ore_ore"), DIAMOND_ORE_ORE);
DIAMOND_ORE_ORE_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "diamond_ore_ore"), new BlockItem(DIAMOND_ORE_ORE, new Item.Settings()));
DEEPSLATE_DIAMOND_ORE_ORE = new Block(FabricBlockSettings.copyOf(Blocks.DEEPSLATE_DIAMOND_ORE).strength(5.0F));
DEEPSLATE_DIAMOND_ORE_ORE_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "deepslate_diamond_ore_ore"), DEEPSLATE_DIAMOND_ORE_ORE);
DEEPSLATE_DIAMOND_ORE_ORE_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "deepslate_diamond_ore_ore"), new BlockItem(DEEPSLATE_DIAMOND_ORE_ORE, new Item.Settings()));
JAVA_BLOCK = new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F));
JAVA_BLOCK_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "java_block"), JAVA_BLOCK);
JAVA_BLOCK_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "java_block"), new BlockItem(JAVA_BLOCK, new Item.Settings()));
POCKET_BLOCK = new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F));
POCKET_BLOCK_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "pocket_block"), POCKET_BLOCK);
POCKET_BLOCK_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "pocket_block"), new BlockItem(POCKET_BLOCK, new Item.Settings()));
FLETCHING_STAIRS_BLOCK = new StairsBlock(GREEEN_BIRCH_LOG_BLOCK.getDefaultState(), FabricBlockSettings.copyOf(Blocks.OAK_STAIRS).strength(1.0F));
FLETCHING_STAIRS_BLOCK_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "fletching_stairs"), FLETCHING_STAIRS_BLOCK);
FLETCHING_STAIRS_TIEM = Registry.register(ITEM, Identifier.of(MOD_ID, "fletching_stairs"), new BlockItem(FLETCHING_STAIRS_BLOCK, new Item.Settings()));
THICK_END_ROD = new ThickEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F));
THICK_END_ROD_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "thick_end_rod"), THICK_END_ROD);
THICK_END_ROD_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "thick_end_rod"), new BlockItem(THICK_END_ROD, new Item.Settings()));
THICKER_END_ROD = new ThickerEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F));
THICKER_END_ROD_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "thicker_end_rod"), THICKER_END_ROD);
THICKER_END_ROD_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "thicker_end_rod"), new BlockItem(THICKER_END_ROD, new Item.Settings()));
EVEN_THICKER_END_ROD = new EvenThickerEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F));
EVEN_THICKER_END_ROD_BLOCK = Registry.register(BLOCK, Identifier.of(MOD_ID, "even_thicker_end_rod"), EVEN_THICKER_END_ROD);
EVEN_THICKER_END_ROD_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "even_thicker_end_rod"), new BlockItem(EVEN_THICKER_END_ROD, new Item.Settings()));
}
}

View file

@ -1,16 +1,13 @@
package me.jonasjones.nec.block.util;
package me.jonasjones.nec.block;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.EndRodBlock;
import net.minecraft.block.ShapeContext;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.random.Random;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
public class ThickEndRodBlock extends EndRodBlock {
public ThickEndRodBlock(Settings settings) {

View file

@ -1,4 +1,4 @@
package me.jonasjones.nec.block.util;
package me.jonasjones.nec.block;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;

View file

@ -10,8 +10,6 @@ import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import net.minecraft.advancement.criterion.InventoryChangedCriterion;
import net.minecraft.advancement.criterion.RecipeCraftedCriterion;
import net.minecraft.advancement.criterion.RecipeUnlockedCriterion;
import net.minecraft.advancement.criterion.TickCriterion;
import net.minecraft.item.Items;
import net.minecraft.registry.RegistryWrapper;
@ -19,8 +17,8 @@ import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
import static me.jonasjones.nec.block.ModBlocks.*;
import static me.jonasjones.nec.item.ModItems.*;
import static me.jonasjones.nec.registry.ModBlocks.*;
import static me.jonasjones.nec.registry.ModItems.*;
public class NecDataGen implements DataGeneratorEntrypoint {
@Override
@ -83,7 +81,7 @@ public class NecDataGen implements DataGeneratorEntrypoint {
AdvancementEntry gotPocketBlockAdvancement = Advancement.Builder.create().parent(rootAdvancement)
.display(
POCKET_BLOCK_ITEM,
POCKET_BLOCK.blockItem,
Text.translatable("advancements.nec.pocket_block.title"),
Text.translatable("advancements.nec.pocket_block.description"),
null, // children to parent advancements don't need a background set
@ -92,12 +90,12 @@ public class NecDataGen implements DataGeneratorEntrypoint {
true,
false
)
.criterion("got_pocket_block", InventoryChangedCriterion.Conditions.items(POCKET_BLOCK_ITEM))
.criterion("got_pocket_block", InventoryChangedCriterion.Conditions.items(POCKET_BLOCK.blockItem))
.build(consumer, "nec" + "/got_pocket_block");
AdvancementEntry gotJavaBlockAdvancement = Advancement.Builder.create().parent(gotPocketBlockAdvancement)
.display(
JAVA_BLOCK,
JAVA_BLOCK.blockItem,
Text.translatable("advancements.nec.java_block.title"),
Text.translatable("advancements.nec.java_block.description"),
null, // children to parent advancements don't need a background set
@ -106,7 +104,7 @@ public class NecDataGen implements DataGeneratorEntrypoint {
true,
false
)
.criterion("got_java_block", InventoryChangedCriterion.Conditions.items(JAVA_BLOCK))
.criterion("got_java_block", InventoryChangedCriterion.Conditions.items(JAVA_BLOCK.blockItem))
.build(consumer, "nec" + "/got_java_block");
AdvancementEntry gotBedrockAdvancement = Advancement.Builder.create().parent(gotJavaBlockAdvancement)
@ -125,7 +123,7 @@ public class NecDataGen implements DataGeneratorEntrypoint {
AdvancementEntry gotFletchingStairsAdvancement = Advancement.Builder.create().parent(rootAdvancement)
.display(
FLETCHING_STAIRS_TIEM,
FLETCHING_STAIRS_BLOCK.blockItem,
Text.translatable("advancements.nec.fletching_stairs.title"),
Text.translatable("advancements.nec.fletching_stairs.description"),
null, // children to parent advancements don't need a background set
@ -134,12 +132,12 @@ public class NecDataGen implements DataGeneratorEntrypoint {
true,
false
)
.criterion("got_fletching_stairs", InventoryChangedCriterion.Conditions.items(FLETCHING_STAIRS_TIEM))
.criterion("got_fletching_stairs", InventoryChangedCriterion.Conditions.items(FLETCHING_STAIRS_BLOCK.blockItem))
.build(consumer, "nec" + "/got_fletching_stairs");
AdvancementEntry gotThickEndRodAdvancement = Advancement.Builder.create().parent(rootAdvancement)
.display(
THICK_END_ROD_ITEM,
THICK_END_ROD.blockItem,
Text.translatable("advancements.nec.thick_end_rod.title"),
Text.translatable("advancements.nec.thick_end_rod.description"),
null, // children to parent advancements don't need a background set
@ -148,12 +146,12 @@ public class NecDataGen implements DataGeneratorEntrypoint {
false,
false
)
.criterion("got_thick_end_rod", InventoryChangedCriterion.Conditions.items(THICK_END_ROD_ITEM))
.criterion("got_thick_end_rod", InventoryChangedCriterion.Conditions.items(THICK_END_ROD.blockItem))
.build(consumer, "nec" + "/got_thick_end_rod");
AdvancementEntry gotThickerEndRodAdvancement = Advancement.Builder.create().parent(gotThickEndRodAdvancement)
.display(
THICKER_END_ROD_ITEM,
THICKER_END_ROD.blockItem,
Text.translatable("advancements.nec.thicker_end_rod.title"),
Text.translatable("advancements.nec.thicker_end_rod.description"),
null, // children to parent advancements don't need a background set
@ -162,12 +160,12 @@ public class NecDataGen implements DataGeneratorEntrypoint {
false,
false
)
.criterion("got_thicker_end_rod", InventoryChangedCriterion.Conditions.items(THICKER_END_ROD_ITEM))
.criterion("got_thicker_end_rod", InventoryChangedCriterion.Conditions.items(THICKER_END_ROD.blockItem))
.build(consumer, "nec" + "/got_thicker_end_rod");
AdvancementEntry gotEvenThickerEndRodAdvancement = Advancement.Builder.create().parent(gotThickerEndRodAdvancement)
.display(
EVEN_THICKER_END_ROD_ITEM,
EVEN_THICKER_END_ROD.blockItem,
Text.translatable("advancements.nec.even_thicker_end_rod.title"),
Text.translatable("advancements.nec.even_thicker_end_rod.description"),
null, // children to parent advancements don't need a background set
@ -176,7 +174,7 @@ public class NecDataGen implements DataGeneratorEntrypoint {
false,
false
)
.criterion("got_even_thicker_end_rod", InventoryChangedCriterion.Conditions.items(EVEN_THICKER_END_ROD_ITEM))
.criterion("got_even_thicker_end_rod", InventoryChangedCriterion.Conditions.items(EVEN_THICKER_END_ROD.blockItem))
.build(consumer, "nec" + "/got_even_thicker_end_rod");
AdvancementEntry gotLapisGoldenAppleAdvancement = Advancement.Builder.create().parent(rootAdvancement)

View file

@ -1,50 +0,0 @@
package me.jonasjones.nec.item;
import me.jonasjones.nec.item.materials.DirtToolMaterial;
import net.minecraft.component.type.FoodComponent;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.Item;
import net.minecraft.item.SwordItem;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
import static net.minecraft.registry.Registries.ITEM;
public class ModItems {
public static Item STEEL_ITEM;
public static SwordItem DIRT_SWORD_ITEM;
public static Item NEGATIVE_FLINT_ITEM;
public static Item LETTER_ITEM;
public static Item CHAINMAIL_ITEM;
public static Item AK47_ITEM;
public static Item HELMET_ON_A_STICK_ITEM;
public static Item LAPIS_GOLDEN_APPLE_ITEM;
public static void register() {
SwordItem DIRT_SWORD = new SwordItem(DirtToolMaterial.INSTANCE, new Item.Settings());
DIRT_SWORD_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "dirt_sword"), DIRT_SWORD);
Item STEEL = new Item(new Item.Settings());
STEEL_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "steel"), STEEL);
Item NEGATIVE_FLINT = new Item(new Item.Settings());
NEGATIVE_FLINT_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "negative_flint"), NEGATIVE_FLINT);
Item LETTER = new Item(new Item.Settings());
LETTER_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "letter"), LETTER);
Item CHAINMAIL = new Item(new Item.Settings());
CHAINMAIL_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "chainmail"), CHAINMAIL);
Item AK47 = new Item(new Item.Settings());
AK47_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "ak_47"), AK47);
Item HELMET_ON_A_STICK = new Item(new Item.Settings());
HELMET_ON_A_STICK_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "helmet_on_a_stick"), HELMET_ON_A_STICK);
Item LAPIS_GOLDEN_APPLE = new Item(new Item.Settings().food(new FoodComponent.Builder().saturationModifier(0.3f).statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 200, 1), 1.0f).statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 2400), 1.0f).statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 6000), 1.0f).statusEffect(new StatusEffectInstance(StatusEffects.FIRE_RESISTANCE, 6000), 1.0f).statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 2400), 1.0f).statusEffect(new StatusEffectInstance(StatusEffects.SATURATION, 2400), 1.0f).build()));
LAPIS_GOLDEN_APPLE_ITEM = Registry.register(ITEM, Identifier.of(MOD_ID, "lapis_golden_apple"), LAPIS_GOLDEN_APPLE);
}
}

View file

@ -0,0 +1,111 @@
package me.jonasjones.nec.registry;
import me.jonasjones.nec.block.EvenThickerEndRodBlock;
import me.jonasjones.nec.block.RodBlock;
import me.jonasjones.nec.block.ThickEndRodBlock;
import me.jonasjones.nec.block.ThickerEndRodBlock;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.*;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import java.util.HashMap;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
import static net.minecraft.registry.Registries.BLOCK;
import static net.minecraft.registry.Registries.ITEM;
public class ModBlocks {
public static BlockWithItem GREEN_BIRCH_LOG;
public static BlockWithItem BLAZE_BLOCK;
public static BlockWithItem GUN_BLOCK;
public static BlockWithItem DIAMOND_ORE_ORE;
public static BlockWithItem DEEPSLATE_DIAMOND_ORE_ORE;
public static BlockWithItem JAVA_BLOCK;
public static BlockWithItem POCKET_BLOCK;
public static BlockWithItem FLETCHING_STAIRS_BLOCK;
public static BlockWithItem THICK_END_ROD;
public static BlockWithItem THICKER_END_ROD;
public static BlockWithItem EVEN_THICKER_END_ROD;
public static BlockWithItem END_ROD_BLOCK;
public static class BlockWithItem {
public final Block block;
public final BlockItem blockItem;
public BlockWithItem(Block block, BlockItem blockItem) {
this.block = block;
this.blockItem = blockItem;
}
}
public static void register() {
BLAZE_BLOCK = registerBlock(
"blaze_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
GREEN_BIRCH_LOG = registerBlock(
"green_birch_log",
new PillarBlock(FabricBlockSettings.copyOf(Blocks.BIRCH_LOG).strength(4.0f))
);
GUN_BLOCK = registerBlock(
"gun_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
DIAMOND_ORE_ORE = registerBlock(
"diamond_ore_ore",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_ORE).strength(5.0F))
);
DEEPSLATE_DIAMOND_ORE_ORE = registerBlock(
"deepslate_diamond_ore_ore",
new Block(FabricBlockSettings.copyOf(Blocks.DEEPSLATE_DIAMOND_ORE).strength(5.0F))
);
JAVA_BLOCK = registerBlock(
"java_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
POCKET_BLOCK = registerBlock(
"pocket_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
FLETCHING_STAIRS_BLOCK = registerBlock(
"fletching_stairs",
new StairsBlock(GREEN_BIRCH_LOG.block.getDefaultState(), FabricBlockSettings.copyOf(Blocks.OAK_STAIRS).strength(1.0F))
);
THICK_END_ROD = registerBlock(
"thick_end_rod",
new ThickEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F))
);
THICKER_END_ROD = registerBlock(
"thicker_end_rod",
new ThickerEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F))
);
EVEN_THICKER_END_ROD = registerBlock(
"even_thicker_end_rod",
new EvenThickerEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F))
);
END_ROD_BLOCK = registerBlock(
public static BlockWithItem registerBlock(String name, Block block) {
Identifier id = Identifier.of(MOD_ID, name);
Block registeredBlock = Registry.register(BLOCK, id, block);
BlockItem registeredItem = Registry.register(ITEM, id, new BlockItem(block, new Item.Settings()));
return new BlockWithItem(registeredBlock, registeredItem); // Return both the block and block item
}
}

View file

@ -0,0 +1,79 @@
package me.jonasjones.nec.registry;
import me.jonasjones.nec.item.materials.DirtToolMaterial;
import net.minecraft.component.type.FoodComponent;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.Item;
import net.minecraft.item.SwordItem;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
import static net.minecraft.registry.Registries.ITEM;
public class ModItems {
public static Item STEEL_ITEM;
public static SwordItem DIRT_SWORD_ITEM;
public static Item NEGATIVE_FLINT_ITEM;
public static Item LETTER_ITEM;
public static Item CHAINMAIL_ITEM;
public static Item AK47_ITEM;
public static Item HELMET_ON_A_STICK_ITEM;
public static Item LAPIS_GOLDEN_APPLE_ITEM;
public static void register() {
DIRT_SWORD_ITEM = (SwordItem) registerItem(
"dirt_sword",
new SwordItem(DirtToolMaterial.INSTANCE, new Item.Settings())
);
STEEL_ITEM = registerItem(
"steel",
new Item(new Item.Settings())
);
NEGATIVE_FLINT_ITEM = registerItem(
"negative_flint",
new Item(new Item.Settings())
);
LETTER_ITEM = registerItem(
"letter",
new Item(new Item.Settings())
);
CHAINMAIL_ITEM = registerItem(
"chainmail",
new Item(new Item.Settings())
);
AK47_ITEM = registerItem(
"ak_47",
new Item(new Item.Settings())
);
HELMET_ON_A_STICK_ITEM = registerItem(
"helmet_on_a_stick",
new Item(new Item.Settings())
);
LAPIS_GOLDEN_APPLE_ITEM = registerItem(
"lapis_golden_apple",
new Item(new Item.Settings().food(new FoodComponent.Builder()
.saturationModifier(0.3f)
.statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 200, 1), 1.0f)
.statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 2400), 1.0f)
.statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 6000), 1.0f)
.statusEffect(new StatusEffectInstance(StatusEffects.FIRE_RESISTANCE, 6000), 1.0f)
.statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 2400), 1.0f)
.statusEffect(new StatusEffectInstance(StatusEffects.SATURATION, 2400), 1.0f)
.build())
)
);
}
private static Item registerItem(String name, Item item) {
return Registry.register(ITEM, Identifier.of(MOD_ID, name), item);
}
}

View file

@ -1,7 +1,5 @@
package me.jonasjones.nec.util;
package me.jonasjones.nec.registry;
import me.jonasjones.nec.block.ModBlocks;
import me.jonasjones.nec.item.ModItems;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
import net.fabricmc.fabric.api.registry.FuelRegistry;
@ -15,11 +13,14 @@ import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
import static me.jonasjones.nec.registry.ModBlocks.GREEN_BIRCH_LOG;
public class ModRegistries {
public static ItemGroup NEC_GROUP = null;
public static void registerModStuffs() {
ModBlocks.register();
ModItems.register();
registerStrippables();
registerFlammableBlock();
register_itemGroup();
@ -27,19 +28,20 @@ public class ModRegistries {
}
private static void registerStrippables() {
StrippableBlockRegistry.register(ModBlocks.GREEEN_BIRCH_LOG_BLOCK, ModBlocks.GREEEN_BIRCH_LOG_BLOCK);
StrippableBlockRegistry.register(ModBlocks.GREEN_BIRCH_LOG.block, ModBlocks.GREEN_BIRCH_LOG.block);
}
private static void registerFlammableBlock() {
FlammableBlockRegistry instance = FlammableBlockRegistry.getDefaultInstance();
instance.add(ModBlocks.GREEN_BIRCH_LOG, 5, 5);
instance.add(ModBlocks.GREEN_BIRCH_LOG.block, 5, 5);
instance.add(ModBlocks.FLETCHING_STAIRS_BLOCK.block, 5, 20);
}
private static void fuelRegistry() {
FuelRegistry.INSTANCE.add(ModBlocks.GREEN_BIRCH_LOG, 300);
FuelRegistry.INSTANCE.add(ModBlocks.FLETCHING_STAIRS_BLOCK, 300);
FuelRegistry.INSTANCE.add(ModBlocks.BLAZE_BLOCK, 1200);
FuelRegistry.INSTANCE.add(GREEN_BIRCH_LOG.blockItem, 300);
FuelRegistry.INSTANCE.add(ModBlocks.FLETCHING_STAIRS_BLOCK.blockItem, 300);
FuelRegistry.INSTANCE.add(ModBlocks.BLAZE_BLOCK.blockItem, 1200);
FuelRegistry.INSTANCE.add(Items.CAMPFIRE, Integer.MAX_VALUE); // very broken thus cursed enough
}
@ -48,17 +50,17 @@ public class ModRegistries {
.icon(() -> new ItemStack(ModItems.DIRT_SWORD_ITEM))
.displayName(Text.translatable("itemgroup.nec.not_enough_cursedness"))
.entries(((displayContext, entries) -> {
entries.add(new ItemStack(ModBlocks.GREEN_BIRCH_LOG_ITEM));
entries.add(new ItemStack(ModBlocks.BLAZE_BLOCK));
entries.add(new ItemStack(ModBlocks.GUN_BLOCK));
entries.add(new ItemStack(ModBlocks.DIAMOND_ORE_ORE));
entries.add(new ItemStack(ModBlocks.DEEPSLATE_DIAMOND_ORE_ORE));
entries.add(new ItemStack(ModBlocks.JAVA_BLOCK));
entries.add(new ItemStack(ModBlocks.POCKET_BLOCK));
entries.add(new ItemStack(ModBlocks.FLETCHING_STAIRS_BLOCK));
entries.add(new ItemStack(ModBlocks.THICK_END_ROD));
entries.add(new ItemStack(ModBlocks.THICKER_END_ROD));
entries.add(new ItemStack(ModBlocks.EVEN_THICKER_END_ROD));
entries.add(new ItemStack(ModBlocks.GREEN_BIRCH_LOG.blockItem));
entries.add(new ItemStack(ModBlocks.BLAZE_BLOCK.blockItem));
entries.add(new ItemStack(ModBlocks.GUN_BLOCK.blockItem));
entries.add(new ItemStack(ModBlocks.DIAMOND_ORE_ORE.blockItem));
entries.add(new ItemStack(ModBlocks.DEEPSLATE_DIAMOND_ORE_ORE.blockItem));
entries.add(new ItemStack(ModBlocks.JAVA_BLOCK.blockItem));
entries.add(new ItemStack(ModBlocks.POCKET_BLOCK.blockItem));
entries.add(new ItemStack(ModBlocks.FLETCHING_STAIRS_BLOCK.blockItem));
entries.add(new ItemStack(ModBlocks.THICK_END_ROD.blockItem));
entries.add(new ItemStack(ModBlocks.THICKER_END_ROD.blockItem));
entries.add(new ItemStack(ModBlocks.EVEN_THICKER_END_ROD.blockItem));
entries.add(new ItemStack(ModItems.STEEL_ITEM));
entries.add(new ItemStack(ModItems.NEGATIVE_FLINT_ITEM));