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.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

View File

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

View File

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

View File

@@ -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",

View File

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

View File

@@ -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 = 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.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);
}
}
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){
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);
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,16 +144,19 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block){
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
@@ -193,7 +196,6 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
this.setBlockBoundsBasedOnState(world, x, y, z);
return super.getCollisionBoundingBoxFromPool(world, x, y, z);
}
/**
* Called when the block is placed in the world.
*/
@@ -203,99 +205,105 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{
//22.5
//11.25
if(!world.isRemote){
double a = living.rotationYaw*(-1);
//System.out.println(a);
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");
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");
System.out.println("1");
}
if(a >= 225-11.25 && a <= 225+11.25){
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
//System.out.println("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");
System.out.println("3");
}
if(a >= 270-11.25 && a <= 270+11.25){
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
//System.out.println("4");
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");
System.out.println("5");
}
if(a >= 315-11.25 && a <= 315+11.25){
world.setBlockMetadataWithNotify(x, y, z, 6, 2);
//System.out.println("6");
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");
System.out.println("7");
}
if(a >= 360-11.25 || a <= 0+11.25){
if(a <= 0+11.25 && a >=0){
world.setBlockMetadataWithNotify(x, y, z, 8, 2);
//System.out.println("8");
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");
System.out.println("9");
}
if(a >= 45-11.25 && a <= 45+11.25){
world.setBlockMetadataWithNotify(x, y, z, 10, 2);
//System.out.println("10");
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");
System.out.println("11");
}
if(a >= 90-11.25 && a <= 90+11.25){
world.setBlockMetadataWithNotify(x, y, z, 12, 2);
//System.out.println("12");
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");
System.out.println("13");
}
if(a >= 135-11.25 && a <= 135+11.25){
world.setBlockMetadataWithNotify(x, y, z, 14, 2);
//System.out.println("14");
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");
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){
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(world.getBlockMetadata(x,y,z));
System.out.println("A: " + world.getBlockMetadata(x,y,z));
}
if(world.getBlockMetadata(x, y, z)<15){
if(world.getBlockMetadata(x, y, z)<15 && last !=15){
world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)+1, 2);
//System.out.println(world.getBlockMetadata(x,y,z));
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(world.getBlockMetadata(x,y,z));
System.out.println("C: " + world.getBlockMetadata(x,y,z));
}
if(world.getBlockMetadata(x, y, z)==0){
if(world.getBlockMetadata(x, y, z)==0 && last != 1){
world.setBlockMetadataWithNotify(x, y, z, 15, 2);
//System.out.println(world.getBlockMetadata(x,y,z));
System.out.println("D: " + world.getBlockMetadata(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;
}
}
*/

View File

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

View File

@@ -61,106 +61,6 @@ 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 = "";

View File

@@ -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",

View File

@@ -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;
@@ -82,11 +103,6 @@ public class EntityCannonBall extends Entity{
if(!worldObj.isRemote){
if (this.onGround)
{
this.explode();
this.setDead();
}
if(this.motionX==0||this.motionY==0||this.motionZ==0){
this.explode();
this.setDead();

View File

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

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

View File

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

View File

@@ -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);
/*if(dir >= 0 && dir <= 15){
GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F);
GL11.glTranslatef(0.48F, 0.5F, -0.5F);
}*/
GL11.glTranslatef(0.5F, 0.41F, 0.5F);
GL11.glRotatef(a*dir, 0.0F, 1.0F, 0.0F);
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();
}

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

View File

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

View File

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

View File

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

View File

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

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

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}]},
"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}]}
}

View File

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

View File

@@ -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",