added blocks
This commit is contained in:
parent
2e9452cae1
commit
203e00347a
@ -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
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user