b11354767d
Moved all configuration variables from mod_pocketDim to DDProperties (formerly DimDoorsConfig). Changed property names to be clearer in config file, modified some comments, and generally cleaned up the config file. Fixed some missing properties and variables that were reading from the wrong properties. Modified the order in which mod_pocketDim instantiated some of its static fields so that they would load after properties are read. Almost all classes load after properties are read. Fixed indentation across various files and replaced references to properties in mod_pocketDim with references to DDProperties.
150 lines
No EOL
4 KiB
Java
150 lines
No EOL
4 KiB
Java
package StevenDimDoors.mod_pocketDim;
|
|
|
|
import java.util.Random;
|
|
|
|
import StevenDimDoors.mod_pocketDim.blocks.ExitDoor;
|
|
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.block.BlockContainer;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.client.renderer.texture.IconRegister;
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.entity.player.EntityPlayerMP;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.AxisAlignedBB;
|
|
import net.minecraft.util.Icon;
|
|
import net.minecraft.util.MathHelper;
|
|
import net.minecraft.util.MovingObjectPosition;
|
|
import net.minecraft.util.Vec3;
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraft.world.World;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
public class TransientDoor extends ExitDoor
|
|
{
|
|
|
|
protected TransientDoor(int par1, Material material)
|
|
{
|
|
super(par1, Material.grass);
|
|
// this.blockIndexInTexture = 18;
|
|
|
|
if (properties == null)
|
|
properties = DDProperties.instance();
|
|
}
|
|
|
|
private static DDProperties properties = null;
|
|
|
|
public void registerIcons(IconRegister par1IconRegister)
|
|
{
|
|
this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+"_top");
|
|
|
|
}
|
|
@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.blockIcon;
|
|
|
|
|
|
}
|
|
public boolean isCollidable()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public void onBlockAdded(World par1World, int par2, int par3, int par4)
|
|
{
|
|
super.onBlockAdded(par1World, par2, par3, par4);
|
|
this.updateAttatchedTile(par1World, par2, par3, par4);
|
|
}
|
|
|
|
public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
|
|
{
|
|
|
|
int var12 = (int) (MathHelper.floor_double((double)((par5Entity.rotationYaw+90) * 4.0F / 360.0F) + 0.5D) & 3);
|
|
int num = par1World.getBlockMetadata(par2, par3, par4);
|
|
// System.out.println("metadata "+num+" orientation "+var12);
|
|
|
|
if(!par1World.isRemote&&(num)==var12||!par1World.isRemote&&!(par5Entity instanceof EntityPlayer))
|
|
{
|
|
|
|
|
|
|
|
|
|
LinkData linkData= dimHelper.instance.getLinkDataFromCoords(par2, par3, par4, par1World);
|
|
if(linkData!=null)
|
|
{
|
|
if(dimHelper.dimList.containsKey(linkData.destDimID))
|
|
{
|
|
dimHelper.instance.teleportToPocket(par1World, linkData, par5Entity);
|
|
par1World.setBlock(par2, par3-1, par4, 0);
|
|
par1World.setBlock(par2, par3, par4, properties.RiftBlockID);
|
|
|
|
}
|
|
}
|
|
|
|
else
|
|
{
|
|
linkData= dimHelper.instance.getLinkDataFromCoords(par2, par3+1, par4, par1World);
|
|
if(linkData!=null)
|
|
{
|
|
if(dimHelper.dimList.containsKey(linkData.destDimID))
|
|
{
|
|
dimHelper.instance.teleportToPocket(par1World, linkData, par5Entity);
|
|
par1World.setBlock(par2, par3, par4, 0);
|
|
par1World.setBlock(par2, par3+1, par4, properties.RiftBlockID);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int idPicked(World par1World, int par2, int par3, int par4)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public int idDropped(int par1, Random par2Random, int par3)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
* A function to open a door.
|
|
*/
|
|
|
|
public int getRenderType()
|
|
{
|
|
return 8;
|
|
}
|
|
|
|
|
|
} |