From 42f7057f3dd18bba47c5d117320064dc656f7aa4 Mon Sep 17 00:00:00 2001 From: StevenRS11 Date: Tue, 21 May 2013 14:49:14 -0400 Subject: [PATCH] Fixed door placement on rifts, working on biomes and mob --- .../mod_pocketDim/LimboProvider.java | 2 +- .../mod_pocketDim/WorldChunkManagerLimbo.java | 27 +++++++- .../mod_pocketDim/items/ItemRiftBlade.java | 6 +- .../mod_pocketDim/items/ItemStableFabric.java | 1 + .../mod_pocketDim/items/itemDimDoor.java | 6 +- .../mod_pocketDim/ticking/MobObelisk.java | 1 + .../mod_pocketDimClient/ClientProxy.java | 11 ++-- .../mod_pocketDimClient/ModelMobObelisk.java | 62 +++++++++++++++++++ .../mod_pocketDimClient/RenderMobObelisk.java | 38 ++++++++++++ 9 files changed, 142 insertions(+), 12 deletions(-) create mode 100644 StevenDimDoors/mod_pocketDimClient/ModelMobObelisk.java create mode 100644 StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java diff --git a/StevenDimDoors/mod_pocketDim/LimboProvider.java b/StevenDimDoors/mod_pocketDim/LimboProvider.java index bb74a48..413afed 100644 --- a/StevenDimDoors/mod_pocketDim/LimboProvider.java +++ b/StevenDimDoors/mod_pocketDim/LimboProvider.java @@ -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(); diff --git a/StevenDimDoors/mod_pocketDim/WorldChunkManagerLimbo.java b/StevenDimDoors/mod_pocketDim/WorldChunkManagerLimbo.java index 600021e..6b94004 100644 --- a/StevenDimDoors/mod_pocketDim/WorldChunkManagerLimbo.java +++ b/StevenDimDoors/mod_pocketDim/WorldChunkManagerLimbo.java @@ -19,7 +19,32 @@ import net.minecraftforge.event.terraingen.*; import static net.minecraft.world.biome.BiomeGenBase.*; public class WorldChunkManagerLimbo extends WorldChunkManager + + { - public static ArrayList allowedBiomes = new ArrayList(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); + } + + } \ No newline at end of file diff --git a/StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java b/StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java index 5b66045..191c93d 100644 --- a/StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java +++ b/StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java @@ -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; diff --git a/StevenDimDoors/mod_pocketDim/items/ItemStableFabric.java b/StevenDimDoors/mod_pocketDim/items/ItemStableFabric.java index f30dbd1..5ce057a 100644 --- a/StevenDimDoors/mod_pocketDim/items/ItemStableFabric.java +++ b/StevenDimDoors/mod_pocketDim/items/ItemStableFabric.java @@ -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()); diff --git a/StevenDimDoors/mod_pocketDim/items/itemDimDoor.java b/StevenDimDoors/mod_pocketDim/items/itemDimDoor.java index dbd1ef7..a378c62 100644 --- a/StevenDimDoors/mod_pocketDim/items/itemDimDoor.java +++ b/StevenDimDoors/mod_pocketDim/items/itemDimDoor.java @@ -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); diff --git a/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java b/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java index 189d286..d8f995b 100644 --- a/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java +++ b/StevenDimDoors/mod_pocketDim/ticking/MobObelisk.java @@ -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 } diff --git a/StevenDimDoors/mod_pocketDimClient/ClientProxy.java b/StevenDimDoors/mod_pocketDimClient/ClientProxy.java index 18d7522..1f20c0b 100644 --- a/StevenDimDoors/mod_pocketDimClient/ClientProxy.java +++ b/StevenDimDoors/mod_pocketDimClient/ClientProxy.java @@ -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()); diff --git a/StevenDimDoors/mod_pocketDimClient/ModelMobObelisk.java b/StevenDimDoors/mod_pocketDimClient/ModelMobObelisk.java new file mode 100644 index 0000000..1c2289b --- /dev/null +++ b/StevenDimDoors/mod_pocketDimClient/ModelMobObelisk.java @@ -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); + } + +} diff --git a/StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java b/StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java new file mode 100644 index 0000000..1c8acbf --- /dev/null +++ b/StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java @@ -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); + } +} \ No newline at end of file