mirror of
https://github.com/architectury/architectury-api.git
synced 2026-04-01 21:17:45 -05:00
Add tool interaction recipe hooks
This commit is contained in:
@@ -29,6 +29,7 @@ import dev.architectury.test.events.DebugEvents;
|
||||
import dev.architectury.test.gamerule.TestGameRules;
|
||||
import dev.architectury.test.networking.TestModNet;
|
||||
import dev.architectury.test.particle.TestParticles;
|
||||
import dev.architectury.test.recipe.TestRecipes;
|
||||
import dev.architectury.test.registry.TestRegistries;
|
||||
import dev.architectury.test.registry.client.TestKeybinds;
|
||||
import dev.architectury.test.tags.TestTags;
|
||||
@@ -52,6 +53,7 @@ public class TestMod {
|
||||
TestTrades.init();
|
||||
TestParticles.initialize();
|
||||
TestModNet.initialize();
|
||||
TestRecipes.init();
|
||||
if (Platform.getEnvironment() == Env.CLIENT) {
|
||||
initializeClient();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package dev.architectury.test.recipe;
|
||||
|
||||
import dev.architectury.hooks.item.tool.AxeItemHooks;
|
||||
import dev.architectury.hooks.item.tool.HoeItemHooks;
|
||||
import dev.architectury.hooks.item.tool.ShovelItemHooks;
|
||||
import net.minecraft.Util;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
||||
public final class TestRecipes {
|
||||
private TestRecipes() {
|
||||
}
|
||||
|
||||
public static void init() {
|
||||
AxeItemHooks.addStrippingRecipe(Blocks.QUARTZ_PILLAR, Blocks.OAK_LOG);
|
||||
ShovelItemHooks.addFlatteningRecipe(Blocks.IRON_ORE, Blocks.DIAMOND_BLOCK.defaultBlockState());
|
||||
HoeItemHooks.addTillingRecipe(Blocks.COAL_BLOCK, ctx -> {
|
||||
if (!ctx.getLevel().isNight()) {
|
||||
if (!ctx.getLevel().isClientSide) {
|
||||
Player player = ctx.getPlayer();
|
||||
if (player != null)
|
||||
player.sendMessage(new TextComponent("These dark arts can only be done at night!"), Util.NIL_UUID);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}, ctx -> {
|
||||
BlockPos pos = ctx.getClickedPos();
|
||||
ctx.getLevel().setBlock(pos, Blocks.DIAMOND_BLOCK.defaultBlockState(), 3);
|
||||
if (!ctx.getLevel().isClientSide) {
|
||||
Player player = ctx.getPlayer();
|
||||
if (player != null)
|
||||
player.sendMessage(new TextComponent("Thou has successfully committed the dark arts of alchemy!!"), Util.NIL_UUID);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user