Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mcreator.expandedpicks.procedures;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.event.world.BlockEvent;
- import net.minecraft.world.World;
- import net.minecraft.world.IWorld;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.item.Items;
- import net.minecraft.item.ItemStack;
- import net.minecraft.entity.item.ItemEntity;
- import net.minecraft.entity.LivingEntity;
- import net.minecraft.entity.Entity;
- import net.minecraft.block.Blocks;
- import net.mcreator.expandedpicks.item.LapisPickaxeItem;
- import net.mcreator.expandedpicks.ExpandedPicksMod;
- import java.util.Map;
- import java.util.HashMap;
- public class LapisPickaxeBlockDestroyedWithToolProcedure {
- @Mod.EventBusSubscriber
- private static class GlobalTrigger {
- @SubscribeEvent
- public static void onBlockBreak(BlockEvent.BreakEvent event) {
- Entity entity = event.getPlayer();
- IWorld world = event.getWorld();
- Map<String, Object> dependencies = new HashMap<>();
- dependencies.put("xpAmount", event.getExpToDrop());
- dependencies.put("x", event.getPos().getX());
- dependencies.put("y", event.getPos().getY());
- dependencies.put("z", event.getPos().getZ());
- dependencies.put("px", entity.getPosX());
- dependencies.put("py", entity.getPosY());
- dependencies.put("pz", entity.getPosZ());
- dependencies.put("world", world);
- dependencies.put("entity", entity);
- dependencies.put("blockstate", event.getState());
- dependencies.put("event", event);
- executeProcedure(dependencies);
- }
- }
- public static void executeProcedure(Map<String, Object> dependencies) {
- if (dependencies.get("entity") == null) {
- if (!dependencies.containsKey("entity"))
- ExpandedPicksMod.LOGGER.warn("Failed to load dependency entity for procedure LapisPickaxeBlockDestroyedWithTool!");
- return;
- }
- if (dependencies.get("x") == null) {
- if (!dependencies.containsKey("x"))
- ExpandedPicksMod.LOGGER.warn("Failed to load dependency x for procedure LapisPickaxeBlockDestroyedWithTool!");
- return;
- }
- if (dependencies.get("y") == null) {
- if (!dependencies.containsKey("y"))
- ExpandedPicksMod.LOGGER.warn("Failed to load dependency y for procedure LapisPickaxeBlockDestroyedWithTool!");
- return;
- }
- if (dependencies.get("z") == null) {
- if (!dependencies.containsKey("z"))
- ExpandedPicksMod.LOGGER.warn("Failed to load dependency z for procedure LapisPickaxeBlockDestroyedWithTool!");
- return;
- }
- if (dependencies.get("world") == null) {
- if (!dependencies.containsKey("world"))
- ExpandedPicksMod.LOGGER.warn("Failed to load dependency world for procedure LapisPickaxeBlockDestroyedWithTool!");
- return;
- }
- Entity entity = (Entity) dependencies.get("entity");
- double x = dependencies.get("x") instanceof Integer ? (int) dependencies.get("x") : (double) dependencies.get("x");
- double y = dependencies.get("y") instanceof Integer ? (int) dependencies.get("y") : (double) dependencies.get("y");
- double z = dependencies.get("z") instanceof Integer ? (int) dependencies.get("z") : (double) dependencies.get("z");
- IWorld world = (IWorld) dependencies.get("world");
- if ((((world.getBlockState(new BlockPos((int) x, (int) y, (int) z))).getBlock() == Blocks.STONE)
- && (((entity instanceof LivingEntity) ? ((LivingEntity) entity).getHeldItemMainhand() : ItemStack.EMPTY)
- .getItem() == LapisPickaxeItem.block))) {
- if ((Math.random() <= 0.25)) {
- for (int index0 = 0; index0 < (int) (2); index0++) {
- if (world instanceof World && !world.isRemote()) {
- ItemEntity entityToSpawn = new ItemEntity((World) world, x, y, z, new ItemStack(Items.LAPIS_LAZULI));
- entityToSpawn.setPickupDelay((int) 10);
- entityToSpawn.setNoDespawn();
- world.addEntity(entityToSpawn);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement