begin_wiki
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 6.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.1 KiB |
@@ -303,6 +303,8 @@ item.woodPulp.name=Wood Pulp
|
||||
item.charcoalFilter.name=Charcoal Filter
|
||||
item.slottedTongs.name=Stone Tongs
|
||||
item.flintKnapped.name=Knapped Flint
|
||||
item.cannonBreach.name=CannonBreach
|
||||
item.cannonBarrel.name=CannonBarrel
|
||||
|
||||
tile.shitBlock.name=Shit Block
|
||||
tile.formTable.name=Form Table
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"scrapes1": {"category": "neutral", "sounds": [{"name": "scrapes1", "stream": false}]},
|
||||
"splitlog": {"category": "neutral", "sounds": [{"name": "splitlog", "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}]}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"longbowRelease": {"category": "neutral", "sounds": [{"name": "longbowRelease", "stream": false}]},
|
||||
"tautBow": {"category": "neutral", "sounds": [{"name": "tautBow", "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}]}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@
|
||||
"modid": "kitsumedievalcraft",
|
||||
"name": "ForgeCraft",
|
||||
"description": "ForgeCraft",
|
||||
"version": "{2.3.9}",
|
||||
"version": "{2.4.0}",
|
||||
"mcversion": "{1.7.10}",
|
||||
"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",
|
||||
|
||||
@@ -11,11 +11,12 @@ import com.kitsu.medievalcraft.entity.EntityModelITArrow;
|
||||
import com.kitsu.medievalcraft.entity.EntityShit;
|
||||
import com.kitsu.medievalcraft.entity.EntityShortLivedShit;
|
||||
import com.kitsu.medievalcraft.entity.EntityTester;
|
||||
import com.kitsu.medievalcraft.entity.ProjectileCannonBall;
|
||||
import com.kitsu.medievalcraft.events.BucketHandle;
|
||||
import com.kitsu.medievalcraft.events.EventHandle;
|
||||
import com.kitsu.medievalcraft.gui.GuiHandler;
|
||||
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.MsgHandleCuredLeatherY;
|
||||
import com.kitsu.medievalcraft.packethandle.curedLeather.MsgHandleCuredLeatherZ;
|
||||
@@ -59,7 +60,7 @@ public class Main {
|
||||
|
||||
public static final String MODID = "kitsumedievalcraft";
|
||||
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;
|
||||
|
||||
@@ -89,6 +90,11 @@ public class Main {
|
||||
sNet.registerMessage(MsgHandleCuredLeatherZ.class, MsgPacketCuredLeatherZ.class, 8, Side.SERVER);
|
||||
sNet.registerMessage(MsgHandleShelfCase.class, MsgPacketShelfCase.class, 9, 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();
|
||||
ModBlocks.init();
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.kitsu.medievalcraft.util.CustomTab;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
@@ -41,6 +42,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
@@ -63,7 +65,6 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
|
||||
// xmax, ymax, zmax)
|
||||
this.setBlockBounds(0.0F, 0.00F, 0.0F,
|
||||
1.0F, 1.00F, 1.0F);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -71,61 +72,60 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
|
||||
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){
|
||||
|
||||
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){
|
||||
//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;
|
||||
world.playSoundEffect(x, y, z, "random.fizz", 0.1f, world.rand.nextFloat()/0.5f * 0.1F + 0.8F);
|
||||
world.playSoundEffect(x, y, z, "random.explode", 0.5f, world.rand.nextFloat()/0.5f * 0.1F + 0.8F);
|
||||
tile.smoke=true;
|
||||
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).getItem()==ball){
|
||||
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(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])));
|
||||
//System.out.println(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])));
|
||||
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-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)]))));
|
||||
*/
|
||||
//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)));
|
||||
cannonball.motionX = ((tile.getStackInSlot(0).stackSize*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4));
|
||||
cannonball.motionY = 0.25;
|
||||
cannonball.motionZ = ((tile.getStackInSlot(0).stackSize*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4));
|
||||
tile.setInventorySlotContents(0, null);
|
||||
tile.markForUpdate();
|
||||
tile.markDirty();
|
||||
}
|
||||
}
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tile.markForUpdate();
|
||||
tile.markDirty();
|
||||
return cannonball;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) {
|
||||
|
||||
if(!world.isRemote){
|
||||
TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z);
|
||||
if(tileEnt.isOn==false){
|
||||
if(player.inventory.getCurrentItem()!=null){
|
||||
if(player.inventory.getCurrentItem().getItem()==Items.flint_and_steel){
|
||||
world.spawnEntityInWorld(shootCannon(world,x,y,z));
|
||||
tileEnt.smoke=true;
|
||||
tileEnt.markForUpdate();
|
||||
tileEnt.markDirty();
|
||||
return true;
|
||||
@@ -144,162 +144,170 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
|
||||
}
|
||||
@Override
|
||||
public void onNeighborBlockChange(World world, int x, int y, int z, Block block){
|
||||
if (world.isBlockIndirectlyGettingPowered(x, y, z))
|
||||
{
|
||||
TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z);
|
||||
if(tileEnt.isOn==false){
|
||||
world.spawnEntityInWorld(shootCannon(world, x, y, z));
|
||||
tileEnt.markForUpdate();
|
||||
tileEnt.markDirty();
|
||||
if(!world.isRemote){
|
||||
if (world.isBlockIndirectlyGettingPowered(x, y, z))
|
||||
{
|
||||
TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z);
|
||||
if(tileEnt.isOn==false){
|
||||
world.spawnEntityInWorld(shootCannon(world, x, y, z));
|
||||
tileEnt.smoke = true;
|
||||
tileEnt.markForUpdate();
|
||||
tileEnt.markDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the blocks bounds based on its current state. Args: world, x, y, z
|
||||
*/
|
||||
@Override
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess iBlock, int x, int y, int z)
|
||||
{
|
||||
int l = iBlock.getBlockMetadata(x, y, z) & 7;
|
||||
/**
|
||||
* Updates the blocks bounds based on its current state. Args: world, x, y, z
|
||||
*/
|
||||
@Override
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess iBlock, int x, int y, int z)
|
||||
{
|
||||
int l = iBlock.getBlockMetadata(x, y, z) & 7;
|
||||
|
||||
switch (l)
|
||||
{
|
||||
case 1:
|
||||
default:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 5:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
}
|
||||
}
|
||||
switch (l)
|
||||
{
|
||||
case 1:
|
||||
default:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F);
|
||||
break;
|
||||
case 5:
|
||||
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
|
||||
* cleared to be reused)
|
||||
*/
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
|
||||
{
|
||||
this.setBlockBoundsBasedOnState(world, x, y, z);
|
||||
return super.getCollisionBoundingBoxFromPool(world, x, y, z);
|
||||
}
|
||||
/**
|
||||
* 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)
|
||||
*/
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
|
||||
{
|
||||
this.setBlockBoundsBasedOnState(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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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*(-1);
|
||||
//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 >= 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 onBlockClicked(World world, int x, int y, int z, EntityPlayer player) {
|
||||
if(!world.isRemote){
|
||||
int last = world.getBlockMetadata(x, y, z);
|
||||
if(player.isSneaking()==true){
|
||||
if(world.getBlockMetadata(x, y, z)==15){
|
||||
world.setBlockMetadataWithNotify(x, y, z, 0, 2);
|
||||
System.out.println("A: " + world.getBlockMetadata(x,y,z));
|
||||
}
|
||||
if(world.getBlockMetadata(x, y, z)<15 && last !=15){
|
||||
world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)+1, 2);
|
||||
System.out.println("B: " + 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("C: " + world.getBlockMetadata(x,y,z));
|
||||
}
|
||||
if(world.getBlockMetadata(x, y, z)==0 && last != 1){
|
||||
world.setBlockMetadataWithNotify(x, y, z, 15, 2);
|
||||
System.out.println("D: " + world.getBlockMetadata(x,y,z));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
@@ -356,5 +364,24 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
|
||||
public boolean isOpaqueCube() {
|
||||
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;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -17,6 +17,7 @@ public class ModDict {
|
||||
OreDictionary.registerOre("strapLeather", new ItemStack(ModItems.leatherStrap, 1, 0));
|
||||
OreDictionary.registerOre("ringIron", new ItemStack(ModItems.ironRing, 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("materialHardenedLeather", new ItemStack(ModItems.finishedLeather, 1, 0));
|
||||
OreDictionary.registerOre("bladeTool", new ItemStack(ModItems.workBlade, 1, 0));
|
||||
|
||||
@@ -60,107 +60,7 @@ public class FormTableCraftManager implements IRecipe{
|
||||
|
||||
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_)
|
||||
{
|
||||
String s = "";
|
||||
|
||||
@@ -230,13 +230,13 @@ public final class ModCrafting {
|
||||
'a', Blocks.sand,
|
||||
'b', Blocks.iron_ore,
|
||||
'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 ",
|
||||
'x', Blocks.stone_slab,
|
||||
'y', ModBlocks.emptyCookedCrucible,
|
||||
'a', Blocks.sand,
|
||||
'b', Items.iron_ingot,
|
||||
'c', new ItemStack(Items.coal,0,1)});
|
||||
'b', "ingotIron",
|
||||
'c', new ItemStack(Items.coal,0,1)}));
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.crucibleWootz),
|
||||
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((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-----------------------//
|
||||
//BASE PICK
|
||||
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-----------------------//
|
||||
//IRON CHUNK
|
||||
//GameRegistry.addRecipe(new ItemStack(ModItems.ironChunk, 18, 0), new Object[]{"x", "y",
|
||||
// Character.valueOf('y'), ModItems.hotIronIngot,
|
||||
// Character.valueOf('x'), new ItemStack(ModItems.forgeHammer, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe (new ItemStack(ModItems.ironChunk, 18, 0), new Object[]{"x", "y",
|
||||
Character.valueOf('y'), "ingotIron",
|
||||
Character.valueOf('x'), new ItemStack(ModItems.forgeHammer, 1, OreDictionary.WILDCARD_VALUE) }));
|
||||
/*
|
||||
//IRON PICKAXE HEAD FROM CLAY FORM
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ironpickaxeHead, 1, 0), new Object []{"x", "y", "z",
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.kitsu.medievalcraft.entity;
|
||||
import java.util.List;
|
||||
|
||||
import com.kitsu.medievalcraft.block.ModBlocks;
|
||||
import com.kitsu.medievalcraft.util.CannonUtil;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
@@ -23,7 +24,7 @@ import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityCannonBall extends Entity{
|
||||
public class EntityCannonBall extends Entity implements CannonUtil{
|
||||
|
||||
private EntityLivingBase tntPlacedBy;
|
||||
public int damage = 100;
|
||||
@@ -31,6 +32,7 @@ public class EntityCannonBall extends Entity{
|
||||
private int field_145792_e = -1;
|
||||
private int field_145789_f = -1;
|
||||
public Entity shootingEntity;
|
||||
private boolean smoke = true;
|
||||
|
||||
public EntityCannonBall(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
@@ -54,11 +56,30 @@ public class EntityCannonBall extends Entity{
|
||||
this.prevPosZ = z;
|
||||
this.tntPlacedBy = entLiving;
|
||||
this.renderDistanceWeight = 100;
|
||||
this.smoke = true;
|
||||
}
|
||||
|
||||
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.prevPosY = this.posY;
|
||||
this.prevPosZ = this.posZ;
|
||||
@@ -67,7 +88,7 @@ public class EntityCannonBall extends Entity{
|
||||
this.motionX *= 0.9800000190734863D;
|
||||
this.motionY *= 0.9800000190734863D;
|
||||
this.motionZ *= 0.9800000190734863D;
|
||||
|
||||
|
||||
Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
|
||||
Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
|
||||
MovingObjectPosition mop = this.worldObj.func_147447_a(vec31, vec3, false, true, false);
|
||||
@@ -79,14 +100,9 @@ public class EntityCannonBall extends Entity{
|
||||
vec3 = Vec3.createVectorHelper(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord);
|
||||
//System.out.println(mop.entityHit);
|
||||
}
|
||||
|
||||
|
||||
if(!worldObj.isRemote){
|
||||
|
||||
if (this.onGround)
|
||||
{
|
||||
this.explode();
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
if(this.motionX==0||this.motionY==0||this.motionZ==0){
|
||||
this.explode();
|
||||
this.setDead();
|
||||
|
||||
@@ -422,6 +422,10 @@ public final class ModItems {
|
||||
public static Item fortuneIronRod;
|
||||
public static Item efficIronRod;
|
||||
|
||||
//-----------------------TEMP CANNON PARTS-----------------------//
|
||||
public static Item cannonBreach;
|
||||
public static Item cannonBarrel;
|
||||
|
||||
//EnumHelper.addToolMaterial(name, harvestLevel, maxUses, efficiency, damage, enchantability)
|
||||
//Max stats a tool / weapon can have
|
||||
//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");
|
||||
//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");
|
||||
GameRegistry.registerItem(woodPulp, "woodPulp");
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,12 +13,7 @@ public class MsgHandleLocX implements IMessageHandler<MsgPacketLocX, IMessage>{
|
||||
public IMessage onMessage(MsgPacketLocX message, MessageContext ctx) {
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ public class MsgPacketLocX implements IMessage {
|
||||
this.locx = x;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
|
||||
|
||||
@@ -24,9 +24,12 @@ public class Render_Cannon_28 extends TileEntitySpecialRenderer {
|
||||
EntityItem entItem = null;
|
||||
|
||||
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 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 modelMount = AdvancedModelLoader.loadModel(MODEL_MOUNT);
|
||||
|
||||
@Override
|
||||
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.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);
|
||||
tileEntity.markForUpdate();
|
||||
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) {
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
// This will make your block brightness dependent from surroundings
|
||||
// lighting.
|
||||
|
||||
float f = block.getLightOpacity(world, i, j, k);
|
||||
int l = world.getLightBrightnessForSkyBlocks(i, j, k, 0);
|
||||
int l1 = l % 65536;
|
||||
int l2 = l / 65536;
|
||||
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);
|
||||
|
||||
float a = -22.5F;
|
||||
GL11.glPushMatrix();
|
||||
//GL11.glRotatef(15F, 0F, 1F, 0F);
|
||||
float scale = 1.05f;
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
|
||||
GL11.glTranslatef(0.5F, 0.41F, 0.5F);
|
||||
GL11.glRotatef(a*dir, 0.0F, 1.0F, 0.0F);
|
||||
|
||||
/*if(dir >= 0 && dir <= 15){
|
||||
GL11.glRotated(22.5F*dir, 0.0, 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);
|
||||
/*
|
||||
* Place your rendering code here.
|
||||
*/
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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 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);
|
||||
private IModelCustom modelMount = AdvancedModelLoader.loadModel(MODEL_MOUNT);
|
||||
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
|
||||
@@ -82,6 +85,8 @@ public class IR_Cannon_28 implements IItemRenderer {
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
|
||||
model.renderAll();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
|
||||
modelMount.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
} break;
|
||||
@@ -100,7 +105,8 @@ public class IR_Cannon_28 implements IItemRenderer {
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
|
||||
model.renderAll();
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
|
||||
modelMount.renderAll();
|
||||
GL11.glPopMatrix();
|
||||
|
||||
} break;
|
||||
@@ -109,24 +115,26 @@ public class IR_Cannon_28 implements IItemRenderer {
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
float scale = 0.8F;
|
||||
float scale = 0.75F;
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
|
||||
//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);
|
||||
model.renderAll();
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
|
||||
modelMount.renderAll();
|
||||
GL11.glPopMatrix();
|
||||
|
||||
} break;
|
||||
|
||||
case ENTITY: {
|
||||
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);
|
||||
model.renderAll();
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT);
|
||||
modelMount.renderAll();
|
||||
GL11.glPopMatrix();
|
||||
|
||||
} break;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.kitsu.medievalcraft.tileents.cannon;
|
||||
|
||||
import com.kitsu.medievalcraft.block.ModBlocks;
|
||||
import com.kitsu.medievalcraft.util.CannonUtil;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
@@ -16,13 +17,15 @@ import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
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 ItemStack[] inv;
|
||||
private NBTTagCompound tag = new NBTTagCompound();
|
||||
private int ticks;
|
||||
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_top = new int[] {0};
|
||||
//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;
|
||||
ticks=0;
|
||||
}
|
||||
}
|
||||
if(world.isRemote){
|
||||
|
||||
}
|
||||
if (worldObj.isRemote) return;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,29 @@ import net.minecraft.item.ItemStack;
|
||||
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,
|
||||
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,
|
||||
135, (float) 157.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,
|
||||
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};
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -303,6 +303,8 @@ item.woodPulp.name=Wood Pulp
|
||||
item.charcoalFilter.name=Charcoal Filter
|
||||
item.slottedTongs.name=Stone Tongs
|
||||
item.flintKnapped.name=Knapped Flint
|
||||
item.cannonBreach.name=CannonBreach
|
||||
item.cannonBarrel.name=CannonBarrel
|
||||
|
||||
tile.shitBlock.name=Shit Block
|
||||
tile.formTable.name=Form Table
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
# Blender MTL File: 'cannon.blend'
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ns 0.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
Kd 0.640000 0.640000 0.640000
|
||||
Ks 0.800000 0.800000 0.800000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
map_Kd /home/kitsudesktop/Development/Blends/Cannon.png
|
||||
|
||||
@@ -1,55 +1,55 @@
|
||||
# Blender v2.71 (sub 0) OBJ File: 'cannon.blend'
|
||||
# Blender v2.71 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib Cannon.mtl
|
||||
o Cube_Cube.001
|
||||
v -0.125000 -0.125000 -1.375000
|
||||
v 0.125000 -0.125000 -1.375000
|
||||
v -0.125000 0.125000 -1.375000
|
||||
v -0.250000 -0.250000 0.650000
|
||||
v -0.225000 -0.225000 -1.225000
|
||||
v 0.225000 -0.225000 -1.225000
|
||||
v 0.250000 -0.250000 0.650000
|
||||
v -0.250000 0.250000 0.650000
|
||||
v -0.225000 0.225000 -1.225000
|
||||
v 0.225000 0.225000 -1.225000
|
||||
v 0.250000 0.250000 0.650000
|
||||
v -0.250000 -0.250000 -1.225000
|
||||
v -0.250000 -0.250000 -1.375000
|
||||
v 0.250000 -0.250000 -1.375000
|
||||
v 0.250000 -0.250000 -1.225000
|
||||
v -0.250000 0.250000 -1.225000
|
||||
v -0.250000 0.250000 -1.375000
|
||||
v 0.250000 0.250000 -1.375000
|
||||
v 0.250000 0.250000 -1.225000
|
||||
v 0.125000 0.125000 -1.375000
|
||||
v -0.125000 0.125000 0.425000
|
||||
v -0.125000 -0.125000 0.425000
|
||||
v 0.125000 -0.125000 0.425000
|
||||
v 0.125000 0.125000 0.425000
|
||||
v -0.100940 -0.100940 0.650000
|
||||
v 0.100940 -0.100940 0.650000
|
||||
v -0.100940 0.100940 0.650000
|
||||
v 0.100940 0.100940 0.650000
|
||||
v -0.100940 -0.100940 0.725000
|
||||
v 0.100940 -0.100940 0.725000
|
||||
v -0.100940 0.100940 0.725000
|
||||
v 0.100940 0.100940 0.725000
|
||||
v 0.505154 -0.054574 -0.256972
|
||||
v 0.505154 -0.054574 -0.150739
|
||||
v 0.505154 0.051659 -0.256972
|
||||
v 0.505154 0.051659 -0.150739
|
||||
v 0.228100 0.051659 -0.256972
|
||||
v 0.228100 0.051659 -0.150739
|
||||
v 0.228100 -0.054574 -0.256972
|
||||
v 0.228100 -0.054574 -0.150739
|
||||
v -0.233931 -0.054574 -0.256972
|
||||
v -0.233931 -0.054574 -0.150739
|
||||
v -0.233931 0.051659 -0.256972
|
||||
v -0.233931 0.051659 -0.150739
|
||||
v -0.510986 0.051659 -0.256972
|
||||
v -0.510986 0.051659 -0.150739
|
||||
v -0.510986 -0.054574 -0.256972
|
||||
v -0.510986 -0.054574 -0.150739
|
||||
v -0.227758 0.230880 -1.021209
|
||||
v -0.227758 -0.219120 -1.021209
|
||||
v -0.252758 -0.244120 0.853791
|
||||
v -0.252758 0.255880 -1.171209
|
||||
v -0.252758 -0.244120 -1.171209
|
||||
v -0.252758 -0.244120 -1.021209
|
||||
v 0.247242 0.255880 0.853791
|
||||
v 0.247242 -0.244120 0.853791
|
||||
v 0.222242 -0.219120 -1.021209
|
||||
v 0.222242 0.230880 -1.021209
|
||||
v -0.252758 0.255880 0.853791
|
||||
v 0.247242 0.255880 -1.021209
|
||||
v 0.247242 -0.244120 -1.021209
|
||||
v 0.247242 -0.244120 -1.171209
|
||||
v 0.247242 0.255880 -1.171209
|
||||
v -0.252758 0.255880 -1.021209
|
||||
v 0.122241 0.130880 -1.171209
|
||||
v -0.127758 0.130880 0.628791
|
||||
v 0.122241 0.130880 0.628791
|
||||
v 0.122241 -0.119120 0.628791
|
||||
v -0.103698 0.106819 0.853791
|
||||
v -0.103698 0.106819 0.928791
|
||||
v 0.098181 0.106819 0.928791
|
||||
v -0.103698 -0.095060 0.853791
|
||||
v 0.098181 -0.095060 0.853791
|
||||
v 0.098181 0.106819 0.853791
|
||||
v 0.098181 -0.095060 0.928791
|
||||
v -0.103698 -0.095060 0.928791
|
||||
v 0.402396 0.057539 0.053052
|
||||
v 0.402396 -0.048694 0.053052
|
||||
v 0.402396 -0.048694 -0.053180
|
||||
v -0.127758 -0.119120 0.628791
|
||||
v -0.413744 -0.048694 0.053052
|
||||
v -0.413744 0.057539 0.053052
|
||||
v -0.413744 0.057539 -0.053180
|
||||
v 0.402396 0.057539 -0.053180
|
||||
v -0.413744 -0.048694 -0.053180
|
||||
v -0.127758 0.130880 -1.171209
|
||||
v -0.127758 -0.119120 -1.171209
|
||||
v 0.122242 -0.119120 -1.171209
|
||||
v 0.225342 0.057539 -0.053180
|
||||
v 0.225342 0.057539 0.053052
|
||||
v 0.225342 -0.048694 -0.053180
|
||||
v 0.225342 -0.048694 0.053052
|
||||
v -0.236690 0.057539 -0.053180
|
||||
v -0.236690 -0.048694 -0.053180
|
||||
v -0.236690 -0.048694 0.053052
|
||||
v -0.236690 0.057539 0.053052
|
||||
vt 0.425000 0.440784
|
||||
vt 0.237500 0.440784
|
||||
vt 0.227083 0.005226
|
||||
@@ -188,83 +188,83 @@ vt 0.738014 0.697585
|
||||
vt 0.388013 0.635900
|
||||
usemtl None
|
||||
s off
|
||||
f 9/1 5/2 4/3
|
||||
f 17/4 13/5 12/6
|
||||
f 11/7 7/8 6/9
|
||||
f 5/10 6/11 7/12
|
||||
f 10/13 9/14 8/15
|
||||
f 19/16 15/17 14/18
|
||||
f 15/19 19/20 10/21
|
||||
f 13/22 14/23 15/24
|
||||
f 18/25 17/26 16/27
|
||||
f 20/28 18/29 14/30
|
||||
f 5/31 12/32 15/19
|
||||
f 21/33 20/34 24/35
|
||||
f 20/36 23/37 24/38
|
||||
f 10/21 19/20 16/39
|
||||
f 16/39 12/32 5/31
|
||||
f 27/40 31/41 32/42
|
||||
f 25/43 27/44 8/45
|
||||
f 26/46 25/43 4/47
|
||||
f 28/48 26/46 7/49
|
||||
f 27/44 28/48 11/50
|
||||
f 30/51 32/52 31/53
|
||||
f 26/54 28/55 32/56
|
||||
f 26/57 30/58 29/59
|
||||
f 25/60 29/61 31/62
|
||||
f 36/63 34/64 33/65
|
||||
f 22/66 24/67 23/68
|
||||
f 48/69 46/70 45/71
|
||||
f 8/72 9/1 4/3
|
||||
f 16/73 17/4 12/6
|
||||
f 10/74 11/7 6/9
|
||||
f 4/75 5/10 7/12
|
||||
f 11/76 10/13 8/15
|
||||
f 18/77 19/16 14/18
|
||||
f 6/78 15/19 10/21
|
||||
f 12/79 13/22 15/24
|
||||
f 19/80 18/25 16/27
|
||||
f 6/78 5/31 15/19
|
||||
f 9/81 10/21 16/39
|
||||
f 9/81 16/39 5/31
|
||||
f 28/82 27/40 32/42
|
||||
f 4/47 25/43 8/45
|
||||
f 7/49 26/46 4/47
|
||||
f 11/50 28/48 7/49
|
||||
f 8/45 27/44 11/50
|
||||
f 29/83 30/51 31/53
|
||||
f 30/84 26/54 32/56
|
||||
f 25/85 26/57 29/59
|
||||
f 27/86 25/60 31/62
|
||||
f 35/87 36/63 33/65
|
||||
f 21/88 24/67 22/66
|
||||
f 47/89 48/69 45/71
|
||||
f 3/90 17/91 18/29
|
||||
f 17/91 3/90 1/92
|
||||
f 23/93 1/94 22/95
|
||||
f 2/96 14/30 13/97
|
||||
f 35/98 37/99 38/100
|
||||
f 39/101 33/102 34/103
|
||||
f 38/104 40/105 34/106
|
||||
f 35/107 33/108 39/109
|
||||
f 22/110 3/111 21/112
|
||||
f 43/113 45/114 46/115
|
||||
f 47/116 41/117 42/118
|
||||
f 46/119 48/120 42/121
|
||||
f 43/122 41/123 47/124
|
||||
f 20/28 3/90 18/29
|
||||
f 2/96 20/28 14/30
|
||||
f 13/97 17/91 1/92
|
||||
f 3/125 20/34 21/33
|
||||
f 2/126 23/37 20/36
|
||||
f 2/127 1/94 23/93
|
||||
f 1/92 2/96 13/97
|
||||
f 36/128 35/98 38/100
|
||||
f 40/129 39/101 34/103
|
||||
f 36/130 38/104 34/106
|
||||
f 37/131 35/107 39/109
|
||||
f 1/132 3/111 22/110
|
||||
f 44/133 43/113 46/115
|
||||
f 48/134 47/116 42/118
|
||||
f 44/135 46/119 42/121
|
||||
f 45/136 43/122 47/124
|
||||
f 1/1 2/2 3/3
|
||||
f 4/4 5/5 6/6
|
||||
f 7/7 8/8 9/9
|
||||
f 2/10 9/11 8/12
|
||||
f 10/13 1/14 11/15
|
||||
f 12/16 13/17 14/18
|
||||
f 13/19 12/20 10/21
|
||||
f 5/22 14/23 13/24
|
||||
f 15/25 4/26 16/27
|
||||
f 17/28 15/29 14/30
|
||||
f 2/31 6/32 13/19
|
||||
f 18/33 17/34 19/35
|
||||
f 17/36 20/37 19/38
|
||||
f 10/21 12/20 16/39
|
||||
f 16/39 6/32 2/31
|
||||
f 21/40 22/41 23/42
|
||||
f 24/43 21/44 11/45
|
||||
f 25/46 24/43 3/47
|
||||
f 26/48 25/46 8/49
|
||||
f 21/44 26/48 7/50
|
||||
f 27/51 23/52 22/53
|
||||
f 25/54 26/55 23/56
|
||||
f 25/57 27/58 28/59
|
||||
f 24/60 28/61 22/62
|
||||
f 29/63 30/64 31/65
|
||||
f 32/66 19/67 20/68
|
||||
f 33/69 34/70 35/71
|
||||
f 11/72 1/1 3/3
|
||||
f 16/73 4/4 6/6
|
||||
f 10/74 7/7 9/9
|
||||
f 3/75 2/10 8/12
|
||||
f 7/76 10/13 11/15
|
||||
f 15/77 12/16 14/18
|
||||
f 9/78 13/19 10/21
|
||||
f 6/79 5/22 13/24
|
||||
f 12/80 15/25 16/27
|
||||
f 9/78 2/31 13/19
|
||||
f 1/81 10/21 16/39
|
||||
f 1/81 16/39 2/31
|
||||
f 26/82 21/40 23/42
|
||||
f 3/47 24/43 11/45
|
||||
f 8/49 25/46 3/47
|
||||
f 7/50 26/48 8/49
|
||||
f 11/45 21/44 7/50
|
||||
f 28/83 27/51 22/53
|
||||
f 27/84 25/54 23/56
|
||||
f 24/85 25/57 28/59
|
||||
f 21/86 24/60 22/62
|
||||
f 36/87 29/63 31/65
|
||||
f 18/88 19/67 32/66
|
||||
f 37/89 33/69 35/71
|
||||
f 38/90 4/91 15/29
|
||||
f 4/91 38/90 39/92
|
||||
f 20/93 39/94 32/95
|
||||
f 40/96 14/30 5/97
|
||||
f 36/98 41/99 42/100
|
||||
f 43/101 31/102 30/103
|
||||
f 42/104 44/105 30/106
|
||||
f 36/107 31/108 43/109
|
||||
f 32/110 38/111 18/112
|
||||
f 45/113 35/114 34/115
|
||||
f 37/116 46/117 47/118
|
||||
f 34/119 33/120 47/121
|
||||
f 45/122 46/123 37/124
|
||||
f 17/28 38/90 15/29
|
||||
f 40/96 17/28 14/30
|
||||
f 5/97 4/91 39/92
|
||||
f 38/125 17/34 18/33
|
||||
f 40/126 20/37 17/36
|
||||
f 40/127 39/94 20/93
|
||||
f 39/92 40/96 5/97
|
||||
f 29/128 36/98 42/100
|
||||
f 44/129 43/101 30/103
|
||||
f 29/130 42/104 30/106
|
||||
f 41/131 36/107 43/109
|
||||
f 39/132 38/111 32/110
|
||||
f 48/133 45/113 34/115
|
||||
f 33/134 37/116 47/118
|
||||
f 48/135 34/119 47/121
|
||||
f 35/136 45/122 37/124
|
||||
|
||||
@@ -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
|
||||
@@ -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 |
@@ -6,6 +6,7 @@
|
||||
"scrapes1": {"category": "neutral", "sounds": [{"name": "scrapes1", "stream": false}]},
|
||||
"splitlog": {"category": "neutral", "sounds": [{"name": "splitlog", "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}]}
|
||||
}
|
||||
|
||||
|
||||
BIN
src/main/resources/assets/kitsumedievalcraft/sounds/cannon1.ogg
Normal file
BIN
src/main/resources/assets/kitsumedievalcraft/sounds/cannon1.ogg
Normal file
Binary file not shown.
@@ -3,6 +3,7 @@
|
||||
"longbowRelease": {"category": "neutral", "sounds": [{"name": "longbowRelease", "stream": false}]},
|
||||
"tautBow": {"category": "neutral", "sounds": [{"name": "tautBow", "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}]}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 239 B |
Binary file not shown.
|
After Width: | Height: | Size: 293 B |
@@ -3,7 +3,7 @@
|
||||
"modid": "kitsumedievalcraft",
|
||||
"name": "ForgeCraft",
|
||||
"description": "ForgeCraft",
|
||||
"version": "{2.3.9}",
|
||||
"version": "{2.4.0}",
|
||||
"mcversion": "{1.7.10}",
|
||||
"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",
|
||||
|
||||
Reference in New Issue
Block a user