あやみつさんの覚書き

メモや覚書きなど

git ls-fileで抽出したファイルを別フォルダに階層を維持してコピー

背景 「.gitignoreで除外後のファイル一覧を抽出したいな……」「コミットして別フォルダでチェックアウトすればいいかもしれない」「もうちょっとこう、楽したい」「なんか-Recurseでやってもフラットにコピーされるな……ファイル指定だからか」 前提 コマンド…

Visitorを使って既存のクラスに新規メソッドを追加する

言語はJavaでASM4.0今回は既存のクラスに新しくメソッドを追加する。 検索して解決策をみつけたのでメモ。 SampleClassに新しく"public void foo() {}"を追加する。おおまかな流れ byte配列が与えられる byte配列を用いてClassReaderのインスタンス生成 Clas…

Visitorを使った特定のメソッドへのコードの挿入

言語はJavaで、ASM 4.0のお話。 以前はClassNodeの中身をのぞいて書き換え、ということをしていたがVisitorを使ってみる。 今回は"void targetMethod()"というメソッド内の"f()"という処理の後に"System.out.println();"を挿入するという想定。おおまかな流…

StarboundのModding入門の覚書

まずStarboundの公式フォーラムにあるModdingのチュートリアルをみましょう。下のリンクは一覧みたいもの。 Notice - MODDING GUIDES | Official Chucklefish Forums! で、今回メインにみるのが下のリンクのチュートリアル。 Tutorial - Modding Basics p1 -…

京都マイクラもぢんぐ会

とてもたのしかった。 ありーた氏はホモ、ちぃおぼえた。デモで使ったMOD http://forum.minecraftuser.jp/viewtopic.php?p=190289#p190289発表したときに使ったスライド Modding会 in Kyoto from ayamitsu0321

mikutter_install_battle

この度mikutterの導入が成功したので忘れないうちにその手順をば。 毎度のことながら覚書きのようなものです。 Windows環境での導入法はwikiの方にあるのでそちらを先にみることをおすすめします。 MikutterInstallBattleForWindows - mikutter Wiki detail …

CubeWorldのデモ版の起動にて"Could not initialize Direct3D..."とでて起動できない

CubeWorldのalpha版がでましたね。購入するページはこちら→https://picroma.com/buycubeworld 購入を検討しており、まずDemo版で動作確認をしようとしたところ Could not initialize Direct3D. Please make sure the latest DirectX End-User Runtime is ins…

サクラエディタでRubyの強調での単純なミス

Rubyで文字列を扱う際に "#{name}" のようにしますよね。そのときになんですが、どうもおかしくて "#{name}" のようになってしまいまして、どうしたものかといろいろ探りつつ、サクラエディタのRubyの定義ファイルを設定しなおしたりしてもできず、「設定>タ…

Javaでいいこと思いついた!!(ネタ、Booleanで3つのフラグ)

ネタです。例えば、あるメソッド内で"これはここでは例外だ"、"その判定を三項演算子で書きたい"という場合です。あるメソッド、 public void f(Object obj) があるとします。 objは何型かはわかりませんよね。 そして、以下に示しますが"Class、もしくはStr…

boolean型のメソッドでbooleanをかえしたい!(asm)

まずMethodInsnNodeをinvoke~でスタックつんでー InsnNodeのopcodeをireturnでー おわり!えっと、少し解説しますね。 opcodeをreturnにしたらWrong~っていわれまして、それで四苦八苦してましたの。 それでですね、実際にbooleanをかえすMethodをのぞいて…

asmのLdcInsnNodeについてメモ

LdcInsnNodeはAbstractInsnNodeを継承したクラスで、ClassNodeのmethodsのフィールドの中の、MethodNodeのinstructionsのフィールドの中にはいっていることがあります。 LdcInsnNodeは「LDC」のNodeらしいのですが、この「LDC」が何の略かわからないです。定…

asmでみかける文字列メモ

asmでみかけるIとかVとかをちょこっとまとめ。メソッドの引数などでみかけるの、プリミティブ型は他にもあるはず 追記:2013/03/15 ASMのFAQのとこにそれに関する記述がありました ASM - ASM FAQ 7. How do method descriptors work? 文字 型 V void Z boolea…

asmであるクラスのインスタンスを生成する際の処理を置き換える

忘れないうちに書く感じで書くので少し粗いかもしれないですがご了承ください。今回はあるメソッドの内部のあるクラスのインスタンスを生成する処理を、別のクラスのインスタンスを生成する処理を書きます。関係したクラス ClassNode ClassReader ClassWrite…

asm

MOD作成の際にasmに触れる機会に遭遇したので少し覚書きを。 あ、Javaです。 asmの公式ページはこちら→http://asm.ow2.org/ javadocはこちら→http://asm.ow2.org/asm33/javadoc/user/index.html私が今この記事を書いているときはasmのjavadocは3.3ですが、実…

<init>

とりあえず何か書きたいと思ったら書く場所を、という感じで書くことにします。