added blocks
This commit is contained in:
		| @@ -1,11 +1,16 @@ | |||||||
| package de.jottyfan.quickiemod; | package de.jottyfan.quickiemod; | ||||||
|  |  | ||||||
| import net.fabricmc.api.ModInitializer; | import java.util.List; | ||||||
|  |  | ||||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.block.ModBlocks; | ||||||
| import de.jottyfan.quickiemod.item.ModItems; | 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 | 	@Override | ||||||
| 	public void onInitialize() { | 	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_STUB = Identifier.of(Quickiemod.MOD_ID, "stub"); | ||||||
| 	public static final Identifier ITEM_SPEEDPOWDER = Identifier.of(Quickiemod.MOD_ID, "speedpowder"); | 	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 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; | package de.jottyfan.quickiemod.item; | ||||||
|  |  | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
| import de.jottyfan.quickiemod.Quickiemod; | import de.jottyfan.quickiemod.Quickiemod; | ||||||
| import de.jottyfan.quickiemod.identifier.ModIdentifiers; | import de.jottyfan.quickiemod.identifier.ModIdentifiers; | ||||||
| import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; |  | ||||||
| import net.minecraft.item.Item; | import net.minecraft.item.Item; | ||||||
| import net.minecraft.item.ItemStack; |  | ||||||
| import net.minecraft.registry.Registries; | import net.minecraft.registry.Registries; | ||||||
| import net.minecraft.registry.Registry; | 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; | import net.minecraft.util.Identifier; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @@ -26,16 +24,13 @@ public class ModItems { | |||||||
| 		return Registry.register(Registries.ITEM, identifier, item); | 		return Registry.register(Registries.ITEM, identifier, item); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	public static final void registerModItems() { | 	public static final List<Item> registerModItems() { | ||||||
| 		Quickiemod.LOGGER.info(String.format("registering items for %s", Quickiemod.MOD_ID)); | 		Quickiemod.LOGGER.debug(String.format("registering item %s", Quickiemod.MOD_ID)); | ||||||
|  |  | ||||||
| 		Registry.register(Registries.ITEM_GROUP, | 		List<Item> items = new ArrayList<>(); | ||||||
| 				RegistryKey.of(RegistryKeys.ITEM_GROUP, Identifier.of(Quickiemod.MOD_ID, "itemgroup")), | 		items.add(ITEM_STUB); | ||||||
| 				FabricItemGroup.builder().icon(() -> new ItemStack(ITEM_SPEEDPOWDER)) | 		items.add(ITEM_SPEEDPOWDER); | ||||||
| 						.displayName(Text.literal(Quickiemod.MOD_ID)).entries((enabledFeatures, stacks) -> { | 		items.add(ITEM_QUICKIEPOWDER); | ||||||
| 							stacks.add(new ItemStack(ITEM_STUB)); | 		return items; | ||||||
| 							stacks.add(new ItemStack(ITEM_SPEEDPOWDER)); |  | ||||||
| 							stacks.add(new ItemStack(ITEM_QUICKIEPOWDER)); |  | ||||||
| 						}).build()); |  | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										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