Files
Ornamentum/src/main/java/ovh/glitchlabs/ornamentum/blocks/ModBlocks.java
T
Glitchlabs 0697e636ff + grates
+ grates recepi
2026-06-27 10:34:49 +02:00

189 lines
10 KiB
Java

package ovh.glitchlabs.ornamentum.blocks;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredBlock;
import net.neoforged.neoforge.registries.DeferredRegister;
import ovh.glitchlabs.ornamentum.Ornamentum;
import ovh.glitchlabs.ornamentum.items.ModItems;
import java.util.function.Supplier;
public class ModBlocks {
public static final DeferredRegister.Blocks BLOCKS =
DeferredRegister.createBlocks(Ornamentum.MODID);
//GRATES
public static final DeferredBlock<Block> IRON_GRATE = registerBlock("iron_grate",
() -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE)
.strength(5.0f, 6.0f)
.noOcclusion()
));
public static final DeferredBlock<Block> GOLD_GRATE = registerBlock("gold_grate",
() -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE)
.strength(3.0f, 4.0f)
.noOcclusion()
));
public static final DeferredBlock<Block> DIAMOND_GRATE = registerBlock("diamond_grate",
() -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE)
.strength(5.0f, 6.0f)
.noOcclusion()
));
public static final DeferredBlock<Block> NETHERITE_GRATE = registerBlock("netherite_grate",
() -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE)
.strength(6.0f, 7.0f)
.noOcclusion()
.explosionResistance(1200.0f)
));
public static final DeferredBlock<Block> AMETHYST_GRATE = registerBlock("amethyst_grate",
() -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE)
.strength(3.0f, 4.0f)
.noOcclusion()
));
public static final DeferredBlock<Block> OBSIDIAN_GRATE = registerBlock("obsidian_grate",
() -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE)
.strength(50.0f, 1200.0f)
.noOcclusion()
.explosionResistance(1200.0f)
));
//GLOW BLOCK
public static final DeferredBlock<Block> LIME_GLOW_BLOCK = registerBlock("lime_glow_block",
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BLOCK)
.emissiveRendering(((blockState, blockGetter, blockPos) -> true))
.lightLevel(blockstate -> 15)
.noOcclusion())
);
public static final DeferredBlock<Block> WHITE_GLOW_BLOCK = registerBlock("white_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> LIGHT_GRAY_GLOW_BLOCK = registerBlock("light_gray_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> GRAY_GLOW_BLOCK = registerBlock("gray_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> BLACK_GLOW_BLOCK = registerBlock("black_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> BROWN_GLOW_BLOCK = registerBlock("brown_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> RED_GLOW_BLOCK = registerBlock("red_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> ORANGE_GLOW_BLOCK = registerBlock("orange_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> YELLOW_GLOW_BLOCK = registerBlock("yellow_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> GREEN_GLOW_BLOCK = registerBlock("green_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> CYAN_GLOW_BLOCK = registerBlock("cyan_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> LIGHT_BLUE_GLOW_BLOCK = registerBlock("light_blue_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> BLUE_GLOW_BLOCK = registerBlock("blue_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> PURPLE_GLOW_BLOCK = registerBlock("purple_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> MAGENTA_GLOW_BLOCK = registerBlock("magenta_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
public static final DeferredBlock<Block> PINK_GLOW_BLOCK = registerBlock("pink_glow_block",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get())));
//GlowGlass
public static final DeferredBlock<Block> LIME_GLOW_STAINED_GLASS = registerBlock("lime_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS)
.emissiveRendering(((blockState, blockGetter, blockPos) -> true))
.lightLevel(blockstate -> 13)
.noOcclusion()
.hasPostProcess((bs, br, bp) -> true))
);
public static final DeferredBlock<Block> WHITE_GLOW_STAINED_GLASS = registerBlock("white_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> LIGHT_GRAY_GLOW_STAINED_GLASS = registerBlock("light_gray_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> GRAY_GLOW_STAINED_GLASS = registerBlock("gray_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> BLACK_GLOW_STAINED_GLASS = registerBlock("black_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> BROWN_GLOW_STAINED_GLASS = registerBlock("brown_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> RED_GLOW_STAINED_GLASS = registerBlock("red_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> ORANGE_GLOW_STAINED_GLASS = registerBlock("orange_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> YELLOW_GLOW_STAINED_GLASS = registerBlock("yellow_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> GREEN_GLOW_STAINED_GLASS = registerBlock("green_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> CYAN_GLOW_STAINED_GLASS = registerBlock("cyan_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> LIGHT_BLUE_GLOW_STAINED_GLASS = registerBlock("light_blue_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> BLUE_GLOW_STAINED_GLASS = registerBlock("blue_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> PURPLE_GLOW_STAINED_GLASS = registerBlock("purple_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> MAGENTA_GLOW_STAINED_GLASS = registerBlock("magenta_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
public static final DeferredBlock<Block> PINK_GLOW_STAINED_GLASS = registerBlock("pink_glow_stained_glass",
() -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get())));
private static <T extends Block> DeferredBlock<T> registerBlock(String name, Supplier<T> block) {
DeferredBlock<T> toReturn = BLOCKS.register(name, block);
registerBlockItem(name, toReturn);
return toReturn;
}
private static <T extends Block> void registerBlockItem(String name, DeferredBlock<T> block) {
ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties()));
}
public static void register(IEventBus eventBus) {
BLOCKS.register(eventBus);
}
}