2019年11月27日水曜日

ごみ記事:libminecraft.soを解析して、パケットとか、いろいろ調べる! パケット読み方を頑張る編#3

こんにちは、皆に愛されるはにおかさいです。
人生に迷いすぎて精神崩壊しそうです。あぁ、もうしてるか。

今回は、パケットの読み方を頑張ります。

こちらも参考にしてください
http://blog.haniokasai.com/2017/04/libminecraftso.html

今回はSetEnableCommandsPacketを解説したいと思います。
そもそも、このパケットは、mcpeのクライアント側で、コマンドの入力を受け付けるか否かを設定できるものです。PMMPではデフォルトでtrue(真)となります。

MiNETでは、デフォルトでは何も設定されないので、

Player player = e.Player;
var setCmdEnabled = McpeSetCommandsEnabled.CreateObject();
setCmdEnabled.enabled = true;
player.SendPackage(setCmdEnabled);

https://github.com/haniokasai/EnableCommand/blob/master/EnableCommand.cs
として、パケットを送りつけます。

本題に入りましょう


まず、libminecraftpe.soの解析ファイルを見てみましょう


  9ecc22: b510       push {r4, lr}
  9ecc24: 4604       mov r4, r0
  9ecc26: 4608       mov r0, r1
  9ecc28: f4de ea58  blx 6cb0dc <ReadOnlyBinaryStream::getBool()@plt>
  9ecc2c: 7320       strb r0, [r4, #12]
  9ecc2e: bd10       pop {r4, pc}

赤い部分には、getBool()と書かれています。boolとは型で

Bool  真偽(true かfalse)
VarInt 数字
Byte 
UnsignedVarInt
SignedBigEndianInt
FixedFloat 固定の小数
Float 浮動小数
UnsignedShort
< > で囲まれたのは独自にmcpeで定義されている型です
<Vec3>
<ItemInstance>

PMMPでは、この関数でパケットのデータを設定するようです
https://github.com/BlueLightJapan/BlueLight/blob/1bbb6a6e11db5e90de6672cf2a08a079228ff216/src/pocketmine/utils/BinaryStream.php

SetEnableCommandsPacketはtrueで有効になるわけですから、やはり解析結果にはBool型が書かれています。

PocketMineでこのパケットの動作を見てみましょう。
PocketMineでは、StartGamePacketにて、コマンドが有効になるようになっていますから、あえて、コマンドを使えなくしてみましょう。

public function  onJoin(PlayerJoinEvent $event){    $player = $event->getPlayer();    $pk = new SetCommandsEnabledPacket();    $pk->putBool(false);    $player->dataPacket($pk);}

これで、本来なら送信できますが、今回は解析結果を使ってみます。


<?php
namespace haniokasai;
use pocketmine\network\protocol\DataPacket; /**
* Created by PhpStorm.
* User: htek
* Date: 2017/04/16
* Time: 22:41
*/ #include <rules/DataPacket.h>
class enablepk extends DataPacket{ const NETWORK_ID = "0x3c"; public $en;/*変数を、パケットの必要とする引数の数だけ書きます。  呼び出しは
 
*/ public function decode(){//mcpe->serverのパケットに関する処理
public function encode(){//server->mcpeのパケットに関する処理
$this->reset();//お掃除
$this->putBool($this->en);//libminecraftpe.soにgetBoolと書かれているので、型を合わせるのでputBoolとします。
}
}

このような風にかくと、datapacket型が作れます。
SetCommandsEnablePacketには、bool型を1つ必要としますから、putBoolで、真偽の値を置いてやります。変数$en(= $this->en)にはtrueかfalseが入ります。
$pk2 = new enablepk();//DataPacketの雛形を呼び出す
$pk2->en = true;//変数の内容を入力
$player->dataPacket($pk);

これでパケットが作成と送信ができます。


こんな感じのプラグインを作ってみました
https://github.com/haniokasai/PacketTest-PocketMine-/tree/master/enablepackettest

サーバーで試してみると、MCPEのアプリでコマンドを実行しても、チートが使えないと怒られるようになりました。




いつしかメンズゴリラ ブラジリアンワックス脱毛シート 使ったけど、、、

1年以上前の記事だが、、、下書きになってたので。先日リトライしたが記事と結果は変わらず。

どうも、はにおかさいです。

私、毛深いのですが、それが悩みでして、なんかいいのないかなーって、amazonでほかのお買い物ついでにポチっ。

「メンズゴリラ ワックス脱毛シート 」です。

要はすね毛を接着して引きちぎるというわけです。
 
http://amzn.asia/gBwHqBi

ダンボール開けて、試したわけです。

↓あぶらとりフィルムに油がしみ込んだやつ

貼ります
。。。?抜けない

若干抜けた

やり方は正しいはずなので、うーん。
何度か試したり、1年後に試しても微妙な抜け具合です。

これは、sbcかリゼクリニックでも行ったほうがいいんじゃないか、と思いました。

以上





前に巻き爪の手術による治療を受けに行ってきました

記事を公開し忘れてた

概要

中学1年生ぐらいのときから巻き爪がひどく、痛くて仕方なかった。
大学生となり、経済・距離・時間的に余裕ができたので、病院で手術をしてもらった。
手術方法は3種類ある。
根治を希望した。

初診

中央線沿線の病院を探した。「あべ整形外科クリニック」という個人クリニック(と思われる)にて手術を受けることにした。
電話で事前に予約の必要性を確認したところ、予約制度がないようだ。
保険証とおかねを持って病院に向かった。
16時ごろに到着して、1時間半ぐらい待ったと思う。
病院内で待たなくても、外に出ててもよい(待ち時間が近くなっても電話連絡などはない。)
待っている間受付に伝えて、外出させてもらった。ツクモでハードディスクの調達。
外出から戻って、戻ってきたことを受付に報告。
ようやく呼ばれて、診察室に入る。
先生は菅義偉官房長官似(?)の見た目で、温厚そうな感じであった。
ていねいに診察をしてもらえるから待ち時間が長いのかもしれない。
単純に切る方法と根元から切る方法がある。私は根元から切るほうを選んだ。
片足ずつしかできないそうだ。
2日後に手術の予約を入れた。

手術当日

体育の授業が終わった後、電車で吉祥寺まで向かった。
19時予約の15分前に到着。
19時から見て15分ちょい待たされて、診察室に連れてかれる。
仰向けに寝かせられる。
親指に局所麻酔を打たれる。痛さと不快感が強い。
麻酔が効くのを待つ。
院長、拡大メガネとライトをつけて手術に取り掛かる。
麻酔が効いているので痛くはない。
爪と爪の根っこ、かさぶたを除去された。
けっこうしっかり?縫合をして終了。20分かかった。
サンダルを履く
「外は雨か」聞かれて、そうだと答えると、足を濡れないように袋に入れられた
麻酔が切れ始めていたい。

ロキソプロフェン(痛み止め)と抗生物質、胃の保護の薬を処方されて、同フロアの薬局でもらう。
全部でだいたい9000円から1万円ぐらい。
電車で帰るときは結構痛かった。


1日後
昨日よりはましだがそれなりに痛い。処方された薬を飲む

2日後
痛くなくなった。

3日後
再診。380円。包帯張替え。

5日後
学校終わりにまた再診。500円ぐらい、夜間診療込で。
包帯の大きさが靴を履けるレベルになりました。

もう2回ほど行っていかなくていい雰囲気で通院終了。

切ったほうの爪は1か月経っても痛みはないです。切ってないほうは痛いままなのですが、できれば切らないほうがいいから様子見だね、と最後に医者に言われて以降放置。多少は痛い。

まとめ

手術は相当痛いですが、巻き爪のようにじわじわむしばむ痛さのほうがつらいので、つらい方は手術するのをおすすめ(?)

[ICU]サークルの勧誘ってどうなの?

別ブログの運用がめんどくさくなった(1記事も公開する前に)ので、こちらに記録

ICUにはいくつかサークル(あるいは部活)があります。
公認はこちら。いくつかはホームページに記載があるものの消えているサークルがあります。(e.g. 天体観測部) ほぼすべてのサークルはSNSアカウントを持っているので連絡を取ることを勧める。
https://www.icu.ac.jp/campuslife/club/
ざっと解説を書いていきます。
広報があまりなされていないので、参考になるかな!?

プロフィール

国際基督教大学 1年 (ID23、2023年卒業予定)
    記事は1年生目線で書かれています。
公立小学校→中高一貫校→ICU一般入試

記事の対象読者

新入生(4月入学)

新歓イベント

実施時期

私は春学期入学ですので、その場合
4月の授業が開始するより前に2日ほど、勧誘イベントが催されます。

お花見

実施場所

いわゆる「滑走路」(校外から教会まで伸びている道路のこと、路線バスが乗入れます)には申請した団体がレジャーシートを引いて、呼び込みを実施します。
 

開始時間

だいたい16時ぐらいから開始します。

参加団体

学内の公認サークルの多くが参加します。
インカレのサークル(複数の大学のサークル)も参加している場合があります。
申請を逃した団体は参加しないでしょう。やむを得ず、近くで勧誘している場合もあります。
 

発表会

ディッフェンドルファー記念館(=D館)東棟(汚い方)の講堂で各サークルがプログラムに従って、何か発表します。
発表時間のパンフを配っているはずです。

その他

各サークルはおのおのイベントを実施しているケースは多いので、TwitterやFacebookがあるか探してみましょう

サークルの種類 

正直あまり多いほうではないと思います。特に関係のない大学のサークルに属している人も少なからずいるようです。

キツさ

すごいゆるくて行ったり行かなくてもよいのもあるし、結構ガチでやっているものもあります。サークル・部活という接尾辞と関係はない(と思う)ので、各団体に確認するべきです。
不定期、週1、週3などさまざま。運動部は大変かもしれない。
活動時間もかなりばらつきがあります。ただ、高校の部活の1/5ぐらいの労力だし、やめるのも自由なので思い切って入っちゃうのもありかも(途中から入りずらいでしょう?)

他の学校や日常生活との両立

通学時間やELAのStreamやとっている授業の課題量によって異なりますが、忙しい団体では他の生活と両立することはできそうです(ただし運動部員だと、課題を当日の朝急いで終わらせる人もいるように感じます。)。ICUは「忙しい」と主張する人もいますが、そんなにでもないと思います。高校生活のほうが倍以上に大変です。少なくとも私は十分に単位をとりながら小学生以下の量の活動しかしていません(学内でサークルは入っていないのですが)。英語が得意なひとはELAの準備が楽になるので課題に時間を少く使えますが、苦手ならば時間は多くかかります。通学時間が長いとかなり不利になります。1時間以内で学校に到着できる人が多い印象なので...

まとめ

サークル入っとくとお友達できるので入っとくべきだとは書いておきます。
陽キャ・陰キャかかわらずたいていの人は何かに入れるでしょう。
学内で入っておかないとわたしのようなぼっちになります。

ごみ記事:libminecraft.soを解析して、パケットとか、いろいろ調べる! パケット読み方を頑張る編#3

こんにちは、皆に愛されるはにおかさいです。 人生に迷いすぎて精神崩壊しそうです。あぁ、もうしてるか。 今回は、パケットの読み方を頑張ります。 こちらも参考にしてください http://blog.haniokasai.com/2017/04/libminecrafts...