画面の視野角?をいじりたい

player's walk speedが下がれば下がるほど 実質的に画面の中央が拡大されていくわけですが 現在はset player's movement speed attribute to 0で画面を拡大させています これの拡大率をさらに上げたいです どなたか方法ご存じないですか
No description
14 Replies
月猫ch
月猫chOP4w ago
やりたいこと 銃のスコープを作る上で拡大率をさらに上げたい
Kurumi1011
Kurumi10113w ago
A. プレイヤーに手動でマイクラの視野の設定を変えさせる 🥺
月猫ch
月猫chOP3w ago
;;
Kurumi1011
Kurumi10113w ago
設定で変えるような項目をかえることってできるのかな
月猫ch
月猫chOP3w ago
聞いたことないなぁ…modでもない限り でも何かのpluginで、通常時以上に視野角を下げさせる?拡大させる?やつがあった気がするんだよね…
DarkestCat
DarkestCat3w ago
月猫ch
月猫chOP3w ago
やはりパケットか…だる…
DarkestCat
DarkestCat3w ago
基本的な仕組みとしては プレイヤーに能力更新(歩行スピード変更)のパケット送信 プレイヤーの視野角はあがる サーバー側では歩行スピードは上がってない って感じらしい ただこれ1.19っていう新しいバージョンのだから 古いバージョンでどんな挙動をするのかわからない
あお🦀
あお🦀3w ago
import:
net.minecraft.server.v1_16_R3.PacketPlayOutAbilities

function changeFov(p: player, fov: number):
set {_packet} to new play_server_abilities packet
set field 0 of {_packet} to whether {_p} is invulnerable
set field 1 of {_packet} to whether {_p} is flying
set field 2 of {_packet} to whether {_p} can fly
set field 3 of {_packet} to whether ({_p}'s gamemode) is creative
set field 4 of {_packet} to {_p}'s fly speed
set field 5 of {_packet} to {_fov}
send packet {_packet} to {_p}

command /changefov <number>:
trigger:
changeFov(player, arg-1)
import:
net.minecraft.server.v1_16_R3.PacketPlayOutAbilities

function changeFov(p: player, fov: number):
set {_packet} to new play_server_abilities packet
set field 0 of {_packet} to whether {_p} is invulnerable
set field 1 of {_packet} to whether {_p} is flying
set field 2 of {_packet} to whether {_p} can fly
set field 3 of {_packet} to whether ({_p}'s gamemode) is creative
set field 4 of {_packet} to {_p}'s fly speed
set field 5 of {_packet} to {_fov}
send packet {_packet} to {_p}

command /changefov <number>:
trigger:
changeFov(player, arg-1)
一応作ってみましたが思ってるよりズームできないかも walkSpeedを下にfovが変更されているわけなので、結局walkSpeedを変えるのと倍率は変わらない気がします🥲
月猫ch
月猫chOP3w ago
望遠鏡?だっけ あれが実装されてるから上のverで出来てるだけで 1.16.5の環境だとこれが最大なんじゃないかと思っている 試した感じそうっぽい あおさん、もしよかったら もしよかったら!! https://discord.com/channels/545926404785569793/1325718016440406118 こっちもお願いできませんかね…
4Vx¼ް
4Vx¼ް3w ago
https://github.com/WangTingZheng/mcp940/blob/d0c030a4139ce7cf3f284b180f0d9ea87bdf8141/src/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java#L164 1.12.2のソースだけど1.16.5と変わってないからMOVEMENT_SPEED=0で弓引いてるときが最大
月猫ch
月猫chOP3w ago
ってことは弓関連のパケットと組み合わせればいけるのかな…
if (this.isHandActive() && this.getActiveItemStack().getItem() == Items.BOW)
{
int i = this.getItemInUseMaxCount();
float f1 = (float)i / 20.0F;

if (f1 > 1.0F)
{
f1 = 1.0F;
}
else
{
f1 = f1 * f1;
}

f *= 1.0F - f1 * 0.15F;
}
if (this.isHandActive() && this.getActiveItemStack().getItem() == Items.BOW)
{
int i = this.getItemInUseMaxCount();
float f1 = (float)i / 20.0F;

if (f1 > 1.0F)
{
f1 = 1.0F;
}
else
{
f1 = f1 * f1;
}

f *= 1.0F - f1 * 0.15F;
}
ほんまや
4Vx¼ް
4Vx¼ް3w ago
多分handactiveがクライアント側でしか処理されない handactiveってのは弓引いてる時とかボート漕いでる時にtrueになる mixinでinjectして常にfalseを返すようにすると弓構えたまま走ったりボート漕ぎながら食べたりできるようになる
月猫ch
月猫chOP3w ago
何一つ間違ってないし、伝わるのに オフチョベットしたテフをマブガット感がある しかしfovの最大値を出すためには、isHandActive() だけじゃなくて playerが弓をactiveにしてないといけないみたいだし うーん、めんどくさそう

Did you find this page helpful?