Skip to content
This repository has been archived by the owner on Jan 2, 2021. It is now read-only.

get_staticdata と on_activate を修正 #139

Closed
tacigar opened this issue Jan 1, 2017 · 12 comments
Closed

get_staticdata と on_activate を修正 #139

tacigar opened this issue Jan 1, 2017 · 12 comments

Comments

@tacigar
Copy link
Owner

tacigar commented Jan 1, 2017

BBS でご指摘いただいた.
以下引用.

get_staticdata() / on_activate()でデータの保存・復帰を行っている部分で
インベントリーの保存・復帰の方法に現時点だと以下の問題点があると思います。
(1) 空のスロットを無視しているので復帰後のインベントリーが整理された状態になる
(2) add_itemで追加しているので同じアイテムがスタックしてしまう
(3) wearやmetadataを保存していないのでツールが初期状態になる
ですのでnameやcountを個別にテーブルに保存するのではなく、
下の例のようにto_string()を使うとmetadataも含めてすべて保存できるのではと思います。

@tacigar tacigar added this to the 0.1.1 milestone Jan 1, 2017
@tacigar
Copy link
Owner Author

tacigar commented Jan 1, 2017

ほほ~, ItemStack ってこんなに賢く使えるのか... 😓

@ghost
Copy link

ghost commented Jan 1, 2017

mainだけでなくcoreやwieldの方もメタデータを保持するべきなので、以下のようにまとめてもいいかもしれません。

for list_name, list in pairs(inventory:get_lists()) do
  data["inventory"][list_name] = {}

  for i, item in ipairs(list) do
    data["inventory"][list_name][i] = item:to_string()
  end
end

@ghost
Copy link

ghost commented Jan 1, 2017

ついでに、復帰部分もこうでいいと思います。

for list_name, list in pairs(data["inventory"]) do
    inventory:set_list(list_name, list)
end

@tacigar
Copy link
Owner Author

tacigar commented Jan 1, 2017

wield_itemcore は一つしかないということで, テーブルを避けてたんですが,
確かにその方がまとまっていて良いですね 😄

@tacigar
Copy link
Owner Author

tacigar commented Jan 1, 2017

あ, あと明けましておめでとうございます.

@ghost
Copy link

ghost commented Jan 1, 2017

明けましておめでとうございます。
本年もよろしくお願いいたします。

@tacigar
Copy link
Owner Author

tacigar commented Jan 1, 2017

ついでに、復帰部分もこうでいいと思います。

これ, 動くんですね...
一つずつ辿って ItemStack 化しないとダメなのかと思っていました...
勉強になります.

@tacigar
Copy link
Owner Author

tacigar commented Jan 1, 2017

core_name と list とで, 二重にコアの情報を管理している意味が全然分からない.
どういう考えでこういう実装にしたのか...思い出せない...

直すか...
こういうの直すのが一番つらい.

@ghost
Copy link

ghost commented Jan 1, 2017

maidroid:dummy_itemのコードを見ていて思ったのですが、wielditemってtextureに{""}を指定すれば透明になってくれた気がします。(間違っていたらすみません…)

@tacigar
Copy link
Owner Author

tacigar commented Jan 1, 2017

わお!
そうだったんですね...
最初 "air" を指定していてダメだったんで, ダメなのかぁと思ってました...

@ghost
Copy link

ghost commented Jan 1, 2017

0.4.13の頃は(おそらく)そうでした。
今通用するかは分からないので、お手数をおかけしますが、確認していただければと思います…。

@tacigar
Copy link
Owner Author

tacigar commented Jan 2, 2017

0.4.15 で試してみたのですが, textures={""} では変な物体が表示されてしまいました...
textures="", textures=nil では unknown な感じに表示されました.

とりあえず今のままにしておきます... 😢

@tacigar tacigar closed this as completed Jan 2, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant