added blocks
This commit is contained in:
		| @@ -1,11 +1,16 @@ | ||||
| package de.jottyfan.quickiemod; | ||||
|  | ||||
| import net.fabricmc.api.ModInitializer; | ||||
| import java.util.List; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
|  | ||||
| import de.jottyfan.quickiemod.block.ModBlocks; | ||||
| import de.jottyfan.quickiemod.item.ModItems; | ||||
| import de.jottyfan.quickiemod.tab.ModTabs; | ||||
| import net.fabricmc.api.ModInitializer; | ||||
| import net.minecraft.block.Block; | ||||
| import net.minecraft.item.Item; | ||||
|  | ||||
| /** | ||||
|  * | ||||
| @@ -18,6 +23,8 @@ public class Quickiemod implements ModInitializer { | ||||
|  | ||||
| 	@Override | ||||
| 	public void onInitialize() { | ||||
| 		ModItems.registerModItems(); | ||||
| 		List<Item> items = ModItems.registerModItems(); | ||||
| 		List<Block> blocks = ModBlocks.registerModBlocks(); | ||||
| 		ModTabs.registerTab(items, blocks); | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,20 @@ | ||||
| package de.jottyfan.quickiemod.block; | ||||
|  | ||||
| import net.minecraft.block.AbstractBlock; | ||||
| import net.minecraft.block.Block; | ||||
| import net.minecraft.registry.RegistryKey; | ||||
| import net.minecraft.registry.RegistryKeys; | ||||
| import net.minecraft.util.Identifier; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| public abstract class AbstractIdentifiedBlock extends Block { | ||||
|  | ||||
| 	public AbstractIdentifiedBlock(Identifier identifier) { | ||||
| 		super(AbstractBlock.Settings.create().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										47
									
								
								src/main/java/de/jottyfan/quickiemod/block/BlockPowder.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/main/java/de/jottyfan/quickiemod/block/BlockPowder.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| package de.jottyfan.quickiemod.block; | ||||
|  | ||||
| import java.util.Arrays; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.mojang.serialization.MapCodec; | ||||
|  | ||||
| import net.minecraft.block.AbstractBlock; | ||||
| import net.minecraft.block.BlockState; | ||||
| import net.minecraft.block.FallingBlock; | ||||
| import net.minecraft.item.ItemStack; | ||||
| import net.minecraft.loot.context.LootWorldContext.Builder; | ||||
| import net.minecraft.registry.RegistryKey; | ||||
| import net.minecraft.registry.RegistryKeys; | ||||
| import net.minecraft.util.Identifier; | ||||
| import net.minecraft.world.explosion.Explosion; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| public class BlockPowder extends FallingBlock { | ||||
|  | ||||
| 	private final ItemStack[] drops; | ||||
|  | ||||
| 	public BlockPowder(Identifier identifier, ItemStack[] drops) { | ||||
| 		super(AbstractBlock.Settings.create().luminance(state -> 12).registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||
| 		this.drops = drops; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { | ||||
| 		return Arrays.asList(drops); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public boolean shouldDropItemsOnExplosion(Explosion explosion) { | ||||
| 		return true; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	protected MapCodec<? extends FallingBlock> getCodec() { | ||||
| 		// TODO Auto-generated method stub | ||||
| 		return null; | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										45
									
								
								src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| package de.jottyfan.quickiemod.block; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| import de.jottyfan.quickiemod.Quickiemod; | ||||
| import de.jottyfan.quickiemod.identifier.ModIdentifiers; | ||||
| import de.jottyfan.quickiemod.item.ModItems; | ||||
| import net.minecraft.block.Block; | ||||
| import net.minecraft.item.BlockItem; | ||||
| import net.minecraft.item.Item; | ||||
| import net.minecraft.item.ItemStack; | ||||
| import net.minecraft.registry.Registries; | ||||
| import net.minecraft.registry.Registry; | ||||
| import net.minecraft.registry.RegistryKey; | ||||
| import net.minecraft.registry.RegistryKeys; | ||||
| import net.minecraft.util.Identifier; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| public class ModBlocks { | ||||
|  | ||||
| 	public static final Block BLOCK_QUICKIEPOWDER = registerBlock(ModIdentifiers.BLOCK_QUICKIEPOWDER, new BlockPowder( | ||||
| 			ModIdentifiers.BLOCK_QUICKIEPOWDER, new ItemStack[] { new ItemStack(ModItems.ITEM_QUICKIEPOWDER, 9) })); | ||||
| 	public static final Block BLOCK_SPEEDPOWDER = registerBlock(ModIdentifiers.BLOCK_SPEEDPOWDER, new BlockPowder( | ||||
| 			ModIdentifiers.BLOCK_SPEEDPOWDER, new ItemStack[] { new ItemStack(ModItems.ITEM_SPEEDPOWDER, 9) })); | ||||
|  | ||||
| 	private static final Block registerBlock(Identifier identifier, Block block) { | ||||
| 		Registry.register(Registries.ITEM, identifier, new BlockItem(block, new Item.Settings() | ||||
| 				.registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)).useBlockPrefixedTranslationKey())); | ||||
| 		return Registry.register(Registries.BLOCK, identifier, block); | ||||
| 	} | ||||
|  | ||||
| 	public static final List<Block> registerModBlocks() { | ||||
| 		Quickiemod.LOGGER.info(String.format("registering blocks for %s", Quickiemod.MOD_ID)); | ||||
|  | ||||
| 		List<Block> blocks = new ArrayList<>(); | ||||
| 		blocks.add(BLOCK_QUICKIEPOWDER); | ||||
| 		blocks.add(BLOCK_SPEEDPOWDER); | ||||
| 		return blocks; | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,16 @@ | ||||
| package de.jottyfan.quickiemod.block; | ||||
|  | ||||
| import net.minecraft.util.Identifier; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| public class StandardBlock extends AbstractIdentifiedBlock { | ||||
|  | ||||
| 	public StandardBlock(Identifier identifier) { | ||||
| 		super(identifier); | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -12,4 +12,6 @@ public class ModIdentifiers { | ||||
| 	public static final Identifier ITEM_STUB = Identifier.of(Quickiemod.MOD_ID, "stub"); | ||||
| 	public static final Identifier ITEM_SPEEDPOWDER = Identifier.of(Quickiemod.MOD_ID, "speedpowder"); | ||||
| 	public static final Identifier ITEM_QUICKIEPOWDER = Identifier.of(Quickiemod.MOD_ID, "quickiepowder"); | ||||
| 	public static final Identifier BLOCK_QUICKIEPOWDER = Identifier.of(Quickiemod.MOD_ID, "blockquickiepowder"); | ||||
| 	public static final Identifier BLOCK_SPEEDPOWDER = Identifier.of(Quickiemod.MOD_ID, "blockspeedpowder"); | ||||
| } | ||||
|   | ||||
| @@ -1,15 +1,13 @@ | ||||
| package de.jottyfan.quickiemod.item; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| import de.jottyfan.quickiemod.Quickiemod; | ||||
| import de.jottyfan.quickiemod.identifier.ModIdentifiers; | ||||
| import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; | ||||
| import net.minecraft.item.Item; | ||||
| import net.minecraft.item.ItemStack; | ||||
| import net.minecraft.registry.Registries; | ||||
| import net.minecraft.registry.Registry; | ||||
| import net.minecraft.registry.RegistryKey; | ||||
| import net.minecraft.registry.RegistryKeys; | ||||
| import net.minecraft.text.Text; | ||||
| import net.minecraft.util.Identifier; | ||||
|  | ||||
| /** | ||||
| @@ -26,16 +24,13 @@ public class ModItems { | ||||
| 		return Registry.register(Registries.ITEM, identifier, item); | ||||
| 	} | ||||
|  | ||||
| 	public static final void registerModItems() { | ||||
| 		Quickiemod.LOGGER.info(String.format("registering items for %s", Quickiemod.MOD_ID)); | ||||
| 	public static final List<Item> registerModItems() { | ||||
| 		Quickiemod.LOGGER.debug(String.format("registering item %s", Quickiemod.MOD_ID)); | ||||
|  | ||||
| 		Registry.register(Registries.ITEM_GROUP, | ||||
| 				RegistryKey.of(RegistryKeys.ITEM_GROUP, Identifier.of(Quickiemod.MOD_ID, "itemgroup")), | ||||
| 				FabricItemGroup.builder().icon(() -> new ItemStack(ITEM_SPEEDPOWDER)) | ||||
| 						.displayName(Text.literal(Quickiemod.MOD_ID)).entries((enabledFeatures, stacks) -> { | ||||
| 							stacks.add(new ItemStack(ITEM_STUB)); | ||||
| 							stacks.add(new ItemStack(ITEM_SPEEDPOWDER)); | ||||
| 							stacks.add(new ItemStack(ITEM_QUICKIEPOWDER)); | ||||
| 						}).build()); | ||||
| 		List<Item> items = new ArrayList<>(); | ||||
| 		items.add(ITEM_STUB); | ||||
| 		items.add(ITEM_SPEEDPOWDER); | ||||
| 		items.add(ITEM_QUICKIEPOWDER); | ||||
| 		return items; | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										38
									
								
								src/main/java/de/jottyfan/quickiemod/tab/ModTabs.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/main/java/de/jottyfan/quickiemod/tab/ModTabs.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| package de.jottyfan.quickiemod.tab; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import de.jottyfan.quickiemod.Quickiemod; | ||||
| import de.jottyfan.quickiemod.item.ModItems; | ||||
| import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; | ||||
| import net.minecraft.block.Block; | ||||
| import net.minecraft.item.Item; | ||||
| import net.minecraft.item.ItemStack; | ||||
| import net.minecraft.registry.Registries; | ||||
| import net.minecraft.registry.Registry; | ||||
| import net.minecraft.registry.RegistryKey; | ||||
| import net.minecraft.registry.RegistryKeys; | ||||
| import net.minecraft.text.Text; | ||||
| import net.minecraft.util.Identifier; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| public class ModTabs { | ||||
|  | ||||
| 	public static final void registerTab(List<Item> items, List<Block> blocks) { | ||||
| 		Registry.register(Registries.ITEM_GROUP, | ||||
| 				RegistryKey.of(RegistryKeys.ITEM_GROUP, Identifier.of(Quickiemod.MOD_ID, "itemgroup")), | ||||
| 				FabricItemGroup.builder().icon(() -> new ItemStack(ModItems.ITEM_SPEEDPOWDER)) | ||||
| 						.displayName(Text.literal(Quickiemod.MOD_ID)).entries((enabledFeatures, stacks) -> { | ||||
| 							for (Item item : items) { | ||||
| 								stacks.add(new ItemStack(item)); | ||||
| 							} | ||||
| 							for (Block block : blocks) { | ||||
| 								stacks.add(new ItemStack(block)); | ||||
| 							} | ||||
| 						}).build()); | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| { | ||||
| 	"type": "minecraft:crafting_shaped", | ||||
| 	"pattern": [ | ||||
| 		"sss", | ||||
| 		"sss", | ||||
| 		"sss" | ||||
| 	], | ||||
| 	"key": { | ||||
| 		"s": "quickiemod:quickiepowder" | ||||
| 	}, | ||||
| 	"result": { | ||||
| 		"id": "quickiemod:blockquickiepowder", | ||||
| 		"count": 1 | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,15 @@ | ||||
| { | ||||
| 	"type": "minecraft:crafting_shaped", | ||||
| 	"pattern": [ | ||||
| 		"sss", | ||||
| 		"sss", | ||||
| 		"sss" | ||||
| 	], | ||||
| 	"key": { | ||||
| 		"s": "quickiemod:speedpowder" | ||||
| 	}, | ||||
| 	"result": { | ||||
| 		"id": "quickiemod:blockspeedpowder", | ||||
| 		"count": 1 | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user