Advertisement
massacring

Commons

Jun 20th, 2025 (edited)
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.43 KB | None | 0 0
  1. local Credit = require('Credit')
  2. local Credits = {}
  3. Credits.SMALL = 1
  4. Credits.MEDIUM = 2
  5. Credits.LARGE = 3
  6. Credits.credits = {
  7.     --["emeralds"] = Credit.new("emeralds"),
  8.     ["iron"] = Credit.new("iron", {
  9.         [Credits.LARGE] = { ['id'] = 'minecraft:iron_block', ['multiplier'] = 9 },
  10.         [Credits.MEDIUM] = { ['id'] = 'minecraft:iron_ingot', ['multiplier'] = 9 },
  11.         [Credits.SMALL] = { ['id'] = 'minecraft:iron_nugget' },
  12.     }),
  13. }
  14. Credits.selectedCredit = nil
  15. Credits.__index = Credits
  16.  
  17. function Credits:validCurrency(name)
  18.     for _,credit in pairs(Credits.credits) do
  19.         for _,data in pairs(credit) do
  20.             if (name == data["id"]) then return true end
  21.         end
  22.     end
  23.     return false
  24. end
  25.  
  26. function Credits:getValueByName(name)
  27.     for _,credit in pairs(Credits.credits) do
  28.         for size,data in pairs(credit.values) do
  29.             if (name == data["id"]) then
  30.                 local multiplier = data["multiplier"] or 1
  31.                 return multiplier ^ (size-1)
  32.             end
  33.         end
  34.     end
  35. end
  36.  
  37. function Credits:getValueBySize(size)
  38.     if Credits.selectedCredit == nil then return nil end
  39.     if type(size) ~= "number" then return nil end
  40.     if size < 1 or size > 3 then return nil end
  41.     local multiplier = Credits.credits[Credits.selectedCredit].values[size]["multiplier"]
  42.     return multiplier ^ (size-1)
  43. end
  44.  
  45. function Credits:getSizeByName(name)
  46.     for _,credit in pairs(Credits.credits) do
  47.         for size,data in pairs(credit.values) do
  48.             if (name == data["id"]) then return size end
  49.         end
  50.     end
  51. end
  52.  
  53. function Credits:getName(itemName)
  54.     for name,credit in pairs(Credits.credits) do
  55.         for _,data in pairs(credit.values) do
  56.             if (itemName == data["id"]) then return name end
  57.         end
  58.     end
  59. end
  60.  
  61. function Credits:getCurrentId(size)
  62.     if Credits.selectedCredit == nil then return nil end
  63.     if type(size) ~= "number" then return nil end
  64.     if size < 1 or size > 3 then return nil end
  65.     return Credits.credits[Credits.selectedCredit].values[size]["id"]
  66. end
  67.  
  68. local Score = {}
  69. Score.__index = Score
  70. Score.value = 0
  71. Score.max = 2000
  72. Score.min = 4
  73.  
  74. function Score:updateScore(num)
  75.     print("Updating score: " .. tostring(num))
  76.     Score.value = num
  77. end
  78.  
  79. function Score:getScore()
  80.     print("Score is: " .. tostring(Score.value))
  81.     return Score.value
  82. end
  83.  
  84. return { Credits = Credits, Score = Score }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement