Files

164 lines
6.1 KiB
Java

package net.paladrill.paladrillmod.procedure;
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraft.world.World;
import net.minecraft.util.math.BlockPos;
import net.minecraft.item.ItemStack;
import net.minecraft.init.Blocks;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.Entity;
import java.util.Map;
@ElementsPaladrillmodMod.ModElement.Tag
public class ProcedureHaveKiwanoSeeds extends ElementsPaladrillmodMod.ModElement {
public ProcedureHaveKiwanoSeeds(ElementsPaladrillmodMod instance) {
super(instance, 195);
}
public static void executeProcedure(Map<String, Object> dependencies) {
if (dependencies.get("x") == null) {
System.err.println("Failed to load dependency x for procedure HaveKiwanoSeeds!");
return;
}
if (dependencies.get("y") == null) {
System.err.println("Failed to load dependency y for procedure HaveKiwanoSeeds!");
return;
}
if (dependencies.get("z") == null) {
System.err.println("Failed to load dependency z for procedure HaveKiwanoSeeds!");
return;
}
if (dependencies.get("world") == null) {
System.err.println("Failed to load dependency world for procedure HaveKiwanoSeeds!");
return;
}
int x = (int) dependencies.get("x");
int y = (int) dependencies.get("y");
int z = (int) dependencies.get("z");
World world = (World) dependencies.get("world");
if (((world.getBlockState(new BlockPos((int) x, (int) y, (int) z))).getBlock() == Blocks.TALLGRASS.getStateFromMeta(1).getBlock())) {
if ((Math.random() < 0.004)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.005)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.02)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.01)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemOkamiSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
}
if (((world.getBlockState(new BlockPos((int) x, (int) y, (int) z))).getBlock() == Blocks.DOUBLE_PLANT.getStateFromMeta(2).getBlock())) {
if ((Math.random() < 0.005)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.004)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.02)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.01)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemOkamiSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
}
if (((world.getBlockState(new BlockPos((int) x, (int) y, (int) z))).getBlock() == Blocks.AIR.getDefaultState().getBlock())) {
if ((Math.random() < 0.005)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.009)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.02)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
if ((Math.random() < 0.01)) {
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(ItemOkamiSeeds.block, (int) (1)));
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn);
}
}
}
}
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent event) {
Entity entity = event.getPlayer();
java.util.HashMap<String, Object> dependencies = new java.util.HashMap<>();
dependencies.put("xpAmount", event.getExpToDrop());
dependencies.put("x", (int) event.getPos().getX());
dependencies.put("y", (int) event.getPos().getY());
dependencies.put("z", (int) event.getPos().getZ());
dependencies.put("px", (int) entity.posX);
dependencies.put("py", (int) entity.posY);
dependencies.put("pz", (int) entity.posZ);
dependencies.put("world", event.getWorld());
dependencies.put("entity", entity);
dependencies.put("event", event);
this.executeProcedure(dependencies);
}
@Override
public void preInit(FMLPreInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(this);
}
}