diff --git a/StevenDimDoors/mod_pocketDim/CommonTickHandler.java b/StevenDimDoors/mod_pocketDim/CommonTickHandler.java index 46f9fc0..352238f 100644 --- a/StevenDimDoors/mod_pocketDim/CommonTickHandler.java +++ b/StevenDimDoors/mod_pocketDim/CommonTickHandler.java @@ -142,6 +142,8 @@ public class CommonTickHandler implements ITickHandler if(blockID==Block.gravel.blockID&&!dimHelper.getWorld(mod_pocketDim.limboDimID).isAirBlock(point.getX(), point.getY()-1, point.getZ())) { idToSet=mod_pocketDim.blockLimboID; + dimHelper.getWorld(mod_pocketDim.limboDimID).scheduleBlockUpdate(point.getX(), point.getY(), point.getZ(),10, idToSet); + } else if(blockID==Block.gravel.blockID) { diff --git a/StevenDimDoors/mod_pocketDim/SchematicLoader.java b/StevenDimDoors/mod_pocketDim/SchematicLoader.java index 5ef8a54..a4cc9cc 100644 --- a/StevenDimDoors/mod_pocketDim/SchematicLoader.java +++ b/StevenDimDoors/mod_pocketDim/SchematicLoader.java @@ -137,7 +137,7 @@ public class SchematicLoader } } - if(blockID== Block.lever.blockID||blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) + else if(blockID== Block.lever.blockID||blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) { switch (metadata) { @@ -171,7 +171,7 @@ public class SchematicLoader } - if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID) + else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID) { switch (metadata) { @@ -207,7 +207,7 @@ public class SchematicLoader } - if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID) + else if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID) { switch (metadata) { @@ -308,7 +308,7 @@ public class SchematicLoader } } - if(blockID== Block.lever.blockID||blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) + else if(blockID== Block.lever.blockID||blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) { switch (metadata) { @@ -342,7 +342,7 @@ public class SchematicLoader } - if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID) + else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID) { switch (metadata) { @@ -377,7 +377,7 @@ public class SchematicLoader } - if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID) + else if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID) { switch (metadata) { @@ -473,7 +473,7 @@ public class SchematicLoader } } - if(blockID== Block.lever.blockID||blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) + else if(blockID== Block.lever.blockID||blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) { switch (metadata) { @@ -507,7 +507,7 @@ public class SchematicLoader } - if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID) + else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID) { switch (metadata) { @@ -543,7 +543,7 @@ public class SchematicLoader } - if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID) + else if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID) { switch (metadata) { diff --git a/StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java b/StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java index 73a19a4..d8e6efc 100644 --- a/StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java @@ -2,6 +2,9 @@ package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import StevenDimDoors.mod_pocketDim.Point3D; import StevenDimDoors.mod_pocketDim.dimHelper; import StevenDimDoors.mod_pocketDim.mod_pocketDim; @@ -13,10 +16,17 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.Icon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BlockLimbo extends Block { + Random rand= new Random(); + Icon blockIcon0; + Icon blockIcon1; + Icon blockIcon2; + Icon blockIcon3; public BlockLimbo(int i, int j, Material par2Material) { @@ -27,24 +37,47 @@ public class BlockLimbo extends Block } + @SideOnly(Side.CLIENT) + + /** + * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side + */ + public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + { + return this.getIcon(par5, par1IBlockAccess.getBlockMetadata(par2, par3, par4)); + } public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()); + this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+0); + this.blockIcon0 = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+0); + this.blockIcon1 = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+1); + this.blockIcon2 = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+2); + this.blockIcon3 = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+3); } + + public Icon getIcon(int par1, int par2) + { + /** + switch(par2) + { + case 0: return this.blockIcon0; + case 1: return this.blockIcon1; + + case 2: return this.blockIcon2; + case 3: return this.blockIcon3; + } + **/ + + + return this.blockIcon; + } public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) {} //part of the decay mech, if a block has fallen onto it, when it turns, it makes sure any block above it gets added too. @Override - public void onBlockAdded(World par1World, int par2, int par3, int par4) - { - if(par1World.getBlockId(par2, par3+1, par4)==Block.gravel.blockID) - { - Point3D point = new Point3D(par2,par3+1,par4); - dimHelper.blocksToDecay.add(point); - } - } + public int quantityDropped(Random par1Random) { @@ -52,6 +85,7 @@ public class BlockLimbo extends Block return 1; } + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) { @@ -69,6 +103,19 @@ public class BlockLimbo extends Block } } + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + { + if(par1World.getBlockId(par2, par3+1, par4)==Block.gravel.blockID) + { + Point3D point = new Point3D(par2,par3+1,par4); + dimHelper.blocksToDecay.add(point); + } + } + @Override + public void onBlockAdded(World par1World, int par2, int par3, int par4) + { + // par1World.setBlockMetadataWithNotify(par2, par3, par4, this.rand.nextInt(4), 0); + } //TODO set render color!! diff --git a/StevenDimDoors/mod_pocketDim/pocketGenerator.java b/StevenDimDoors/mod_pocketDim/pocketGenerator.java index 2b5fa7d..7f4088d 100644 --- a/StevenDimDoors/mod_pocketDim/pocketGenerator.java +++ b/StevenDimDoors/mod_pocketDim/pocketGenerator.java @@ -69,11 +69,14 @@ public class pocketGenerator extends ChunkProviderGenerate implements IChunkProv DimData data = dimHelper.dimList.get(this.worldObj.provider.dimensionId); if(data!=null) { - if(data.isDimRandomRift&&data.isPocket&&!data.dungeonGenerator.isOpen) + if(data.dungeonGenerator!=null) { - ArrayList list = new ArrayList(); + if(data.isDimRandomRift&&data.isPocket&&!data.dungeonGenerator.isOpen) + { + ArrayList list = new ArrayList(); - return this.worldObj.getBiomeGenForCoords(var2, var3).getSpawnableList(var1); + return this.worldObj.getBiomeGenForCoords(var2, var3).getSpawnableList(var1); + } } } // TODO Auto-generated method stub diff --git a/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java b/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java index 1d0357d..3533003 100644 --- a/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java +++ b/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java @@ -13,6 +13,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import StevenDimDoors.mod_pocketDim.LimboProvider; import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.dimHelper; import StevenDimDoors.mod_pocketDim.mod_pocketDim; @@ -140,32 +141,22 @@ public class MobObelisk extends EntityFlying implements IMob } if(aggro<470) { - if(rand.nextBoolean()) - { - aggro++; - } - else if (rand.nextBoolean()) - { - aggro++; - aggro++; - } - else if (rand.nextBoolean()) + if(rand.nextInt(11)>this.textureState) { aggro++; } + if(this.worldObj.provider instanceof pocketProvider) { - + aggro++; + aggro++; + if(rand.nextBoolean()) { aggro++; } - else if(rand.nextBoolean()) - { - aggro++; - } } if(aggro>430) @@ -198,11 +189,14 @@ public class MobObelisk extends EntityFlying implements IMob } + if(!(this.worldObj.provider instanceof LimboProvider)) + { for (int i = 0; i < -1+this.textureState/3; ++i) { entityPlayer.worldObj.spawnParticle("portal", entityPlayer.posX + (this.rand.nextDouble() - 0.5D) * (double)this.width, entityPlayer.posY + this.rand.nextDouble() * (double)entityPlayer.height - 0.75D, entityPlayer.posZ + (this.rand.nextDouble() - 0.5D) * (double)entityPlayer.width, (this.rand.nextDouble() - 0.5D) * 2.0D, -this.rand.nextDouble(), (this.rand.nextDouble() - 0.5D) * 2.0D); } + } @@ -291,7 +285,7 @@ public class MobObelisk extends EntityFlying implements IMob { List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this,AxisAlignedBB.getBoundingBox( this.posX-15, posY-4, this.posZ-15, this.posX+15, this.posY+15, this.posZ+15)); - if(list.size()>0) + if(list.size()>0&&this.worldObj.provider.dimensionId==mod_pocketDim.limboDimID) { return false; } @@ -348,6 +342,9 @@ public class MobObelisk extends EntityFlying implements IMob double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d1 * d1); float f2 = (float)(Math.atan2(d1, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float)(-(Math.atan2(d2, d3) * 180.0D / Math.PI)); + this.rotationPitch = f3; + this.rotationYaw = f2; + this.rotationYaw = f2; this.rotationYawHead=f2; this.renderYawOffset=this.rotationYaw; diff --git a/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo.png b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo.png index deac713..e11d7cd 100644 Binary files a/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo.png and b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo.png differ diff --git a/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo.psd b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo.psd new file mode 100644 index 0000000..2322556 Binary files /dev/null and b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo.psd differ diff --git a/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo0.png b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo0.png new file mode 100644 index 0000000..e11d7cd Binary files /dev/null and b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo0.png differ diff --git a/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo1.png b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo1.png new file mode 100644 index 0000000..8798d34 Binary files /dev/null and b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo1.png differ diff --git a/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo2.png b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo2.png new file mode 100644 index 0000000..8798d34 Binary files /dev/null and b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo2.png differ diff --git a/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo3.png b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo3.png new file mode 100644 index 0000000..8798d34 Binary files /dev/null and b/resources/mods/DimensionalDoors/textures/blocks/BlockLimbo3.png differ diff --git a/resources/mods/DimensionalDoors/textures/blocks/BlockLimboGOOD.png b/resources/mods/DimensionalDoors/textures/blocks/BlockLimboGOOD.png new file mode 100644 index 0000000..1cb2716 Binary files /dev/null and b/resources/mods/DimensionalDoors/textures/blocks/BlockLimboGOOD.png differ