Jump to content

Recommended Posts

Posted (edited)

I made a new type of ingot called "Small Ingot" - it is like a regular ingot, but smaller.

PROBLEM:
I am unable to place it on the forge - when i try, nothing happens (and no errors in the logs)
I can drop it on the ground, pick it up, place it on the ground and make a pile, but forge? nope.
What do i need to do, to make the ingot place-able on a forge?

Here is the itemtypes\resource\small-ingot.json

Spoiler


{
	code: "small-ingot",
	class: "ItemIngot",
	maxstacksize: 64,
	behaviors: [{ 
		name: "GroundStorable",
		properties: {
			layout: 'Stacking',
			placeRemoveSound: 'game:sounds/block/ingot',
			stackingModelByType: {
				"*-gold": 'game:block/metal/ingotpileshiny',
				"*": 'game:block/metal/ingotpile',
			},
			stackingTextures: {
				"metal": "game:block/metal/ingot/{metal}",
			},
			modelItemsToStackSizeRatio: 1,
			upSolid: true,
			stackingCapacity: 64,
			transferQuantity: 1,
			bulkTransferQuantity: 4,
			collisionBox: { x1: 0, y1: 0, z1: 0, x2: 1, y2: 0.125, z2: 1 },
			cbScaleYByLayer: 0.125
		}
	}],
	attributes: {
		reinforcementStrengthByType: {
			"*-copper": 150,
			"*-tinbronze": 300,
			"*-bismuthbronze": 300,
			"*-blackbronze": 400,
			"*-iron": 800,
			"*-meteoriciron": 1000,
			"*-steel": 1200
		},
		handbook: {
			excludeByType: {
				"*-chromium": true,
				"*-platinum": true,
				"*-titanium": true,
				"*-stainlessteel": true,
				"*-uranium": true
			}
		},
		workableTemperatureByType: {
			"small-ingot-lead": 0,
			"small-ingot-tin": 0,
			"small-ingot-leadsolder": 0
		},
		requiresAnvilTierByType: {
			"small-ingot-meteoriciron": 3,
			"small-ingot-blistersteel": 3
		},
		shatteredStack: { type: "item", code: "game:metalbit-{metal}" },
		carburizablePropsByType: {
			"small-ingot-iron": {
				"carburizedOutput": { type: "item", code: "game:small-ingot-blistersteel" }
			}
		},
		displaycaseable: true, 
		shelvable: true,
		onshelfTransform: {
			rotation: { x: 0, y: 75, z: 0 }
		},
		onTongTransform: {
			translation: { x: -0.4, y: -0.53, z: -0.45 },
			rotation: { x: 0, y: 0, z: 76 },
			scale: 1.08
		}
	},
	variantgroups: [
		{ code: "metal", loadFromProperties: "block/metal", states: ["blistersteel", "leadsolder", "silversolder"] },
	],
	storageFlags: 5,
	shapeByType: {
		"*-gold": { base: "item/small-ingot-shiny" },
		"*": { base: "item/small-ingot" },
	},
	textures: {
		"metal": { base: "game:block/metal/ingot/{metal}" },
	},
	creativeinventory: { "general": ["*"], "items": ["*"] },
	materialDensityByType: {
		"*-copper": 8960,
		"*-cupronickel": 8940,
		"*-brass": 8500,
		"*-tinbronze": 7600,
		"*-bismuthbronze": 7900,
		"*-blackbronze": 9000,
		"*-iron": 7870,
		"*-meteoriciron": 7800,
		"*-steel": 7820,
		"*-blistersteel": 7720,
		"*-gold": 19300,
		"*-lead": 11300,
		"*-electrum": 8900,
		"*-nickel": 8908,
		"*-tin": 7260,
		"*-chromium": 7150,
		"*-platinum": 21500,
		"*-titanium": 4510,
		"*-zinc": 7140,
		"*-silver": 10500,
		"*-bismuth": 9790,
		"*-molybdochalkos": 9600,
		"*-leadsolder": 9280,
		"*-silversolder": 8880
	},
	combustiblePropsByType: {
		"small-ingot-copper": {
			meltingPoint: 1084,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-copper" }
		},
		"small-ingot-cupronickel": {
			meltingPoint: 1171,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-cupronickel" }
		},
		"small-ingot-brass": {
			meltingPoint: 920,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-brass" }
		},
		"small-ingot-tinbronze": {
			meltingPoint: 950,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-tinbronze" }
		},
		"small-ingot-bismuthbronze": {
			meltingPoint: 850,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-bismuthbronze" }
		},
		"small-ingot-blackbronze": {
			meltingPoint: 1020,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-blackbronze" }
		},
		"small-ingot-electrum": {
			meltingPoint: 1010,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-electrum" }
		},
		"small-ingot-iron": {
			meltingPoint: 1482,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-iron" }
		},
		"small-ingot-meteoriciron": {
			meltingPoint: 1476,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-meteoriciron" }
		},
		"small-ingot-nickel": {
			meltingPoint: 1325,
			meltingDuration: 40,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-nickel" }
		},
		"small-ingot-steel": {
			meltingPoint: 1502,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-steel" }
		},
		"small-ingot-blistersteel": {
			meltingPoint: 1602,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-blistersteel" }
		},
		"small-ingot-gold": {
			meltingPoint: 1063,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-gold", }
		},
		"small-ingot-lead": {
			meltingPoint: 327,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-lead" }
		},
		"small-ingot-tin": {
			meltingPoint: 232,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-tin" }
		},
		"small-ingot-chromium": {
			meltingPoint: 1907,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-chromium" }
		},
		"small-ingot-platinum": {
			meltingPoint: 1770,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-platinum" }
		},
		"small-ingot-titanium": {
			meltingPoint: 1668,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-titanium" }
		},
		"small-ingot-zinc": {
			meltingPoint: 419,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-zinc" }
		},
		"small-ingot-silver": {
			meltingPoint: 961,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-silver" }
		},
		"small-ingot-bismuth": {
			meltingPoint: 271,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-bismuth" }
		},
		"small-ingot-molybdochalkos": {
			meltingPoint: 902,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-molybdochalkos" }
		},
		"small-ingot-leadsolder": {
			meltingPoint: 327,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-leadsolder" }
		},
		"small-ingot-silversolder": {
			meltingPoint: 758,
			meltingDuration: 30,
			smeltedRatio: 1,
			smeltedStack: { type: "item", code: "small-ingot-silversolder" }
		}
	},
	guiTransform: {
		translation: { x: 2, y: 0, z: 0 },
		rotation: { x: 149, y: -36, z: 0 },
		origin: { x: 0.5, y: 0.1, z: 0.5 },
		scale: 3.5
	},
	fpHandTransform: {
		translation: { x: 0, y: 0.1, z: 0 },
		rotation: { x: 65, y: 21, z: -6 },
		origin: { x: 0.5, y: 0.1, z: 0.5 },
		scale: 2.15
	},
	tpHandTransform: {
		translation: { x: -0.77, y: -0.15, z: -0.64 },
		rotation: { x: 0, y: -71, z: 18 },
		origin: { x: 0.5, y: 0.1, z: 0.5 },
		scale: 0.75
	},
	groundTransform: {
		translation: { x: 0, y: 0, z: 0 },
		rotation: { x: 0, y: 0, z: 0 },
		origin: { x: 0.5, y: 0, z: 0.5 },
		scale: 4.8
	}
}


For those wondering why...

Spoiler

It annoys me how much of the material is thrown away when forging something small like a knife.
Not because i think "Oh no! My hard mined ore is getting wasted! What am i going to do?! Oh my!",
but because "WTF? that makes no sense! No blacksmith would waste 3x the material it takes to make the thing! GIVE ME BACK MY IMMERSION!".

So i thought i'd make a new type of ingot (and molds for it).
Of course, the goal is to replace the ingots with metal rods of different lengths to choose from depending on what you want to forge (you know... like a real blacksmith would have - when you want to forge a knife, or sword, or a scythe, you don't start with a freaking cube of metal).
But i thought i should start with something simple, and just make smaller ingots instead.

Edited by Mrozak
Posted

An easy fix that I found to "wasted material" is the Smithing Plus mod. This mod allows you to retrieve metal bits when splitting from metalworks and it also allows you to add bits to existing metalworks or even being smithing with bits.

I know that this isn't the answer you're looking for with your mod, but maybe you could try reaching out to that mod author with the problems you're having?

Posted
1 hour ago, Degen_Andi said:

Smithing Plus mod

Thank you, i know about that mod, but it doesn't fix the immersion problem for me.
Also, when possible (TBD in this case), i prefer simple JSON based mods (simple to make, or easy to update if original author didn't).
 

  • Like 1
Posted (edited)
1 hour ago, Mrozak said:

Hmm, that may not be a terrible idea :)

Your new ingot is probably not getting past this line of code, and maybe others.  Seems to me the forge is somewhat hardcoded.
https://github.com/anegostudios/vssurvivalmod/blob/20fcf08a18091c735c04845e110dbec7b665d572/Block/BlockForge.cs#L36

You could try changing your "code" to "ingot-small"
may or may not work
otherwise, your code might have to be "ingot", and your first variant "small"

in any case, after making a change that dramatic, be sure and start a new world to test

Edited by Spear and Fang
  • Like 1
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.