Fixed door placement on rifts,
working on biomes and mob
This commit is contained in:
@@ -28,7 +28,7 @@ public class LimboProvider extends WorldProvider
|
||||
public LimboProvider()
|
||||
{
|
||||
this.hasNoSky=true;
|
||||
super.worldChunkMgr = new WorldChunkManagerHell(mod_pocketDim.limboBiome, 0.0F, 0.0F);
|
||||
super.worldChunkMgr = new WorldChunkManagerLimbo();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,32 @@ import net.minecraftforge.event.terraingen.*;
|
||||
import static net.minecraft.world.biome.BiomeGenBase.*;
|
||||
|
||||
public class WorldChunkManagerLimbo extends WorldChunkManager
|
||||
|
||||
|
||||
{
|
||||
public static ArrayList<BiomeGenBase> allowedBiomes = new ArrayList<BiomeGenBase>(Arrays.asList(forest, plains, taiga, taigaHills, forestHills, jungle. jungleHills));
|
||||
|
||||
BiomeGenBase biomeGenerator = mod_pocketDim.limboBiome;
|
||||
public BiomeGenBase[] getBiomesForGeneration(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5)
|
||||
{
|
||||
return new BiomeGenBase[] {mod_pocketDim.limboBiome};
|
||||
}
|
||||
|
||||
public BiomeGenBase[] getBiomeGenAt(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, int par5, boolean par6)
|
||||
{
|
||||
return new BiomeGenBase[] {mod_pocketDim.limboBiome};
|
||||
|
||||
}
|
||||
|
||||
public BiomeGenBase getBiomeGenAt(int par1, int par2)
|
||||
{
|
||||
return mod_pocketDim.limboBiome;
|
||||
}
|
||||
|
||||
public boolean areBiomesViable(int par1, int par2, int par3, List par4List)
|
||||
{
|
||||
return par4List.contains(this.biomeGenerator);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -211,7 +211,7 @@ public class ItemRiftBlade extends itemDimDoor
|
||||
|
||||
Block var11 = mod_pocketDim.transientDoor;
|
||||
int par4 = hit.blockX;
|
||||
int par5 = hit.blockY-1;
|
||||
int par5 = hit.blockY;
|
||||
int par6 = hit.blockZ;
|
||||
int par7 = 0 ;
|
||||
|
||||
@@ -222,14 +222,14 @@ public class ItemRiftBlade extends itemDimDoor
|
||||
{
|
||||
int var12 = MathHelper.floor_double((double)((par3EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
||||
|
||||
if (!this.canPlace(par2World, par4, par5, par6, var12)||!this.canPlace(par2World, par4, par5+1, par6, var12)||dimHelper.instance.getLinkDataFromCoords(par4, par5+1, par6, par2World)==null)
|
||||
if (!this.canPlace(par2World, par4, par5, par6, var12)||!this.canPlace(par2World, par4, par5-1, par6, var12)||dimHelper.instance.getLinkDataFromCoords(par4, par5, par6, par2World)==null)
|
||||
{
|
||||
return par1ItemStack;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
placeDoorBlock(par2World, par4, par5, par6, var12, var11);
|
||||
placeDoorBlock(par2World, par4, par5-1, par6, var12, var11);
|
||||
didFindThing=true;
|
||||
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ public class ItemStableFabric extends Item
|
||||
if(!par3World.isRemote)
|
||||
{
|
||||
System.out.println("Block metadata is "+par3World.getBlockMetadata(par4, par5, par6));
|
||||
System.out.println(par3World.getBiomeGenForCoords(par4, par6).biomeName);
|
||||
this.onItemRightClick(par1ItemStack, par3World, par2EntityPlayer);
|
||||
}
|
||||
//System.out.println("Block texture data is "+Block.blocksList[par3World.getBlockId(par4, par5, par6)].getBlockTexture(par3World,par4, par5, par6,par7).getIconName());
|
||||
|
||||
@@ -157,7 +157,7 @@ public class itemDimDoor extends ItemDoor
|
||||
}
|
||||
|
||||
int par4 = hit.blockX;
|
||||
int par5 = hit.blockY-1;
|
||||
int par5 = hit.blockY;
|
||||
int par6 = hit.blockZ;
|
||||
int par7 = 0 ;
|
||||
|
||||
@@ -168,14 +168,14 @@ public class itemDimDoor extends ItemDoor
|
||||
{
|
||||
int var12 = MathHelper.floor_double((double)((par3EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
|
||||
|
||||
if (!this.canPlace(par2World, par4, par5, par6, var12)||!this.canPlace(par2World, par4, par5-1, par6, var12)||dimHelper.instance.getLinkDataFromCoords(par4, par5+1, par6, par2World)==null)
|
||||
if (!this.canPlace(par2World, par4, par5, par6, var12)||!this.canPlace(par2World, par4, par5-1, par6, var12)||dimHelper.instance.getLinkDataFromCoords(par4, par5, par6, par2World)==null)
|
||||
{
|
||||
return par1ItemStack;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
placeDoorBlock(par2World, par4, par5, par6, var12, var11);
|
||||
placeDoorBlock(par2World, par4, par5-1, par6, var12, var11);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ public class MobObelisk extends EntityMob
|
||||
{
|
||||
super(par1World);
|
||||
this.texture="/mods/DimensionalDoors/textures/mobs/Monolith.png";
|
||||
this.setSize(4.0F, 4.0F);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import net.minecraftforge.client.MinecraftForgeClient;
|
||||
import StevenDimDoors.mod_pocketDim.CommonProxy;
|
||||
import StevenDimDoors.mod_pocketDim.TileEntityDimDoor;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.ticking.MobObelisk;
|
||||
|
||||
|
||||
public class ClientProxy extends CommonProxy
|
||||
@@ -15,10 +16,12 @@ public class ClientProxy extends CommonProxy
|
||||
{
|
||||
|
||||
//MinecraftForgeClient.preloadTexture(BLOCK_PNG);
|
||||
MinecraftForgeClient.preloadTexture(WARP_PNG);
|
||||
MinecraftForgeClient.preloadTexture(RIFT_PNG);
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDimDoor.class, new RenderDimDoor());
|
||||
|
||||
|
||||
//MinecraftForgeClient.preloadTexture(RIFT2_PNG);
|
||||
RenderingRegistry.registerEntityRenderingHandler(MobObelisk.class, new RenderMobObelisk(.5F));
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -32,9 +35,9 @@ public class ClientProxy extends CommonProxy
|
||||
|
||||
|
||||
|
||||
|
||||
MinecraftForgeClient.preloadTexture(WARP_PNG);
|
||||
MinecraftForgeClient.preloadTexture(RIFT_PNG);
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDimDoor.class, new RenderDimDoor());
|
||||
|
||||
|
||||
|
||||
|
||||
62
StevenDimDoors/mod_pocketDimClient/ModelMobObelisk.java
Normal file
62
StevenDimDoors/mod_pocketDimClient/ModelMobObelisk.java
Normal file
@@ -0,0 +1,62 @@
|
||||
// Date: 2/4/2013 6:55:29 PM
|
||||
// Template version 1.1
|
||||
// Java generated by Techne
|
||||
// Keep in mind that you still need to fill in some blanks
|
||||
// - ZeuX
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
package StevenDimDoors.mod_pocketDimClient;
|
||||
|
||||
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class ModelMobObelisk extends ModelBase
|
||||
{
|
||||
//fields
|
||||
ModelRenderer wholemonolith;
|
||||
|
||||
public ModelMobObelisk()
|
||||
{
|
||||
textureWidth = 256;
|
||||
textureHeight = 256;
|
||||
|
||||
wholemonolith = new ModelRenderer(this, 0, 1);
|
||||
wholemonolith.addBox(0F, 0F, 0F, 64, 144, 16);
|
||||
wholemonolith.setRotationPoint(-32F, -72F, -8F);
|
||||
wholemonolith.setTextureSize(256, 256);
|
||||
wholemonolith.mirror = true;
|
||||
setRotation(wholemonolith, 0F, 0F, 0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7)
|
||||
{
|
||||
super.render(par1Entity, par2, par3, par4, par5, par4, par7);
|
||||
setRotationAngles(par2, par3, par4, par5, par6,par7, par1Entity);
|
||||
wholemonolith.render(par7);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//@Override
|
||||
private void setRotation(ModelRenderer model, float x, float y, float z)
|
||||
{
|
||||
model.rotateAngleX = x;
|
||||
model.rotateAngleY = y;
|
||||
model.rotateAngleZ = z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity)
|
||||
{
|
||||
super.setRotationAngles( par1, par2, par3, par4, par5, par6, par7Entity);
|
||||
}
|
||||
|
||||
}
|
||||
38
StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java
Normal file
38
StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package StevenDimDoors.mod_pocketDimClient;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.ticking.MobObelisk;
|
||||
import net.minecraft.client.renderer.entity.RenderLiving;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class RenderMobObelisk extends RenderLiving
|
||||
{
|
||||
protected ModelMobObelisk obeliskModel;
|
||||
|
||||
public RenderMobObelisk(float f)
|
||||
{
|
||||
super(new ModelMobObelisk(), f);
|
||||
this.obeliskModel = (ModelMobObelisk)this.mainModel;
|
||||
}
|
||||
|
||||
public void renderMobObelisk(MobObelisk mobObelisk, double d, double d1, double d2,
|
||||
float f, float f1)
|
||||
{
|
||||
super.doRenderLiving( mobObelisk, d, d1, d2, f, f1);
|
||||
}
|
||||
|
||||
public void doRenderLiving(EntityLiving entityliving, double d, double d1, double d2,
|
||||
float f, float f1)
|
||||
{
|
||||
renderMobObelisk((MobObelisk)entityliving, d, d1, d2, f, f1);
|
||||
}
|
||||
|
||||
public void doRender(Entity entity, double d, double d1, double d2,
|
||||
float f, float f1)
|
||||
{
|
||||
renderMobObelisk((MobObelisk)entity, d, d1, d2, f, f1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user