Fixed door placement on rifts,

working on biomes and mob
This commit is contained in:
StevenRS11
2013-05-21 14:49:14 -04:00
parent 6407b1be71
commit 42f7057f3d
9 changed files with 142 additions and 12 deletions

View File

@@ -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();

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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());

View File

@@ -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);

View File

@@ -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
}

View File

@@ -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());

View 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);
}
}

View 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);
}
}