// Path: src/main/java/xilef11/mc/runesofwizardry_classics/Refs.java
// public final class Refs {
// 	private Refs(){}
// 	public static final String MODID = "runesofwizardry_classics";
// 	public static final String VERSION = "@VERSION@";
// 	public static final String NAME="Runes of Wizardry - Classic Dusts Pack";
// 	public static final String GUI_FACTORY="xilef11.mc.runesofwizardry_classics.client.gui.GuiFactory";
// 	public static final String CLIENT_PROXY = "xilef11.mc.runesofwizardry_classics.proxy.ClientProxy",
// 							   SERVER_PROXY="xilef11.mc.runesofwizardry_classics.proxy.ServerProxy";
// 	public static final String PATTERN_PATH=MODID+":patterns/";
// 	public static final String TEXTURE_PATH=MODID+":";
// 	public static final int TICKS_PER_DAY=24000;
// 	public static final int TPS=20;
// 	public static final class Lang{
// 		private Lang(){}
// 		public static final String RUNE=MODID+".rune";
// 		public static final String CONFIG=MODID+".configuration";
// 		public static final String DEC=RUNE+".decorative";
// 		
// 		public static final class Jei{
// 			private Jei(){}
// 			public static final String JEI=MODID+".jei";
// 			public static final String SPIRIT_SWORD=JEI+".spirit_sword";
// 			public static final String SPIRIT_PICKAXE=JEI+".spirit_pickaxe";
// 		}
// 	}
// }
// 
// Path: src/main/java/xilef11/mc/runesofwizardry_classics/runes/entity/RuneEntityLeapingFrog.java
// public class RuneEntityLeapingFrog extends RuneEntity {
// 	public RuneEntityLeapingFrog(ItemStack[][] actualPattern,
// 			EnumFacing facing, Set<BlockPos> dusts,
// 			TileEntityDustActive entity, IRune creator) {
// 		super(actualPattern, facing, dusts, entity, creator);
// 	}
// 	@Override
// 	public void onRuneActivatedbyPlayer(EntityPlayer player,
// 			ItemStack[] sacrifice, boolean negated) {
// 		//start FX
// 		entity.setupStar(0xFFFFFF, 0x00FF00, 1, 1);
// 		entity.setDrawStar(true);
// 	}
// 	@Override
// 	public void update() {
// 		World world = entity.getWorld();
// 		if(!world.isRemote){
// 			if(entity.ticksExisted()%10==0){
// 				BlockPos current = getPos().offset(face, 1+blocksplaced);
// 				//Block down = world.getBlockState(current.down()).getBlock();
// 				if(world.isAirBlock(current)&&world.containsAnyLiquid(new AxisAlignedBB(current.down(), current.down().add(1, 1, 1)))){
// 					//world.spawnParticle(EnumParticleTypes.VILLAGER_HAPPY, current.getX(), current.getY(), current.getZ(), 0.5, 0.5, 0.5);
// 					if(world instanceof WorldServer){
// 						WorldServer ws = (WorldServer)world;
// 						ws.spawnParticle(EnumParticleTypes.VILLAGER_HAPPY, current.getX()+0.5, current.getY()+0.5, current.getZ()+0.5, ws.rand.nextInt(3)+2, 0,0,0, 2d);
// 					}
// 					world.setBlockState(current, Blocks.WATERLILY.getDefaultState());
// 					world.playBroadcastSound(2005, current, 0);
// 					world.playSound(null, current, SoundEvents.BLOCK_GRASS_STEP, SoundCategory.BLOCKS, 0.7F, 0.6F);
// 					blocksplaced++;
// 				}else{
// 					this.onPatternBroken();//we're done
// 				}
// 			}
// 		}
// 	}
// 	private int blocksplaced=0;
// 	/* (non-Javadoc)
// 	 * @see com.zpig333.runesofwizardry.api.RuneEntity#readFromNBT(net.minecraft.nbt.NBTTagCompound)
// 	 */
// 	@Override
// 	public void readFromNBT(NBTTagCompound compound) {
// 		super.readFromNBT(compound);
// 		blocksplaced = compound.getInteger("runeFrog.blocksplaced");
// 	}
// 	/* (non-Javadoc)
// 	 * @see com.zpig333.runesofwizardry.api.RuneEntity#writeToNBT(net.minecraft.nbt.NBTTagCompound)
// 	 */
// 	@Override
// 	public void writeToNBT(NBTTagCompound compound) {
// 		super.writeToNBT(compound);
// 		compound.setInteger("runeFrog.blocksplaced",blocksplaced);
// 	}
// }


import java.io.IOException;
import java.util.Set;
import com.zpig333.runesofwizardry.api.RuneEntity;
import com.zpig333.runesofwizardry.core.rune.PatternUtils;
import com.zpig333.runesofwizardry.tileentity.TileEntityDustActive;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3i;
import xilef11.mc.runesofwizardry_classics.Refs;
import xilef11.mc.runesofwizardry_classics.runes.entity.RuneEntityLeapingFrog;
package xilef11.mc.runesofwizardry_classics.runes;


public class RuneLeapingFrog extends ClassicRune {
	@Override
	protected ItemStack[][] setupPattern() throws IOException {
// Path: src/main/java/xilef11/mc/runesofwizardry_classics/Refs.java
// public final class Refs {
// 	private Refs(){}
// 	public static final String MODID = "runesofwizardry_classics";
// 	public static final String VERSION = "@VERSION@";
// 	public static final String NAME="Runes of Wizardry - Classic Dusts Pack";
// 	public static final String GUI_FACTORY="xilef11.mc.runesofwizardry_classics.client.gui.GuiFactory";
// 	public static final String CLIENT_PROXY = "xilef11.mc.runesofwizardry_classics.proxy.ClientProxy",
// 							   SERVER_PROXY="xilef11.mc.runesofwizardry_classics.proxy.ServerProxy";
// 	public static final String PATTERN_PATH=MODID+":patterns/";
// 	public static final String TEXTURE_PATH=MODID+":";
// 	public static final int TICKS_PER_DAY=24000;
// 	public static final int TPS=20;
// 	public static final class Lang{
// 		private Lang(){}
// 		public static final String RUNE=MODID+".rune";
// 		public static final String CONFIG=MODID+".configuration";
// 		public static final String DEC=RUNE+".decorative";
// 		
// 		public static final class Jei{
// 			private Jei(){}
// 			public static final String JEI=MODID+".jei";
// 			public static final String SPIRIT_SWORD=JEI+".spirit_sword";
// 			public static final String SPIRIT_PICKAXE=JEI+".spirit_pickaxe";
// 		}
// 	}
// }
// 
// Path: src/main/java/xilef11/mc/runesofwizardry_classics/runes/entity/RuneEntityLeapingFrog.java
// public class RuneEntityLeapingFrog extends RuneEntity {
// 	public RuneEntityLeapingFrog(ItemStack[][] actualPattern,
// 			EnumFacing facing, Set<BlockPos> dusts,
// 			TileEntityDustActive entity, IRune creator) {
// 		super(actualPattern, facing, dusts, entity, creator);
// 	}
// 	@Override
// 	public void onRuneActivatedbyPlayer(EntityPlayer player,
// 			ItemStack[] sacrifice, boolean negated) {
// 		//start FX
// 		entity.setupStar(0xFFFFFF, 0x00FF00, 1, 1);
// 		entity.setDrawStar(true);
// 	}
// 	@Override
// 	public void update() {
// 		World world = entity.getWorld();
// 		if(!world.isRemote){
// 			if(entity.ticksExisted()%10==0){
// 				BlockPos current = getPos().offset(face, 1+blocksplaced);
// 				//Block down = world.getBlockState(current.down()).getBlock();
// 				if(world.isAirBlock(current)&&world.containsAnyLiquid(new AxisAlignedBB(current.down(), current.down().add(1, 1, 1)))){
// 					//world.spawnParticle(EnumParticleTypes.VILLAGER_HAPPY, current.getX(), current.getY(), current.getZ(), 0.5, 0.5, 0.5);
// 					if(world instanceof WorldServer){
// 						WorldServer ws = (WorldServer)world;
// 						ws.spawnParticle(EnumParticleTypes.VILLAGER_HAPPY, current.getX()+0.5, current.getY()+0.5, current.getZ()+0.5, ws.rand.nextInt(3)+2, 0,0,0, 2d);
// 					}
// 					world.setBlockState(current, Blocks.WATERLILY.getDefaultState());
// 					world.playBroadcastSound(2005, current, 0);
// 					world.playSound(null, current, SoundEvents.BLOCK_GRASS_STEP, SoundCategory.BLOCKS, 0.7F, 0.6F);
// 					blocksplaced++;
// 				}else{
// 					this.onPatternBroken();//we're done
// 				}
// 			}
// 		}
// 	}
// 	private int blocksplaced=0;
// 	/* (non-Javadoc)
// 	 * @see com.zpig333.runesofwizardry.api.RuneEntity#readFromNBT(net.minecraft.nbt.NBTTagCompound)
// 	 */
// 	@Override
// 	public void readFromNBT(NBTTagCompound compound) {
// 		super.readFromNBT(compound);
// 		blocksplaced = compound.getInteger("runeFrog.blocksplaced");
// 	}
// 	/* (non-Javadoc)
// 	 * @see com.zpig333.runesofwizardry.api.RuneEntity#writeToNBT(net.minecraft.nbt.NBTTagCompound)
// 	 */
// 	@Override
// 	public void writeToNBT(NBTTagCompound compound) {
// 		super.writeToNBT(compound);
// 		compound.setInteger("runeFrog.blocksplaced",blocksplaced);
// 	}
// }


// Path: src/main/java/xilef11/mc/runesofwizardry_classics/runes/RuneLeapingFrog.java
import java.io.IOException;
import java.util.Set;
import com.zpig333.runesofwizardry.api.RuneEntity;
import com.zpig333.runesofwizardry.core.rune.PatternUtils;
import com.zpig333.runesofwizardry.tileentity.TileEntityDustActive;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3i;
import xilef11.mc.runesofwizardry_classics.Refs;
import xilef11.mc.runesofwizardry_classics.runes.entity.RuneEntityLeapingFrog;

package xilef11.mc.runesofwizardry_classics.runes;


public class RuneLeapingFrog extends ClassicRune {
	@Override
	protected ItemStack[][] setupPattern() throws IOException {
		return PatternUtils.importFromJson(Refs.PATTERN_PATH+"runeleapingfrog.json");