Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add tag support for hammer
  • Loading branch information
NovaMachina committed Aug 2, 2020
1 parent f2b534c commit 5a8964d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 18 deletions.
@@ -1,34 +1,47 @@
package com.novamachina.exnihilosequentia.common.item.tools.hammer;

import com.novamachina.exnihilosequentia.common.setup.ModBlocks;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.registries.ForgeRegistries;

public class HammerDrops {

private static final Map<String, Block> hammerDrops = new HashMap<>();
private static final Map<ResourceLocation, ResourceLocation> hammerDrops = new HashMap<>();

public static void addRecipe(Block input, Block output) {
addRecipe(input.getRegistryName(), output.getRegistryName());
}

private static void addRecipe(ResourceLocation input, ResourceLocation output) {
hammerDrops.put(input, output);
}

public static void initialize() {

hammerDrops.put(Blocks.STONE.getRegistryName().toString(), Blocks.COBBLESTONE);
hammerDrops.put(Blocks.COBBLESTONE.getRegistryName().toString(), Blocks.GRAVEL);
hammerDrops.put(Blocks.GRAVEL.getRegistryName().toString(), Blocks.SAND);
hammerDrops.put(Blocks.SAND.getRegistryName().toString(), ModBlocks.DUST.get());
hammerDrops.put(Blocks.ANDESITE.getRegistryName().toString(),
ModBlocks.CRUSHED_ANDESITE.get());
hammerDrops.put(Blocks.DIORITE.getRegistryName().toString(),
ModBlocks.CRUSHED_DIORITE.get());
hammerDrops.put(Blocks.GRANITE.getRegistryName().toString(),
ModBlocks.CRUSHED_GRANITE.get());
hammerDrops.put(Blocks.END_STONE.getRegistryName().toString(),
ModBlocks.CRUSHED_END_STONE.get());
hammerDrops.put(Blocks.NETHERRACK.getRegistryName().toString(),
ModBlocks.CRUSHED_NETHERRACK.get());
addRecipe(Blocks.STONE, Blocks.COBBLESTONE);
addRecipe(Blocks.COBBLESTONE, Blocks.GRAVEL);
addRecipe(Blocks.GRAVEL, Blocks.SAND);
addRecipe(Blocks.SAND, ModBlocks.DUST.get());
addRecipe(Blocks.ANDESITE, ModBlocks.CRUSHED_ANDESITE.get());
addRecipe(Blocks.DIORITE, ModBlocks.CRUSHED_DIORITE.get());
addRecipe(Blocks.GRANITE, ModBlocks.CRUSHED_GRANITE.get());
addRecipe(Blocks.END_STONE, ModBlocks.CRUSHED_END_STONE.get());
addRecipe(Blocks.NETHERRACK, ModBlocks.CRUSHED_NETHERRACK.get());
}

public static Block getResult(String input) {
return hammerDrops.get(input);
public static Block getResult(ResourceLocation input) {
if(hammerDrops.containsKey(input)) {
ResourceLocation output = hammerDrops.get(input);
if(ForgeRegistries.BLOCKS.containsKey(output)) {
return ForgeRegistries.BLOCKS.getValue(output);
}
}
return ForgeRegistries.BLOCKS.getValue(input);
}
}
Expand Up @@ -33,7 +33,7 @@ public List<ItemStack> doApply(List<ItemStack> generatedLoot, LootContext contex
if (tool.getItem() instanceof HammerBaseItem) {
List<ItemStack> newLoot = new ArrayList<>();
Block returnBlock = HammerDrops
.getResult(blockState.getBlock().getRegistryName().toString());
.getResult(blockState.getBlock().getRegistryName());
newLoot.add(new ItemStack(returnBlock));
return newLoot;
}
Expand Down

0 comments on commit 5a8964d

Please sign in to comment.