Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

EasyBag

简介

EasyBag是Godot中的一个库存系统插件,着力于高度解耦和数据化,和可扩展性,致力于加速和稳固中大型角色扮演游戏亦或者是需要高度定制化库存系统的项目。 配合Godot的资源类,使其可以在Godot编辑器面板中比较物品的属性或标签。实现程序员与策划人员的有序合作。 同时EasyBag也提供了些类快速实现如物品随机掉落,物品配方合成等功能。当然你也可以自己自由扩展。

快速入门

创建资源文件

  1. EasyBag基于Godot的资源文件,以此请先创建一个EB_InventoryItem类型的资源文件
  2. 双击你创建的资源文件,可以看到右侧的属性面板
  3. 你最好保持文件名和item_name属性相同,这是个潜规则
  4. attribute_arr空无一物,是时候创建了,添加元素吧,来个 EB_IntAttribute属性
  5. 点开这个属性,可以看到value,attribute_nameis_static
  6. 试着更改更改属性名称为atk,将值改成10
  7. 添加一个标签吧,你得先创建一个标签
  8. 新建EB_BaseTag类型的资源文件,记得保存文件名称和tag_name属性一致
  9. 重写点回你之前创建的EB_InventoryItem类型资源文件,为其tag_arr添加tag,点击快速加载选择刚刚创建的tag

加载物品到库存

创建一个场景并且编辑其脚本 在_ready函数中

#加载物品varmy_item:=load("res://resource/你的文件路径.tres")
#创建库存容器varmy_inventory:=EB_Inventory.new()
#将物品添加进去my_inventory.add_item(my_item)

是的这样子my_inventory中就有这个物品了

更加集中式的做法

  1. 创建一个EB_DictionaryCodex的资源文件
  2. 为其添加键值对,注意值应该快速加载你创建过的物品项
  3. 加载物品到库存
#你可以选择用键或者是物品名称获取物品codex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("你的键")
#将物品添加进去inventory.add_item(new_item)

还有很多

当然这个快速入门比较短,EasyBag中还有许多基础用法和进阶用法,比如说掉落池或者是配方类,未来我们会进一步完善文档。

EasyBag

Introduction

EasyBag is an inventory system plugin for Godot, focusing on high decoupling, data-driven design, and scalability. It is dedicated to accelerating and stabilizing medium-to-large RPG projects or any project requiring a highly customizable inventory system.

By leveraging Godot's Resource system, it allows you to compare item attributes and tags directly within the Godot editor panel, facilitating an organized workflow between programmers and game designers.

EasyBag also provides utility classes to quickly implement features like random item drops and crafting recipes. Of course, you are free to extend it however you like.

Quick Start

Creating Resource Files

  1. EasyBag is built on Godot's Resource system. Start by creating a resource file of type EB_InventoryItem.
  2. Double-click your newly created resource file to view its properties in the right-side panel.
  3. Pro Tip: It's highly recommended to keep the file name identical to the item_name property. This is a widely accepted convention.
  4. The attribute_arr is currently empty—time to create one! Add an element, such as an EB_IntAttribute.
  5. Click on this attribute to reveal its properties: value, attribute_name, and is_static.
  6. Try changing the attribute name to atk and setting the value to 10.
  7. Next, let's add a tag. First, you need to create the tag itself.
  8. Create a new resource file of type EB_BaseTag. Remember to save the file with a name that matches the tag_name property.
  9. Go back to your EB_InventoryItem resource file, add the tag to its tag_arr, and use the Quick Load feature to select the tag you just created.

Loading Items into Inventory

Create a scene and edit its script. In the _ready function:

# Load the itemvarmy_item:=load("res://resource/your_file_path.tres")
# Create an inventory containervarmy_inventory:=EB_Inventory.new()
# Add the item to the inventorymy_inventory.add_item(my_item)

And just like that, your item is now in my_inventory!

A More Centralized Approach

  1. Create a resource file of type EB_DictionaryCodex.
  2. Add key-value pairs to it. Note that the values should be Quick Loaded from the item resources you've previously created.
  3. Load items into the inventory:
# You can retrieve items using either a key or an item namecodex.get_InventoryItem_by_name("")
codex.get_InventoryItem_by_id("")
varnew_item=codex.get_InventoryItem_by_id("your_key")
# Add the item to the inventoryinventory.add_item(new_item)

And There's More!

Of course, this quick start guide is quite brief. EasyBag includes many basic and advanced features, such as drop pools and crafting recipes. We will continue to improve and expand the documentation in the future.

About

EasyBag是一款Godot中的库存与物品系统框架,通过可视化编辑器实现无代码编辑和自动生成物品 配置类,随后在gds代码中使用EasyBag系列的类进行玩法开发,可轻松实现设计师与工程师的巧妙合作。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages