begin_wiki

This commit is contained in:
KitsuShadow
2016-02-21 12:33:02 -05:00
parent efd2c52950
commit 89ed7d8112
40 changed files with 767 additions and 548 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -303,6 +303,8 @@ item.woodPulp.name=Wood Pulp
item.charcoalFilter.name=Charcoal Filter item.charcoalFilter.name=Charcoal Filter
item.slottedTongs.name=Stone Tongs item.slottedTongs.name=Stone Tongs
item.flintKnapped.name=Knapped Flint item.flintKnapped.name=Knapped Flint
item.cannonBreach.name=CannonBreach
item.cannonBarrel.name=CannonBarrel
tile.shitBlock.name=Shit Block tile.shitBlock.name=Shit Block
tile.formTable.name=Form Table tile.formTable.name=Form Table

View File

@@ -6,6 +6,7 @@
"scrapes1": {"category": "neutral", "sounds": [{"name": "scrapes1", "stream": false}]}, "scrapes1": {"category": "neutral", "sounds": [{"name": "scrapes1", "stream": false}]},
"splitlog": {"category": "neutral", "sounds": [{"name": "splitlog", "stream": false}]}, "splitlog": {"category": "neutral", "sounds": [{"name": "splitlog", "stream": false}]},
"sawwood": {"category": "neutral", "sounds": [{"name": "sawwood", "stream": false}]}, "sawwood": {"category": "neutral", "sounds": [{"name": "sawwood", "stream": false}]},
"cannon1": {"category": "neutral", "sounds": [{"name": "cannon1", "stream": false}]},
"ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]} "ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]}
} }

View File

@@ -3,6 +3,7 @@
"longbowRelease": {"category": "neutral", "sounds": [{"name": "longbowRelease", "stream": false}]}, "longbowRelease": {"category": "neutral", "sounds": [{"name": "longbowRelease", "stream": false}]},
"tautBow": {"category": "neutral", "sounds": [{"name": "tautBow", "stream": false}]}, "tautBow": {"category": "neutral", "sounds": [{"name": "tautBow", "stream": false}]},
"anvilhammer": {"category": "neutral", "sounds": [{"name": "anvilhammer", "stream": false}]}, "anvilhammer": {"category": "neutral", "sounds": [{"name": "anvilhammer", "stream": false}]},
"cannon1": {"category": "neutral", "sounds": [{"name": "cannon1", "stream": false}]},
"ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]} "ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]}
} }

View File

@@ -3,7 +3,7 @@
"modid": "kitsumedievalcraft", "modid": "kitsumedievalcraft",
"name": "ForgeCraft", "name": "ForgeCraft",
"description": "ForgeCraft", "description": "ForgeCraft",
"version": "{2.3.9}", "version": "{2.4.0}",
"mcversion": "{1.7.10}", "mcversion": "{1.7.10}",
"url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2296334-wip-kitsus-forgecraft-blacksmith-style-forging", "url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2296334-wip-kitsus-forgecraft-blacksmith-style-forging",
"updateUrl": "https://bitbucket.org/kitsushadow/kitsus-forgecraft/downloads", "updateUrl": "https://bitbucket.org/kitsushadow/kitsus-forgecraft/downloads",

View File

@@ -11,11 +11,12 @@ import com.kitsu.medievalcraft.entity.EntityModelITArrow;
import com.kitsu.medievalcraft.entity.EntityShit; import com.kitsu.medievalcraft.entity.EntityShit;
import com.kitsu.medievalcraft.entity.EntityShortLivedShit; import com.kitsu.medievalcraft.entity.EntityShortLivedShit;
import com.kitsu.medievalcraft.entity.EntityTester; import com.kitsu.medievalcraft.entity.EntityTester;
import com.kitsu.medievalcraft.entity.ProjectileCannonBall;
import com.kitsu.medievalcraft.events.BucketHandle; import com.kitsu.medievalcraft.events.BucketHandle;
import com.kitsu.medievalcraft.events.EventHandle; import com.kitsu.medievalcraft.events.EventHandle;
import com.kitsu.medievalcraft.gui.GuiHandler; import com.kitsu.medievalcraft.gui.GuiHandler;
import com.kitsu.medievalcraft.item.ModItems; import com.kitsu.medievalcraft.item.ModItems;
import com.kitsu.medievalcraft.packethandle.cannon.MsgHandleCannon;
import com.kitsu.medievalcraft.packethandle.cannon.MsgPacketCannon;
import com.kitsu.medievalcraft.packethandle.curedLeather.MsgHandleCuredLeatherX; import com.kitsu.medievalcraft.packethandle.curedLeather.MsgHandleCuredLeatherX;
import com.kitsu.medievalcraft.packethandle.curedLeather.MsgHandleCuredLeatherY; import com.kitsu.medievalcraft.packethandle.curedLeather.MsgHandleCuredLeatherY;
import com.kitsu.medievalcraft.packethandle.curedLeather.MsgHandleCuredLeatherZ; import com.kitsu.medievalcraft.packethandle.curedLeather.MsgHandleCuredLeatherZ;
@@ -59,7 +60,7 @@ public class Main {
public static final String MODID = "kitsumedievalcraft"; public static final String MODID = "kitsumedievalcraft";
public static final String MODNAME = "ForgeCraft"; public static final String MODNAME = "ForgeCraft";
public static final String VERSION = "2.3.9"; public static final String VERSION = "2.4.0";
public static SimpleNetworkWrapper sNet; public static SimpleNetworkWrapper sNet;
@@ -89,6 +90,11 @@ public class Main {
sNet.registerMessage(MsgHandleCuredLeatherZ.class, MsgPacketCuredLeatherZ.class, 8, Side.SERVER); sNet.registerMessage(MsgHandleCuredLeatherZ.class, MsgPacketCuredLeatherZ.class, 8, Side.SERVER);
sNet.registerMessage(MsgHandleShelfCase.class, MsgPacketShelfCase.class, 9, Side.SERVER); sNet.registerMessage(MsgHandleShelfCase.class, MsgPacketShelfCase.class, 9, Side.SERVER);
sNet.registerMessage(MsgHandleForge.class, MsgPacketForge.class, 10, Side.SERVER); sNet.registerMessage(MsgHandleForge.class, MsgPacketForge.class, 10, Side.SERVER);
sNet.registerMessage(MsgHandleCannon.class, MsgPacketCannon.class, 11, Side.CLIENT);
sNet.registerMessage(MsgHandleCannon.class, MsgPacketCannon.class, 12, Side.SERVER);
//sNet.registerMessage(MsgHandleCannonX.class, MsgPacketCannonX.class, 12, Side.CLIENT);
//sNet.registerMessage(MsgHandleCannonY.class, MsgPacketCannonY.class, 13, Side.CLIENT);
//sNet.registerMessage(MsgHandleCannonZ.class, MsgPacketCannonZ.class, 14, Side.CLIENT);
CustomTab.MedievalTab(); CustomTab.MedievalTab();
ModBlocks.init(); ModBlocks.init();

View File

@@ -20,6 +20,7 @@ import com.kitsu.medievalcraft.util.CustomTab;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@@ -41,6 +42,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@@ -63,7 +65,6 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
// xmax, ymax, zmax) // xmax, ymax, zmax)
this.setBlockBounds(0.0F, 0.00F, 0.0F, this.setBlockBounds(0.0F, 0.00F, 0.0F,
1.0F, 1.00F, 1.0F); 1.0F, 1.00F, 1.0F);
} }
@Override @Override
@@ -71,61 +72,60 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
return false; return false;
} }
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World world, int x, int y, int z, Random rand)
{
super.randomDisplayTick(world, x, y, z, random);
}
private Entity shootCannon(World world, Integer x, Integer y, Integer z){ private Entity shootCannon(World world, Integer x, Integer y, Integer z){
EntityCannonBall cannonball = null;
TileCannon_28 tile = (TileCannon_28) world.getTileEntity(x, y, z);
Item ball = new ItemStack(ModBlocks.cannonBall_28, 0, 1).getItem();
if(tile.getStackInSlot(0)!=null && tile.getStackInSlot(0).getItem()==Items.gunpowder){ EntityCannonBall cannonball = null;
//if(world.getBlockMetadata(x, y, z)==0){ TileCannon_28 tile = null;
Item ball = null;
if(!world.isRemote){
tile = (TileCannon_28) world.getTileEntity(x, y, z);
ball = new ItemStack(ModBlocks.cannonBall_28, 0, 1).getItem();
if(tile.getStackInSlot(0)!=null && tile.getStackInSlot(0).getItem()==Items.gunpowder){
tile.isOn=true; tile.isOn=true;
world.playSoundEffect(x, y, z, "random.fizz", 0.1f, world.rand.nextFloat()/0.5f * 0.1F + 0.8F); tile.smoke=true;
world.playSoundEffect(x, y, z, "random.explode", 0.5f, world.rand.nextFloat()/0.5f * 0.1F + 0.8F); world.playSoundEffect(x, y, z, (Main.MODID + ":cannon1"), 2.0f, world.rand.nextFloat()/0.5f * 0.1F + 0.8F);
for(int i=0; i < world.playerEntities.size(); i++) {
EntityPlayer test = (EntityPlayer)world.playerEntities.get(i);
Vec3 vecTest = Vec3.createVectorHelper(test.posX, test.posY, test.posZ);
Vec3 vecPlayer = Vec3.createVectorHelper(x, y, z);
if (vecPlayer.distanceTo(vecTest) < 200.0F && vecPlayer.distanceTo(vecTest) > 10.0F)
{
world.playSoundAtEntity(test, (Main.MODID + ":cannon1"), (float) (200-(vecPlayer.distanceTo(vecTest)))/400, 1.0F);
}
}
if(tile.getStackInSlot(1)!=null){ if(tile.getStackInSlot(1)!=null){
if(tile.getStackInSlot(1).getItem()==ball){ if(tile.getStackInSlot(1).getItem()==ball){
tile.decrStackSize(1, 1); tile.decrStackSize(1, 1);
cannonball = new EntityCannonBall(world, (double)x+(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))), (double)y, (double)z+(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))), null); cannonball = new EntityCannonBall(world, (double)x+(2*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))), (double)y+0.5, (double)z+(2*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))), null);
//System.out.println(angles[world.getBlockMetadata(x, y, z)]); //System.out.println(angles[world.getBlockMetadata(x, y, z)]);
//System.out.println(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))); //System.out.println(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])));
//System.out.println(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))); //System.out.println(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])));
cannonball.setVelocity( //cannonball.setVelocity(((tile.getStackInSlot(0).stackSize*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4)),0.25, ((tile.getStackInSlot(0).stackSize*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4)));
((tile.getStackInSlot(0).stackSize*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4)), cannonball.motionX = ((tile.getStackInSlot(0).stackSize*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4));
0.25, cannonball.motionY = 0.25;
((tile.getStackInSlot(0).stackSize*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4))); cannonball.motionZ = ((tile.getStackInSlot(0).stackSize*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4));
/*
* (((tile.getStackInSlot(0).stackSize-world.rand.nextFloat())*((Math.sin(Math.PI)/180) * angles[world.getBlockMetadata(x, y, z)]))),
0.25,
(((tile.getStackInSlot(0).stackSize-world.rand.nextFloat())*((Math.cos(Math.PI)/180) * angles[world.getBlockMetadata(x, y, z)]))));
*/
tile.setInventorySlotContents(0, null); tile.setInventorySlotContents(0, null);
tile.markForUpdate(); tile.markForUpdate();
tile.markDirty(); tile.markDirty();
} }
} }
//} }
} }
tile.markForUpdate(); tile.markForUpdate();
tile.markDirty(); tile.markDirty();
return cannonball; return cannonball;
} }
@Override
public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) { public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) {
if(!world.isRemote){ if(!world.isRemote){
TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z);
if(tileEnt.isOn==false){ if(tileEnt.isOn==false){
if(player.inventory.getCurrentItem()!=null){ if(player.inventory.getCurrentItem()!=null){
if(player.inventory.getCurrentItem().getItem()==Items.flint_and_steel){ if(player.inventory.getCurrentItem().getItem()==Items.flint_and_steel){
world.spawnEntityInWorld(shootCannon(world,x,y,z)); world.spawnEntityInWorld(shootCannon(world,x,y,z));
tileEnt.smoke=true;
tileEnt.markForUpdate(); tileEnt.markForUpdate();
tileEnt.markDirty(); tileEnt.markDirty();
return true; return true;
@@ -144,162 +144,170 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
} }
@Override @Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block){ public void onNeighborBlockChange(World world, int x, int y, int z, Block block){
if (world.isBlockIndirectlyGettingPowered(x, y, z)) if(!world.isRemote){
{ if (world.isBlockIndirectlyGettingPowered(x, y, z))
TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); {
if(tileEnt.isOn==false){ TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z);
world.spawnEntityInWorld(shootCannon(world, x, y, z)); if(tileEnt.isOn==false){
tileEnt.markForUpdate(); world.spawnEntityInWorld(shootCannon(world, x, y, z));
tileEnt.markDirty(); tileEnt.smoke = true;
tileEnt.markForUpdate();
tileEnt.markDirty();
}
} }
} }
} }
/** /**
* Updates the blocks bounds based on its current state. Args: world, x, y, z * Updates the blocks bounds based on its current state. Args: world, x, y, z
*/ */
@Override @Override
public void setBlockBoundsBasedOnState(IBlockAccess iBlock, int x, int y, int z) public void setBlockBoundsBasedOnState(IBlockAccess iBlock, int x, int y, int z)
{ {
int l = iBlock.getBlockMetadata(x, y, z) & 7; int l = iBlock.getBlockMetadata(x, y, z) & 7;
switch (l) switch (l)
{ {
case 1: case 1:
default: default:
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
break; break;
case 2: case 2:
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
break; break;
case 3: case 3:
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
break; break;
case 4: case 4:
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
break; break;
case 5: case 5:
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
} }
} }
/** /**
* Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
* cleared to be reused) * cleared to be reused)
*/ */
@Override @Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
{ {
this.setBlockBoundsBasedOnState(world, x, y, z); this.setBlockBoundsBasedOnState(world, x, y, z);
return super.getCollisionBoundingBoxFromPool(world, x, y, z); return super.getCollisionBoundingBoxFromPool(world, x, y, z);
} }
/**
* Called when the block is placed in the world.
*/
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
{
//22.5
//11.25
if(!world.isRemote){
double a = living.rotationYaw;
if (a<0){
a=360+a;
}
//a = a;
System.out.println(living.rotationYaw);
System.out.println(a);
if(a >= 180-11.25 && a <= 180+11.25){
world.setBlockMetadataWithNotify(x, y, z, 0, 2);
System.out.println("0");
}
if(a >= 202.5-11.25 && a <= 202.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 1, 2);
System.out.println("1");
}
if(a >= 225-11.25 && a <= 225+11.25){
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
System.out.println("2");
}
if(a >= 247.5-11.25 && a <= 247.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
System.out.println("3");
}
if(a >= 270-11.25 && a <= 270+11.25){
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
System.out.println("4");
}
if(a >= 292.5-11.25 && a <= 292.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
System.out.println("5");
}
if(a >= 315-11.25 && a <= 315+11.25){
world.setBlockMetadataWithNotify(x, y, z, 6, 2);
System.out.println("6");
}
if(a >= 337.5-11.25 && a <= 337.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 7, 2);
System.out.println("7");
}
if(a <= 0+11.25 && a >=0){
world.setBlockMetadataWithNotify(x, y, z, 8, 2);
System.out.println("8");
}
if(a >= 360-11.25 && a <= 360){
world.setBlockMetadataWithNotify(x, y, z, 8, 2);
System.out.println("8");
}
if(a >= 22.5-11.25 && a <= 22.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 9, 2);
System.out.println("9");
}
if(a >= 45-11.25 && a <= 45+11.25){
world.setBlockMetadataWithNotify(x, y, z, 10, 2);
System.out.println("10");
}
if(a >= 67.5-11.25 && a <= 67.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 11, 2);
System.out.println("11");
}
if(a >= 90-11.25 && a <= 90+11.25){
world.setBlockMetadataWithNotify(x, y, z, 12, 2);
System.out.println("12");
}
if(a >= 112.5-11.25 && a <= 112.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 13, 2);
System.out.println("13");
}
if(a >= 135-11.25 && a <= 135+11.25){
world.setBlockMetadataWithNotify(x, y, z, 14, 2);
System.out.println("14");
}
if(a >= 157.5-11.25 && a <= 157.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 15, 2);
System.out.println("15");
}
}
}
/** public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) {
* Called when the block is placed in the world. if(!world.isRemote){
*/ int last = world.getBlockMetadata(x, y, z);
@Override if(player.isSneaking()==true){
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) if(world.getBlockMetadata(x, y, z)==15){
{ world.setBlockMetadataWithNotify(x, y, z, 0, 2);
//22.5 System.out.println("A: " + world.getBlockMetadata(x,y,z));
//11.25 }
if(!world.isRemote){ if(world.getBlockMetadata(x, y, z)<15 && last !=15){
double a = living.rotationYaw*(-1); world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)+1, 2);
//System.out.println(a); System.out.println("B: " + world.getBlockMetadata(x,y,z));
if(a >= 180-11.25 && a <= 180+11.25){ }
world.setBlockMetadataWithNotify(x, y, z, 0, 2); }
//System.out.println("0"); if(!player.isSneaking()==true){
} if(world.getBlockMetadata(x, y, z)>0){
if(a >= 202.5-11.25 && a <= 202.5+11.25){ world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)-1, 2);
world.setBlockMetadataWithNotify(x, y, z, 1, 2); System.out.println("C: " + world.getBlockMetadata(x,y,z));
//System.out.println("1"); }
} if(world.getBlockMetadata(x, y, z)==0 && last != 1){
if(a >= 225-11.25 && a <= 225+11.25){ world.setBlockMetadataWithNotify(x, y, z, 15, 2);
world.setBlockMetadataWithNotify(x, y, z, 2, 2); System.out.println("D: " + world.getBlockMetadata(x,y,z));
//System.out.println("2"); }
} }
if(a >= 247.5-11.25 && a <= 247.5+11.25){ }
world.setBlockMetadataWithNotify(x, y, z, 3, 2); }
//System.out.println("3");
}
if(a >= 270-11.25 && a <= 270+11.25){
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
//System.out.println("4");
}
if(a >= 292.5-11.25 && a <= 292.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
//System.out.println("5");
}
if(a >= 315-11.25 && a <= 315+11.25){
world.setBlockMetadataWithNotify(x, y, z, 6, 2);
//System.out.println("6");
}
if(a >= 337.5-11.25 && a <= 337.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 7, 2);
//System.out.println("7");
}
if(a >= 360-11.25 || a <= 0+11.25){
world.setBlockMetadataWithNotify(x, y, z, 8, 2);
//System.out.println("8");
}
if(a >= 22.5-11.25 && a <= 22.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 9, 2);
//System.out.println("9");
}
if(a >= 45-11.25 && a <= 45+11.25){
world.setBlockMetadataWithNotify(x, y, z, 10, 2);
//System.out.println("10");
}
if(a >= 67.5-11.25 && a <= 67.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 11, 2);
//System.out.println("11");
}
if(a >= 90-11.25 && a <= 90+11.25){
world.setBlockMetadataWithNotify(x, y, z, 12, 2);
//System.out.println("12");
}
if(a >= 112.5-11.25 && a <= 112.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 13, 2);
//System.out.println("13");
}
if(a >= 135-11.25 && a <= 135+11.25){
world.setBlockMetadataWithNotify(x, y, z, 14, 2);
//System.out.println("14");
}
if(a >= 157.5-11.25 && a <= 157.5+11.25){
world.setBlockMetadataWithNotify(x, y, z, 15, 2);
//System.out.println("15");
}
/*int l = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
world.setBlockMetadataWithNotify(x, y, z, l, 2);*/
//System.out.println((a));
}
//System.out.println(l);
}
public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) {
if(!world.isRemote){
if(player.isSneaking()==true){
if(world.getBlockMetadata(x, y, z)==15){
world.setBlockMetadataWithNotify(x, y, z, 0, 2);
//System.out.println(world.getBlockMetadata(x,y,z));
}
if(world.getBlockMetadata(x, y, z)<15){
world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)+1, 2);
//System.out.println(world.getBlockMetadata(x,y,z));
}
}
if(!player.isSneaking()==true){
if(world.getBlockMetadata(x, y, z)>0){
world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)-1, 2);
//System.out.println(world.getBlockMetadata(x,y,z));
}
if(world.getBlockMetadata(x, y, z)==0){
world.setBlockMetadataWithNotify(x, y, z, 15, 2);
//System.out.println(world.getBlockMetadata(x,y,z));
}
}
}
}
public void breakBlock(World world, int x, int y, int z, Block block, int meta) { public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z);
@@ -356,5 +364,24 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
@SideOnly(Side.CLIENT)
@Override
public void randomDisplayTick(World world, int x, int y, int z, Random rand)
{
super.randomDisplayTick(world, x, y, z, random);
}
} }
/*
if(world.isRemote){
TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z);
if(tileEnt.smoke==true){
System.out.println("make smoke");
for(int f = 0; f < 10; f++){
world.spawnParticle("cloud", x + (Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))+world.rand.nextFloat()/10, y+world.rand.nextFloat()/10, z + (Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))+world.rand.nextFloat()/10),
(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))/5, 0.2D, (Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))/5);
}
tileEnt.smoke=false;
}
}
*/

View File

@@ -17,6 +17,7 @@ public class ModDict {
OreDictionary.registerOre("strapLeather", new ItemStack(ModItems.leatherStrap, 1, 0)); OreDictionary.registerOre("strapLeather", new ItemStack(ModItems.leatherStrap, 1, 0));
OreDictionary.registerOre("ringIron", new ItemStack(ModItems.ironRing, 1, 0)); OreDictionary.registerOre("ringIron", new ItemStack(ModItems.ironRing, 1, 0));
OreDictionary.registerOre("ingotIron", new ItemStack(ModBlocks.refinedIron, 1, 0)); OreDictionary.registerOre("ingotIron", new ItemStack(ModBlocks.refinedIron, 1, 0));
OreDictionary.registerOre("nuggetIron", new ItemStack(ModItems.ironChunk, 1, 0));
OreDictionary.registerOre("ingotSteel", new ItemStack(ModBlocks.damascus, 1, 0)); OreDictionary.registerOre("ingotSteel", new ItemStack(ModBlocks.damascus, 1, 0));
OreDictionary.registerOre("materialHardenedLeather", new ItemStack(ModItems.finishedLeather, 1, 0)); OreDictionary.registerOre("materialHardenedLeather", new ItemStack(ModItems.finishedLeather, 1, 0));
OreDictionary.registerOre("bladeTool", new ItemStack(ModItems.workBlade, 1, 0)); OreDictionary.registerOre("bladeTool", new ItemStack(ModItems.workBlade, 1, 0));

View File

@@ -61,106 +61,6 @@ public class FormTableCraftManager implements IRecipe{
Collections.sort(this.recipes, new FormTableRecipeSorter(this)); Collections.sort(this.recipes, new FormTableRecipeSorter(this));
} }
/* public ShapedOreRecipe(Block result, Object... recipe){ this(new ItemStack(result), recipe); }
public ShapedOreRecipe(Item result, Object... recipe){ this(new ItemStack(result), recipe); }
public ShapedOreRecipe(ItemStack result, Object... recipe)
{
output = result.copy();
String shape = "";
int idx = 0;
if (recipe[idx] instanceof Boolean)
{
mirrored = (Boolean)recipe[idx];
if (recipe[idx+1] instanceof Object[])
{
recipe = (Object[])recipe[idx+1];
}
else
{
idx = 1;
}
}
if (recipe[idx] instanceof String[])
{
String[] parts = ((String[])recipe[idx++]);
for (String s : parts)
{
width = s.length();
shape += s;
}
height = parts.length;
}
else
{
while (recipe[idx] instanceof String)
{
String s = (String)recipe[idx++];
shape += s;
width = s.length();
height++;
}
}
if (width * height != shape.length())
{
String ret = "Invalid shaped ore recipe: ";
for (Object tmp : recipe)
{
ret += tmp + ", ";
}
ret += output;
throw new RuntimeException(ret);
}
HashMap<Character, Object> itemMap = new HashMap<Character, Object>();
for (; idx < recipe.length; idx += 2)
{
Character chr = (Character)recipe[idx];
Object in = recipe[idx + 1];
if (in instanceof ItemStack)
{
itemMap.put(chr, ((ItemStack)in).copy());
}
else if (in instanceof Item)
{
itemMap.put(chr, new ItemStack((Item)in));
}
else if (in instanceof Block)
{
itemMap.put(chr, new ItemStack((Block)in, 1, OreDictionary.WILDCARD_VALUE));
}
else if (in instanceof String)
{
itemMap.put(chr, OreDictionary.getOres((String)in));
}
else
{
String ret = "Invalid shaped ore recipe: ";
for (Object tmp : recipe)
{
ret += tmp + ", ";
}
ret += output;
throw new RuntimeException(ret);
}
}
input = new Object[width * height];
int x = 0;
for (char chr : shape.toCharArray())
{
input[x++] = itemMap.get(chr);
}
}
*/
public FormTableShapedRecipes addRecipe(ItemStack p_92103_1_, Object ... p_92103_2_) public FormTableShapedRecipes addRecipe(ItemStack p_92103_1_, Object ... p_92103_2_)
{ {
String s = ""; String s = "";

View File

@@ -230,13 +230,13 @@ public final class ModCrafting {
'a', Blocks.sand, 'a', Blocks.sand,
'b', Blocks.iron_ore, 'b', Blocks.iron_ore,
'c', new ItemStack(Items.coal,0,1)}); 'c', new ItemStack(Items.coal,0,1)});
GameRegistry.addRecipe(new ItemStack(ModBlocks.crucibleIronIngot), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crucibleIronIngot),
new Object[]{" x ", "abc"," y ", new Object[]{" x ", "abc"," y ",
'x', Blocks.stone_slab, 'x', Blocks.stone_slab,
'y', ModBlocks.emptyCookedCrucible, 'y', ModBlocks.emptyCookedCrucible,
'a', Blocks.sand, 'a', Blocks.sand,
'b', Items.iron_ingot, 'b', "ingotIron",
'c', new ItemStack(Items.coal,0,1)}); 'c', new ItemStack(Items.coal,0,1)}));
GameRegistry.addRecipe(new ItemStack(ModBlocks.crucibleWootz), GameRegistry.addRecipe(new ItemStack(ModBlocks.crucibleWootz),
new Object[]{" x ", "abc", " y ", new Object[]{" x ", "abc", " y ",
@@ -274,6 +274,23 @@ public final class ModCrafting {
GameRegistry.addRecipe(new ShapedOreRecipe(gladius0, new Object[]{"x", "y", Character.valueOf('y'), "strapLeather", 'x', ModItems.ironshortswordBlade})); GameRegistry.addRecipe(new ShapedOreRecipe(gladius0, new Object[]{"x", "y", Character.valueOf('y'), "strapLeather", 'x', ModItems.ironshortswordBlade}));
GameRegistry.addRecipe(new ShapedOreRecipe((ModItems.itemITSpear), new Object[]{"a", "c", "b", 'a', ModItems.ironspearTip, 'b', ModItems.woodentoolHandle, Character.valueOf('c'), "strapLeather"})); GameRegistry.addRecipe(new ShapedOreRecipe((ModItems.itemITSpear), new Object[]{"a", "c", "b", 'a', ModItems.ironspearTip, 'b', ModItems.woodentoolHandle, Character.valueOf('c'), "strapLeather"}));
//-----------------------CANNONS-----------------------//
GameRegistry.addRecipe(new ItemStack(ModItems.cannonBarrel),
new Object[]{" xx", " ", " xx",
'x', ModBlocks.ironPlate});
GameRegistry.addRecipe(new ItemStack(ModItems.cannonBreach),
new Object[]{" x ", " x", " x ",
'x', ModBlocks.ironPlate});
GameRegistry.addRecipe(new ItemStack(ModBlocks.cannon_28),
new Object[]{" x ","cyc", "ccc",
'y', ModItems.cannonBreach,
'c', ModItems.splitBoard,
'x', ModItems.cannonBarrel});
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.cannonBall_28,4),
new Object[]{" x ", "xyx", " x ",
'x', "nuggetIron",
'y', Blocks.stone}));
//-----------------------PICKAXE COMBOS-----------------------// //-----------------------PICKAXE COMBOS-----------------------//
//BASE PICK //BASE PICK
GameRegistry.addRecipe(new ItemStack(Items.iron_pickaxe), new Object[]{"a", "b", 'a',ModItems.ironpickaxeHead, 'b', ModItems.woodentoolHandle}); GameRegistry.addRecipe(new ItemStack(Items.iron_pickaxe), new Object[]{"a", "b", 'a',ModItems.ironpickaxeHead, 'b', ModItems.woodentoolHandle});
@@ -1643,9 +1660,9 @@ public final class ModCrafting {
//-----------------------FORGE HAMMER CRAFTING-----------------------// //-----------------------FORGE HAMMER CRAFTING-----------------------//
//IRON CHUNK //IRON CHUNK
//GameRegistry.addRecipe(new ItemStack(ModItems.ironChunk, 18, 0), new Object[]{"x", "y", GameRegistry.addRecipe(new ShapedOreRecipe (new ItemStack(ModItems.ironChunk, 18, 0), new Object[]{"x", "y",
// Character.valueOf('y'), ModItems.hotIronIngot, Character.valueOf('y'), "ingotIron",
// Character.valueOf('x'), new ItemStack(ModItems.forgeHammer, 1, OreDictionary.WILDCARD_VALUE) }); Character.valueOf('x'), new ItemStack(ModItems.forgeHammer, 1, OreDictionary.WILDCARD_VALUE) }));
/* /*
//IRON PICKAXE HEAD FROM CLAY FORM //IRON PICKAXE HEAD FROM CLAY FORM
GameRegistry.addRecipe(new ItemStack(ModItems.ironpickaxeHead, 1, 0), new Object []{"x", "y", "z", GameRegistry.addRecipe(new ItemStack(ModItems.ironpickaxeHead, 1, 0), new Object []{"x", "y", "z",

View File

@@ -3,6 +3,7 @@ package com.kitsu.medievalcraft.entity;
import java.util.List; import java.util.List;
import com.kitsu.medievalcraft.block.ModBlocks; import com.kitsu.medievalcraft.block.ModBlocks;
import com.kitsu.medievalcraft.util.CannonUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@@ -23,7 +24,7 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityCannonBall extends Entity{ public class EntityCannonBall extends Entity implements CannonUtil{
private EntityLivingBase tntPlacedBy; private EntityLivingBase tntPlacedBy;
public int damage = 100; public int damage = 100;
@@ -31,6 +32,7 @@ public class EntityCannonBall extends Entity{
private int field_145792_e = -1; private int field_145792_e = -1;
private int field_145789_f = -1; private int field_145789_f = -1;
public Entity shootingEntity; public Entity shootingEntity;
private boolean smoke = true;
public EntityCannonBall(World p_i1582_1_) { public EntityCannonBall(World p_i1582_1_) {
super(p_i1582_1_); super(p_i1582_1_);
@@ -54,11 +56,30 @@ public class EntityCannonBall extends Entity{
this.prevPosZ = z; this.prevPosZ = z;
this.tntPlacedBy = entLiving; this.tntPlacedBy = entLiving;
this.renderDistanceWeight = 100; this.renderDistanceWeight = 100;
this.smoke = true;
} }
public void onUpdate() public void onUpdate()
{ {
if(this.smoke==true){
for(int g = 0; g < 20; g++){
this.worldObj.spawnParticle("explode", this.posX + worldObj.rand.nextFloat()*2 - 1, this.posY + worldObj.rand.nextFloat()*2 - 1, this.posZ + worldObj.rand.nextFloat()*2 - 1,0.0, 0.0, 0.0);
}
this.smoke=false;
}
/*double x = this.posX;
double y = this.posY;
double z = this.posZ;
if(worldObj.isRemote){
if(this.smoke==true){
for(int g = 0; g < 10; g++){
worldObj.spawnParticle("largesmoke", x +worldObj.rand.nextFloat()/10, y+worldObj.rand.nextFloat()/10, z +worldObj.rand.nextFloat()/10,
1.0, 1.0D, 1.0);
}
this.smoke=false;
}
}*/
this.prevPosX = this.posX; this.prevPosX = this.posX;
this.prevPosY = this.posY; this.prevPosY = this.posY;
this.prevPosZ = this.posZ; this.prevPosZ = this.posZ;
@@ -82,11 +103,6 @@ public class EntityCannonBall extends Entity{
if(!worldObj.isRemote){ if(!worldObj.isRemote){
if (this.onGround)
{
this.explode();
this.setDead();
}
if(this.motionX==0||this.motionY==0||this.motionZ==0){ if(this.motionX==0||this.motionY==0||this.motionZ==0){
this.explode(); this.explode();
this.setDead(); this.setDead();

View File

@@ -422,6 +422,10 @@ public final class ModItems {
public static Item fortuneIronRod; public static Item fortuneIronRod;
public static Item efficIronRod; public static Item efficIronRod;
//-----------------------TEMP CANNON PARTS-----------------------//
public static Item cannonBreach;
public static Item cannonBarrel;
//EnumHelper.addToolMaterial(name, harvestLevel, maxUses, efficiency, damage, enchantability) //EnumHelper.addToolMaterial(name, harvestLevel, maxUses, efficiency, damage, enchantability)
//Max stats a tool / weapon can have //Max stats a tool / weapon can have
//public static ToolMaterial TUTORIAL = EnumHelper.addToolMaterial("TUTORIAL", 3, 1000, 15.0F, 4.0F, 30); //public static ToolMaterial TUTORIAL = EnumHelper.addToolMaterial("TUTORIAL", 3, 1000, 15.0F, 4.0F, 30);
@@ -483,6 +487,11 @@ public final class ModItems {
//itemSmallBarrelLid = new Item().setUnlocalizedName("itemSmallBarrelLid").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":itemSmallBarrelLid"); //itemSmallBarrelLid = new Item().setUnlocalizedName("itemSmallBarrelLid").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":itemSmallBarrelLid");
//GameRegistry.registerItem(itemSmallBarrelLid, "itemSmallBarrelLid"); //GameRegistry.registerItem(itemSmallBarrelLid, "itemSmallBarrelLid");
cannonBreach = new Item().setUnlocalizedName("cannonBreach").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":cannonBreach");
GameRegistry.registerItem(cannonBreach, "cannonBreach");
cannonBarrel = new Item().setUnlocalizedName("cannonBarrel").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":cannonBarrel");
GameRegistry.registerItem(cannonBarrel, "cannonBarrel");
woodPulp = new Item().setUnlocalizedName("woodPulp").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":woodPulp"); woodPulp = new Item().setUnlocalizedName("woodPulp").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":woodPulp");
GameRegistry.registerItem(woodPulp, "woodPulp"); GameRegistry.registerItem(woodPulp, "woodPulp");

View File

@@ -0,0 +1,16 @@
package com.kitsu.medievalcraft.packethandle.cannon;
import com.kitsu.medievalcraft.tileents.cannon.TileCannon_28;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class MsgHandleCannon implements IMessageHandler<MsgPacketCannon, IMessage>{
@Override
public IMessage onMessage(MsgPacketCannon message, MessageContext ctx) {
TileCannon_28.smoke = message.fired;
return null;
}
}

View File

@@ -0,0 +1,26 @@
package com.kitsu.medievalcraft.packethandle.cannon;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import io.netty.buffer.ByteBuf;
public class MsgPacketCannon implements IMessage {
public boolean fired;
public MsgPacketCannon() {}
public MsgPacketCannon(boolean x){
this.fired = x;
}
@Override
public void fromBytes(ByteBuf buf) {
this.fired = buf.readBoolean();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeBoolean(this.fired);
}
}

View File

@@ -13,11 +13,6 @@ public class MsgHandleLocX implements IMessageHandler<MsgPacketLocX, IMessage>{
public IMessage onMessage(MsgPacketLocX message, MessageContext ctx) { public IMessage onMessage(MsgPacketLocX message, MessageContext ctx) {
IngotBase.locX = message.locx; IngotBase.locX = message.locx;
//Forge.locX = message.locx;
//ItemRendererLongbow.tick = message.lTick;
//System.out.println(message.lTick);
//ctx.getClientHandler().addToSendQueue(new MsgPacket(message.useme));
return null; return null;
} }

View File

@@ -13,7 +13,6 @@ public class MsgPacketLocX implements IMessage {
this.locx = x; this.locx = x;
} }
@Override @Override
public void fromBytes(ByteBuf buf) { public void fromBytes(ByteBuf buf) {

View File

@@ -24,9 +24,12 @@ public class Render_Cannon_28 extends TileEntitySpecialRenderer {
EntityItem entItem = null; EntityItem entItem = null;
private static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/Cannon.obj"); private static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/Cannon.obj");
private static final ResourceLocation MODEL_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.obj");
//private static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/cannonTest.obj"); //private static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/cannonTest.obj");
private static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/Cannon.png"); private static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/Cannon.png");
private static final ResourceLocation TEXTURE_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.png");
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE); private IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
private IModelCustom modelMount = AdvancedModelLoader.loadModel(MODEL_MOUNT);
@Override @Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale) { public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale) {
@@ -34,23 +37,6 @@ public class Render_Cannon_28 extends TileEntitySpecialRenderer {
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z); GL11.glTranslatef((float) x, (float) y, (float) z);
/*if(tileEntity.getStackInSlot(0)==null){
entItem=null;
}
if(tileEntity.getStackInSlot(0)!=null){
entItem = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(0));
GL11.glPushMatrix();
this.entItem.hoverStart = 0.0F;
RenderItem.renderInFrame = true;
GL11.glRotatef(90, 1, 0, 0);
RenderManager.instance.renderEntityWithPosYaw(this.entItem, 0.48D, 0.25D, -1.0D, 0.0F, 0.0F);
RenderItem.renderInFrame = false;
GL11.glPopMatrix();
tileEntity.markForUpdate();
tileEntity.markDirty();
}*/
renderBlock(tileEntity, tile.getWorldObj(), tile.xCoord,tile.yCoord, tile.zCoord, ModBlocks.cannon_28); renderBlock(tileEntity, tile.getWorldObj(), tile.xCoord,tile.yCoord, tile.zCoord, ModBlocks.cannon_28);
tileEntity.markForUpdate(); tileEntity.markForUpdate();
tileEntity.markDirty(); tileEntity.markDirty();
@@ -60,105 +46,46 @@ public class Render_Cannon_28 extends TileEntitySpecialRenderer {
public void renderBlock(TileCannon_28 tl, World world, int i, int j,int k, Block block) { public void renderBlock(TileCannon_28 tl, World world, int i, int j,int k, Block block) {
Tessellator tessellator = Tessellator.instance; Tessellator tessellator = Tessellator.instance;
// This will make your block brightness dependent from surroundings
// lighting.
float f = block.getLightOpacity(world, i, j, k); float f = block.getLightOpacity(world, i, j, k);
int l = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int l = world.getLightBrightnessForSkyBlocks(i, j, k, 0);
int l1 = l % 65536; int l1 = l % 65536;
int l2 = l / 65536; int l2 = l / 65536;
tessellator.setNormal(0.0F, 1.0F, 0.0F); tessellator.setNormal(0.0F, 1.0F, 0.0F);
//OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit,(float) l1, (float) l2);
/*
* This will rotate your model corresponding to player direction that
* was when you placed the block. If you want this to work, add these
* lines to onBlockPlacedBy method in your block class. int dir =
* MathHelper.floor_double((double)((player.rotationYaw * 4F) / 360F) +
* 0.5D) & 3; world.setBlockMetadataWithNotify(x, y, z, dir, 0);
*/
int dir = world.getBlockMetadata(i, j, k); int dir = world.getBlockMetadata(i, j, k);
float a = -22.5F;
GL11.glPushMatrix(); GL11.glPushMatrix();
//GL11.glRotatef(15F, 0F, 1F, 0F); //GL11.glRotatef(15F, 0F, 1F, 0F);
float scale = 1.05f; float scale = 1.05f;
GL11.glScalef(scale, scale, scale); GL11.glScalef(scale, scale, scale);
/*if(dir >= 0 && dir <= 15){ GL11.glTranslatef(0.5F, 0.41F, 0.5F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); GL11.glRotatef(a*dir, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.48F, 0.5F, -0.5F);
}*/
if(dir == 0){
GL11.glTranslatef(0.45F, 0.5F, 0.66F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 1){
GL11.glTranslatef(0.52F, 0.5F, 0.64F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 2){
GL11.glTranslatef(0.60F, 0.5F, 0.60F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 3){
GL11.glTranslatef(0.64F, 0.5F, 0.530F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 4){
GL11.glTranslatef(0.655F, 0.5F, 0.44F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 5){
GL11.glTranslatef(0.645F, 0.5F, 0.368F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 6){
GL11.glTranslatef(0.60F, 0.5F, 0.3F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 7){
GL11.glTranslatef(0.52F, 0.5F, 0.25F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 8){
GL11.glTranslatef(0.45F, 0.5F, 0.232F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 9){
GL11.glTranslatef(0.375F, 0.5F, 0.25F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 10){
GL11.glTranslatef(0.3F, 0.5F, 0.31F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 11){
GL11.glTranslatef(0.25F, 0.5F, 0.3675F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 12){
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
GL11.glTranslatef(0.45F, 0.5F, -0.235F);
}
if(dir == 13){
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
GL11.glTranslatef(0.58F, 0.5F, -0.022F);
}
if(dir == 14){
GL11.glTranslatef(0.3F, 0.5F, 0.6F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
if(dir == 15){
GL11.glTranslatef(0.36F, 0.5F, 0.64F);
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
}
// //
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE); FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
/* /*
* Place your rendering code here. * Place your rendering code here.
*/ */
this.model.renderAll(); this.model.renderAll();
GL11.glPopMatrix();
GL11.glPushMatrix();
//GL11.glRotatef(15F, 0F, 1F, 0F);
float scale1 = 1.05f;
GL11.glScalef(scale1, scale1, scale1);
GL11.glTranslatef(0.5F, 0.41F, 0.5F);
GL11.glRotatef(a*dir, 0.0F, 1.0F, 0.0F);
//
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE_MOUNT);
/*
* Place your rendering code here.
*/
this.modelMount.renderAll();
GL11.glPopMatrix(); GL11.glPopMatrix();
} }

View File

@@ -16,7 +16,10 @@ public class IR_Cannon_28 implements IItemRenderer {
public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/Cannon.obj"); public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/Cannon.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/Cannon.png"); public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/Cannon.png");
private static final ResourceLocation MODEL_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.obj");
private static final ResourceLocation TEXTURE_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.png");
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE); public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
private IModelCustom modelMount = AdvancedModelLoader.loadModel(MODEL_MOUNT);
@Override @Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) { public boolean handleRenderType(ItemStack item, ItemRenderType type) {
@@ -82,6 +85,8 @@ public class IR_Cannon_28 implements IItemRenderer {
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll(); model.renderAll();
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
modelMount.renderAll();
GL11.glPopMatrix(); GL11.glPopMatrix();
} break; } break;
@@ -100,7 +105,8 @@ public class IR_Cannon_28 implements IItemRenderer {
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll(); model.renderAll();
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
modelMount.renderAll();
GL11.glPopMatrix(); GL11.glPopMatrix();
} break; } break;
@@ -109,24 +115,26 @@ public class IR_Cannon_28 implements IItemRenderer {
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_TEXTURE_2D);
float scale = 0.8F; float scale = 0.75F;
GL11.glScalef(scale, scale, scale); GL11.glScalef(scale, scale, scale);
//GL11.glRotatef(90, 1.0F, 0.0F, 0.0F); //GL11.glRotatef(90, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(0.0F, -0.1F, 0.35F); GL11.glTranslatef(0.3F, 0.2F, 0.35F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll(); model.renderAll();
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
modelMount.renderAll();
GL11.glPopMatrix(); GL11.glPopMatrix();
} break; } break;
case ENTITY: { case ENTITY: {
GL11.glPushMatrix(); GL11.glPushMatrix();
//GL11.glScalef(1.75F, 1.75F, 1.75F); float scale = 3;
GL11.glScalef(scale, scale, scale);
@@ -135,7 +143,8 @@ public class IR_Cannon_28 implements IItemRenderer {
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll(); model.renderAll();
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
modelMount.renderAll();
GL11.glPopMatrix(); GL11.glPopMatrix();
} break; } break;

View File

@@ -1,6 +1,7 @@
package com.kitsu.medievalcraft.tileents.cannon; package com.kitsu.medievalcraft.tileents.cannon;
import com.kitsu.medievalcraft.block.ModBlocks; import com.kitsu.medievalcraft.block.ModBlocks;
import com.kitsu.medievalcraft.util.CannonUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items; import net.minecraft.init.Items;
@@ -16,13 +17,15 @@ import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileCannon_28 extends TileEntity implements IInventory, ISidedInventory{ public class TileCannon_28 extends TileEntity implements IInventory, ISidedInventory, CannonUtil{
private String tileCannon_28; private String tileCannon_28;
private ItemStack[] inv; private ItemStack[] inv;
private NBTTagCompound tag = new NBTTagCompound(); private NBTTagCompound tag = new NBTTagCompound();
private int ticks; private int ticks;
public boolean isOn; public boolean isOn;
public static boolean smoke;
public static int xSmoke, ySmoke, zSmoke;
private static final int[] slots_all = new int[] {0,1}; private static final int[] slots_all = new int[] {0,1};
private static final int[] slots_top = new int[] {0}; private static final int[] slots_top = new int[] {0};
//private static final int[] slots_bottom = new int[] {2, 1}; //private static final int[] slots_bottom = new int[] {2, 1};
@@ -216,6 +219,9 @@ public class TileCannon_28 extends TileEntity implements IInventory, ISidedInven
this.isOn=false; this.isOn=false;
ticks=0; ticks=0;
} }
}
if(world.isRemote){
} }
if (worldObj.isRemote) return; if (worldObj.isRemote) return;
} }

View File

@@ -10,7 +10,29 @@ import net.minecraft.item.ItemStack;
public interface CannonUtil { public interface CannonUtil {
/*public static float[] angles = new float[] {90, (float)247.5, 270, (float)292.5, 315, (float)337.5, 0, (float)22.5, 45, (float)67.5, 90, (float) 112.5, /*public static float[] angles = new float[] {90, (float)247.5, 270, (float)292.5, 315, (float)337.5, 0, (float)22.5, 45, (float)67.5, 90, (float) 112.5,
135, (float) 157.5, 180, (float)202.5};*/ 135, (float) 157.5, 180, (float)202.5};
public float[] angles = new float[] {180, (float)202.5, 225, (float)247.5, 270, (float)292.5, 315, (float)337.5, 0, (float)22.5, 45, (float)67.5, 90, (float) 112.5, /*public float[] angles = new float[] {180, (float)202.5, 225, (float)247.5, 270, (float)292.5, 315, (float)337.5, 0, (float)22.5, 45, (float)67.5, 90, (float) 112.5,
135, (float) 157.5,}; 135, (float) 157.5,};*/
/*
* 0 | 180
* 1 | 157.5
* 2 | 135
* 3 | 112.5
* 4 | 90
* 5 | 67.5
* 6 | 45
* 7 | 22.5
* 8 | 0
* 9 | 337.5
* 10 | 315
* 11 | 292.5
* 12 | 270
* 13 | 247.5
* 14 | 225
* 15 | 202.5
*/
public static float[] angles = new float[] {180F, 157.5F, 135F, 112.5F, 90F, 67.5F, 45F, 22.5F, 0F, 337.5F, 315F, 292.5F, 270F, 247.5F, 225F, 202.5F};
} }

View File

@@ -303,6 +303,8 @@ item.woodPulp.name=Wood Pulp
item.charcoalFilter.name=Charcoal Filter item.charcoalFilter.name=Charcoal Filter
item.slottedTongs.name=Stone Tongs item.slottedTongs.name=Stone Tongs
item.flintKnapped.name=Knapped Flint item.flintKnapped.name=Knapped Flint
item.cannonBreach.name=CannonBreach
item.cannonBarrel.name=CannonBarrel
tile.shitBlock.name=Shit Block tile.shitBlock.name=Shit Block
tile.formTable.name=Form Table tile.formTable.name=Form Table

View File

@@ -1,11 +1,12 @@
# Blender MTL File: 'cannon.blend' # Blender MTL File: 'None'
# Material Count: 1 # Material Count: 1
newmtl None newmtl None
Ns 0 Ns 0.000000
Ka 0.000000 0.000000 0.000000 Ka 0.000000 0.000000 0.000000
Kd 0.8 0.8 0.8 Kd 0.640000 0.640000 0.640000
Ks 0.8 0.8 0.8 Ks 0.800000 0.800000 0.800000
d 1 Ni 1.000000
d 1.000000
illum 2 illum 2
map_Kd /home/kitsudesktop/Development/Blends/Cannon.png map_Kd /home/kitsudesktop/Development/Blends/Cannon.png

View File

@@ -1,55 +1,55 @@
# Blender v2.71 (sub 0) OBJ File: 'cannon.blend' # Blender v2.71 (sub 0) OBJ File: ''
# www.blender.org # www.blender.org
mtllib Cannon.mtl mtllib Cannon.mtl
o Cube_Cube.001 o Cube_Cube.001
v -0.125000 -0.125000 -1.375000 v -0.227758 0.230880 -1.021209
v 0.125000 -0.125000 -1.375000 v -0.227758 -0.219120 -1.021209
v -0.125000 0.125000 -1.375000 v -0.252758 -0.244120 0.853791
v -0.250000 -0.250000 0.650000 v -0.252758 0.255880 -1.171209
v -0.225000 -0.225000 -1.225000 v -0.252758 -0.244120 -1.171209
v 0.225000 -0.225000 -1.225000 v -0.252758 -0.244120 -1.021209
v 0.250000 -0.250000 0.650000 v 0.247242 0.255880 0.853791
v -0.250000 0.250000 0.650000 v 0.247242 -0.244120 0.853791
v -0.225000 0.225000 -1.225000 v 0.222242 -0.219120 -1.021209
v 0.225000 0.225000 -1.225000 v 0.222242 0.230880 -1.021209
v 0.250000 0.250000 0.650000 v -0.252758 0.255880 0.853791
v -0.250000 -0.250000 -1.225000 v 0.247242 0.255880 -1.021209
v -0.250000 -0.250000 -1.375000 v 0.247242 -0.244120 -1.021209
v 0.250000 -0.250000 -1.375000 v 0.247242 -0.244120 -1.171209
v 0.250000 -0.250000 -1.225000 v 0.247242 0.255880 -1.171209
v -0.250000 0.250000 -1.225000 v -0.252758 0.255880 -1.021209
v -0.250000 0.250000 -1.375000 v 0.122241 0.130880 -1.171209
v 0.250000 0.250000 -1.375000 v -0.127758 0.130880 0.628791
v 0.250000 0.250000 -1.225000 v 0.122241 0.130880 0.628791
v 0.125000 0.125000 -1.375000 v 0.122241 -0.119120 0.628791
v -0.125000 0.125000 0.425000 v -0.103698 0.106819 0.853791
v -0.125000 -0.125000 0.425000 v -0.103698 0.106819 0.928791
v 0.125000 -0.125000 0.425000 v 0.098181 0.106819 0.928791
v 0.125000 0.125000 0.425000 v -0.103698 -0.095060 0.853791
v -0.100940 -0.100940 0.650000 v 0.098181 -0.095060 0.853791
v 0.100940 -0.100940 0.650000 v 0.098181 0.106819 0.853791
v -0.100940 0.100940 0.650000 v 0.098181 -0.095060 0.928791
v 0.100940 0.100940 0.650000 v -0.103698 -0.095060 0.928791
v -0.100940 -0.100940 0.725000 v 0.402396 0.057539 0.053052
v 0.100940 -0.100940 0.725000 v 0.402396 -0.048694 0.053052
v -0.100940 0.100940 0.725000 v 0.402396 -0.048694 -0.053180
v 0.100940 0.100940 0.725000 v -0.127758 -0.119120 0.628791
v 0.505154 -0.054574 -0.256972 v -0.413744 -0.048694 0.053052
v 0.505154 -0.054574 -0.150739 v -0.413744 0.057539 0.053052
v 0.505154 0.051659 -0.256972 v -0.413744 0.057539 -0.053180
v 0.505154 0.051659 -0.150739 v 0.402396 0.057539 -0.053180
v 0.228100 0.051659 -0.256972 v -0.413744 -0.048694 -0.053180
v 0.228100 0.051659 -0.150739 v -0.127758 0.130880 -1.171209
v 0.228100 -0.054574 -0.256972 v -0.127758 -0.119120 -1.171209
v 0.228100 -0.054574 -0.150739 v 0.122242 -0.119120 -1.171209
v -0.233931 -0.054574 -0.256972 v 0.225342 0.057539 -0.053180
v -0.233931 -0.054574 -0.150739 v 0.225342 0.057539 0.053052
v -0.233931 0.051659 -0.256972 v 0.225342 -0.048694 -0.053180
v -0.233931 0.051659 -0.150739 v 0.225342 -0.048694 0.053052
v -0.510986 0.051659 -0.256972 v -0.236690 0.057539 -0.053180
v -0.510986 0.051659 -0.150739 v -0.236690 -0.048694 -0.053180
v -0.510986 -0.054574 -0.256972 v -0.236690 -0.048694 0.053052
v -0.510986 -0.054574 -0.150739 v -0.236690 0.057539 0.053052
vt 0.425000 0.440784 vt 0.425000 0.440784
vt 0.237500 0.440784 vt 0.237500 0.440784
vt 0.227083 0.005226 vt 0.227083 0.005226
@@ -188,83 +188,83 @@ vt 0.738014 0.697585
vt 0.388013 0.635900 vt 0.388013 0.635900
usemtl None usemtl None
s off s off
f 9/1 5/2 4/3 f 1/1 2/2 3/3
f 17/4 13/5 12/6 f 4/4 5/5 6/6
f 11/7 7/8 6/9 f 7/7 8/8 9/9
f 5/10 6/11 7/12 f 2/10 9/11 8/12
f 10/13 9/14 8/15 f 10/13 1/14 11/15
f 19/16 15/17 14/18 f 12/16 13/17 14/18
f 15/19 19/20 10/21 f 13/19 12/20 10/21
f 13/22 14/23 15/24 f 5/22 14/23 13/24
f 18/25 17/26 16/27 f 15/25 4/26 16/27
f 20/28 18/29 14/30 f 17/28 15/29 14/30
f 5/31 12/32 15/19 f 2/31 6/32 13/19
f 21/33 20/34 24/35 f 18/33 17/34 19/35
f 20/36 23/37 24/38 f 17/36 20/37 19/38
f 10/21 19/20 16/39 f 10/21 12/20 16/39
f 16/39 12/32 5/31 f 16/39 6/32 2/31
f 27/40 31/41 32/42 f 21/40 22/41 23/42
f 25/43 27/44 8/45 f 24/43 21/44 11/45
f 26/46 25/43 4/47 f 25/46 24/43 3/47
f 28/48 26/46 7/49 f 26/48 25/46 8/49
f 27/44 28/48 11/50 f 21/44 26/48 7/50
f 30/51 32/52 31/53 f 27/51 23/52 22/53
f 26/54 28/55 32/56 f 25/54 26/55 23/56
f 26/57 30/58 29/59 f 25/57 27/58 28/59
f 25/60 29/61 31/62 f 24/60 28/61 22/62
f 36/63 34/64 33/65 f 29/63 30/64 31/65
f 22/66 24/67 23/68 f 32/66 19/67 20/68
f 48/69 46/70 45/71 f 33/69 34/70 35/71
f 8/72 9/1 4/3 f 11/72 1/1 3/3
f 16/73 17/4 12/6 f 16/73 4/4 6/6
f 10/74 11/7 6/9 f 10/74 7/7 9/9
f 4/75 5/10 7/12 f 3/75 2/10 8/12
f 11/76 10/13 8/15 f 7/76 10/13 11/15
f 18/77 19/16 14/18 f 15/77 12/16 14/18
f 6/78 15/19 10/21 f 9/78 13/19 10/21
f 12/79 13/22 15/24 f 6/79 5/22 13/24
f 19/80 18/25 16/27 f 12/80 15/25 16/27
f 6/78 5/31 15/19 f 9/78 2/31 13/19
f 9/81 10/21 16/39 f 1/81 10/21 16/39
f 9/81 16/39 5/31 f 1/81 16/39 2/31
f 28/82 27/40 32/42 f 26/82 21/40 23/42
f 4/47 25/43 8/45 f 3/47 24/43 11/45
f 7/49 26/46 4/47 f 8/49 25/46 3/47
f 11/50 28/48 7/49 f 7/50 26/48 8/49
f 8/45 27/44 11/50 f 11/45 21/44 7/50
f 29/83 30/51 31/53 f 28/83 27/51 22/53
f 30/84 26/54 32/56 f 27/84 25/54 23/56
f 25/85 26/57 29/59 f 24/85 25/57 28/59
f 27/86 25/60 31/62 f 21/86 24/60 22/62
f 35/87 36/63 33/65 f 36/87 29/63 31/65
f 21/88 24/67 22/66 f 18/88 19/67 32/66
f 47/89 48/69 45/71 f 37/89 33/69 35/71
f 3/90 17/91 18/29 f 38/90 4/91 15/29
f 17/91 3/90 1/92 f 4/91 38/90 39/92
f 23/93 1/94 22/95 f 20/93 39/94 32/95
f 2/96 14/30 13/97 f 40/96 14/30 5/97
f 35/98 37/99 38/100 f 36/98 41/99 42/100
f 39/101 33/102 34/103 f 43/101 31/102 30/103
f 38/104 40/105 34/106 f 42/104 44/105 30/106
f 35/107 33/108 39/109 f 36/107 31/108 43/109
f 22/110 3/111 21/112 f 32/110 38/111 18/112
f 43/113 45/114 46/115 f 45/113 35/114 34/115
f 47/116 41/117 42/118 f 37/116 46/117 47/118
f 46/119 48/120 42/121 f 34/119 33/120 47/121
f 43/122 41/123 47/124 f 45/122 46/123 37/124
f 20/28 3/90 18/29 f 17/28 38/90 15/29
f 2/96 20/28 14/30 f 40/96 17/28 14/30
f 13/97 17/91 1/92 f 5/97 4/91 39/92
f 3/125 20/34 21/33 f 38/125 17/34 18/33
f 2/126 23/37 20/36 f 40/126 20/37 17/36
f 2/127 1/94 23/93 f 40/127 39/94 20/93
f 1/92 2/96 13/97 f 39/92 40/96 5/97
f 36/128 35/98 38/100 f 29/128 36/98 42/100
f 40/129 39/101 34/103 f 44/129 43/101 30/103
f 36/130 38/104 34/106 f 29/130 42/104 30/106
f 37/131 35/107 39/109 f 41/131 36/107 43/109
f 1/132 3/111 22/110 f 39/132 38/111 32/110
f 44/133 43/113 46/115 f 48/133 45/113 34/115
f 48/134 47/116 42/118 f 33/134 37/116 47/118
f 44/135 46/119 42/121 f 48/135 34/119 47/121
f 45/136 43/122 47/124 f 35/136 45/122 37/124

View File

@@ -0,0 +1,11 @@
# Blender MTL File: 'cannon_mount.blend'
# Material Count: 1
newmtl None
Ns 0
Ka 0.000000 0.000000 0.000000
Kd 0.8 0.8 0.8
Ks 0.8 0.8 0.8
d 1
illum 2
map_Kd cannon_mount.png

View File

@@ -0,0 +1,223 @@
# Blender v2.71 (sub 0) OBJ File: 'cannon_mount.blend'
# www.blender.org
mtllib cannon_mount.mtl
o Cube
v -0.413288 -0.407050 0.966262
v -0.413288 -0.407050 -0.666261
v 0.400811 -0.407050 0.966262
v -0.413288 -0.342950 0.966262
v 0.400811 -0.342950 0.966262
v -0.291173 -0.342950 -0.666261
v -0.291173 -0.342950 0.966262
v -0.413288 -0.066373 0.966262
v -0.413288 -0.066373 -0.666261
v -0.291173 -0.066373 -0.666261
v -0.291173 -0.066373 0.966262
v -0.413288 -0.066373 -0.055968
v -0.291173 -0.066373 0.074468
v -0.291173 -0.066373 -0.055968
v -0.413288 0.058627 -0.666261
v -0.291173 0.058627 -0.666261
v -0.413288 0.058627 -0.055968
v -0.291173 0.058627 -0.055968
v -0.413288 -0.066373 0.074468
v -0.291173 -0.066373 0.074468
v -0.413288 -0.066373 0.074468
v -0.291173 0.058627 0.074468
v -0.413288 0.058627 0.074468
v 0.278889 -0.342950 0.966262
v 0.278889 -0.342950 -0.666261
v 0.401004 -0.407050 -0.666261
v 0.401004 -0.342950 0.966262
v 0.278889 -0.066373 0.966262
v 0.278889 -0.066373 -0.666261
v 0.401004 -0.066373 -0.666261
v 0.401004 -0.066373 0.966262
v 0.278889 -0.066373 -0.055968
v 0.401004 -0.066373 0.074468
v 0.401004 -0.066373 -0.055968
v 0.278889 0.058627 -0.666261
v 0.401004 0.058627 -0.666261
v 0.278889 0.058627 -0.055968
v 0.401004 0.058627 -0.055968
v 0.278889 -0.066373 0.074468
v 0.401004 -0.066373 0.074468
v 0.278889 -0.066373 0.074468
v 0.401004 0.058627 0.074468
v 0.278889 0.058627 0.074468
vt 0.817621 0.467140
vt 0.967030 0.467140
vt 0.967030 0.895146
vt 0.821572 0.468675
vt 0.970981 0.468675
vt 0.970981 0.896681
vt 0.614905 0.807919
vt 0.586794 0.807919
vt 0.586794 0.458565
vt 0.444074 0.458565
vt 0.565371 0.458565
vt 0.444074 0.692370
vt 0.010711 0.438487
vt 0.010711 0.010481
vt 0.367832 0.010481
vt 0.389254 0.010481
vt 0.639263 0.010481
vt 0.639263 0.437603
vt 0.444074 0.886571
vt 0.389254 0.886571
vt 0.389254 0.726568
vt 0.988024 0.010481
vt 0.988024 0.247249
vt 0.934468 0.247249
vt 0.064266 0.989519
vt 0.010711 0.989519
vt 0.010711 0.829846
vt 0.389254 0.961173
vt 0.389254 0.907532
vt 0.442809 0.907532
vt 0.817644 0.627188
vt 0.762823 0.627188
vt 0.762823 0.467184
vt 0.236363 0.772693
vt 0.236363 0.720290
vt 0.271240 0.720290
vt 0.000000 0.000000
vt 0.464231 0.961173
vt 0.464231 0.907532
vt 0.517787 0.907532
vt 0.817629 0.895203
vt 0.764197 0.883209
vt 0.817629 0.655323
vt 0.389254 0.692370
vt 0.214222 0.948533
vt 0.160666 0.948533
vt 0.160666 0.829846
vt 0.766767 0.736671
vt 0.821588 0.736671
vt 0.821588 0.896674
vt 0.364773 0.714215
vt 0.364773 0.950984
vt 0.311218 0.950984
vt 0.715506 0.010481
vt 0.836803 0.010481
vt 0.715506 0.170484
vt 0.139244 0.989519
vt 0.085689 0.989519
vt 0.085689 0.829846
vt 0.539209 0.961173
vt 0.539209 0.907532
vt 0.592764 0.907532
vt 0.660686 0.170484
vt 0.660686 0.010481
vt 0.586794 0.881283
vt 0.586794 0.828880
vt 0.621670 0.828880
vt 0.660686 0.962057
vt 0.660686 0.908416
vt 0.714241 0.908416
vt 0.366038 0.693254
vt 0.311218 0.693254
vt 0.311218 0.459448
vt 0.821588 0.481904
vt 0.821588 0.715709
vt 0.766767 0.715709
vt 0.235644 0.829846
vt 0.289199 0.829846
vt 0.289199 0.948533
vt 0.214941 0.756482
vt 0.214941 0.808885
vt 0.010711 0.808885
vt 0.038823 0.756482
vt 0.010711 0.459448
vt 0.214941 0.511851
vt 0.038823 0.511851
vt 0.817621 0.895146
vt 0.614905 0.458565
vt 0.444074 0.726568
vt 0.565371 0.886571
vt 0.367747 0.438487
vt 0.389254 0.437603
vt 0.934468 0.010481
vt 0.064266 0.829846
vt 0.442809 0.961173
vt 0.817644 0.467184
vt 0.271240 0.772693
vt 0.517787 0.961173
vt 0.214222 0.829846
vt 0.766767 0.896674
vt 0.311218 0.714215
vt 0.836803 0.438487
vt 0.715506 0.204681
vt 0.715506 0.438487
vt 0.139244 0.829846
vt 0.592764 0.961173
vt 0.621670 0.881283
vt 0.714241 0.962057
vt 0.235644 0.948533
vt 0.214941 0.459448
usemtl None
s 1
f 9/1 2/2 1/3
f 31/4 3/5 26/6
f 3/7 5/8 4/9
f 11/10 7/11 13/12
f 1/13 2/14 26/15
f 25/16 6/17 7/18
f 10/19 16/20 18/21
f 23/22 8/23 11/24
f 17/25 18/26 16/27
f 14/28 18/29 17/30
f 12/31 17/32 15/33
f 14/34 12/35 19/36
f 19/37 21/37 20/37
f 21/38 23/39 22/40
f 23/41 21/42 8/43
f 11/10 13/12 22/44
f 11/45 8/46 4/47
f 30/48 36/49 38/50
f 43/51 28/52 31/53
f 29/54 25/55 32/56
f 37/57 38/58 36/59
f 34/60 38/61 37/62
f 32/56 37/63 35/64
f 34/65 32/66 39/67
f 39/37 41/37 40/37
f 41/68 43/69 42/70
f 43/71 41/72 28/73
f 31/74 33/75 42/76
f 31/77 28/78 24/79
f 35/80 36/81 26/82
f 25/83 26/82 2/84
f 16/85 6/86 2/84
f 8/87 9/1 1/3
f 30/50 31/4 26/6
f 1/88 3/7 4/9
f 14/89 13/12 6/90
f 6/90 10/19 14/89
f 3/91 1/13 26/15
f 24/92 25/16 7/18
f 13/12 7/11 6/90
f 14/89 10/19 18/21
f 22/93 23/22 11/24
f 15/94 17/25 16/27
f 12/95 14/28 17/30
f 9/96 12/31 15/33
f 13/97 14/34 19/36
f 13/37 19/37 20/37
f 20/98 21/38 22/40
f 7/99 11/45 4/47
f 34/100 30/48 38/50
f 42/101 43/51 31/53
f 24/102 39/103 25/55
f 24/102 28/104 39/103
f 35/105 37/57 36/59
f 25/55 39/103 32/56
f 32/106 34/60 37/62
f 29/54 32/56 35/64
f 33/107 34/65 39/67
f 33/37 39/37 40/37
f 40/108 41/68 42/70
f 27/109 31/77 24/79
f 25/83 35/80 26/82
f 6/86 25/83 2/84
f 15/110 16/85 2/84

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -6,6 +6,7 @@
"scrapes1": {"category": "neutral", "sounds": [{"name": "scrapes1", "stream": false}]}, "scrapes1": {"category": "neutral", "sounds": [{"name": "scrapes1", "stream": false}]},
"splitlog": {"category": "neutral", "sounds": [{"name": "splitlog", "stream": false}]}, "splitlog": {"category": "neutral", "sounds": [{"name": "splitlog", "stream": false}]},
"sawwood": {"category": "neutral", "sounds": [{"name": "sawwood", "stream": false}]}, "sawwood": {"category": "neutral", "sounds": [{"name": "sawwood", "stream": false}]},
"cannon1": {"category": "neutral", "sounds": [{"name": "cannon1", "stream": false}]},
"ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]} "ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]}
} }

View File

@@ -3,6 +3,7 @@
"longbowRelease": {"category": "neutral", "sounds": [{"name": "longbowRelease", "stream": false}]}, "longbowRelease": {"category": "neutral", "sounds": [{"name": "longbowRelease", "stream": false}]},
"tautBow": {"category": "neutral", "sounds": [{"name": "tautBow", "stream": false}]}, "tautBow": {"category": "neutral", "sounds": [{"name": "tautBow", "stream": false}]},
"anvilhammer": {"category": "neutral", "sounds": [{"name": "anvilhammer", "stream": false}]}, "anvilhammer": {"category": "neutral", "sounds": [{"name": "anvilhammer", "stream": false}]},
"cannon1": {"category": "neutral", "sounds": [{"name": "cannon1", "stream": false}]},
"ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]} "ironShieldBash": {"category": "neutral", "sounds": [{"name": "ironShieldBash", "stream": false}]}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

View File

@@ -3,7 +3,7 @@
"modid": "kitsumedievalcraft", "modid": "kitsumedievalcraft",
"name": "ForgeCraft", "name": "ForgeCraft",
"description": "ForgeCraft", "description": "ForgeCraft",
"version": "{2.3.9}", "version": "{2.4.0}",
"mcversion": "{1.7.10}", "mcversion": "{1.7.10}",
"url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2296334-wip-kitsus-forgecraft-blacksmith-style-forging", "url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2296334-wip-kitsus-forgecraft-blacksmith-style-forging",
"updateUrl": "https://bitbucket.org/kitsushadow/kitsus-forgecraft/downloads", "updateUrl": "https://bitbucket.org/kitsushadow/kitsus-forgecraft/downloads",