added UltraPickaxe
This commit is contained in:
parent
dd0d538afb
commit
cfeed04a0a
@ -1,5 +1,7 @@
|
|||||||
package com.jenny.compressedblocks;
|
package com.jenny.compressedblocks;
|
||||||
|
|
||||||
|
|
||||||
|
import com.jenny.compressedblocks.Tools;
|
||||||
import com.mojang.logging.LogUtils;
|
import com.mojang.logging.LogUtils;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.resources.model.Material;
|
import net.minecraft.client.resources.model.Material;
|
||||||
@ -103,7 +105,7 @@ public class CompressedBlocks
|
|||||||
public static final RegistryObject<Block> GRANITE_4X = BLOCKS.register("granite_4x", () -> new Block(BlockBehaviour.Properties.of().mapColor(MapColor.NONE).strength(5.0F, 11.0F).requiresCorrectToolForDrops()));
|
public static final RegistryObject<Block> GRANITE_4X = BLOCKS.register("granite_4x", () -> new Block(BlockBehaviour.Properties.of().mapColor(MapColor.NONE).strength(5.0F, 11.0F).requiresCorrectToolForDrops()));
|
||||||
public static final RegistryObject<Item> GRANITE_4X_ITEM = ITEMS.register("granite_4x", () -> new BlockItem(GRANITE_4X.get(), new Item.Properties()));
|
public static final RegistryObject<Item> GRANITE_4X_ITEM = ITEMS.register("granite_4x", () -> new BlockItem(GRANITE_4X.get(), new Item.Properties()));
|
||||||
|
|
||||||
/* Combined blocks */
|
/* COMBINED BLOCKS */
|
||||||
|
|
||||||
public static final RegistryObject<Block> CBLOCK_MINING = BLOCKS.register("cblock_mining", () -> new Block(BlockBehaviour.Properties.of().mapColor(MapColor.NONE).strength(5.0F, 11.0F).requiresCorrectToolForDrops()));
|
public static final RegistryObject<Block> CBLOCK_MINING = BLOCKS.register("cblock_mining", () -> new Block(BlockBehaviour.Properties.of().mapColor(MapColor.NONE).strength(5.0F, 11.0F).requiresCorrectToolForDrops()));
|
||||||
public static final RegistryObject<Item> CBLOCK_MINING_ITEM = ITEMS.register("cblock_mining", () -> new BlockItem(CBLOCK_MINING.get(), new Item.Properties()));
|
public static final RegistryObject<Item> CBLOCK_MINING_ITEM = ITEMS.register("cblock_mining", () -> new BlockItem(CBLOCK_MINING.get(), new Item.Properties()));
|
||||||
@ -131,6 +133,7 @@ public class CompressedBlocks
|
|||||||
output.accept(GRANITE_3X.get());
|
output.accept(GRANITE_3X.get());
|
||||||
output.accept(GRANITE_4X.get());
|
output.accept(GRANITE_4X.get());
|
||||||
output.accept(CBLOCK_MINING.get());
|
output.accept(CBLOCK_MINING.get());
|
||||||
|
output.accept(Tools.ULTRA_PICKAXE.get());
|
||||||
}).build());
|
}).build());
|
||||||
|
|
||||||
public CompressedBlocks()
|
public CompressedBlocks()
|
||||||
@ -144,6 +147,7 @@ public class CompressedBlocks
|
|||||||
BLOCKS.register(modEventBus);
|
BLOCKS.register(modEventBus);
|
||||||
// Register the Deferred Register to the mod event bus so items get registered
|
// Register the Deferred Register to the mod event bus so items get registered
|
||||||
ITEMS.register(modEventBus);
|
ITEMS.register(modEventBus);
|
||||||
|
Tools.register(modEventBus);
|
||||||
// Register the Deferred Register to the mod event bus so tabs get registered
|
// Register the Deferred Register to the mod event bus so tabs get registered
|
||||||
CREATIVE_MODE_TABS.register(modEventBus);
|
CREATIVE_MODE_TABS.register(modEventBus);
|
||||||
|
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
package com.jenny.compressedblocks;
|
||||||
|
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraftforge.client.model.generators.ItemModelBuilder;
|
||||||
|
import net.minecraftforge.client.model.generators.ItemModelProvider;
|
||||||
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
|
|
||||||
|
public class ModItemModelProvider extends ItemModelProvider {
|
||||||
|
public ModItemModelProvider(PackOutput output, ExistingFileHelper existingFileHelper) {
|
||||||
|
super(output, CompressedBlocks.MODID, existingFileHelper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerModels() {
|
||||||
|
handheldItem(Tools.ULTRA_PICKAXE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ItemModelBuilder saplingItem(RegistryObject<Block> item) {
|
||||||
|
return withExistingParent(item.getId().getPath(),
|
||||||
|
new ResourceLocation("item/generated")).texture("layer0",
|
||||||
|
new ResourceLocation(CompressedBlocks.MODID,"block/" + item.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ItemModelBuilder complexBlock(Block block) {
|
||||||
|
return withExistingParent(ForgeRegistries.BLOCKS.getKey(block).getPath(), new ResourceLocation(CompressedBlocks.MODID,
|
||||||
|
"block/" + ForgeRegistries.BLOCKS.getKey(block).getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void fenceItem(RegistryObject<Block> block, RegistryObject<Block> baseBlock) {
|
||||||
|
this.withExistingParent(ForgeRegistries.BLOCKS.getKey(block.get()).getPath(), mcLoc("block/fence_inventory"))
|
||||||
|
.texture("texture", new ResourceLocation(CompressedBlocks.MODID, "block/" + ForgeRegistries.BLOCKS.getKey(baseBlock.get()).getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void wallItem(RegistryObject<Block> block, RegistryObject<Block> baseBlock) {
|
||||||
|
this.withExistingParent(ForgeRegistries.BLOCKS.getKey(block.get()).getPath(), mcLoc("block/wall_inventory"))
|
||||||
|
.texture("wall", new ResourceLocation(CompressedBlocks.MODID, "block/" + ForgeRegistries.BLOCKS.getKey(baseBlock.get()).getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void buttonItem(RegistryObject<Block> block, RegistryObject<Block> baseBlock) {
|
||||||
|
this.withExistingParent(ForgeRegistries.BLOCKS.getKey(block.get()).getPath(), mcLoc("block/button_inventory"))
|
||||||
|
.texture("texture", new ResourceLocation(CompressedBlocks.MODID, "block/" + ForgeRegistries.BLOCKS.getKey(baseBlock.get()).getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private ItemModelBuilder handheldItem(RegistryObject<Item> item) {
|
||||||
|
return withExistingParent(item.getId().getPath(),
|
||||||
|
new ResourceLocation("item/handheld")).texture("layer0",
|
||||||
|
new ResourceLocation(CompressedBlocks.MODID,"item/" + item.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ItemModelBuilder simpleBlockItem(RegistryObject<Block> item) {
|
||||||
|
return withExistingParent(item.getId().getPath(),
|
||||||
|
new ResourceLocation("item/generated")).texture("layer0",
|
||||||
|
new ResourceLocation(CompressedBlocks.MODID,"item/" + item.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ItemModelBuilder simpleItem(RegistryObject<Item> item) {
|
||||||
|
return withExistingParent(item.getId().getPath(),
|
||||||
|
new ResourceLocation("item/generated")).texture("layer0",
|
||||||
|
new ResourceLocation(CompressedBlocks.MODID,"item/" + item.getId().getPath()));
|
||||||
|
}
|
||||||
|
}
|
22
src/main/java/com/jenny/compressedblocks/Tags.java
Normal file
22
src/main/java/com/jenny/compressedblocks/Tags.java
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package com.jenny.compressedblocks;
|
||||||
|
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.tags.BlockTags;
|
||||||
|
import net.minecraft.tags.ItemTags;
|
||||||
|
import net.minecraft.tags.TagKey;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
|
||||||
|
public class Tags {
|
||||||
|
public static class Blocks {
|
||||||
|
public static final TagKey<Block> NEEDS_ULTRA_TOOL = tag("needs_ultra_tool");
|
||||||
|
|
||||||
|
private static TagKey<Block> tag(String name) {
|
||||||
|
return BlockTags.create(new ResourceLocation(CompressedBlocks.MODID, name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Items {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
18
src/main/java/com/jenny/compressedblocks/ToolTiers.java
Normal file
18
src/main/java/com/jenny/compressedblocks/ToolTiers.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package com.jenny.compressedblocks;
|
||||||
|
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Tier;
|
||||||
|
import net.minecraft.world.item.Tiers;
|
||||||
|
import net.minecraft.world.item.crafting.Ingredient;
|
||||||
|
import net.minecraftforge.common.ForgeTier;
|
||||||
|
import net.minecraftforge.common.TierSortingRegistry;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ToolTiers {
|
||||||
|
public static final Tier ULTRA = TierSortingRegistry.registerTier(
|
||||||
|
new ForgeTier(5, 2560, 20f, 4f, 25,
|
||||||
|
Tags.Blocks.NEEDS_ULTRA_TOOL, () -> Ingredient.of(CompressedBlocks.CBLOCK_MINING_ITEM.get())),
|
||||||
|
new ResourceLocation(CompressedBlocks.MODID, "ultra"), List.of(Tiers.NETHERITE), List.of()
|
||||||
|
);
|
||||||
|
}
|
20
src/main/java/com/jenny/compressedblocks/Tools.java
Normal file
20
src/main/java/com/jenny/compressedblocks/Tools.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package com.jenny.compressedblocks;
|
||||||
|
|
||||||
|
import com.jenny.compressedblocks.ToolTiers;
|
||||||
|
import net.minecraft.world.item.*;
|
||||||
|
import net.minecraftforge.common.ForgeSpawnEggItem;
|
||||||
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
|
|
||||||
|
public class Tools {
|
||||||
|
public static final DeferredRegister<Item> TOOLS =
|
||||||
|
DeferredRegister.create(ForgeRegistries.ITEMS, CompressedBlocks.MODID);
|
||||||
|
|
||||||
|
public static final RegistryObject<Item> ULTRA_PICKAXE = TOOLS.register("ultra_pickaxe", () -> new PickaxeItem(ToolTiers.ULTRA, 1, -2.5f, new Item.Properties()));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static void register(IEventBus eventBus) {TOOLS.register(eventBus);};
|
||||||
|
}
|
@ -15,5 +15,6 @@
|
|||||||
"block.compressedblocks.granite_2x": "Granite²",
|
"block.compressedblocks.granite_2x": "Granite²",
|
||||||
"block.compressedblocks.granite_3x": "Granite³",
|
"block.compressedblocks.granite_3x": "Granite³",
|
||||||
"block.compressedblocks.granite_4x": "Granite⁴",
|
"block.compressedblocks.granite_4x": "Granite⁴",
|
||||||
"block.compressedblocks.cblock_mining": "Mining Block"
|
"block.compressedblocks.cblock_mining": "Mining Block",
|
||||||
|
"item.compressedblocks.ultra_pickaxe": "Ultra Pickaxe"
|
||||||
}
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "compressedblocks:item/ultra_pickaxe"
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"animation": {
|
||||||
|
"frametime": 4,
|
||||||
|
"interpolate": true,
|
||||||
|
"frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedblocks:cblock_mining"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
22
src/main/resources/data/compressedblocks/recipes/cblock_mining.json
Executable file
22
src/main/resources/data/compressedblocks/recipes/cblock_mining.json
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shapeless",
|
||||||
|
"ingredients":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"item": "compressedblocks:cobblestone_4x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "compressedblocks:andesite_4x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "compressedblocks:diorite_4x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "compressedblocks:granite_4x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"item": "compressedblocks:cblock_mining",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,19 @@
|
|||||||
"compressedblocks:cobblestone_1x",
|
"compressedblocks:cobblestone_1x",
|
||||||
"compressedblocks:cobblestone_2x",
|
"compressedblocks:cobblestone_2x",
|
||||||
"compressedblocks:cobblestone_3x",
|
"compressedblocks:cobblestone_3x",
|
||||||
"compressedblocks:cobblestone_4x"
|
"compressedblocks:cobblestone_4x",
|
||||||
|
"compressedblocks:andesite_1x",
|
||||||
|
"compressedblocks:andesite_2x",
|
||||||
|
"compressedblocks:andesite_3x",
|
||||||
|
"compressedblocks:andesite_4x",
|
||||||
|
"compressedblocks:diorite_1x",
|
||||||
|
"compressedblocks:diorite_2x",
|
||||||
|
"compressedblocks:diorite_3x",
|
||||||
|
"compressedblocks:diorite_4x",
|
||||||
|
"compressedblocks:granite_1x",
|
||||||
|
"compressedblocks:granite_2x",
|
||||||
|
"compressedblocks:granite_3x",
|
||||||
|
"compressedblocks:granite_4x",
|
||||||
|
"compressedblocks:cblock_mining"
|
||||||
]
|
]
|
||||||
}
|
}
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user