
/*
 *    MCreator note: This file will be REGENERATED on each build.
 */
package net.mcreator.puzzle_code.init;

import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.DeferredItem;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
import net.neoforged.neoforge.capabilities.Capabilities;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.bus.api.SubscribeEvent;

import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.BlockItem;

import net.mcreator.puzzle_code.item.inventory.TutorialGadgetInventoryCapability;
import net.mcreator.puzzle_code.item.inventory.NBTVerifierInventoryCapability;
import net.mcreator.puzzle_code.item.inventory.ItemCodeItemInventoryCapability;
import net.mcreator.puzzle_code.item.YellowSwicherEffectItemItem;
import net.mcreator.puzzle_code.item.WitherEffectItemItem;
import net.mcreator.puzzle_code.item.WeaknessEffectItemItem;
import net.mcreator.puzzle_code.item.WaterBreathingEffectItemItem;
import net.mcreator.puzzle_code.item.UnluckEffectItemItem;
import net.mcreator.puzzle_code.item.TutorialGadgetItem;
import net.mcreator.puzzle_code.item.TextCodeItemItem;
import net.mcreator.puzzle_code.item.StrengthEffectItemItem;
import net.mcreator.puzzle_code.item.SpeedEffectItemItem;
import net.mcreator.puzzle_code.item.SlownessEffectItemItem;
import net.mcreator.puzzle_code.item.SlowFallingEffectItemItem;
import net.mcreator.puzzle_code.item.SaturationEffectItemItem;
import net.mcreator.puzzle_code.item.ResistanceEffectItemItem;
import net.mcreator.puzzle_code.item.RegenerationEffectItemItem;
import net.mcreator.puzzle_code.item.RedSwitchingItemItem;
import net.mcreator.puzzle_code.item.RedOrBlueSwitchingItemItem;
import net.mcreator.puzzle_code.item.PositionSetItem;
import net.mcreator.puzzle_code.item.PositionCodeItemItem;
import net.mcreator.puzzle_code.item.PoisonEffectItemItem;
import net.mcreator.puzzle_code.item.NumberCodeItemItem;
import net.mcreator.puzzle_code.item.NormalItemItem;
import net.mcreator.puzzle_code.item.NightVisionEffectItemItem;
import net.mcreator.puzzle_code.item.NauseaEffectItemItem;
import net.mcreator.puzzle_code.item.NBTVerifierItem;
import net.mcreator.puzzle_code.item.MiningFatigueEffectItemItem;
import net.mcreator.puzzle_code.item.LuckEffectItemItem;
import net.mcreator.puzzle_code.item.LogicCodeItemItem;
import net.mcreator.puzzle_code.item.LevitationEffectItemItem;
import net.mcreator.puzzle_code.item.KillItemItem;
import net.mcreator.puzzle_code.item.JumpBoostEffectItemItem;
import net.mcreator.puzzle_code.item.ItemCodeItemItem;
import net.mcreator.puzzle_code.item.InvisibilityEffectItemItem;
import net.mcreator.puzzle_code.item.InventoryRemoverItemItem;
import net.mcreator.puzzle_code.item.InstantHealthItemItem;
import net.mcreator.puzzle_code.item.HungerEffectItemItem;
import net.mcreator.puzzle_code.item.HeroOfTheVillageEffectItemItem;
import net.mcreator.puzzle_code.item.HealthRegenerationItemItem;
import net.mcreator.puzzle_code.item.HasteEffectItemItem;
import net.mcreator.puzzle_code.item.GlowingEffectItemItem;
import net.mcreator.puzzle_code.item.GUISetItem;
import net.mcreator.puzzle_code.item.FireResistanceEffectItemItem;
import net.mcreator.puzzle_code.item.FireKillerItemItem;
import net.mcreator.puzzle_code.item.FireDamageItemItem;
import net.mcreator.puzzle_code.item.EffectRemoverItemItem;
import net.mcreator.puzzle_code.item.DolphinsGraceEffectItemItem;
import net.mcreator.puzzle_code.item.DirectionCodeItemItem;
import net.mcreator.puzzle_code.item.DarknessEffectItemItem;
import net.mcreator.puzzle_code.item.DamageItemItem;
import net.mcreator.puzzle_code.item.CreativeSettingsItem;
import net.mcreator.puzzle_code.item.ConduitPowerEffectItemItem;
import net.mcreator.puzzle_code.item.CheckpointItemItem;
import net.mcreator.puzzle_code.item.CatapulterItemItem;
import net.mcreator.puzzle_code.item.BlueSwitchingItemItem;
import net.mcreator.puzzle_code.item.BlockTogglerItem;
import net.mcreator.puzzle_code.item.BlockRotatorItem;
import net.mcreator.puzzle_code.item.BlindnessEffectItemItem;
import net.mcreator.puzzle_code.item.BadOmenEffectItemItem;
import net.mcreator.puzzle_code.item.AbsorptionEffectItemItem;
import net.mcreator.puzzle_code.PuzzleCodeMod;

@EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD)
public class PuzzleCodeModItems {
	public static final DeferredRegister.Items REGISTRY = DeferredRegister.createItems(PuzzleCodeMod.MODID);
	public static final DeferredItem<Item> KILL_BLOCK = block(PuzzleCodeModBlocks.KILL_BLOCK);
	public static final DeferredItem<Item> NORMAL_BLOCK = block(PuzzleCodeModBlocks.NORMAL_BLOCK);
	public static final DeferredItem<Item> NORMAL_SLAB = block(PuzzleCodeModBlocks.NORMAL_SLAB);
	public static final DeferredItem<Item> NORMAL_STAIRS = block(PuzzleCodeModBlocks.NORMAL_STAIRS);
	public static final DeferredItem<Item> FAKE_BLOCK = block(PuzzleCodeModBlocks.FAKE_BLOCK);
	public static final DeferredItem<Item> CHECKPOINT_BLOCK = block(PuzzleCodeModBlocks.CHECKPOINT_BLOCK);
	public static final DeferredItem<Item> DAMAGE_BLOCK = block(PuzzleCodeModBlocks.DAMAGE_BLOCK);
	public static final DeferredItem<Item> DAY_TIME_BLOCK = block(PuzzleCodeModBlocks.DAY_TIME_BLOCK);
	public static final DeferredItem<Item> NIGHT_TIME_BLOCK = block(PuzzleCodeModBlocks.NIGHT_TIME_BLOCK);
	public static final DeferredItem<Item> CREATIVE_SETTINGS = REGISTRY.register("creative_settings", CreativeSettingsItem::new);
	public static final DeferredItem<Item> IN_KILL_BLOCK = block(PuzzleCodeModBlocks.IN_KILL_BLOCK);
	public static final DeferredItem<Item> BOX = block(PuzzleCodeModBlocks.BOX);
	public static final DeferredItem<Item> MOVING_BLOCK = block(PuzzleCodeModBlocks.MOVING_BLOCK);
	public static final DeferredItem<Item> SPEED_ACCELERATOR_BLOCK = block(PuzzleCodeModBlocks.SPEED_ACCELERATOR_BLOCK);
	public static final DeferredItem<Item> SPEED_LINGERING_BLOCK = block(PuzzleCodeModBlocks.SPEED_LINGERING_BLOCK);
	public static final DeferredItem<Item> GUI_SET = REGISTRY.register("gui_set", GUISetItem::new);
	public static final DeferredItem<Item> ENTITY_DETECTOR = block(PuzzleCodeModBlocks.ENTITY_DETECTOR);
	public static final DeferredItem<Item> EFFECT_REMOVER_ITEM = REGISTRY.register("effect_remover_item", EffectRemoverItemItem::new);
	public static final DeferredItem<Item> WEAKNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.WEAKNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_WEAKNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_WEAKNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> JUMP_BOOST_EFFECT_BLOCK = block(PuzzleCodeModBlocks.JUMP_BOOST_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_JUMP_BOOST_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_JUMP_BOOST_EFFECT_BLOCK);
	public static final DeferredItem<Item> JUMP_BOOST_EFFECT_ITEM = REGISTRY.register("jump_boost_effect_item", JumpBoostEffectItemItem::new);
	public static final DeferredItem<Item> SPEED_EFFECT_BLOCK = block(PuzzleCodeModBlocks.SPEED_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_SPEED_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_SPEED_EFFECT_BLOCK);
	public static final DeferredItem<Item> SLOWNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.SLOWNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_SLOWNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_SLOWNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> SLOWNESS_EFFECT_ITEM = REGISTRY.register("slowness_effect_item", SlownessEffectItemItem::new);
	public static final DeferredItem<Item> LEVITATION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.LEVITATION_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_LEVITATION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_LEVITATION_EFFECT_BLOCK);
	public static final DeferredItem<Item> LEVITATION_EFFECT_ITEM = REGISTRY.register("levitation_effect_item", LevitationEffectItemItem::new);
	public static final DeferredItem<Item> REGENERATION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.REGENERATION_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_REGENERATION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_REGENERATION_EFFECT_BLOCK);
	public static final DeferredItem<Item> REGENERATION_EFFECT_ITEM = REGISTRY.register("regeneration_effect_item", RegenerationEffectItemItem::new);
	public static final DeferredItem<Item> JUMP_BOOST_EFFECT_STAIRS = block(PuzzleCodeModBlocks.JUMP_BOOST_EFFECT_STAIRS);
	public static final DeferredItem<Item> JUMP_BOOST_EFFECT_SLAB = block(PuzzleCodeModBlocks.JUMP_BOOST_EFFECT_SLAB);
	public static final DeferredItem<Item> SPEED_EFFECT_SLAB = block(PuzzleCodeModBlocks.SPEED_EFFECT_SLAB);
	public static final DeferredItem<Item> SPEED_EFFECT_STAIRS = block(PuzzleCodeModBlocks.SPEED_EFFECT_STAIRS);
	public static final DeferredItem<Item> SLOWNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.SLOWNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> SLOWNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.SLOWNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> LEVITATION_EFFECT_SLAB = block(PuzzleCodeModBlocks.LEVITATION_EFFECT_SLAB);
	public static final DeferredItem<Item> LEVITATION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.LEVITATION_EFFECT_STAIRS);
	public static final DeferredItem<Item> PATH_MOVING_BLOCK = block(PuzzleCodeModBlocks.PATH_MOVING_BLOCK);
	public static final DeferredItem<Item> POISON_EFFECT_BLOCK = block(PuzzleCodeModBlocks.POISON_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_POISON_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_POISON_EFFECT_BLOCK);
	public static final DeferredItem<Item> POISON_EFFECT_SLAB = block(PuzzleCodeModBlocks.POISON_EFFECT_SLAB);
	public static final DeferredItem<Item> POISON_EFFECT_STAIRS = block(PuzzleCodeModBlocks.POISON_EFFECT_STAIRS);
	public static final DeferredItem<Item> BLINDNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.BLINDNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_BLINDNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_BLINDNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> REGENERATION_EFFECT_SLAB = block(PuzzleCodeModBlocks.REGENERATION_EFFECT_SLAB);
	public static final DeferredItem<Item> REGENERATION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.REGENERATION_EFFECT_STAIRS);
	public static final DeferredItem<Item> BLINDNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.BLINDNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> BLINDNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.BLINDNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> HEALTH_CHANGER_BLOCK = block(PuzzleCodeModBlocks.HEALTH_CHANGER_BLOCK);
	public static final DeferredItem<Item> CHECKPOINT_SLAB = block(PuzzleCodeModBlocks.CHECKPOINT_SLAB);
	public static final DeferredItem<Item> CHECKPOINT_STAIRS = block(PuzzleCodeModBlocks.CHECKPOINT_STAIRS);
	public static final DeferredItem<Item> NAUSEA_EFFECT_BLOCK = block(PuzzleCodeModBlocks.NAUSEA_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_NAUSEA_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_NAUSEA_EFFECT_BLOCK);
	public static final DeferredItem<Item> NAUSEA_EFFECT_SLAB = block(PuzzleCodeModBlocks.NAUSEA_EFFECT_SLAB);
	public static final DeferredItem<Item> NAUSEA_EFFECT_STAIRS = block(PuzzleCodeModBlocks.NAUSEA_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_DAY_TIME_BLOCK = block(PuzzleCodeModBlocks.IN_DAY_TIME_BLOCK);
	public static final DeferredItem<Item> IN_NIGHT_TIME_BLOCK = block(PuzzleCodeModBlocks.IN_NIGHT_TIME_BLOCK);
	public static final DeferredItem<Item> WEAKNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.WEAKNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> WEAKNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.WEAKNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> RESISTANCE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.RESISTANCE_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_RESISTANCE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_RESISTANCE_EFFECT_BLOCK);
	public static final DeferredItem<Item> RESISTANCE_EFFECT_ITEM = REGISTRY.register("resistance_effect_item", ResistanceEffectItemItem::new);
	public static final DeferredItem<Item> RESISTANCE_EFFECT_SLAB = block(PuzzleCodeModBlocks.RESISTANCE_EFFECT_SLAB);
	public static final DeferredItem<Item> RESISTANCE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.RESISTANCE_EFFECT_STAIRS);
	public static final DeferredItem<Item> SLOW_FALLING_EFFECT_BLOCK = block(PuzzleCodeModBlocks.SLOW_FALLING_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_SLOW_FALLING_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_SLOW_FALLING_EFFECT_BLOCK);
	public static final DeferredItem<Item> SLOW_FALLING_EFFECT_ITEM = REGISTRY.register("slow_falling_effect_item", SlowFallingEffectItemItem::new);
	public static final DeferredItem<Item> SLOW_FALLING_EFFECT_SLAB = block(PuzzleCodeModBlocks.SLOW_FALLING_EFFECT_SLAB);
	public static final DeferredItem<Item> SLOW_FALLING_EFFECT_STAIRS = block(PuzzleCodeModBlocks.SLOW_FALLING_EFFECT_STAIRS);
	public static final DeferredItem<Item> DOLPHINS_GRACE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.DOLPHINS_GRACE_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_DOLPHINS_GRACE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_DOLPHINS_GRACE_EFFECT_BLOCK);
	public static final DeferredItem<Item> DOLPHINS_GRACE_EFFECT_ITEM = REGISTRY.register("dolphins_grace_effect_item", DolphinsGraceEffectItemItem::new);
	public static final DeferredItem<Item> DOLPHINS_GRACE_EFFECT_SLAB = block(PuzzleCodeModBlocks.DOLPHINS_GRACE_EFFECT_SLAB);
	public static final DeferredItem<Item> DOLPHINS_GRACE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.DOLPHINS_GRACE_EFFECT_STAIRS);
	public static final DeferredItem<Item> WITHER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.WITHER_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_WITHER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_WITHER_EFFECT_BLOCK);
	public static final DeferredItem<Item> WITHER_EFFECT_SLAB = block(PuzzleCodeModBlocks.WITHER_EFFECT_SLAB);
	public static final DeferredItem<Item> WITHER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.WITHER_EFFECT_STAIRS);
	public static final DeferredItem<Item> FIRE_RESISTANCE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.FIRE_RESISTANCE_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_FIRE_RESISTANCE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_FIRE_RESISTANCE_EFFECT_BLOCK);
	public static final DeferredItem<Item> FIRE_RESISTANCE_EFFECT_ITEM = REGISTRY.register("fire_resistance_effect_item", FireResistanceEffectItemItem::new);
	public static final DeferredItem<Item> FIRE_RESISTANCE_EFFECT_SLAB = block(PuzzleCodeModBlocks.FIRE_RESISTANCE_EFFECT_SLAB);
	public static final DeferredItem<Item> FIRE_RESISTANCE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.FIRE_RESISTANCE_EFFECT_STAIRS);
	public static final DeferredItem<Item> WATER_BREATHING_EFFECT_BLOCK = block(PuzzleCodeModBlocks.WATER_BREATHING_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_WATER_BREATHING_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_WATER_BREATHING_EFFECT_BLOCK);
	public static final DeferredItem<Item> WATER_BREATHING_EFFECT_ITEM = REGISTRY.register("water_breathing_effect_item", WaterBreathingEffectItemItem::new);
	public static final DeferredItem<Item> WATER_BREATHING_EFFECT_SLAB = block(PuzzleCodeModBlocks.WATER_BREATHING_EFFECT_SLAB);
	public static final DeferredItem<Item> WATER_BREATHING_EFFECT_STAIRS = block(PuzzleCodeModBlocks.WATER_BREATHING_EFFECT_STAIRS);
	public static final DeferredItem<Item> HEALTH_REGENERATION_BLOCK = block(PuzzleCodeModBlocks.HEALTH_REGENERATION_BLOCK);
	public static final DeferredItem<Item> KILL_SLAB = block(PuzzleCodeModBlocks.KILL_SLAB);
	public static final DeferredItem<Item> KILL_STAIRS = block(PuzzleCodeModBlocks.KILL_STAIRS);
	public static final DeferredItem<Item> FIRE_KILLER_BLOCK = block(PuzzleCodeModBlocks.FIRE_KILLER_BLOCK);
	public static final DeferredItem<Item> FIRE_DAMAGE_BLOCK = block(PuzzleCodeModBlocks.FIRE_DAMAGE_BLOCK);
	public static final DeferredItem<Item> NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> TRANSFER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> LEFT_TRANSFER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.LEFT_TRANSFER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> RIGHT_TRANSFER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.RIGHT_TRANSFER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> PI_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.PI_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> REDSTONE_TO_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.REDSTONE_TO_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> LOGIC_TO_REDSTONE_CODE_BLOCK = block(PuzzleCodeModBlocks.LOGIC_TO_REDSTONE_CODE_BLOCK);
	public static final DeferredItem<Item> LOGIC_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.LOGIC_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> DAMAGE_ITEM = REGISTRY.register("damage_item", DamageItemItem::new);
	public static final DeferredItem<Item> KILL_ITEM = REGISTRY.register("kill_item", KillItemItem::new);
	public static final DeferredItem<Item> TRANSFER_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> NUMBER_TO_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.NUMBER_TO_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> HUNGER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.HUNGER_EFFECT_BLOCK);
	public static final DeferredItem<Item> HUNGER_BLOCK = block(PuzzleCodeModBlocks.HUNGER_BLOCK);
	public static final DeferredItem<Item> INSTANT_HUNGER_BLOCK = block(PuzzleCodeModBlocks.INSTANT_HUNGER_BLOCK);
	public static final DeferredItem<Item> SATURATION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.SATURATION_EFFECT_BLOCK);
	public static final DeferredItem<Item> SATURATION_BLOCK = block(PuzzleCodeModBlocks.SATURATION_BLOCK);
	public static final DeferredItem<Item> INSTANT_SATURATION_BLOCK = block(PuzzleCodeModBlocks.INSTANT_SATURATION_BLOCK);
	public static final DeferredItem<Item> EQUAL_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> EQUAL_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> TRANSFER_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> NORMAL_ITEM = REGISTRY.register("normal_item", NormalItemItem::new);
	public static final DeferredItem<Item> MESSAGER_BLOCK = block(PuzzleCodeModBlocks.MESSAGER_BLOCK);
	public static final DeferredItem<Item> UNEQUAL_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> BIGGER_THAN_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.BIGGER_THAN_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> SMALLER_THAN_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.SMALLER_THAN_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> TRANSFER_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> NUMBER_OF_ITEMS_CODE_BLOCK = block(PuzzleCodeModBlocks.NUMBER_OF_ITEMS_CODE_BLOCK);
	public static final DeferredItem<Item> COMMAND_CODE_BLOCK = block(PuzzleCodeModBlocks.COMMAND_CODE_BLOCK);
	public static final DeferredItem<Item> DAY_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.DAY_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> MONTH_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.MONTH_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> MERGE_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.MERGE_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> INVISIBILITY_EFFECT_BLOCK = block(PuzzleCodeModBlocks.INVISIBILITY_EFFECT_BLOCK);
	public static final DeferredItem<Item> NIGHT_VISION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.NIGHT_VISION_EFFECT_BLOCK);
	public static final DeferredItem<Item> GLOWING_EFFECT_BLOCK = block(PuzzleCodeModBlocks.GLOWING_EFFECT_BLOCK);
	public static final DeferredItem<Item> GLOWING_EFFECT_SLAB = block(PuzzleCodeModBlocks.GLOWING_EFFECT_SLAB);
	public static final DeferredItem<Item> GLOWING_EFFECT_STAIRS = block(PuzzleCodeModBlocks.GLOWING_EFFECT_STAIRS);
	public static final DeferredItem<Item> INVISIBILITY_EFFECT_SLAB = block(PuzzleCodeModBlocks.INVISIBILITY_EFFECT_SLAB);
	public static final DeferredItem<Item> INVISIBILITY_EFFECT_STAIRS = block(PuzzleCodeModBlocks.INVISIBILITY_EFFECT_STAIRS);
	public static final DeferredItem<Item> UNEQUAL_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> AND_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.AND_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> YEAR_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.YEAR_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> OR_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.OR_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> XOR_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.XOR_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> NIGHT_VISION_EFFECT_SLAB = block(PuzzleCodeModBlocks.NIGHT_VISION_EFFECT_SLAB);
	public static final DeferredItem<Item> NIGHT_VISION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.NIGHT_VISION_EFFECT_STAIRS);
	public static final DeferredItem<Item> NIGHT_VISION_EFFECT_ITEM = REGISTRY.register("night_vision_effect_item", NightVisionEffectItemItem::new);
	public static final DeferredItem<Item> HASTE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.HASTE_EFFECT_BLOCK);
	public static final DeferredItem<Item> HASTE_EFFECT_SLAB = block(PuzzleCodeModBlocks.HASTE_EFFECT_SLAB);
	public static final DeferredItem<Item> HASTE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.HASTE_EFFECT_STAIRS);
	public static final DeferredItem<Item> MINING_FATIGUE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.MINING_FATIGUE_EFFECT_BLOCK);
	public static final DeferredItem<Item> MINING_FATIGUE_EFFECT_SLAB = block(PuzzleCodeModBlocks.MINING_FATIGUE_EFFECT_SLAB);
	public static final DeferredItem<Item> MINING_FATIGUE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.MINING_FATIGUE_EFFECT_STAIRS);
	public static final DeferredItem<Item> YELLOW_SWICHER_EFFECT_ITEM = REGISTRY.register("yellow_swicher_effect_item", YellowSwicherEffectItemItem::new);
	public static final DeferredItem<Item> TELEPORTER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.TELEPORTER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> LUCK_EFFECT_BLOCK = block(PuzzleCodeModBlocks.LUCK_EFFECT_BLOCK);
	public static final DeferredItem<Item> UNLUCK_EFFECT_BLOCK = block(PuzzleCodeModBlocks.UNLUCK_EFFECT_BLOCK);
	public static final DeferredItem<Item> LUCK_EFFECT_SLAB = block(PuzzleCodeModBlocks.LUCK_EFFECT_SLAB);
	public static final DeferredItem<Item> LUCK_EFFECT_STAIRS = block(PuzzleCodeModBlocks.LUCK_EFFECT_STAIRS);
	public static final DeferredItem<Item> UNLUCK_EFFECT_SLAB = block(PuzzleCodeModBlocks.UNLUCK_EFFECT_SLAB);
	public static final DeferredItem<Item> UNLUCK_EFFECT_STAIRS = block(PuzzleCodeModBlocks.UNLUCK_EFFECT_STAIRS);
	public static final DeferredItem<Item> POSITION_SET = REGISTRY.register("position_set", PositionSetItem::new);
	public static final DeferredItem<Item> TELEPORTER_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.TELEPORTER_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> SATURATION_EFFECT_SLAB = block(PuzzleCodeModBlocks.SATURATION_EFFECT_SLAB);
	public static final DeferredItem<Item> SATURATION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.SATURATION_EFFECT_STAIRS);
	public static final DeferredItem<Item> HUNGER_EFFECT_SLAB = block(PuzzleCodeModBlocks.HUNGER_EFFECT_SLAB);
	public static final DeferredItem<Item> HUNGER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.HUNGER_EFFECT_STAIRS);
	public static final DeferredItem<Item> TELEPORTER_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.TELEPORTER_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> LUCK_EFFECT_ITEM = REGISTRY.register("luck_effect_item", LuckEffectItemItem::new);
	public static final DeferredItem<Item> SPEED_EFFECT_ITEM = REGISTRY.register("speed_effect_item", SpeedEffectItemItem::new);
	public static final DeferredItem<Item> IN_HUNGER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_HUNGER_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_SATURATION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_SATURATION_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_INVISIBILITY_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_INVISIBILITY_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_NIGHT_VISION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_NIGHT_VISION_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_GLOWING_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_GLOWING_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_HASTE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_HASTE_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_MINING_FATIGUE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_MINING_FATIGUE_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_LUCK_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_LUCK_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_UNLUCK_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_UNLUCK_EFFECT_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> HASTE_EFFECT_ITEM = REGISTRY.register("haste_effect_item", HasteEffectItemItem::new);
	public static final DeferredItem<Item> GLOWING_EFFECT_ITEM = REGISTRY.register("glowing_effect_item", GlowingEffectItemItem::new);
	public static final DeferredItem<Item> INVISIBILITY_EFFECT_ITEM = REGISTRY.register("invisibility_effect_item", InvisibilityEffectItemItem::new);
	public static final DeferredItem<Item> POWER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.POWER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> ADDITION_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.ADDITION_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> SUBSTRACTION_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.SUBSTRACTION_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> DIVIZION_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.DIVIZION_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> MULTIPLICATION_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.MULTIPLICATION_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> OPPOSITE_TRANSFER_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.OPPOSITE_TRANSFER_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> OPPOSITE_TRANSFER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.OPPOSITE_TRANSFER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> TEXT_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.TEXT_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> TELEPORTER_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.TELEPORTER_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> BIGGER_OR_EQUAL_THAN_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.BIGGER_OR_EQUAL_THAN_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> SMALLER_OR_EQUAL_THAN_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.SMALLER_OR_EQUAL_THAN_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> BOUNCY_BLOCK = block(PuzzleCodeModBlocks.BOUNCY_BLOCK);
	public static final DeferredItem<Item> RANDOMIZER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.RANDOMIZER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> A_BLOCK_IS_BROKEN_GLOBAL_BLOCK = block(PuzzleCodeModBlocks.A_BLOCK_IS_BROKEN_GLOBAL_BLOCK);
	public static final DeferredItem<Item> A_BLOCK_IS_PLACED_GLOBAL_BLOCK = block(PuzzleCodeModBlocks.A_BLOCK_IS_PLACED_GLOBAL_BLOCK);
	public static final DeferredItem<Item> TITLE_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.TITLE_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> INVENTORY_REPLACER = block(PuzzleCodeModBlocks.INVENTORY_REPLACER);
	public static final DeferredItem<Item> ENTITY_TELEPORTER_BLOCK = block(PuzzleCodeModBlocks.ENTITY_TELEPORTER_BLOCK);
	public static final DeferredItem<Item> LEFT_TRANSFER_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.LEFT_TRANSFER_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> RIGHT_TRANSFER_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.RIGHT_TRANSFER_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> LEFT_TRANSFER_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.LEFT_TRANSFER_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> RIGHT_TRANSFER_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.RIGHT_TRANSFER_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> LEFT_TRANSFER_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.LEFT_TRANSFER_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> RIGHT_TRANSFER_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.RIGHT_TRANSFER_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> IMITATOR_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> IMITATOR_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> IMITATOR_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> IMITATOR_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> TIMED_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.TIMED_SWITCHING_BLOCK);
	public static final DeferredItem<Item> TIMED_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.TIMED_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> REVERSE_TIMED_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.REVERSE_TIMED_SWITCHING_BLOCK);
	public static final DeferredItem<Item> REVERSE_TIMED_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.REVERSE_TIMED_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> SWITCHER_BLOCK_BLUE = block(PuzzleCodeModBlocks.SWITCHER_BLOCK_BLUE);
	public static final DeferredItem<Item> BLUE_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.BLUE_SWITCHING_BLOCK);
	public static final DeferredItem<Item> BLUE_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.BLUE_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> RED_OR_BLUE_SWITCHING_ITEM = REGISTRY.register("red_or_blue_switching_item", RedOrBlueSwitchingItemItem::new);
	public static final DeferredItem<Item> RED_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.RED_SWITCHING_BLOCK);
	public static final DeferredItem<Item> RED_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.RED_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> BLUE_SWITCING_SLAB = block(PuzzleCodeModBlocks.BLUE_SWITCING_SLAB);
	public static final DeferredItem<Item> BLUE_SWITCHING_SLAB_OFF = block(PuzzleCodeModBlocks.BLUE_SWITCHING_SLAB_OFF);
	public static final DeferredItem<Item> RED_SWITCHING_SLAB = block(PuzzleCodeModBlocks.RED_SWITCHING_SLAB);
	public static final DeferredItem<Item> RED_SWITCHING_SLAB_OFF = block(PuzzleCodeModBlocks.RED_SWITCHING_SLAB_OFF);
	public static final DeferredItem<Item> BLUE_KILL_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.BLUE_KILL_SWITCHING_BLOCK);
	public static final DeferredItem<Item> BLUE_KILL_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.BLUE_KILL_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> RED_KILL_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.RED_KILL_SWITCHING_BLOCK);
	public static final DeferredItem<Item> RED_KILL_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.RED_KILL_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> SWITCHING_BLOCK_RED = block(PuzzleCodeModBlocks.SWITCHING_BLOCK_RED);
	public static final DeferredItem<Item> EFFECT_REMOVER_BLOCK = block(PuzzleCodeModBlocks.EFFECT_REMOVER_BLOCK);
	public static final DeferredItem<Item> IN_EFFECT_REMOVER_BLOCK = block(PuzzleCodeModBlocks.IN_EFFECT_REMOVER_BLOCK);
	public static final DeferredItem<Item> YELLOW_SWITCHER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.YELLOW_SWITCHER_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_YELLOW_SWITCHER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_YELLOW_SWITCHER_EFFECT_BLOCK);
	public static final DeferredItem<Item> YELLOW_SWITCHER_EFFECT_SLAB = block(PuzzleCodeModBlocks.YELLOW_SWITCHER_EFFECT_SLAB);
	public static final DeferredItem<Item> YELLOW_SWITCHER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.YELLOW_SWITCHER_EFFECT_STAIRS);
	public static final DeferredItem<Item> YELLOW_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.YELLOW_SWITCHING_BLOCK);
	public static final DeferredItem<Item> YELLOW_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.YELLOW_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> REVERSE_YELLOW_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.REVERSE_YELLOW_SWITCHING_BLOCK);
	public static final DeferredItem<Item> REVERSE_YELLOW_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.REVERSE_YELLOW_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> YELLOW_SWITCHING_SLAB = block(PuzzleCodeModBlocks.YELLOW_SWITCHING_SLAB);
	public static final DeferredItem<Item> YELLOW_SWITCHING_SLAB_OFF = block(PuzzleCodeModBlocks.YELLOW_SWITCHING_SLAB_OFF);
	public static final DeferredItem<Item> REVERSE_YELLOW_SWITCHING_SLAB = block(PuzzleCodeModBlocks.REVERSE_YELLOW_SWITCHING_SLAB);
	public static final DeferredItem<Item> REVERSE_YELLOW_SWITCHING_SLAB_OFF = block(PuzzleCodeModBlocks.REVERSE_YELLOW_SWITCHING_SLAB_OFF);
	public static final DeferredItem<Item> PLACER_BLOCK = block(PuzzleCodeModBlocks.PLACER_BLOCK);
	public static final DeferredItem<Item> ADVANCED_PLACER_BLOCK = block(PuzzleCodeModBlocks.ADVANCED_PLACER_BLOCK);
	public static final DeferredItem<Item> REPLACER_BLOCK = block(PuzzleCodeModBlocks.REPLACER_BLOCK);
	public static final DeferredItem<Item> FILLER_BLOCK = block(PuzzleCodeModBlocks.FILLER_BLOCK);
	public static final DeferredItem<Item> WALKING_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.WALKING_SWITCHING_BLOCK);
	public static final DeferredItem<Item> WALKING_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.WALKING_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> CLICKING_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.CLICKING_SWITCHING_BLOCK);
	public static final DeferredItem<Item> CLICKING_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.CLICKING_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> RANDOMIZER_INTEGER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.RANDOMIZER_INTEGER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> HP_OF_ENTITY_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.HP_OF_ENTITY_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> MAX_HP_OF_ENTITY_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.MAX_HP_OF_ENTITY_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> ROUND_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.ROUND_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> RADIANS_TO_DEGREES_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.RADIANS_TO_DEGREES_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> DEGREES_TO_RADIANS_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.DEGREES_TO_RADIANS_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> NBT_VERIFIER = REGISTRY.register("nbt_verifier", NBTVerifierItem::new);
	public static final DeferredItem<Item> IN_BLINDNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_BLINDNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_BLINDNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_BLINDNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_DOLPHINS_GRACE_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_DOLPHINS_GRACE_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_DOLPHINS_GRACE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_DOLPHINS_GRACE_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_FIRE_RESISTANCE_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_FIRE_RESISTANCE_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_FIRE_RESISTANCE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_FIRE_RESISTANCE_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_GLOWING_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_GLOWING_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_GLOWING_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_GLOWING_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_HASTE_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_HASTE_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_HASTE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_HASTE_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_HUNGER_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_HUNGER_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_HUNGER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_HUNGER_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_KILL_SLAB = block(PuzzleCodeModBlocks.IN_KILL_SLAB);
	public static final DeferredItem<Item> IN_KILL_STAIRS = block(PuzzleCodeModBlocks.IN_KILL_STAIRS);
	public static final DeferredItem<Item> INSTANT_HEALTH_BLOCK = block(PuzzleCodeModBlocks.INSTANT_HEALTH_BLOCK);
	public static final DeferredItem<Item> IN_INSTANT_HEALTH_BLOCK = block(PuzzleCodeModBlocks.IN_INSTANT_HEALTH_BLOCK);
	public static final DeferredItem<Item> INSTANT_HEALTH_SLAB = block(PuzzleCodeModBlocks.INSTANT_HEALTH_SLAB);
	public static final DeferredItem<Item> INSTANT_HEALTH_STAIRS = block(PuzzleCodeModBlocks.INSTANT_HEALTH_STAIRS);
	public static final DeferredItem<Item> IN_INSTANT_HEALTH_SLAB = block(PuzzleCodeModBlocks.IN_INSTANT_HEALTH_SLAB);
	public static final DeferredItem<Item> IN_INSTANT_HEALTH_STAIRS = block(PuzzleCodeModBlocks.IN_INSTANT_HEALTH_STAIRS);
	public static final DeferredItem<Item> IN_INVISIBILITY_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_INVISIBILITY_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_INVISIBILITY_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_INVISIBILITY_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_JUMP_BOOST_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_JUMP_BOOST_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_JUMP_BOOST_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_JUMP_BOOST_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_LEVITATION_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_LEVITATION_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_LEVITATION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_LEVITATION_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_LUCK_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_LUCK_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_LUCK_EFFEST_STAIRS = block(PuzzleCodeModBlocks.IN_LUCK_EFFEST_STAIRS);
	public static final DeferredItem<Item> IN_MINING_FATIGUE_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_MINING_FATIGUE_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_MINING_FATIGUE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_MINING_FATIGUE_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_NAUSEA_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_NAUSEA_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_NAUSEA_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_NAUSEA_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_NIGHT_VISION_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_NIGHT_VISION_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_NIGHT_VISION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_NIGHT_VISION_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_POISON_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_POISON_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_POISON_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_POISON_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_REGENERATION_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_REGENERATION_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_REGENERATION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_REGENERATION_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_RESISTANCE_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_RESISTANCE_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_RESISTANCE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_RESISTANCE_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_SATURATION_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_SATURATION_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_SATURATION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_SATURATION_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_SLOW_FALLING_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_SLOW_FALLING_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_SLOW_FALLING_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_SLOW_FALLING_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_SLOWNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_SLOWNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_SLOWNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_SLOWNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_SPEED_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_SPEED_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_SPEED_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_SPEED_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_UNLUCK_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_UNLUCK_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_UNLUCK_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_UNLUCK_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_WATER_BREATHING_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_WATER_BREATHING_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_WATER_BREATHING_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_WATER_BREATHING_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_WEAKNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_WEAKNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_WEAKNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_WEAKNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_WITHER_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_WITHER_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_WITHER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_WITHER_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_YELLOW_SWITCHER_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_YELLOW_SWITCHER_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_YELLOW_SWITCHER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_YELLOW_SWITCHER_EFFECT_STAIRS);
	public static final DeferredItem<Item> PROPERTY_TO_NBT_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.PROPERTY_TO_NBT_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> NBT_TO_PROPERTY_NUMBER_CLODE_BLOCK = block(PuzzleCodeModBlocks.NBT_TO_PROPERTY_NUMBER_CLODE_BLOCK);
	public static final DeferredItem<Item> ROUND_UP_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.ROUND_UP_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> ROUND_DOWN_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.ROUND_DOWN_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> NBT_TO_PROPERTY_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.NBT_TO_PROPERTY_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> PROPERTY_TO_NBT_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.PROPERTY_TO_NBT_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> NBT_TO_PROPERTY_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.NBT_TO_PROPERTY_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> PROPERTY_TO_NBT_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.PROPERTY_TO_NBT_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> PROPERTY_TRANSFER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.PROPERTY_TRANSFER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> PROPERTY_TRANSFER_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.PROPERTY_TRANSFER_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> PROPERTY_TRANSFER_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.PROPERTY_TRANSFER_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> EQUAL_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> EQUAL_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_ENTITY_PLACER_BLOCK = block(PuzzleCodeModBlocks.BLOCK_ENTITY_PLACER_BLOCK);
	public static final DeferredItem<Item> RED_SWITCHING_ITEM = REGISTRY.register("red_switching_item", RedSwitchingItemItem::new);
	public static final DeferredItem<Item> BLUE_SWITCHING_ITEM = REGISTRY.register("blue_switching_item", BlueSwitchingItemItem::new);
	public static final DeferredItem<Item> UNEQUAL_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> UNEQUAL_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> STRENGTH_EFFECT_BLOCK = block(PuzzleCodeModBlocks.STRENGTH_EFFECT_BLOCK);
	public static final DeferredItem<Item> STRENGTH_EFFECT_SLAB = block(PuzzleCodeModBlocks.STRENGTH_EFFECT_SLAB);
	public static final DeferredItem<Item> STRENGTH_EFFECT_STAIRS = block(PuzzleCodeModBlocks.STRENGTH_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_STRENGTH_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_STRENGTH_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_STRENGTH_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_STRENGTH_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_STRENGTH_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_STRENGTH_EFFECT_STAIRS);
	public static final DeferredItem<Item> STRENGTH_EFFECT_ITEM = REGISTRY.register("strength_effect_item", StrengthEffectItemItem::new);
	public static final DeferredItem<Item> IN_CHECKPOINT_BLOCK = block(PuzzleCodeModBlocks.IN_CHECKPOINT_BLOCK);
	public static final DeferredItem<Item> IN_CHECKPOINT_SLAB = block(PuzzleCodeModBlocks.IN_CHECKPOINT_SLAB);
	public static final DeferredItem<Item> IN_CHECKPOINT_STAIRS = block(PuzzleCodeModBlocks.IN_CHECKPOINT_STAIRS);
	public static final DeferredItem<Item> FIRE_KILLER_SLAB = block(PuzzleCodeModBlocks.FIRE_KILLER_SLAB);
	public static final DeferredItem<Item> FIRE_KILLER_STAIRS = block(PuzzleCodeModBlocks.FIRE_KILLER_STAIRS);
	public static final DeferredItem<Item> IN_FIRE_KILLER_BLOCK = block(PuzzleCodeModBlocks.IN_FIRE_KILLER_BLOCK);
	public static final DeferredItem<Item> IN_FIRE_KILLER_SLAB = block(PuzzleCodeModBlocks.IN_FIRE_KILLER_SLAB);
	public static final DeferredItem<Item> IN_FIRE_KILLER_STAIRS = block(PuzzleCodeModBlocks.IN_FIRE_KILLER_STAIRS);
	public static final DeferredItem<Item> FIRE_KILLER_ITEM = REGISTRY.register("fire_killer_item", FireKillerItemItem::new);
	public static final DeferredItem<Item> FIRE_DAMAGE_ITEM = REGISTRY.register("fire_damage_item", FireDamageItemItem::new);
	public static final DeferredItem<Item> IN_INSTANT_HUNGER_BLOCK = block(PuzzleCodeModBlocks.IN_INSTANT_HUNGER_BLOCK);
	public static final DeferredItem<Item> IN_INSTANT_SATURATION_BLOCK = block(PuzzleCodeModBlocks.IN_INSTANT_SATURATION_BLOCK);
	public static final DeferredItem<Item> CHECKPOINT_ITEM = REGISTRY.register("checkpoint_item", CheckpointItemItem::new);
	public static final DeferredItem<Item> INSTANT_HUNGER_SLAB = block(PuzzleCodeModBlocks.INSTANT_HUNGER_SLAB);
	public static final DeferredItem<Item> INSTANT_HUNGER_STAIRS = block(PuzzleCodeModBlocks.INSTANT_HUNGER_STAIRS);
	public static final DeferredItem<Item> INSTANT_SATURATION_SLAB = block(PuzzleCodeModBlocks.INSTANT_SATURATION_SLAB);
	public static final DeferredItem<Item> INSTANT_SATURATION_STAIRS = block(PuzzleCodeModBlocks.INSTANT_SATURATION_STAIRS);
	public static final DeferredItem<Item> IN_INSTANT_HUNGER_SLAB = block(PuzzleCodeModBlocks.IN_INSTANT_HUNGER_SLAB);
	public static final DeferredItem<Item> IN_INSTANT_HUNGER_STAIRS = block(PuzzleCodeModBlocks.IN_INSTANT_HUNGER_STAIRS);
	public static final DeferredItem<Item> IN_INSTANT_SATURATION_SLAB = block(PuzzleCodeModBlocks.IN_INSTANT_SATURATION_SLAB);
	public static final DeferredItem<Item> IN_INSTANT_SATURATION_STAIRS = block(PuzzleCodeModBlocks.IN_INSTANT_SATURATION_STAIRS);
	public static final DeferredItem<Item> NUMBER_TO_REDSTONE_CODE_BLOCK = block(PuzzleCodeModBlocks.NUMBER_TO_REDSTONE_CODE_BLOCK);
	public static final DeferredItem<Item> REDSTONE_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.REDSTONE_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> A_BLOCK_IS_RIGHT_CLICKED_GLOBAL_BLOCK = block(PuzzleCodeModBlocks.A_BLOCK_IS_RIGHT_CLICKED_GLOBAL_BLOCK);
	public static final DeferredItem<Item> INVENTORY_REMOVER_BLOCK = block(PuzzleCodeModBlocks.INVENTORY_REMOVER_BLOCK);
	public static final DeferredItem<Item> IN_INVENTORY_REMOVER_BLOCK = block(PuzzleCodeModBlocks.IN_INVENTORY_REMOVER_BLOCK);
	public static final DeferredItem<Item> INVENTORY_REMOVER_ITEM = REGISTRY.register("inventory_remover_item", InventoryRemoverItemItem::new);
	public static final DeferredItem<Item> RED_SETTER_SWITCHER_BLOCK = block(PuzzleCodeModBlocks.RED_SETTER_SWITCHER_BLOCK);
	public static final DeferredItem<Item> BLUE_SETTER_SWITCHER_BLOCK = block(PuzzleCodeModBlocks.BLUE_SETTER_SWITCHER_BLOCK);
	public static final DeferredItem<Item> NAME_OF_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.NAME_OF_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> NAND_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.NAND_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> NOR_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.NOR_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> XNOR_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.XNOR_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> LENGTH_OF_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.LENGTH_OF_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> RADICAL_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.RADICAL_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> LOGARITHM_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.LOGARITHM_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> MODULO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.MODULO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> CONDUIT_POWER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.CONDUIT_POWER_EFFECT_BLOCK);
	public static final DeferredItem<Item> CONDUIT_POWER_EFFECT_SLAB = block(PuzzleCodeModBlocks.CONDUIT_POWER_EFFECT_SLAB);
	public static final DeferredItem<Item> CONDUIT_POWER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.CONDUIT_POWER_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_CONDUIT_POWER_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_CONDUIT_POWER_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_CONDUIT_POWER_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_CONDUIT_POWER_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_CONDUIT_POWER_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_CONDUIT_POWER_EFFECT_STAIRS);
	public static final DeferredItem<Item> CONDUIT_POWER_EFFECT_ITEM = REGISTRY.register("conduit_power_effect_item", ConduitPowerEffectItemItem::new);
	public static final DeferredItem<Item> DARKNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.DARKNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> DARKNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.DARKNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> DARKNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.DARKNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_DARKNESS_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_DARKNESS_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_DARKNESS_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_DARKNESS_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_DARKNESS_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_DARKNESS_EFFECT_STAIRS);
	public static final DeferredItem<Item> BLINDNESS_EFFECT_ITEM = REGISTRY.register("blindness_effect_item", BlindnessEffectItemItem::new);
	public static final DeferredItem<Item> DARKNESS_EFFECT_ITEM = REGISTRY.register("darkness_effect_item", DarknessEffectItemItem::new);
	public static final DeferredItem<Item> HUNGER_EFFECT_ITEM = REGISTRY.register("hunger_effect_item", HungerEffectItemItem::new);
	public static final DeferredItem<Item> MINING_FATIGUE_EFFECT_ITEM = REGISTRY.register("mining_fatigue_effect_item", MiningFatigueEffectItemItem::new);
	public static final DeferredItem<Item> WEAKNESS_EFFECT_ITEM = REGISTRY.register("weakness_effect_item", WeaknessEffectItemItem::new);
	public static final DeferredItem<Item> WITHER_EFFECT_ITEM = REGISTRY.register("wither_effect_item", WitherEffectItemItem::new);
	public static final DeferredItem<Item> UNLUCK_EFFECT_ITEM = REGISTRY.register("unluck_effect_item", UnluckEffectItemItem::new);
	public static final DeferredItem<Item> POISON_EFFECT_ITEM = REGISTRY.register("poison_effect_item", PoisonEffectItemItem::new);
	public static final DeferredItem<Item> NAUSEA_EFFECT_ITEM = REGISTRY.register("nausea_effect_item", NauseaEffectItemItem::new);
	public static final DeferredItem<Item> SATURATION_EFFECT_ITEM = REGISTRY.register("saturation_effect_item", SaturationEffectItemItem::new);
	public static final DeferredItem<Item> HEALTH_REGENERATION_ITEM = REGISTRY.register("health_regeneration_item", HealthRegenerationItemItem::new);
	public static final DeferredItem<Item> INSTANT_HEALTH_ITEM = REGISTRY.register("instant_health_item", InstantHealthItemItem::new);
	public static final DeferredItem<Item> NEAR_ENTITY_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.NEAR_ENTITY_SWITCHING_BLOCK);
	public static final DeferredItem<Item> NEAR_ENTITY_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.NEAR_ENTITY_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> REVERSE_NEAR_ENTITY_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.REVERSE_NEAR_ENTITY_SWITCHING_BLOCK);
	public static final DeferredItem<Item> REVERSE_NEAR_ENTITY_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.REVERSE_NEAR_ENTITY_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> NEAR_ENTITY_YELLOW_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.NEAR_ENTITY_YELLOW_SWITCHING_BLOCK);
	public static final DeferredItem<Item> NEAR_ENTITY_YELLOW_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.NEAR_ENTITY_YELLOW_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> REVERSE_NEAR_ENTITY_YELLOW_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.REVERSE_NEAR_ENTITY_YELLOW_SWITCHING_BLOCK);
	public static final DeferredItem<Item> REVERSE_NEAR_ENTITY_YELLOW_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.REVERSE_NEAR_ENTITY_YELLOW_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> CHAIN_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.CHAIN_SWITCHING_BLOCK);
	public static final DeferredItem<Item> CHAIN_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.CHAIN_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> REVERSE_CHAIN_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.REVERSE_CHAIN_SWITCHING_BLOCK);
	public static final DeferredItem<Item> REVERSE_CHAIN_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.REVERSE_CHAIN_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> IMITATOR_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_SWITCHING_BLOCK);
	public static final DeferredItem<Item> IMITATOR_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.IMITATOR_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> LOGIC_CLICKING_SWITCHING_CODE_BLOCK = block(PuzzleCodeModBlocks.LOGIC_CLICKING_SWITCHING_CODE_BLOCK);
	public static final DeferredItem<Item> LOGIC_CLICKING_SWITCHING_CODE_BLOCK_OFF = block(PuzzleCodeModBlocks.LOGIC_CLICKING_SWITCHING_CODE_BLOCK_OFF);
	public static final DeferredItem<Item> CATAPULTER_BLOCK = block(PuzzleCodeModBlocks.CATAPULTER_BLOCK);
	public static final DeferredItem<Item> CATAPULTER_SLAB = block(PuzzleCodeModBlocks.CATAPULTER_SLAB);
	public static final DeferredItem<Item> CATAPULTER_STAIRS = block(PuzzleCodeModBlocks.CATAPULTER_STAIRS);
	public static final DeferredItem<Item> IN_CATAPULTER_BLOCK = block(PuzzleCodeModBlocks.IN_CATAPULTER_BLOCK);
	public static final DeferredItem<Item> IN_CATAPULTER_SLAB = block(PuzzleCodeModBlocks.IN_CATAPULTER_SLAB);
	public static final DeferredItem<Item> IN_CATAPULTER_STAIRS = block(PuzzleCodeModBlocks.IN_CATAPULTER_STAIRS);
	public static final DeferredItem<Item> YELLOW_KILL_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.YELLOW_KILL_SWITCHING_BLOCK);
	public static final DeferredItem<Item> YELLOW_KILL_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.YELLOW_KILL_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> REVERSE_YELLOW_KILL_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.REVERSE_YELLOW_KILL_SWITCHING_BLOCK);
	public static final DeferredItem<Item> REVERSE_YELLOW_KILL_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.REVERSE_YELLOW_KILL_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> MIN_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.MIN_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> MAX_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.MAX_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> ADVANCED_TIME_BLOCK = block(PuzzleCodeModBlocks.ADVANCED_TIME_BLOCK);
	public static final DeferredItem<Item> ITEM_CONFIGURATOR = block(PuzzleCodeModBlocks.ITEM_CONFIGURATOR);
	public static final DeferredItem<Item> DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> TEXT_TO_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.TEXT_TO_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> NUMBER_TO_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.NUMBER_TO_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> IMITATOR_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> CATAPULTER_ITEM = REGISTRY.register("catapulter_item", CatapulterItemItem::new);
	public static final DeferredItem<Item> EQUAL_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> UPPERCASE_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.UPPERCASE_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> LOWERCASE_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.LOWERCASE_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> NEUTRAL_CODE_BLOCK = block(PuzzleCodeModBlocks.NEUTRAL_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_TO_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.ITEM_TO_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> UNEQUAL_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> EQUAL_AXIS_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_AXIS_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> UNEQUAL_AXIS_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_AXIS_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> NUMBER_CODE_ITEM = REGISTRY.register("number_code_item", NumberCodeItemItem::new);
	public static final DeferredItem<Item> LOGIC_CODE_ITEM = REGISTRY.register("logic_code_item", LogicCodeItemItem::new);
	public static final DeferredItem<Item> TEXT_CODE_ITEM = REGISTRY.register("text_code_item", TextCodeItemItem::new);
	public static final DeferredItem<Item> OPPOSITE_TRANSFER_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.OPPOSITE_TRANSFER_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> ROTATE_CLOCKWISE_TRANSFER_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.ROTATE_CLOCKWISE_TRANSFER_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> ROTATE_COUNTERCLOCKWISE_TRANSFER_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.ROTATE_COUNTERCLOCKWISE_TRANSFER_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> DIRECTION_CODE_ITEM = REGISTRY.register("direction_code_item", DirectionCodeItemItem::new);
	public static final DeferredItem<Item> CHUNK_LOADER = block(PuzzleCodeModBlocks.CHUNK_LOADER);
	public static final DeferredItem<Item> POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> TRANSFER_NEUTRAL_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_NEUTRAL_CODE_BLOCK);
	public static final DeferredItem<Item> REDSTONE_TO_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.REDSTONE_TO_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> DIRECTION_TO_REDSTONE_CODE_BLOCK = block(PuzzleCodeModBlocks.DIRECTION_TO_REDSTONE_CODE_BLOCK);
	public static final DeferredItem<Item> ENERGY_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.ENERGY_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> FLUID_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.FLUID_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_NBT_TO_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.ITEM_NBT_TO_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_NBT_TO_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.ITEM_NBT_TO_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_NBT_TO_TEXT_CODE_BLOCK = block(PuzzleCodeModBlocks.ITEM_NBT_TO_TEXT_CODE_BLOCK);
	public static final DeferredItem<Item> DIRECTION_TO_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.DIRECTION_TO_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> TRANSFER_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_ROTATOR = REGISTRY.register("block_rotator", BlockRotatorItem::new);
	public static final DeferredItem<Item> TELEPORTER_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.TELEPORTER_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_CODE_ITEM = REGISTRY.register("item_code_item", ItemCodeItemItem::new);
	public static final DeferredItem<Item> DIRECTION_TO_AXIS_CODE_BLOCK = block(PuzzleCodeModBlocks.DIRECTION_TO_AXIS_CODE_BLOCK);
	public static final DeferredItem<Item> LEFT_TRANSFER_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.LEFT_TRANSFER_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> RIGHT_TRANSFER_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.RIGHT_TRANSFER_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_INVENTORY_TO_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.ITEM_INVENTORY_TO_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> NUMBER_TO_ITEM_NBT_CODE_BLOCK = block(PuzzleCodeModBlocks.NUMBER_TO_ITEM_NBT_CODE_BLOCK);
	public static final DeferredItem<Item> LOGIC_TO_ITEM_NBT_CODE_BLOCK = block(PuzzleCodeModBlocks.LOGIC_TO_ITEM_NBT_CODE_BLOCK);
	public static final DeferredItem<Item> TEXT_TO_ITEM_NBT_CODE_BLOCK = block(PuzzleCodeModBlocks.TEXT_TO_ITEM_NBT_CODE_BLOCK);
	public static final DeferredItem<Item> ITEM_TO_ITEM_INVENTORY_CODE_BLOCK = block(PuzzleCodeModBlocks.ITEM_TO_ITEM_INVENTORY_CODE_BLOCK);
	public static final DeferredItem<Item> MAX_STACK_OF_ITEMS_CODE_BLOCK = block(PuzzleCodeModBlocks.MAX_STACK_OF_ITEMS_CODE_BLOCK);
	public static final DeferredItem<Item> RANDOMIZER_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.RANDOMIZER_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_FROM_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.BLOCK_FROM_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.AREA_CODE_BLOCK);
	public static final DeferredItem<Item> POSITIONS_TO_AREA_CODE_BLOCKS = block(PuzzleCodeModBlocks.POSITIONS_TO_AREA_CODE_BLOCKS);
	public static final DeferredItem<Item> RANDOM_ITEM_FROM_TAG_CODE_BLOCK = block(PuzzleCodeModBlocks.RANDOM_ITEM_FROM_TAG_CODE_BLOCK);
	public static final DeferredItem<Item> LEFT_TRANSFER_NEUTRAL_CODE_BLOCK = block(PuzzleCodeModBlocks.LEFT_TRANSFER_NEUTRAL_CODE_BLOCK);
	public static final DeferredItem<Item> RIGHT_TRANSFER_NEUTRAL_CODE_BLOCK = block(PuzzleCodeModBlocks.RIGHT_TRANSFER_NEUTRAL_CODE_BLOCK);
	public static final DeferredItem<Item> REVERSE_IMITATOR_SWITCHING_BLOCK = block(PuzzleCodeModBlocks.REVERSE_IMITATOR_SWITCHING_BLOCK);
	public static final DeferredItem<Item> REVERSE_IMITATOR_SWITCHING_BLOCK_OFF = block(PuzzleCodeModBlocks.REVERSE_IMITATOR_SWITCHING_BLOCK_OFF);
	public static final DeferredItem<Item> E_NUMBER_CODE_BLOCK = block(PuzzleCodeModBlocks.E_NUMBER_CODE_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_DIRECTION_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_DIRECTION_CODE_BLOCK);
	public static final DeferredItem<Item> POSITION_CODE_ITEM = REGISTRY.register("position_code_item", PositionCodeItemItem::new);
	public static final DeferredItem<Item> TIMED_LOGIC_CODE_BLOCK = block(PuzzleCodeModBlocks.TIMED_LOGIC_CODE_BLOCK);
	public static final DeferredItem<Item> IS_ITEM_IN_ITEM_TAG_CODE_BLOCK = block(PuzzleCodeModBlocks.IS_ITEM_IN_ITEM_TAG_CODE_BLOCK);
	public static final DeferredItem<Item> IS_BLOCK_IN_BLOCK_TAG_CODE_BLOCK = block(PuzzleCodeModBlocks.IS_BLOCK_IN_BLOCK_TAG_CODE_BLOCK);
	public static final DeferredItem<Item> TRANSFER_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> LEFT_TRANSFER_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.LEFT_TRANSFER_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> RIGHT_TRANSFER_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.RIGHT_TRANSFER_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> CHAIN_NEUTRAL_CODE_BLOCK = block(PuzzleCodeModBlocks.CHAIN_NEUTRAL_CODE_BLOCK);
	public static final DeferredItem<Item> SURVIVAL_NEUTRAL_CODE_BLOCK = block(PuzzleCodeModBlocks.SURVIVAL_NEUTRAL_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_TOGGLER = REGISTRY.register("block_toggler", BlockTogglerItem::new);
	public static final DeferredItem<Item> TUTORIAL_GADGET = REGISTRY.register("tutorial_gadget", TutorialGadgetItem::new);
	public static final DeferredItem<Item> BAD_OMEN_EFFECT_BLOCK = block(PuzzleCodeModBlocks.BAD_OMEN_EFFECT_BLOCK);
	public static final DeferredItem<Item> BAD_OMEN_EFFECT_SLAB = block(PuzzleCodeModBlocks.BAD_OMEN_EFFECT_SLAB);
	public static final DeferredItem<Item> BAD_OMEN_EFFECT_STAIRS = block(PuzzleCodeModBlocks.BAD_OMEN_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_BAD_OMEN_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_BAD_OMEN_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_BAD_OMEN_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_BAD_OMEN_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_BAD_OMEN_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_BAD_OMEN_EFFECT_STAIRS);
	public static final DeferredItem<Item> BAD_OMEN_EFFECT_ITEM = REGISTRY.register("bad_omen_effect_item", BadOmenEffectItemItem::new);
	public static final DeferredItem<Item> HERO_OF_THE_VILLAGE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.HERO_OF_THE_VILLAGE_EFFECT_BLOCK);
	public static final DeferredItem<Item> HERO_OF_THE_VILLAGE_EFFECT_SLAB = block(PuzzleCodeModBlocks.HERO_OF_THE_VILLAGE_EFFECT_SLAB);
	public static final DeferredItem<Item> HERO_OF_THE_VILLAGE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.HERO_OF_THE_VILLAGE_EFFECT_STAIRS);
	public static final DeferredItem<Item> HERO_OF_THE_VILLAGE_EFFECT_ITEM = REGISTRY.register("hero_of_the_village_effect_item", HeroOfTheVillageEffectItemItem::new);
	public static final DeferredItem<Item> IN_HERO_OF_THE_VILLAGE_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_HERO_OF_THE_VILLAGE_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_HERO_OF_THE_VILLAGE_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_HERO_OF_THE_VILLAGE_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_HERO_OF_THE_VILLAGE_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_HERO_OF_THE_VILLAGE_EFFECT_STAIRS);
	public static final DeferredItem<Item> ABSORPTION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.ABSORPTION_EFFECT_BLOCK);
	public static final DeferredItem<Item> ABSORPTION_EFFECT_SLAB = block(PuzzleCodeModBlocks.ABSORPTION_EFFECT_SLAB);
	public static final DeferredItem<Item> ABSORPTION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.ABSORPTION_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_ABSORPTION_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_ABSORPTION_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_ABSORPTION_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_ABSORPTION_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_ABSORPTION_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_ABSORPTION_EFFECT_STAIRS);
	public static final DeferredItem<Item> ABSORPTION_EFFECT_ITEM = REGISTRY.register("absorption_effect_item", AbsorptionEffectItemItem::new);
	public static final DeferredItem<Item> CUSTOM_EFFECT_BLOCK = block(PuzzleCodeModBlocks.CUSTOM_EFFECT_BLOCK);
	public static final DeferredItem<Item> CUSTOM_EFFECT_SLAB = block(PuzzleCodeModBlocks.CUSTOM_EFFECT_SLAB);
	public static final DeferredItem<Item> CUSTOM_EFFECT_STAIRS = block(PuzzleCodeModBlocks.CUSTOM_EFFECT_STAIRS);
	public static final DeferredItem<Item> IN_CUSTOM_EFFECT_BLOCK = block(PuzzleCodeModBlocks.IN_CUSTOM_EFFECT_BLOCK);
	public static final DeferredItem<Item> IN_CUSTOM_EFFECT_SLAB = block(PuzzleCodeModBlocks.IN_CUSTOM_EFFECT_SLAB);
	public static final DeferredItem<Item> IN_CUSTOM_EFFECT_STAIRS = block(PuzzleCodeModBlocks.IN_CUSTOM_EFFECT_STAIRS);
	public static final DeferredItem<Item> TELEPORTER_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.TELEPORTER_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> TELEPORTER_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.TELEPORTER_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> IMITATOR_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> IMITATOR_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.IMITATOR_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_PLACER_FROM_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.BLOCK_PLACER_FROM_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_FILLER_FROM_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.BLOCK_FILLER_FROM_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> FLIPPED_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.FLIPPED_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_FILLER_FROM_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.BLOCK_FILLER_FROM_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> BLOCK_PLACER_FROM_ITEM_CODE_BLOCK = block(PuzzleCodeModBlocks.BLOCK_PLACER_FROM_ITEM_CODE_BLOCK);
	public static final DeferredItem<Item> FILLER_BLOCK_CODE_BLOCK = block(PuzzleCodeModBlocks.FILLER_BLOCK_CODE_BLOCK);
	public static final DeferredItem<Item> TRANSFER_BLOCK_CODE_BLOCK = block(PuzzleCodeModBlocks.TRANSFER_BLOCK_CODE_BLOCK);
	public static final DeferredItem<Item> EQUAL_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> UNEQUAL_POSITION_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_POSITION_CODE_BLOCK);
	public static final DeferredItem<Item> EQUAL_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.EQUAL_AREA_CODE_BLOCK);
	public static final DeferredItem<Item> UNEQUAL_AREA_CODE_BLOCK = block(PuzzleCodeModBlocks.UNEQUAL_AREA_CODE_BLOCK);

	// Start of user code block custom items
	// End of user code block custom items
	@SubscribeEvent
	public static void registerCapabilities(RegisterCapabilitiesEvent event) {
		event.registerItem(Capabilities.ItemHandler.ITEM, (stack, context) -> new NBTVerifierInventoryCapability(stack), NBT_VERIFIER.get());
		event.registerItem(Capabilities.ItemHandler.ITEM, (stack, context) -> new ItemCodeItemInventoryCapability(stack), ITEM_CODE_ITEM.get());
		event.registerItem(Capabilities.ItemHandler.ITEM, (stack, context) -> new TutorialGadgetInventoryCapability(stack), TUTORIAL_GADGET.get());
	}

	private static DeferredItem<Item> block(DeferredHolder<Block, Block> block) {
		return REGISTRY.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
	}
}
