-- @shared -- @name JDM Wheels -- @author Opti1337, .hemp -- @include /koptilnya/mesh_loader/builder.txt require("/koptilnya/mesh_loader/builder.txt") local LINK = "https://raw.githubusercontent.com/koptilnya/gmod-data/main/jdmwheel1.obj?d=1" local SCALE = Vector(0.6) local MATERIALS = { Center = "models/debug/debugwhite", Bolt = "sprops/textures/sprops_chrome", Chrome = "sprops/trans/wheels/wheel_d_rim1", Plastic = "sprops/textures/sprops_rubber2", Rim = "sprops/trans/wheels/wheel_d_rim1", RimAround = "sprops/trans/wheels/wheel_d_rim1" } local COLORS = { Center = Color(45,45,45), Bolt = Color(255, 255, 255), Chrome = Color(255, 255, 255), Plastic = Color(255, 255, 255), Rim = Color(255, 255, 255), RimAround = Color(255,255,255) } local OFFSET = 1 local builder = {} if SERVER then wire.adjustPorts( { Wheels = "ARRAY" }, { } ) builder = MeshBuilder:new(LINK) hook.add("input", "_input", function(name, value) if name == "Wheels" then builder:reset() for _, wheel in pairs(wire.ports.Wheels) do builder:build("center", Vector(0, OFFSET - 0.6, 0), Angle(0), SCALE, COLORS.Center, MATERIALS.Center, wheel, wheel) builder:build("bolt", Vector(0, OFFSET- 0.6, 0), Angle(0), SCALE, COLORS.Bolt, MATERIALS.Bolt, wheel, wheel) builder:build("chrome", Vector(0, OFFSET - 1, 0), Angle(0), SCALE, COLORS.Chrome, MATERIALS.Chrome, wheel, wheel) builder:build("plastic", Vector(0, OFFSET, 0), Angle(0), SCALE, COLORS.Plastic, MATERIALS.Plastic, wheel, wheel) builder:build("rim1", Vector(0, OFFSET, 0), Angle(0), SCALE - Vector(0, 0.1, 0), COLORS.RimAround, MATERIALS.Rim, wheel, wheel) builder:build("rimAround", Vector(0, OFFSET, 0), Angle(0), SCALE - Vector(0, 0.1, 0), COLORS.Rim, MATERIALS.RimAround, wheel, wheel) builder:build("tyre", Vector(0, OFFSET, 0), Angle(0), SCALE - Vector(0, 0.1, 0), Color(255, 255, 255), "sprops/textures/sprops_rubber", wheel, wheel) end builder:getResult() end end) else PERMA.onPermissionsGained = function() builder = MeshBuilder:new(LINK) end PERMA.build() end