Rewrite #79
@@ -606,6 +606,11 @@ public class PocketManager
|
|||||||
return dimensionData.values();
|
return dimensionData.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static IDimLink getLink(int x, int y, int z, World world)
|
||||||
|
{
|
||||||
|
return getLink(x, y, z, world.provider.dimensionId);
|
||||||
|
}
|
||||||
|
|
||||||
public static IDimLink getLink(int x, int y, int z, int dimensionID)
|
public static IDimLink getLink(int x, int y, int z, int dimensionID)
|
||||||
{
|
{
|
||||||
NewDimData dimension = dimensionData.get(dimensionID);
|
NewDimData dimension = dimensionData.get(dimensionID);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPack;
|
|||||||
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPackConfig;
|
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPackConfig;
|
||||||
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPackConfigReader;
|
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPackConfigReader;
|
||||||
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonType;
|
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonType;
|
||||||
import StevenDimDoors.mod_pocketDim.items.itemDimDoor;
|
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
|
||||||
import StevenDimDoors.mod_pocketDim.util.ConfigurationProcessingException;
|
import StevenDimDoors.mod_pocketDim.util.ConfigurationProcessingException;
|
||||||
import StevenDimDoors.mod_pocketDim.util.WeightedContainer;
|
import StevenDimDoors.mod_pocketDim.util.WeightedContainer;
|
||||||
|
|
||||||
@@ -281,7 +281,7 @@ public class DungeonHelper
|
|||||||
IDimLink link = dimension.createLink(x, y + 1, z).setLinkType(IDimLink.TYPE_POCKET);
|
IDimLink link = dimension.createLink(x, y + 1, z).setLinkType(IDimLink.TYPE_POCKET);
|
||||||
|
|
||||||
//Place a Warp Door linked to that pocket
|
//Place a Warp Door linked to that pocket
|
||||||
itemDimDoor.placeDoorBlock(world, x, y, z, 3, mod_pocketDim.exitDoor);
|
ItemDimensionalDoor.placeDoorBlock(world, x, y, z, 3, mod_pocketDim.warpDoor);
|
||||||
|
|
||||||
return link;
|
return link;
|
||||||
}
|
}
|
||||||
|
|||||||
146
StevenDimDoors/mod_pocketDim/items/BaseItemDoor.java
Normal file
146
StevenDimDoors/mod_pocketDim/items/BaseItemDoor.java
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
package StevenDimDoors.mod_pocketDim.items;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.client.renderer.texture.IconRegister;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
|
import net.minecraft.item.ItemDoor;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.util.Vec3;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||||
|
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||||
|
import StevenDimDoors.mod_pocketDim.core.IDimLink;
|
||||||
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||||
|
|
||||||
|
public abstract class BaseItemDoor extends ItemDoor
|
||||||
|
{
|
||||||
|
private static DDProperties properties = null;
|
||||||
|
|
||||||
|
public BaseItemDoor(int itemID, Material material)
|
||||||
|
{
|
||||||
|
super(itemID, material);
|
||||||
|
this.setMaxStackSize(64);
|
||||||
|
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
||||||
|
if (properties == null)
|
||||||
|
properties = DDProperties.instance();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void registerIcons(IconRegister par1IconRegister)
|
||||||
|
{
|
||||||
|
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("item.", ""));
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({ "rawtypes" })
|
||||||
|
@Override
|
||||||
|
public abstract void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10);
|
||||||
|
|
||||||
|
public static boolean tryItemUse(Block doorBlock, ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, boolean requireLink, boolean reduceStack)
|
||||||
|
{
|
||||||
|
//FIXME: Without any sort of this documentation, this condition is like magic -_- ~SenseiKiwi
|
||||||
|
if (par7 == 1 && !world.isRemote)
|
||||||
|
{
|
||||||
|
int blockID = world.getBlockId(x, y, z);
|
||||||
|
if (blockID != 0)
|
||||||
|
{
|
||||||
|
if (!Block.blocksList[blockID].isBlockReplaceable(world, x, y, z))
|
||||||
|
{
|
||||||
|
y++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (canPlace(world, x, y, z) && canPlace(world, x, y + 1, z) &&
|
||||||
|
player.canPlayerEdit(x, y, z, par7, stack) && player.canPlayerEdit(x, y + 1, z, par7, stack) &&
|
||||||
|
(!requireLink || PocketManager.getLink(x, y + 1, z, world) != null))
|
||||||
|
{
|
||||||
|
int orientation = MathHelper.floor_double((double) ((player.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
||||||
|
placeDoorBlock(world, x, y, z, orientation, doorBlock);
|
||||||
|
|
||||||
|
if (!player.capabilities.isCreativeMode && reduceStack)
|
||||||
|
{
|
||||||
|
stack.stackSize--;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final MovingObjectPosition getMovingObjectPositionFromPlayer(World par1World, EntityPlayer par2EntityPlayer, boolean par3)
|
||||||
|
{
|
||||||
|
float var4 = 1.0F;
|
||||||
|
float var5 = par2EntityPlayer.prevRotationPitch + (par2EntityPlayer.rotationPitch - par2EntityPlayer.prevRotationPitch) * var4;
|
||||||
|
float var6 = par2EntityPlayer.prevRotationYaw + (par2EntityPlayer.rotationYaw - par2EntityPlayer.prevRotationYaw) * var4;
|
||||||
|
double var7 = par2EntityPlayer.prevPosX + (par2EntityPlayer.posX - par2EntityPlayer.prevPosX) * (double)var4;
|
||||||
|
double var9 = par2EntityPlayer.prevPosY + (par2EntityPlayer.posY - par2EntityPlayer.prevPosY) * (double)var4 + 1.62D - (double)par2EntityPlayer.yOffset;
|
||||||
|
double var11 = par2EntityPlayer.prevPosZ + (par2EntityPlayer.posZ - par2EntityPlayer.prevPosZ) * (double)var4;
|
||||||
|
Vec3 var13 = par1World.getWorldVec3Pool().getVecFromPool(var7, var9, var11);
|
||||||
|
float var14 = MathHelper.cos(-var6 * 0.017453292F - (float)Math.PI);
|
||||||
|
float var15 = MathHelper.sin(-var6 * 0.017453292F - (float)Math.PI);
|
||||||
|
float var16 = -MathHelper.cos(-var5 * 0.017453292F);
|
||||||
|
float var17 = MathHelper.sin(-var5 * 0.017453292F);
|
||||||
|
float var18 = var15 * var16;
|
||||||
|
float var20 = var14 * var16;
|
||||||
|
double var21 = 5.0D;
|
||||||
|
if (par2EntityPlayer instanceof EntityPlayerMP)
|
||||||
|
{
|
||||||
|
var21 = 4;
|
||||||
|
}
|
||||||
|
Vec3 var23 = var13.addVector((double) var18 * var21, (double)var17 * var21, (double)var20 * var21);
|
||||||
|
return par1World.rayTraceBlocks_do_do(var13, var23, true, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player);
|
||||||
|
|
||||||
|
public boolean tryPlacingDoor(Block doorBlock, World world, EntityPlayer player, ItemStack item)
|
||||||
|
{
|
||||||
|
if (world.isRemote)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(player.worldObj, player, false);
|
||||||
|
if (hit != null)
|
||||||
|
{
|
||||||
|
if (world.getBlockId(hit.blockX, hit.blockY, hit.blockZ) == properties.RiftBlockID)
|
||||||
|
{
|
||||||
|
IDimLink link = PocketManager.getLink(hit.blockX, hit.blockY, hit.blockZ, world.provider.dimensionId);
|
||||||
|
if (link != null)
|
||||||
|
{
|
||||||
|
int x = hit.blockX;
|
||||||
|
int y = hit.blockY;
|
||||||
|
int z = hit.blockZ;
|
||||||
|
int par7 = 0;
|
||||||
|
|
||||||
|
if (player.canPlayerEdit(x, y, z, par7, item) && player.canPlayerEdit(x, y - 1, z, par7, item))
|
||||||
|
{
|
||||||
|
if (canPlace(world, x, y, z) && canPlace(world, x, y - 1, z))
|
||||||
|
{
|
||||||
|
int orientation = MathHelper.floor_double(((player.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
||||||
|
placeDoorBlock(world, x, y - 1, z, orientation, doorBlock);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean canPlace(World world, int x, int y, int z)
|
||||||
|
{
|
||||||
|
int id = world.getBlockId(x, y, z);
|
||||||
|
|
||||||
|
return (id == properties.RiftBlockID || id == 0 || Block.blocksList[id].blockMaterial.isReplaceable());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
package StevenDimDoors.mod_pocketDim.items;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
|
||||||
import net.minecraft.client.renderer.texture.IconRegister;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
|
||||||
|
|
||||||
public class ItemChaosDoor extends itemDimDoor
|
|
||||||
{
|
|
||||||
public ItemChaosDoor(int par1, Material par2Material)
|
|
||||||
{
|
|
||||||
super(par1, par2Material);
|
|
||||||
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerIcons(IconRegister par1IconRegister)
|
|
||||||
{
|
|
||||||
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
|
||||||
@Override
|
|
||||||
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
|
||||||
{
|
|
||||||
par3List.add("Caution: Leads to random destination");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
48
StevenDimDoors/mod_pocketDim/items/ItemDimensionalDoor.java
Normal file
48
StevenDimDoors/mod_pocketDim/items/ItemDimensionalDoor.java
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
package StevenDimDoors.mod_pocketDim.items;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||||
|
|
||||||
|
public class ItemDimensionalDoor extends BaseItemDoor
|
||||||
|
{
|
||||||
|
public ItemDimensionalDoor(int itemID, Material material)
|
||||||
|
{
|
||||||
|
super(itemID, material);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
|
@Override
|
||||||
|
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||||
|
{
|
||||||
|
par3List.add("Place on the block under a rift");
|
||||||
|
par3List.add("to activate that rift or place");
|
||||||
|
par3List.add("anywhere else to create a");
|
||||||
|
par3List.add("pocket dimension.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||||
|
{
|
||||||
|
if (!world.isRemote)
|
||||||
|
{
|
||||||
|
if (tryPlacingDoor(mod_pocketDim.dimensionalDoor, world, player, stack) &&
|
||||||
|
!player.capabilities.isCreativeMode)
|
||||||
|
{
|
||||||
|
stack.stackSize--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y,
|
||||||
|
int z, int par7, float par8, float par9, float par10)
|
||||||
|
{
|
||||||
|
return tryItemUse(mod_pocketDim.dimensionalDoor, stack, player, world, x, y, z, par7, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,36 +20,35 @@ import net.minecraft.util.Vec3;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||||
|
import StevenDimDoors.mod_pocketDim.core.IDimLink;
|
||||||
|
import StevenDimDoors.mod_pocketDim.core.NewDimData;
|
||||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class ItemRiftBlade extends ItemSword
|
public class ItemRiftBlade extends ItemSword
|
||||||
{
|
{
|
||||||
public ItemRiftBlade(int par1)
|
private static DDProperties properties = null;
|
||||||
{
|
|
||||||
super(par1, EnumToolMaterial.GOLD);
|
public ItemRiftBlade(int itemID, EnumToolMaterial material)
|
||||||
|
{
|
||||||
|
super(itemID, material);
|
||||||
|
|
||||||
// this.setTextureFile("/PocketBlockTextures.png");
|
|
||||||
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
||||||
this.setMaxStackSize(1);
|
this.setMaxStackSize(1);
|
||||||
|
|
||||||
// this.itemIcon=5;
|
|
||||||
this.setMaxDamage(500);
|
this.setMaxDamage(500);
|
||||||
this.hasSubtypes = false;
|
this.hasSubtypes = false;
|
||||||
//TODO move to proxy
|
|
||||||
if (properties == null)
|
if (properties == null)
|
||||||
properties = DDProperties.instance();
|
properties = DDProperties.instance();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static DDProperties properties = null;
|
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public boolean isFull3D()
|
public boolean isFull3D()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block)
|
public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block)
|
||||||
{
|
{
|
||||||
if (par2Block.blockID == Block.web.blockID)
|
if (par2Block.blockID == Block.web.blockID)
|
||||||
@@ -68,20 +67,22 @@ public class ItemRiftBlade extends ItemSword
|
|||||||
public boolean hasEffect(ItemStack par1ItemStack)
|
public boolean hasEffect(ItemStack par1ItemStack)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)
|
public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)
|
||||||
{
|
{
|
||||||
par1ItemStack.damageItem(1, par3EntityLiving);
|
par1ItemStack.damageItem(1, par3EntityLiving);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getDamageVsEntity(Entity par1Entity)
|
public int getDamageVsEntity(Entity par1Entity)
|
||||||
{
|
{
|
||||||
return 7;
|
return 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public MovingObjectPosition getMovingObjectPositionFromPlayer(World par1World, EntityPlayer par2EntityPlayer, boolean par3)
|
public MovingObjectPosition getMovingObjectPositionFromPlayer(World par1World, EntityPlayer par2EntityPlayer, boolean par3)
|
||||||
{
|
{
|
||||||
float var4 = 1.0F;
|
float var4 = 1.0F;
|
||||||
@@ -106,11 +107,10 @@ public class ItemRiftBlade extends ItemSword
|
|||||||
return par1World.rayTraceBlocks_do_do(var13, var23, true, false);
|
return par1World.rayTraceBlocks_do_do(var13, var23, true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean teleportToEntity(ItemStack item, Entity par1Entity, EntityPlayer holder)
|
private boolean teleportToEntity(ItemStack item, Entity par1Entity, EntityPlayer holder)
|
||||||
{
|
{
|
||||||
Vec3 var2 = holder.worldObj.getWorldVec3Pool().getVecFromPool(holder.posX - par1Entity.posX, holder.boundingBox.minY + (double)(holder.height / 2.0F) - par1Entity.posY + (double)par1Entity.getEyeHeight(), holder.posZ - par1Entity.posZ);
|
Vec3 var2 = holder.worldObj.getWorldVec3Pool().getVecFromPool(holder.posX - par1Entity.posX, holder.boundingBox.minY + (double)(holder.height / 2.0F) - par1Entity.posY + (double)par1Entity.getEyeHeight(), holder.posZ - par1Entity.posZ);
|
||||||
|
|
||||||
|
|
||||||
double cooef =( var2.lengthVector()-2.5)/var2.lengthVector();
|
double cooef =( var2.lengthVector()-2.5)/var2.lengthVector();
|
||||||
var2.xCoord*=cooef;
|
var2.xCoord*=cooef;
|
||||||
var2.yCoord*=cooef;
|
var2.yCoord*=cooef;
|
||||||
@@ -120,7 +120,6 @@ public class ItemRiftBlade extends ItemSword
|
|||||||
double var7 =holder.worldObj.getHeightValue(MathHelper.floor_double(var5), MathHelper.floor_double(var9));
|
double var7 =holder.worldObj.getHeightValue(MathHelper.floor_double(var5), MathHelper.floor_double(var9));
|
||||||
if((Math.abs((holder.posY - var2.yCoord)-var7)>2))
|
if((Math.abs((holder.posY - var2.yCoord)-var7)>2))
|
||||||
{
|
{
|
||||||
|
|
||||||
var7 = MathHelper.floor_double(holder.posY - var2.yCoord) ;
|
var7 = MathHelper.floor_double(holder.posY - var2.yCoord) ;
|
||||||
|
|
||||||
int var14 = MathHelper.floor_double(var5);
|
int var14 = MathHelper.floor_double(var5);
|
||||||
@@ -133,262 +132,169 @@ public class ItemRiftBlade extends ItemSword
|
|||||||
var7=var15;
|
var7=var15;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
holder.setPositionAndUpdate(var5, var7, var9);
|
holder.setPositionAndUpdate(var5, var7, var9);
|
||||||
holder.playSound("mob.endermen.portal", 1.0F, 1.0F);
|
holder.playSound("mob.endermen.portal", 1.0F, 1.0F);
|
||||||
holder.worldObj.playSoundEffect(holder.posX, holder.posY, holder.posZ, "mob.endermen.portal", 1.0F, 1.0F);
|
holder.worldObj.playSoundEffect(holder.posX, holder.posY, holder.posZ, "mob.endermen.portal", 1.0F, 1.0F);
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public ItemStack onFoodEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
|
||||||
{
|
|
||||||
return par1ItemStack;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How long it takes to use or consume an item
|
* How long it takes to use or consume an item
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public int getMaxItemUseDuration(ItemStack par1ItemStack)
|
public int getMaxItemUseDuration(ItemStack par1ItemStack)
|
||||||
{
|
{
|
||||||
return 72000;
|
return 72000;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EnumAction getItemUseAction(ItemStack par1ItemStack)
|
@Override
|
||||||
|
public EnumAction getItemUseAction(ItemStack stack)
|
||||||
{
|
{
|
||||||
return properties.RiftBladeRiftCreationEnabled ? EnumAction.bow : EnumAction.block;
|
return properties.RiftBladeRiftCreationEnabled ? EnumAction.bow : EnumAction.block;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4)
|
@Override
|
||||||
|
public void onPlayerStoppedUsing(ItemStack stack, World world, EntityPlayer player, int itemInUseCount)
|
||||||
{
|
{
|
||||||
//Condition for disabling rift creation
|
//Condition for disabling rift creation
|
||||||
if (!properties.RiftBladeRiftCreationEnabled)
|
if (!properties.RiftBladeRiftCreationEnabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Vec3 var2 = par3EntityPlayer.getLook(1.0F);
|
if (world.isRemote)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Vec3 var2 = player.getLook(1.0F);
|
||||||
|
|
||||||
double cooef = -2;
|
double cooef = -2;
|
||||||
var2.xCoord *= cooef;
|
var2.xCoord *= cooef;
|
||||||
var2.yCoord *= cooef;
|
var2.yCoord *= cooef;
|
||||||
var2.zCoord *= cooef;
|
var2.zCoord *= cooef;
|
||||||
double var5 = par3EntityPlayer.posX - var2.xCoord;
|
double var5 = player.posX - var2.xCoord;
|
||||||
double var9 = par3EntityPlayer.posZ - var2.zCoord;
|
double var9 = player.posZ - var2.zCoord;
|
||||||
double var7 = par3EntityPlayer.posY - var2.yCoord+2;
|
double var7 = player.posY - var2.yCoord + 2;
|
||||||
|
|
||||||
int x = MathHelper.floor_double(var5);
|
int x = MathHelper.floor_double(var5);
|
||||||
int y = MathHelper.floor_double(var7);
|
int y = MathHelper.floor_double(var7);
|
||||||
int z = MathHelper.floor_double(var9);
|
int z = MathHelper.floor_double(var9);
|
||||||
|
|
||||||
int rotation = (int) (MathHelper.floor_double((double)((par3EntityPlayer.rotationYaw+90) * 4.0F / 360.0F) + 0.5D) & 3);
|
int orientation = (int) (MathHelper.floor_double((double) ((player.rotationYaw + 90) * 4.0F / 360.0F) + 0.5D) & 3);
|
||||||
NewLinkData link = new NewLinkData(par2World.provider.dimensionId, 0, x, y, z, x, y, z, true,rotation);
|
|
||||||
|
|
||||||
if(this.getMaxItemUseDuration(par1ItemStack)-par4>12&&!par2World.isRemote&&itemDimDoor.canPlace(par2World, x, y, z, rotation))
|
//TODO: This looks weird. Shouldn't we aim to only create rifts on maxed-out usage time? i.e. "<= 0"
|
||||||
|
if (this.getMaxItemUseDuration(stack) - itemInUseCount > 12 &&
|
||||||
|
ItemDimensionalDoor.canPlace(world, x, y, z) && ItemDimensionalDoor.canPlace(world, x, y + 1, z))
|
||||||
{
|
{
|
||||||
|
NewDimData dimension = PocketManager.getDimensionData(world);
|
||||||
if(PocketManager.instance.getDimData(par2World.provider.dimensionId)!=null)
|
if (!dimension.isPocketDimension() && dimension.getLink(x, y + 1, z) == null)
|
||||||
{
|
{
|
||||||
if(PocketManager.instance.getDimData(par2World.provider.dimensionId).depth==0)
|
dimension.createLink(x, y + 1, z).setLinkType(IDimLink.TYPE_POCKET);
|
||||||
{
|
player.worldObj.playSoundAtEntity(player,"mods.DimDoors.sfx.riftDoor", 0.6f, 1);
|
||||||
PocketManager.instance.createPocket(link,true, false);
|
ItemDimensionalDoor.placeDoorBlock(world, x, y, z, orientation, mod_pocketDim.transientDoor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
PocketManager.instance.createPocket(link,true, false);
|
|
||||||
}
|
|
||||||
par3EntityPlayer.worldObj.playSoundAtEntity(par3EntityPlayer,"mods.DimDoors.sfx.riftDoor", (float) .6, 1);
|
|
||||||
itemDimDoor.placeDoorBlock(par2World, x, y-1, z, rotation, mod_pocketDim.transientDoor);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
@Override
|
||||||
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||||
{
|
{
|
||||||
Boolean didFindThing=false;
|
if (!world.isRemote)
|
||||||
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false );
|
|
||||||
if(hit!=null&&!par2World.isRemote)
|
|
||||||
{
|
|
||||||
if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ)==properties.RiftBlockID)
|
|
||||||
{
|
|
||||||
NewLinkData link = PocketManager.instance.getLinkDataFromCoords(hit.blockX, hit.blockY, hit.blockZ, par2World);
|
|
||||||
if(link!=null)
|
|
||||||
{
|
{
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
List<EntityLiving> list = (List<EntityLiving>) world.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getBoundingBox(player.posX-8,player.posY-8, player.posZ-8, player.posX+8,player.posY+8, player.posZ+8));
|
||||||
|
list.remove(player);
|
||||||
|
|
||||||
|
for (EntityLiving ent : list)
|
||||||
|
{
|
||||||
|
Vec3 var3 = player.getLook(1.0F).normalize();
|
||||||
|
Vec3 var4 = player.worldObj.getWorldVec3Pool().getVecFromPool(ent.posX - player.posX, ent.boundingBox.minY + (double)((ent.height) / 2.0F) - ( player.posY + (double) player.getEyeHeight()), ent.posZ - player.posZ);
|
||||||
|
double var5 = var4.lengthVector();
|
||||||
|
var4 = var4.normalize();
|
||||||
|
double var7 = var3.dotProduct(var4);
|
||||||
|
if( (var7+.1) > 1.0D - 0.025D / var5 ? player.canEntityBeSeen(ent) : false)
|
||||||
|
{
|
||||||
|
((ItemRiftBlade) stack.getItem()).teleportToEntity(stack, ent, player);
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(world, player, false);
|
||||||
|
if (hit != null)
|
||||||
|
{
|
||||||
|
if (world.getBlockId(hit.blockX, hit.blockY, hit.blockZ) == properties.RiftBlockID)
|
||||||
|
{
|
||||||
|
if (PocketManager.getLink(hit.blockX, hit.blockY, hit.blockZ, world) != null)
|
||||||
|
{
|
||||||
Block var11 = mod_pocketDim.transientDoor;
|
Block var11 = mod_pocketDim.transientDoor;
|
||||||
int par4 = hit.blockX;
|
int par4 = hit.blockX;
|
||||||
int par5 = hit.blockY;
|
int par5 = hit.blockY;
|
||||||
int par6 = hit.blockZ;
|
int par6 = hit.blockZ;
|
||||||
int par7 = 0;
|
int par7 = 0;
|
||||||
|
|
||||||
|
if (player.canPlayerEdit(par4, par5, par6, par7, stack) && player.canPlayerEdit(par4, par5 + 1, par6, par7, stack)&&!world.isRemote)
|
||||||
|
|
||||||
|
|
||||||
if (par3EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack) && par3EntityPlayer.canPlayerEdit(par4, par5 + 1, par6, par7, par1ItemStack)&&!par2World.isRemote)
|
|
||||||
{
|
{
|
||||||
int var12 = MathHelper.floor_double((double)((par3EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
int var12 = MathHelper.floor_double((double)((player.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
||||||
|
|
||||||
if (!itemDimDoor.canPlace(par2World, par4, par5, par6, var12)||!itemDimDoor.canPlace(par2World, par4, par5-1, par6, var12)||PocketManager.instance.getLinkDataFromCoords(par4, par5, par6, par2World)==null)
|
if (BaseItemDoor.canPlace(world, par4, par5, par6) &&
|
||||||
|
BaseItemDoor.canPlace(world, par4, par5 - 1, par6))
|
||||||
{
|
{
|
||||||
return par1ItemStack;
|
ItemDimensionalDoor.placeDoorBlock(world, par4, par5 - 1, par6, var12, var11);
|
||||||
}
|
player.worldObj.playSoundAtEntity(player,"mods.DimDoors.sfx.riftDoor", 0.6f, 1);
|
||||||
else
|
stack.damageItem(10, player);
|
||||||
{
|
|
||||||
|
|
||||||
itemDimDoor.placeDoorBlock(par2World, par4, par5-1, par6, var12, var11);
|
|
||||||
par3EntityPlayer.worldObj.playSoundAtEntity(par3EntityPlayer,"mods.DimDoors.sfx.riftDoor", (float) .6, 1);
|
|
||||||
|
|
||||||
didFindThing=true;
|
|
||||||
|
|
||||||
|
|
||||||
par1ItemStack.damageItem(10, par3EntityPlayer);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
return stack;
|
||||||
else if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ) == properties.TransientDoorID)
|
|
||||||
{
|
|
||||||
didFindThing=true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(!par3EntityPlayer.worldObj.isRemote)
|
|
||||||
{
|
|
||||||
List<EntityLiving> list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getBoundingBox( par3EntityPlayer.posX-8,par3EntityPlayer.posY-8, par3EntityPlayer.posZ-8, par3EntityPlayer.posX+8,par3EntityPlayer.posY+8, par3EntityPlayer.posZ+8));
|
|
||||||
list.remove(par3EntityPlayer);
|
|
||||||
|
|
||||||
|
|
||||||
for(EntityLiving ent : list)
|
|
||||||
{
|
|
||||||
|
|
||||||
Vec3 var3 = par3EntityPlayer.getLook(1.0F).normalize();
|
|
||||||
Vec3 var4 = par3EntityPlayer.worldObj.getWorldVec3Pool().getVecFromPool(ent.posX - par3EntityPlayer.posX, ent.boundingBox.minY + (double)((ent.height) / 2.0F) - ( par3EntityPlayer.posY + (double) par3EntityPlayer.getEyeHeight()), ent.posZ - par3EntityPlayer.posZ);
|
|
||||||
double var5 = var4.lengthVector();
|
|
||||||
var4 = var4.normalize();
|
|
||||||
double var7 = var3.dotProduct(var4);
|
|
||||||
if( (var7+.1) > 1.0D - 0.025D / var5 ? par3EntityPlayer.canEntityBeSeen(ent) : false)
|
|
||||||
{
|
|
||||||
System.out.println(list.size());
|
|
||||||
ItemRiftBlade.class.cast(par1ItemStack.getItem()).teleportToEntity(par1ItemStack,ent, par3EntityPlayer);
|
|
||||||
didFindThing=true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
//ItemRiftBlade.class.cast(item.getItem()).teleportTo(event.entityPlayer, ent.posX, ent.posY, ent.posZ);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//FIXME: Should this be inside or after this IF?
|
||||||
}
|
player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
|
||||||
// if(dimHelper.instance.getDimData(par2World.provider.dimensionId)!=null&&!par2World.isRemote&&!didFindThing)
|
|
||||||
{
|
|
||||||
|
|
||||||
par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return stack;
|
||||||
|
|
||||||
|
|
||||||
return par1ItemStack;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void registerIcons(IconRegister par1IconRegister)
|
public void registerIcons(IconRegister par1IconRegister)
|
||||||
{
|
{
|
||||||
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName());
|
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName());
|
||||||
|
|
||||||
}
|
|
||||||
public int getItemEnchantability()
|
|
||||||
{
|
|
||||||
return EnumToolMaterial.GOLD.getEnchantability();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the name for this tool's material.
|
|
||||||
*/
|
|
||||||
public String getToolMaterialName()
|
|
||||||
{
|
|
||||||
return EnumToolMaterial.GOLD.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return whether this item is repairable in an anvil.
|
* Return whether this item is repairable in an anvil.
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)
|
public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)
|
||||||
{
|
{
|
||||||
return mod_pocketDim.itemStableFabric.itemID == par2ItemStack.itemID ? true : super.getIsRepairable(par1ItemStack, par2ItemStack);
|
//Don't include a call to super.getIsRepairable()!
|
||||||
|
//That would cause this sword to accept gold as a repair material (since we set material = Gold).
|
||||||
|
return mod_pocketDim.itemStableFabric.itemID == par2ItemStack.itemID ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
|
@Override
|
||||||
|
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y,
|
||||||
|
int z, int par7, float par8, float par9, float par10)
|
||||||
{
|
{
|
||||||
if (par7 != 1)
|
if (BaseItemDoor.tryItemUse(mod_pocketDim.transientDoor, stack, player, world, x, y, z, par7, true, false))
|
||||||
{
|
{
|
||||||
return false;
|
world.playSoundAtEntity(player,"mods.DimDoors.sfx.riftDoor", 0.6f, 1);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
++par5;
|
|
||||||
Block var11;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var11 = mod_pocketDim.transientDoor;
|
|
||||||
if (par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack) && par2EntityPlayer.canPlayerEdit(par4, par5 + 1, par6, par7, par1ItemStack)&&!par3World.isRemote)
|
|
||||||
{
|
|
||||||
int var12 = MathHelper.floor_double((double)((par2EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
|
||||||
|
|
||||||
if (!itemDimDoor.canPlace(par3World, par4, par5, par6, var12)||PocketManager.instance.getLinkDataFromCoords(par4, par5+1, par6, par3World)==null)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
itemDimDoor.placeDoorBlock(par3World, par4, par5, par6, var12, var11);
|
|
||||||
par2EntityPlayer.worldObj.playSoundAtEntity(par2EntityPlayer,"mods.DimDoors.sfx.rift", (float) .6, 1);
|
|
||||||
|
|
||||||
|
|
||||||
par1ItemStack.damageItem(10, par2EntityPlayer);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* allows items to add custom lines of information to the mouseover description
|
* allows items to add custom lines of information to the mouseover description
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||||
{
|
{
|
||||||
par3List.add("Opens a temporary doors,");
|
par3List.add("Opens a temporary door, has");
|
||||||
par3List.add ("special teleport attack,");
|
par3List.add("a special teleport attack,");
|
||||||
par3List.add ("and rotates existing doors");
|
par3List.add("and rotates existing doors.");
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
|
||||||
{
|
|
||||||
if(!par2World.isRemote)
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
//creates the first half of the link on item creation
|
|
||||||
int key= dimHelper.instance.createUniqueInterDimLinkKey();
|
|
||||||
LinkData linkData= new LinkData(par2World.provider.dimensionId,MathHelper.floor_double(par3EntityPlayer.posX),MathHelper.floor_double(par3EntityPlayer.posY),MathHelper.floor_double(par3EntityPlayer.posZ));
|
|
||||||
System.out.println(key);
|
|
||||||
|
|
||||||
dimHelper.instance.interDimLinkList.put(key, linkData);
|
|
||||||
par1ItemStack.setItemDamage(key);
|
|
||||||
**/
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
package StevenDimDoors.mod_pocketDim.items;
|
package StevenDimDoors.mod_pocketDim.items;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
|
||||||
import net.minecraft.client.renderer.texture.IconRegister;
|
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.item.EnumArmorMaterial;
|
import net.minecraft.item.EnumArmorMaterial;
|
||||||
import net.minecraft.item.ItemArmor;
|
import net.minecraft.item.ItemArmor;
|
||||||
|
|
||||||
public class ItemRiftGoggles extends ItemArmor
|
public class ItemRiftGoggles extends ItemArmor
|
||||||
{
|
{
|
||||||
private Material doorMaterial;
|
|
||||||
|
|
||||||
public ItemRiftGoggles(int par1, int par2, int par3)
|
public ItemRiftGoggles(int par1, int par2, int par3)
|
||||||
{
|
{
|
||||||
|
|||||||
45
StevenDimDoors/mod_pocketDim/items/ItemUnstableDoor.java
Normal file
45
StevenDimDoors/mod_pocketDim/items/ItemUnstableDoor.java
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
package StevenDimDoors.mod_pocketDim.items;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||||
|
|
||||||
|
public class ItemUnstableDoor extends BaseItemDoor
|
||||||
|
{
|
||||||
|
public ItemUnstableDoor(int itemID, Material material)
|
||||||
|
{
|
||||||
|
super(itemID, material);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
|
@Override
|
||||||
|
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||||
|
{
|
||||||
|
par3List.add("Caution: Leads to random destination");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||||
|
{
|
||||||
|
if (!world.isRemote)
|
||||||
|
{
|
||||||
|
if (tryPlacingDoor(mod_pocketDim.unstableDoor, world, player, stack) &&
|
||||||
|
!player.capabilities.isCreativeMode)
|
||||||
|
{
|
||||||
|
stack.stackSize--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y,
|
||||||
|
int z, int par7, float par8, float par9, float par10)
|
||||||
|
{
|
||||||
|
return tryItemUse(mod_pocketDim.unstableDoor, stack, player, world, x, y, z, par7, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1 +0,0 @@
|
|||||||
package StevenDimDoors.mod_pocketDim.items;
|
|
||||||
48
StevenDimDoors/mod_pocketDim/items/ItemWarpDoor.java
Normal file
48
StevenDimDoors/mod_pocketDim/items/ItemWarpDoor.java
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
package StevenDimDoors.mod_pocketDim.items;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||||
|
|
||||||
|
public class ItemWarpDoor extends BaseItemDoor
|
||||||
|
{
|
||||||
|
public ItemWarpDoor(int itemID, Material material)
|
||||||
|
{
|
||||||
|
super(itemID, material);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
|
@Override
|
||||||
|
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||||
|
{
|
||||||
|
par3List.add("Place on the block under");
|
||||||
|
par3List.add("a rift to create a portal,");
|
||||||
|
par3List.add("or place anywhere in a");
|
||||||
|
par3List.add("pocket dimension to exit.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||||
|
{
|
||||||
|
if (!world.isRemote)
|
||||||
|
{
|
||||||
|
if (tryPlacingDoor(mod_pocketDim.warpDoor, world, player, stack) &&
|
||||||
|
!player.capabilities.isCreativeMode)
|
||||||
|
{
|
||||||
|
stack.stackSize--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y,
|
||||||
|
int z, int par7, float par8, float par9, float par10)
|
||||||
|
{
|
||||||
|
return tryItemUse(mod_pocketDim.warpDoor, stack, player, world, x, y, z, par7, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,207 +0,0 @@
|
|||||||
package StevenDimDoors.mod_pocketDim.items;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.material.Material;
|
|
||||||
import net.minecraft.client.renderer.texture.IconRegister;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
|
||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
|
||||||
import net.minecraft.item.ItemDoor;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.util.MathHelper;
|
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
|
||||||
import net.minecraft.util.Vec3;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
|
||||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
|
||||||
import StevenDimDoors.mod_pocketDim.core.IDimLink;
|
|
||||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
|
||||||
|
|
||||||
public class itemDimDoor extends ItemDoor
|
|
||||||
{
|
|
||||||
private static DDProperties properties = null;
|
|
||||||
|
|
||||||
public itemDimDoor(int par1, Material par2Material)
|
|
||||||
{
|
|
||||||
super(par1, par2Material);
|
|
||||||
this.setMaxStackSize(64);
|
|
||||||
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
|
||||||
if (properties == null)
|
|
||||||
properties = DDProperties.instance();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerIcons(IconRegister par1IconRegister)
|
|
||||||
{
|
|
||||||
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("item.", ""));
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
||||||
@Override
|
|
||||||
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
|
||||||
{
|
|
||||||
par3List.add("Place on the block under a rift");
|
|
||||||
par3List.add("to activate that rift or place");
|
|
||||||
par3List.add("anywhere else to create a");
|
|
||||||
par3List.add("pocket dimension.");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
|
|
||||||
{
|
|
||||||
if (par7 != 1)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
++par5;
|
|
||||||
Block var11;
|
|
||||||
|
|
||||||
|
|
||||||
if(par1ItemStack.getItem() instanceof itemExitDoor)
|
|
||||||
{
|
|
||||||
var11 = mod_pocketDim.exitDoor;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (par1ItemStack.getItem() instanceof ItemChaosDoor)
|
|
||||||
{
|
|
||||||
var11 = mod_pocketDim.unstableDoor;
|
|
||||||
}
|
|
||||||
else if (par1ItemStack.getItem() instanceof itemDimDoor)
|
|
||||||
{
|
|
||||||
var11 = mod_pocketDim.dimensionalDoor;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//Do nothing
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack) && par2EntityPlayer.canPlayerEdit(par4, par5 + 1, par6, par7, par1ItemStack)&&!par3World.isRemote)
|
|
||||||
{
|
|
||||||
int var12 = MathHelper.floor_double((double)((par2EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
|
||||||
|
|
||||||
if (!canPlace(par3World, par4, par5, par6) || !canPlace(par3World, par4, par5+1, par6))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int offset = 0;
|
|
||||||
int idBlock = par3World.getBlockId(par4, par5-1, par6);
|
|
||||||
|
|
||||||
if(Block.blocksList.length>idBlock&&idBlock!=0)
|
|
||||||
{
|
|
||||||
if(Block.blocksList[idBlock].isBlockReplaceable(par3World, par4, par5-1, par6))
|
|
||||||
{
|
|
||||||
offset = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
placeDoorBlock(par3World, par4, par5-offset, par6, var12, var11);
|
|
||||||
|
|
||||||
--par1ItemStack.stackSize;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public MovingObjectPosition getMovingObjectPositionFromPlayer(World par1World, EntityPlayer par2EntityPlayer, boolean par3)
|
|
||||||
{
|
|
||||||
float var4 = 1.0F;
|
|
||||||
float var5 = par2EntityPlayer.prevRotationPitch + (par2EntityPlayer.rotationPitch - par2EntityPlayer.prevRotationPitch) * var4;
|
|
||||||
float var6 = par2EntityPlayer.prevRotationYaw + (par2EntityPlayer.rotationYaw - par2EntityPlayer.prevRotationYaw) * var4;
|
|
||||||
double var7 = par2EntityPlayer.prevPosX + (par2EntityPlayer.posX - par2EntityPlayer.prevPosX) * (double)var4;
|
|
||||||
double var9 = par2EntityPlayer.prevPosY + (par2EntityPlayer.posY - par2EntityPlayer.prevPosY) * (double)var4 + 1.62D - (double)par2EntityPlayer.yOffset;
|
|
||||||
double var11 = par2EntityPlayer.prevPosZ + (par2EntityPlayer.posZ - par2EntityPlayer.prevPosZ) * (double)var4;
|
|
||||||
Vec3 var13 = par1World.getWorldVec3Pool().getVecFromPool(var7, var9, var11);
|
|
||||||
float var14 = MathHelper.cos(-var6 * 0.017453292F - (float)Math.PI);
|
|
||||||
float var15 = MathHelper.sin(-var6 * 0.017453292F - (float)Math.PI);
|
|
||||||
float var16 = -MathHelper.cos(-var5 * 0.017453292F);
|
|
||||||
float var17 = MathHelper.sin(-var5 * 0.017453292F);
|
|
||||||
float var18 = var15 * var16;
|
|
||||||
float var20 = var14 * var16;
|
|
||||||
double var21 = 5.0D;
|
|
||||||
if (par2EntityPlayer instanceof EntityPlayerMP)
|
|
||||||
{
|
|
||||||
var21 = 4;
|
|
||||||
}
|
|
||||||
Vec3 var23 = var13.addVector((double)var18 * var21, (double)var17 * var21, (double)var20 * var21);
|
|
||||||
return par1World.rayTraceBlocks_do_do(var13, var23, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
|
||||||
{
|
|
||||||
if (world.isRemote)
|
|
||||||
{
|
|
||||||
return stack;
|
|
||||||
}
|
|
||||||
|
|
||||||
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(player.worldObj, player, false );
|
|
||||||
if (hit != null)
|
|
||||||
{
|
|
||||||
if (world.getBlockId(hit.blockX, hit.blockY, hit.blockZ) == properties.RiftBlockID)
|
|
||||||
{
|
|
||||||
IDimLink link = PocketManager.getLink(hit.blockX, hit.blockY, hit.blockZ, world.provider.dimensionId);
|
|
||||||
if (link != null)
|
|
||||||
{
|
|
||||||
Block block;
|
|
||||||
if (stack.getItem() instanceof itemExitDoor)
|
|
||||||
{
|
|
||||||
block = mod_pocketDim.exitDoor;
|
|
||||||
}
|
|
||||||
else if (stack.getItem() instanceof ItemChaosDoor)
|
|
||||||
{
|
|
||||||
block = mod_pocketDim.unstableDoor;
|
|
||||||
}
|
|
||||||
else if (stack.getItem() instanceof itemDimDoor)
|
|
||||||
{
|
|
||||||
block = mod_pocketDim.dimensionalDoor;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//Do nothing
|
|
||||||
return stack;
|
|
||||||
}
|
|
||||||
|
|
||||||
int x = hit.blockX;
|
|
||||||
int y = hit.blockY;
|
|
||||||
int z = hit.blockZ;
|
|
||||||
int par7 = 0;
|
|
||||||
|
|
||||||
if (player.canPlayerEdit(x, y, z, par7, stack) && player.canPlayerEdit(x, y - 1, z, par7, stack))
|
|
||||||
{
|
|
||||||
int orientation = MathHelper.floor_double((double) ((player.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
|
||||||
|
|
||||||
if (!canPlace(world, x, y, z) || !canPlace(world, x, y - 1, z))
|
|
||||||
{
|
|
||||||
return stack;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
placeDoorBlock(world, x, y - 1, z, orientation, block);
|
|
||||||
if (!player.capabilities.isCreativeMode)
|
|
||||||
{
|
|
||||||
stack.stackSize--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return stack;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean canPlace(World world, int x, int y, int z)
|
|
||||||
{
|
|
||||||
int id = world.getBlockId(x, y, z);
|
|
||||||
|
|
||||||
return (id == properties.RiftBlockID || id == 0 || Block.blocksList[id].blockMaterial.isReplaceable());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
package StevenDimDoors.mod_pocketDim.items;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.material.Material;
|
|
||||||
import net.minecraft.client.renderer.texture.IconRegister;
|
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
|
||||||
import net.minecraft.item.ItemDoor;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.util.MathHelper;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
|
|
||||||
public class itemExitDoor extends itemDimDoor
|
|
||||||
{
|
|
||||||
private Material doorMaterial;
|
|
||||||
|
|
||||||
public itemExitDoor(int par1, Material par2Material)
|
|
||||||
{
|
|
||||||
super(par1, par2Material);
|
|
||||||
this.doorMaterial = par2Material;
|
|
||||||
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerIcons(IconRegister par1IconRegister)
|
|
||||||
{
|
|
||||||
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("item.", ""));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
par3List.add("Place on the block under a rift");
|
|
||||||
par3List.add ("in any dimension,");
|
|
||||||
par3List.add("or place anywhere in pocket dim");
|
|
||||||
par3List.add("to approach surface");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -19,17 +19,13 @@ import cpw.mods.fml.relauncher.SideOnly;
|
|||||||
public class itemLinkSignature extends Item
|
public class itemLinkSignature extends Item
|
||||||
{
|
{
|
||||||
|
|
||||||
public itemLinkSignature(int par1)
|
public itemLinkSignature(int itemID)
|
||||||
{
|
{
|
||||||
super(par1);
|
super(itemID);
|
||||||
this.setMaxStackSize(1);
|
this.setMaxStackSize(1);
|
||||||
// this.setTextureFile("/PocketBlockTextures.png");
|
|
||||||
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
||||||
|
|
||||||
// this.itemIcon=5;
|
|
||||||
this.setMaxDamage(0);
|
this.setMaxDamage(0);
|
||||||
this.hasSubtypes = true;
|
this.hasSubtypes = true;
|
||||||
//TODO move to proxy
|
|
||||||
if (properties == null)
|
if (properties == null)
|
||||||
properties = DDProperties.instance();
|
properties = DDProperties.instance();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import net.minecraft.creativetab.CreativeTabs;
|
|||||||
import net.minecraft.entity.EntityEggInfo;
|
import net.minecraft.entity.EntityEggInfo;
|
||||||
import net.minecraft.entity.EntityList;
|
import net.minecraft.entity.EntityList;
|
||||||
import net.minecraft.entity.item.EntityItem;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
|
import net.minecraft.item.EnumToolMaterial;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
@@ -36,12 +37,12 @@ import StevenDimDoors.mod_pocketDim.commands.CommandTeleportPlayer;
|
|||||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||||
import StevenDimDoors.mod_pocketDim.items.ItemBlockDimWall;
|
import StevenDimDoors.mod_pocketDim.items.ItemBlockDimWall;
|
||||||
import StevenDimDoors.mod_pocketDim.items.ItemChaosDoor;
|
import StevenDimDoors.mod_pocketDim.items.ItemUnstableDoor;
|
||||||
import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade;
|
import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade;
|
||||||
import StevenDimDoors.mod_pocketDim.items.ItemStabilizedRiftSignature;
|
import StevenDimDoors.mod_pocketDim.items.ItemStabilizedRiftSignature;
|
||||||
import StevenDimDoors.mod_pocketDim.items.ItemStableFabric;
|
import StevenDimDoors.mod_pocketDim.items.ItemStableFabric;
|
||||||
import StevenDimDoors.mod_pocketDim.items.itemDimDoor;
|
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
|
||||||
import StevenDimDoors.mod_pocketDim.items.itemExitDoor;
|
import StevenDimDoors.mod_pocketDim.items.ItemWarpDoor;
|
||||||
import StevenDimDoors.mod_pocketDim.items.itemLinkSignature;
|
import StevenDimDoors.mod_pocketDim.items.itemLinkSignature;
|
||||||
import StevenDimDoors.mod_pocketDim.items.itemRiftRemover;
|
import StevenDimDoors.mod_pocketDim.items.itemRiftRemover;
|
||||||
import StevenDimDoors.mod_pocketDim.ticking.CommonTickHandler;
|
import StevenDimDoors.mod_pocketDim.ticking.CommonTickHandler;
|
||||||
@@ -101,7 +102,7 @@ public class mod_pocketDim
|
|||||||
public static mod_pocketDim instance = new mod_pocketDim();
|
public static mod_pocketDim instance = new mod_pocketDim();
|
||||||
|
|
||||||
public static Block transientDoor;
|
public static Block transientDoor;
|
||||||
public static Block exitDoor;
|
public static Block warpDoor;
|
||||||
public static Block unstableDoor;
|
public static Block unstableDoor;
|
||||||
public static Block blockLimbo;
|
public static Block blockLimbo;
|
||||||
public static dimDoor dimensionalDoor;
|
public static dimDoor dimensionalDoor;
|
||||||
@@ -184,7 +185,7 @@ public class mod_pocketDim
|
|||||||
|
|
||||||
blockDimWall = (new BlockDimWall(properties.FabricBlockID, 0, Material.iron)).setLightValue(1.0F).setHardness(0.1F).setUnlocalizedName("blockDimWall");
|
blockDimWall = (new BlockDimWall(properties.FabricBlockID, 0, Material.iron)).setLightValue(1.0F).setHardness(0.1F).setUnlocalizedName("blockDimWall");
|
||||||
blockDimWallPerm = (new BlockDimWallPerm(properties.PermaFabricBlockID, 0, Material.iron)).setLightValue(1.0F).setBlockUnbreakable().setResistance(6000000.0F).setUnlocalizedName("blockDimWallPerm");
|
blockDimWallPerm = (new BlockDimWallPerm(properties.PermaFabricBlockID, 0, Material.iron)).setLightValue(1.0F).setBlockUnbreakable().setResistance(6000000.0F).setUnlocalizedName("blockDimWallPerm");
|
||||||
exitDoor = (new ExitDoor(properties.WarpDoorID, Material.wood)).setHardness(1.0F) .setUnlocalizedName("dimDoorWarp");
|
warpDoor = (new ExitDoor(properties.WarpDoorID, Material.wood)).setHardness(1.0F) .setUnlocalizedName("dimDoorWarp");
|
||||||
blockRift = (BlockRift) (new BlockRift(properties.RiftBlockID, 0, Material.air, properties).setHardness(1.0F) .setUnlocalizedName("rift"));
|
blockRift = (BlockRift) (new BlockRift(properties.RiftBlockID, 0, Material.air, properties).setHardness(1.0F) .setUnlocalizedName("rift"));
|
||||||
blockLimbo = (new BlockLimbo(properties.LimboBlockID, 15, Material.iron, properties.LimboDimensionID, decay).setHardness(.2F).setUnlocalizedName("BlockLimbo").setLightValue(.0F));
|
blockLimbo = (new BlockLimbo(properties.LimboBlockID, 15, Material.iron, properties.LimboDimensionID, decay).setHardness(.2F).setUnlocalizedName("BlockLimbo").setLightValue(.0F));
|
||||||
unstableDoor = (new ChaosDoor(properties.UnstableDoorID, Material.iron).setHardness(.2F).setUnlocalizedName("chaosDoor").setLightValue(.0F) );
|
unstableDoor = (new ChaosDoor(properties.UnstableDoorID, Material.iron).setHardness(.2F).setUnlocalizedName("chaosDoor").setLightValue(.0F) );
|
||||||
@@ -192,13 +193,13 @@ public class mod_pocketDim
|
|||||||
dimHatch = (new dimHatch(properties.TransTrapdoorID, 84, Material.iron)).setHardness(1.0F) .setUnlocalizedName("dimHatch");
|
dimHatch = (new dimHatch(properties.TransTrapdoorID, 84, Material.iron)).setHardness(1.0F) .setUnlocalizedName("dimHatch");
|
||||||
// dimRail = (new DimRail(dimRailID, 88, false)).setHardness(.5F) .setUnlocalizedName("dimRail");
|
// dimRail = (new DimRail(dimRailID, 88, false)).setHardness(.5F) .setUnlocalizedName("dimRail");
|
||||||
|
|
||||||
itemDimDoor = (new itemDimDoor(properties.DimensionalDoorItemID, Material.iron)).setUnlocalizedName("itemDimDoor");
|
itemDimDoor = (new ItemDimensionalDoor(properties.DimensionalDoorItemID, Material.iron)).setUnlocalizedName("itemDimDoor");
|
||||||
itemExitDoor = (new itemExitDoor(properties.WarpDoorItemID, Material.wood)).setUnlocalizedName("itemDimDoorWarp");
|
itemExitDoor = (new ItemWarpDoor(properties.WarpDoorItemID, Material.wood)).setUnlocalizedName("itemDimDoorWarp");
|
||||||
itemLinkSignature = (new itemLinkSignature(properties.RiftSignatureItemID)).setUnlocalizedName("itemLinkSignature");
|
itemLinkSignature = (new itemLinkSignature(properties.RiftSignatureItemID)).setUnlocalizedName("itemLinkSignature");
|
||||||
itemRiftRemover = (new itemRiftRemover(properties.RiftRemoverItemID, Material.wood)).setUnlocalizedName("itemRiftRemover");
|
itemRiftRemover = (new itemRiftRemover(properties.RiftRemoverItemID, Material.wood)).setUnlocalizedName("itemRiftRemover");
|
||||||
itemStableFabric = (new ItemStableFabric(properties.StableFabricItemID, 0)).setUnlocalizedName("itemStableFabric");
|
itemStableFabric = (new ItemStableFabric(properties.StableFabricItemID, 0)).setUnlocalizedName("itemStableFabric");
|
||||||
itemChaosDoor = (new ItemChaosDoor(properties.UnstableDoorItemID, Material.iron)).setUnlocalizedName("itemChaosDoor");
|
itemChaosDoor = (new ItemUnstableDoor(properties.UnstableDoorItemID, Material.iron)).setUnlocalizedName("itemChaosDoor");
|
||||||
itemRiftBlade = (new ItemRiftBlade(properties.RiftBladeItemID)).setUnlocalizedName("ItemRiftBlade");
|
itemRiftBlade = (new ItemRiftBlade(properties.RiftBladeItemID, EnumToolMaterial.GOLD)).setUnlocalizedName("ItemRiftBlade");
|
||||||
itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(properties.StabilizedRiftSignatureItemID)).setUnlocalizedName("itemStabilizedRiftSig");
|
itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(properties.StabilizedRiftSignatureItemID)).setUnlocalizedName("itemStabilizedRiftSig");
|
||||||
|
|
||||||
mod_pocketDim.limboBiome= (new BiomeGenLimbo(properties.LimboBiomeID));
|
mod_pocketDim.limboBiome= (new BiomeGenLimbo(properties.LimboBiomeID));
|
||||||
@@ -207,7 +208,7 @@ public class mod_pocketDim
|
|||||||
GameRegistry.registerWorldGenerator(mod_pocketDim.riftGen);
|
GameRegistry.registerWorldGenerator(mod_pocketDim.riftGen);
|
||||||
|
|
||||||
GameRegistry.registerBlock(unstableDoor, "Unstable Door");
|
GameRegistry.registerBlock(unstableDoor, "Unstable Door");
|
||||||
GameRegistry.registerBlock(exitDoor, "Warp Door");
|
GameRegistry.registerBlock(warpDoor, "Warp Door");
|
||||||
GameRegistry.registerBlock(blockRift, "Rift");
|
GameRegistry.registerBlock(blockRift, "Rift");
|
||||||
GameRegistry.registerBlock(blockLimbo, "Unraveled Fabric");
|
GameRegistry.registerBlock(blockLimbo, "Unraveled Fabric");
|
||||||
GameRegistry.registerBlock(dimensionalDoor, "Dimensional Door");
|
GameRegistry.registerBlock(dimensionalDoor, "Dimensional Door");
|
||||||
@@ -226,7 +227,7 @@ public class mod_pocketDim
|
|||||||
LanguageRegistry.addName(transientDoor , "transientDoor");
|
LanguageRegistry.addName(transientDoor , "transientDoor");
|
||||||
LanguageRegistry.addName(blockRift , "Rift");
|
LanguageRegistry.addName(blockRift , "Rift");
|
||||||
LanguageRegistry.addName(blockLimbo , "Unraveled Fabric");
|
LanguageRegistry.addName(blockLimbo , "Unraveled Fabric");
|
||||||
LanguageRegistry.addName(exitDoor , "Warp Door");
|
LanguageRegistry.addName(warpDoor , "Warp Door");
|
||||||
LanguageRegistry.addName(unstableDoor , "Unstable Door");
|
LanguageRegistry.addName(unstableDoor , "Unstable Door");
|
||||||
LanguageRegistry.addName(blockDimWall , "Fabric of Reality");
|
LanguageRegistry.addName(blockDimWall , "Fabric of Reality");
|
||||||
LanguageRegistry.addName(blockDimWallPerm , "Eternal Fabric");
|
LanguageRegistry.addName(blockDimWallPerm , "Eternal Fabric");
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ public class BlockRotator
|
|||||||
hasOrientations[Block.rail.blockID] = true;
|
hasOrientations[Block.rail.blockID] = true;
|
||||||
|
|
||||||
hasOrientations[mod_pocketDim.dimensionalDoor.blockID] = true;
|
hasOrientations[mod_pocketDim.dimensionalDoor.blockID] = true;
|
||||||
hasOrientations[mod_pocketDim.exitDoor.blockID] = true;
|
hasOrientations[mod_pocketDim.warpDoor.blockID] = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
|||||||
import StevenDimDoors.mod_pocketDim.core.IDimLink;
|
import StevenDimDoors.mod_pocketDim.core.IDimLink;
|
||||||
import StevenDimDoors.mod_pocketDim.core.NewDimData;
|
import StevenDimDoors.mod_pocketDim.core.NewDimData;
|
||||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||||
import StevenDimDoors.mod_pocketDim.items.itemDimDoor;
|
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
|
||||||
import cpw.mods.fml.common.IWorldGenerator;
|
import cpw.mods.fml.common.IWorldGenerator;
|
||||||
|
|
||||||
public class GatewayGenerator implements IWorldGenerator
|
public class GatewayGenerator implements IWorldGenerator
|
||||||
@@ -145,7 +145,7 @@ public class GatewayGenerator implements IWorldGenerator
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Place the shiny transient door into a dungeon
|
//Place the shiny transient door into a dungeon
|
||||||
itemDimDoor.placeDoorBlock(world, x, y + 1, z, 0, mod_pocketDim.transientDoor);
|
ItemDimensionalDoor.placeDoorBlock(world, x, y + 1, z, 0, mod_pocketDim.transientDoor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package StevenDimDoors.mod_pocketDimClient;
|
package StevenDimDoors.mod_pocketDimClient;
|
||||||
|
|
||||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
|
||||||
import net.minecraft.client.particle.EffectRenderer;
|
import net.minecraft.client.particle.EffectRenderer;
|
||||||
import net.minecraft.client.particle.EntityFX;
|
import net.minecraft.client.particle.EntityFX;
|
||||||
import net.minecraft.client.particle.EntityFireworkSparkFX;
|
|
||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
@@ -109,22 +108,11 @@ public class RiftFX extends EntityFX
|
|||||||
float f13 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * (double)par2 - interpPosZ);
|
float f13 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * (double)par2 - interpPosZ);
|
||||||
float f14 = 0F;
|
float f14 = 0F;
|
||||||
|
|
||||||
|
if (PocketManager.getDimensionData(worldObj).isPocketDimension())
|
||||||
|
{
|
||||||
|
f14 = 0.7F;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if(PocketManager.instance.getDimData(this.worldObj.provider.dimensionId).isPocket)
|
|
||||||
{
|
|
||||||
f14=.7F;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch(Exception E)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
par1Tessellator.setColorRGBA_F(this.particleRed * f14, this.particleGreen * f14, this.particleBlue * f14, (float) .7);
|
par1Tessellator.setColorRGBA_F(this.particleRed * f14, this.particleGreen * f14, this.particleBlue * f14, (float) .7);
|
||||||
par1Tessellator.addVertexWithUV((double)(f11 - par3 * f10 - par6 * f10), (double)(f12 - par4 * f10), (double)(f13 - par5 * f10 - par7 * f10), (double)f7, (double)f9);
|
par1Tessellator.addVertexWithUV((double)(f11 - par3 * f10 - par6 * f10), (double)(f12 - par4 * f10), (double)(f13 - par5 * f10 - par7 * f10), (double)f7, (double)f9);
|
||||||
par1Tessellator.addVertexWithUV((double)(f11 - par3 * f10 + par6 * f10), (double)(f12 + par4 * f10), (double)(f13 - par5 * f10 + par7 * f10), (double)f7, (double)f8);
|
par1Tessellator.addVertexWithUV((double)(f11 - par3 * f10 + par6 * f10), (double)(f12 + par4 * f10), (double)(f13 - par5 * f10 + par7 * f10), (double)f7, (double)f8);
|
||||||
|
|||||||
Reference in New Issue
Block a user