Need help with creating an entity

I want to create an entity. Specifically a durgz mod addon that instead of spawning the drugs, you buy the ingredients and mix them together in something to create the drug.
How would I go about this?

[lua]
ENT.Type = “anim”
ENT.Base = “base_gmodentity”
ENT.PrintName = “Durgz Ingredient”
ENT.Author = “Shadowndacorner”
ENT.Spawnable = false --change?
ENT.AdminSpawnable = false --change?

if SERVER then
local IngredientsTable={}

function AddCombo(cone, ctwo, res)
	IngredientsTable[res]={cone, ctwo}
end

AddCombo("model/path/one", "model/path/two", "durgz_alcohol") -- First model, second model, entity to produce.
AddCombo("model/path/one", "model/path/two", "durgz_aspirin") -- Just edit the model paths on here to create new combinations
AddCombo("model/path/one", "model/path/two", "durgz_cigarette") -- all of the durgz entities are here.
AddCombo("model/path/one", "model/path/two", "durgz_cocaine")
AddCombo("model/path/one", "model/path/two", "durgz_heroine")
AddCombo("model/path/one", "model/path/two", "durgz_lsd")
AddCombo("model/path/one", "model/path/two", "durgz_mushroom")
AddCombo("model/path/one", "model/path/two", "durgz_pcp")
AddCombo("model/path/one", "model/path/two", "durgz_water")
AddCombo("model/path/one", "model/path/two", "durgz_weed")

function ENT:Initialize()
	self:SetModel("") --Find a way to set the model
	self:PhysicsInit(SOLID_VPHYSICS)
	self:SetMoveType(MOVETYPE_VPHYSICS)
	self:SetSolid(SOLID_VPHYSICS)
	local phys = self:GetPhysicsObject()
	if phys:IsValid() then phys:Wake() end
end

function ENT:Touch( hitEnt )
	for f, v in pairs(IngredientsTable) do
		if table.HasValue(v, self:GetModel()) and table.HasValue(v, hitEnt:GetModel()) then
			local newEnt=ents.Create(f)
			newEnt:SetPos(self:GetPos())
			newEnt:SetAngles(self:GetAngles())
			hitEnt:Remove()
			self:Remove()
			newEnt:Spawn()
		end
	end
end

end
[/lua]
Put that in the entity’s shared.lua.
You can use that kind of system as a basis, the rest shouldn’t be hard to make. Just set the entity’s model to some ingredient model whenever you spawn it, however you want to go about doing that. Also, make sure to change all of the model/path/one and model/path/two’s to correct model paths for ingredient combinations. This obviously doesn’t work with more than two entities, but could be pretty easily modified to do so.