Adding more schematics - seems they do not take while in the configs folder.
This commit is contained in:
parent
37d0fc69f1
commit
41824c728d
|
@ -71,6 +71,7 @@ import WayofTime.alchemicalWizardry.common.compress.BaseCompressionHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketAngel;
|
import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketAngel;
|
||||||
import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketRegistry;
|
import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGrunt;
|
import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGrunt;
|
||||||
|
import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonChest;
|
||||||
import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal;
|
import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal;
|
||||||
import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon;
|
import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon;
|
||||||
import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist;
|
import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist;
|
||||||
|
@ -698,6 +699,7 @@ public class AlchemicalWizardry
|
||||||
GameRegistry.registerTileEntity(TEReagentConduit.class, "containerReagentConduit");
|
GameRegistry.registerTileEntity(TEReagentConduit.class, "containerReagentConduit");
|
||||||
GameRegistry.registerTileEntity(TEBellJar.class, "containerBellJar");
|
GameRegistry.registerTileEntity(TEBellJar.class, "containerBellJar");
|
||||||
GameRegistry.registerTileEntity(TEAlchemicCalcinator.class, "containerAlchemicCalcinator");
|
GameRegistry.registerTileEntity(TEAlchemicCalcinator.class, "containerAlchemicCalcinator");
|
||||||
|
GameRegistry.registerTileEntity(TEDemonChest.class, "containerDemonChest");
|
||||||
ModBlocks.bloodRune.setHarvestLevel("pickaxe", 2);
|
ModBlocks.bloodRune.setHarvestLevel("pickaxe", 2);
|
||||||
ModBlocks.speedRune.setHarvestLevel("pickaxe", 2);
|
ModBlocks.speedRune.setHarvestLevel("pickaxe", 2);
|
||||||
ModBlocks.efficiencyRune.setHarvestLevel("pickaxe", 2);
|
ModBlocks.efficiencyRune.setHarvestLevel("pickaxe", 2);
|
||||||
|
|
|
@ -4,8 +4,13 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockDoor;
|
||||||
import net.minecraft.block.BlockLadder;
|
import net.minecraft.block.BlockLadder;
|
||||||
|
import net.minecraft.block.BlockRedstoneComparator;
|
||||||
|
import net.minecraft.block.BlockRedstoneRepeater;
|
||||||
import net.minecraft.block.BlockStairs;
|
import net.minecraft.block.BlockStairs;
|
||||||
|
import net.minecraft.block.BlockTorch;
|
||||||
|
import net.minecraft.block.BlockTrapDoor;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
@ -87,29 +92,153 @@ public class BlockSet
|
||||||
metadata = southUpSet;
|
metadata = southUpSet;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}else if(block instanceof BlockLadder)
|
}
|
||||||
|
else if(block instanceof BlockLadder)
|
||||||
{
|
{
|
||||||
int[] northSet = new int[]{2, 3, 0, 1};
|
int[] northSet = new int[]{3, 2, 5, 4};
|
||||||
int[] eastSet = new int[]{1, 0, 2, 3};
|
int[] eastSet = new int[]{4, 5, 3, 2};
|
||||||
int[] southSet = new int[]{3, 2, 1, 0};
|
int[] southSet = new int[]{2, 3, 4, 5};
|
||||||
int[] westSet = new int[]{0, 1, 3, 2};
|
int[] westSet = new int[]{5, 4, 2, 3};
|
||||||
|
|
||||||
switch (meta)
|
switch (meta)
|
||||||
{
|
{
|
||||||
case 0:
|
case 3:
|
||||||
|
metadata = northSet;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
metadata = eastSet;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
metadata = southSet;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
metadata = westSet;
|
metadata = westSet;
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
}else if(block instanceof BlockTrapDoor)
|
||||||
|
{
|
||||||
|
int div = meta / 4;
|
||||||
|
int mod = meta % 4;
|
||||||
|
int[] northSet = new int[]{1 + div*4, 0 + div*4, 3 + div*4, 2 + div*4};
|
||||||
|
int[] eastSet = new int[]{2 + div*4, 3 + div*4, 1 + div*4, 0 + div*4};
|
||||||
|
int[] southSet = new int[]{0 + div*4, 1 + div*4, 2 + div*4, 3 + div*4};
|
||||||
|
int[] westSet = new int[]{3 + div*4, 2 + div*4, 0 + div*4, 1 + div*4};
|
||||||
|
|
||||||
|
|
||||||
|
switch (mod)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
metadata = southSet;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
metadata = northSet;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
metadata = eastSet;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
metadata = westSet;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}else if(block instanceof BlockTorch)
|
||||||
|
{
|
||||||
|
int[] northSet = new int[]{3, 4, 1, 2};
|
||||||
|
int[] eastSet = new int[]{2, 1, 3, 4};
|
||||||
|
int[] southSet = new int[]{4, 3, 2, 1};
|
||||||
|
int[] westSet = new int[]{1, 2, 4, 3};
|
||||||
|
|
||||||
|
|
||||||
|
switch (meta)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
metadata = westSet;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
metadata = eastSet;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
metadata = northSet;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
metadata = southSet;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}else if(block instanceof BlockDoor)
|
||||||
|
{
|
||||||
|
int[] northSet = new int[]{3, 1, 2, 0};
|
||||||
|
int[] eastSet = new int[]{0, 2, 3, 1};
|
||||||
|
int[] southSet = new int[]{1, 3, 0, 2};
|
||||||
|
int[] westSet = new int[]{2, 0, 1, 3};
|
||||||
|
|
||||||
|
|
||||||
|
switch (meta)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
metadata = eastSet;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
metadata = southSet;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
metadata = westSet;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
metadata = northSet;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}else if(block instanceof BlockRedstoneComparator)
|
||||||
|
{
|
||||||
|
int div = meta / 4;
|
||||||
|
int mod = meta % 4;
|
||||||
|
int[] northSet = new int[]{0 + div*4, 2 + div*4, 3 + div*4, 1 + div*4};
|
||||||
|
int[] eastSet = new int[]{1 + div*4, 3 + div*4, 0 + div*4, 2 + div*4};
|
||||||
|
int[] southSet = new int[]{2 + div*4, 0 + div*4, 1 + div*4, 3 + div*4};
|
||||||
|
int[] westSet = new int[]{3 + div*4, 1 + div*4, 2 + div*4, 0 + div*4};
|
||||||
|
|
||||||
|
|
||||||
|
switch (mod)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
metadata = northSet;
|
||||||
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
metadata = eastSet;
|
metadata = eastSet;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
metadata = northSet;
|
metadata = southSet;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
metadata = westSet;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}else if(block instanceof BlockRedstoneRepeater)
|
||||||
|
{
|
||||||
|
int div = meta / 4;
|
||||||
|
int mod = meta % 4;
|
||||||
|
int[] northSet = new int[]{0 + div*4, 2 + div*4, 3 + div*4, 1 + div*4};
|
||||||
|
int[] eastSet = new int[]{1 + div*4, 3 + div*4, 0 + div*4, 2 + div*4};
|
||||||
|
int[] southSet = new int[]{2 + div*4, 0 + div*4, 1 + div*4, 3 + div*4};
|
||||||
|
int[] westSet = new int[]{3 + div*4, 1 + div*4, 2 + div*4, 0 + div*4};
|
||||||
|
|
||||||
|
|
||||||
|
switch (mod)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
metadata = northSet;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
metadata = eastSet;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
metadata = southSet;
|
metadata = southSet;
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
metadata = westSet;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Int3> getPositions()
|
public List<Int3> getPositions()
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
package WayofTime.alchemicalWizardry.common.demonVillage;
|
package WayofTime.alchemicalWizardry.common.demonVillage;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.ModBlocks;
|
|
||||||
import WayofTime.alchemicalWizardry.common.Int3;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
import WayofTime.alchemicalWizardry.ModBlocks;
|
||||||
|
import WayofTime.alchemicalWizardry.common.Int3;
|
||||||
|
import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal;
|
||||||
|
|
||||||
public class DemonVillagePath
|
public class DemonVillagePath
|
||||||
{
|
{
|
||||||
|
@ -24,7 +25,7 @@ public class DemonVillagePath
|
||||||
this.length = length;
|
this.length = length;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Int3 constructFullPath(World world, int clearance, Block block, int meta)
|
public Int3 constructFullPath(TEDemonPortal portal, World world, int clearance)
|
||||||
{
|
{
|
||||||
int xPos = this.xi;
|
int xPos = this.xi;
|
||||||
int yPos = this.yi;
|
int yPos = this.yi;
|
||||||
|
@ -33,13 +34,13 @@ public class DemonVillagePath
|
||||||
|
|
||||||
for (int i = -rad; i <= rad; i++)
|
for (int i = -rad; i <= rad; i++)
|
||||||
{
|
{
|
||||||
this.constructPartialPath(world, clearance, block, meta, xPos - rad * dir.offsetX + i * dir.offsetZ, yPos, zPos - rad * dir.offsetZ + i * dir.offsetX, dir, length + 2 * rad);
|
this.constructPartialPath(portal, world, clearance, xPos - rad * dir.offsetX + i * dir.offsetZ, yPos, zPos - rad * dir.offsetZ + i * dir.offsetX, dir, length + 2 * rad);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.getFinalLocation(world, clearance);
|
return this.getFinalLocation(world, clearance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void constructPartialPath(World world, int clearance, Block roadBlock, int meta, int xi, int yi, int zi, ForgeDirection dir, int length)
|
public void constructPartialPath(TEDemonPortal portal, World world, int clearance, int xi, int yi, int zi, ForgeDirection dir, int length)
|
||||||
{
|
{
|
||||||
int xPos = xi;
|
int xPos = xi;
|
||||||
int yPos = yi;
|
int yPos = yi;
|
||||||
|
@ -59,7 +60,7 @@ public class DemonVillagePath
|
||||||
|
|
||||||
if (!block1.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset, zPos + zOffset) && this.isBlockReplaceable(block1) && highBlock1.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset + 1, zPos + zOffset))
|
if (!block1.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset, zPos + zOffset) && this.isBlockReplaceable(block1) && highBlock1.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset + 1, zPos + zOffset))
|
||||||
{
|
{
|
||||||
world.setBlock(xPos + xOffset, yPos + sign * yOffset, zPos + zOffset, roadBlock, meta, 3);
|
world.setBlock(xPos + xOffset, yPos + sign * yOffset, zPos + zOffset, portal.getRoadBlock(), portal.getRoadMeta(), 3);
|
||||||
yPos += sign * yOffset;
|
yPos += sign * yOffset;
|
||||||
break;
|
break;
|
||||||
} else
|
} else
|
||||||
|
@ -70,7 +71,7 @@ public class DemonVillagePath
|
||||||
|
|
||||||
if (!block2.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset, zPos + zOffset) && this.isBlockReplaceable(block1) && highBlock2.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset + 1, zPos + zOffset))
|
if (!block2.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset, zPos + zOffset) && this.isBlockReplaceable(block1) && highBlock2.isReplaceable(world, xPos + xOffset, yPos + sign * yOffset + 1, zPos + zOffset))
|
||||||
{
|
{
|
||||||
world.setBlock(xPos + xOffset, yPos + sign * yOffset, zPos + zOffset, roadBlock, meta, 3);
|
world.setBlock(xPos + xOffset, yPos + sign * yOffset, zPos + zOffset, portal.getRoadBlock(), portal.getRoadMeta(), 3);
|
||||||
yPos += sign * yOffset;
|
yPos += sign * yOffset;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.common.demonVillage.tileEntity;
|
package WayofTime.alchemicalWizardry.common.demonVillage.tileEntity;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockChest;
|
import net.minecraft.block.BlockChest;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
@ -28,6 +29,17 @@ public class BlockDemonChest extends BlockChest implements IBlockPortalNode
|
||||||
return new TEDemonChest();
|
return new TEDemonChest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void breakBlock(World world, int x, int y, int z, Block block, int meta)
|
||||||
|
{
|
||||||
|
super.breakBlock(world, x, y, z, block, meta);
|
||||||
|
TileEntity tile = world.getTileEntity(x, y, z);
|
||||||
|
if(tile instanceof TEDemonChest)
|
||||||
|
{
|
||||||
|
((TEDemonChest) tile).notifyPortalOfInteraction();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// public boolean canPlaceBlockAt(World p_149742_1_, int p_149742_2_, int p_149742_3_, int p_149742_4_)
|
// public boolean canPlaceBlockAt(World p_149742_1_, int p_149742_2_, int p_149742_3_, int p_149742_4_)
|
||||||
// {
|
// {
|
||||||
|
|
|
@ -116,7 +116,7 @@ public class TEDemonPortal extends TileEntity
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 0.3f;
|
return 0.6f;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getDemonPortalChance()
|
public float getDemonPortalChance()
|
||||||
|
@ -922,7 +922,7 @@ public class TEDemonPortal extends TileEntity
|
||||||
{
|
{
|
||||||
DemonVillagePath path = new DemonVillagePath(xCoord + initGridX * 5, initY, zCoord + initGridZ * 5, dir, 6);
|
DemonVillagePath path = new DemonVillagePath(xCoord + initGridX * 5, initY, zCoord + initGridZ * 5, dir, 6);
|
||||||
|
|
||||||
Int3 next = path.constructFullPath(worldObj, this.getRoadStepClearance(), this.getRoadBlock(), this.getRoadMeta());
|
Int3 next = path.constructFullPath(this, worldObj, this.getRoadStepClearance());
|
||||||
|
|
||||||
if (next != null)
|
if (next != null)
|
||||||
{
|
{
|
||||||
|
@ -1372,7 +1372,7 @@ public class TEDemonPortal extends TileEntity
|
||||||
|
|
||||||
DemonVillagePath path = new DemonVillagePath(xi, yi, zi, dir, length);
|
DemonVillagePath path = new DemonVillagePath(xi, yi, zi, dir, length);
|
||||||
|
|
||||||
path.constructFullPath(worldObj, this.getRoadStepClearance(), this.getRoadBlock(), this.getRoadMeta());
|
path.constructFullPath(this, worldObj, this.getRoadStepClearance());
|
||||||
}
|
}
|
||||||
|
|
||||||
public int placeMaterialOnNextAvailable()
|
public int placeMaterialOnNextAvailable()
|
||||||
|
@ -1387,7 +1387,13 @@ public class TEDemonPortal extends TileEntity
|
||||||
|
|
||||||
public Block getRoadBlock()
|
public Block getRoadBlock()
|
||||||
{
|
{
|
||||||
return Blocks.nether_brick;
|
switch(this.tier)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return rand.nextFloat() < 0.6 ? Blocks.cobblestone : Blocks.mossy_cobblestone;
|
||||||
|
default:
|
||||||
|
return Blocks.nether_brick;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRoadMeta()
|
public int getRoadMeta()
|
||||||
|
|
Loading…
Reference in a new issue