コマンド/Press to code/QandA保存用ページ8

Last-modified: 2025-11-30 (日) 15:53:38

その他リンクはサイドバーから

目次

ワープアイテム

匿名W (2025-09-08 (月) 20:02:34)

鯖に入った瞬間から手持ちに入ってて、持った状態で使用すると指定した座標にワープするみたいな
出来れば3.4つ分欲しいです(ワープできる数
名前はなんでもokです
お願いします


  • 具体的に教えてください。
    ・ワープ座標の指定方法
    ・手持ちにするアイテム -- ryoku_ 2025-09-08 (月) 21:02:33
  • Paintballでお願いします、指定方法はPaintballを4種類用意して1つにつき1個ワープ先を設定するという感じです、出来ればアイテムの名前を変えて(スポーンやショップ等 -- 匿名W 2025-09-09 (火) 13:47:21
    posSetItem = "Red Paintball"
    onPlayerJoin = (pId,reset ) => {
    	if(!api.hasItem(pId,posSetItem)) {
    		api.giveItem(pId,posSetItem,1,{customDisplayName : "スポーン"})
    	}
    }
    
    customPosList = [
    {name : "Dia", pos : [10,10,10]},
    {name : "スポーン", pos : [80,10,1000]}
    ]
    onPlayerAttemptAltAction = (pId, x, y, z, block, eId) => {
    	item = api.getHeldItem(pId)
    	if(item?.name == posSetItem) {
    		pos = item.attributes.customDisplayName
    		if(!isNaN(pos[0]) && !isNaN(pos[1]) && !isNaN(pos[2])) {
    			api.setPosition(pId,JSON.parse(pos))
    		}else {
    			for(customPos of  customPosList) {
    				if(customPos.name == pos) {
    					api.setPosition(pId,customPos.pos)
    				}
    			}
    		}
    	}
    }
  • ペイントボールの名前を名札を用いて、設定してあるワープ名または[10,10,10]のようにしてクリックするとワープします。 -- ryoku_ 2025-09-09 (火) 17:51:28
  • ワープ場所をもっと増やしたいならcustomPosListのところをいじってください! -- ryoku_ 2025-09-09 (火) 17:52:25
  • 超感謝 -- 匿名W 2025-09-09 (火) 19:59:18
  • 感謝! -- 2025-09-15 (月) 11:08:10

右側のやつにキル数

nezumiX (2025-09-08 (月) 19:10:55)

右側のやつに、キルしたプレイヤーの数を表示させるコードを教えてください!
(至急)


  • プレイヤーネーム:kill数って感じですかね? -- ryoku_ 2025-09-08 (月) 21:05:56
  • はいそうです -- nezumiX 2025-09-08 (月) 22:27:48
  • もしかしたらコードを制作して頂く時に参考になるかもしれないので、一応ゲームの内容を言っておくと、銃撃戦です。(長文すみません) -- nezumiX 2025-09-08 (月) 22:29:41
onPlayerJoin = (pId,reset) => {
	globalThis[`${pId} kill count`] = 0
}

onPlayerKilledOtherPlayer = (attackerPId, diedPId, damage, item) => {
	globalThis[`${attackerPId} kill count`]++
	updateKillInfo()
}

function updateKillInfo () {
	let killLists = [];
	let infos = ["Player Kills"];
	for(let pId of api.getPlayerIds()) {
		killLists.push({"name":api.getEntityName(pId),"kill":globalThis[`${pId} kill count`]})
	}
	killLists.sort((a, b) => b.kill - a.kill)
	for(let i = 0; i < 5; i++) {
		if(killLists[i] !== undefined) {
			infos.push(`${killLists[i].name} : ${killLists[i].kill} kill`)
		}
	}

	result = infos.join("\n");
	for(let pId of api.getPlayerIds()) {
		api.setClientOption(pId,"RightInfoText",result)
	}
}
  • 流石にちょっとだけAIを使いました。 -- ryoku_ 2025-09-09 (火) 06:21:11
  • player killsの前後に⚔️をつけてみても良いかもしれません。 -- ryoku_ 2025-09-09 (火) 06:21:49
  • ありがとうございます! -- nezumiX 2025-09-09 (火) 07:22:11

一秒たつごとに、effectのレベルが上がるようにしたい

匿名 (2025-09-08 (月) 17:13:04)

例えば採掘速度上昇のレベルを一秒たつごとに1,2,3...とどんどんレベルを上げていきたい


onPlayerJoin = (pId,reset) => {
	globalThis[`${pId} effect level`] = 0
}

let tickCount = 0
tick = (ms) => {
	tickCount++
	for(pId of api.getPlayerIds()) {
		if(tickCount %20 ===0 && globalThis[`${pId} effect level`] < 50) {
			globalThis[`${pId} effect level`]++
			api.applyEffect(pId,"Haste",null,{inbuiltLevel : globalThis[`${pId} effect level`]})
		}
	}
}
  • これでどうだ! -- ryoku_ 2025-09-08 (月) 21:08:04
  • おおすごい!僕もちょうどこれが欲しかった!ありがとう! -- nezumiX 2025-09-08 (月) 22:30:25
  • 返信遅れてすいません ありがとうございます! -- 匿名 2025-09-11 (木) 13:52:58

クリエイティブで特定のアイテムを手に入れないようにする

情緒 (2025-09-07 (日) 22:09:48)

教えてください


blockItems = ["Kill Spikes","RPG"];
onInventoryUpdated = (pId) => {
	for(blockItem of blockItems) {
		amt = api.getInventoryItemAmount(pId,blockItem)
		if(amt !== 0) {
			api.removeItemName(pId,blockItem,amt)
		}
	}
}
  • 意外と簡単ですね。 -- ryoku_ 2025-09-09 (火) 06:32:56

倒したらコインがもらえるcode

亡霊 (2025-09-07 (日) 21:20:21)

わかんない


  • こちら -- ryoku_ 2025-09-08 (月) 06:28:00
  • もしコイン獲得の表示がいらないなら三行目と四行目を消してくださいー。 -- ryoku_ 2025-09-08 (月) 06:28:59
api.setDefaultMobSetting(
	"Frost Zombie",
	"onDeathItemDrops",
	[{	itemName: "Diamond",
        probabilityOfDrop: 1, //ドロップ率
        dropMinAmount: 100, //最小ドロップ量
        dropMaxAmount: 1001, //最大ドロップ量
    },]
)
  • たぶんこういうこと -- ryoku_ 2025-09-12 (金) 16:05:10
  • 返信遅れてごめんありがとう -- 匿名 2025-09-13 (土) 05:41:00

パーティクルによる攻撃

カクタス (2025-09-12 (金) 15:16:29)

海外とか魔法サバイバルとかであったパーティクルを出してそれが当たったら攻撃できるcodeが知りたいです。
解説とかつけてくれたらありがたい


  • これを参考にどうぞ。 -- ryoku_ 2025-09-12 (金) 15:40:11
  • AIは勝手に関数作りやがったりやりたい放題するため制作には不向きですが、解読とかは得意なので聞いてみると良いかもしれません。けんたきに言ってください。 -- ryoku_ 2025-09-12 (金) 15:41:44
  • ありがとうございます!🙏 -- 2025-09-12 (金) 16:00:48

ワンブロ

(2025-09-11 (木) 19:58:01)

ワンブロを作れると良いなぁって、、、
0 -5000 0にあるブロックか破壊されると指定したブロックの中からランダムに設置されるっていうcode
誰か頼む


const blockList = [
    {name: "Dirt", chance: 40},
    {name: "Stone", chance: 30},
    {name: "Gold Ore", chance: 15},
    {name: "Iron Ore", chance: 10},
    {name: "Messy Stone", chance: 5},
];
const oneBlockPos = [30,1,30]
onPlayerChangeBlock = (pId, x, y, z, from, to, dropItem, fromInfo, toInfo) => {
	isOneBlock = true
	pos = [x,y,z]
	for(let i = 0; i <3; i++) {
		if(oneBlockPos[i] !== pos[i]) {
			isOneBlock = false
		}
	}
	if(isOneBlock && to == "Air") {
		let totalChance = 0;
		for (const item of blockList) totalChance += item.chance;

		let r = Math.random() * totalChance;
		let loot = null;
		for (const item of blockList) {
		    if (r < item.chance) {
		        loot = item.name;
		        break;
		    }
		    r -= item.chance;
		}

		api.setBlock(oneBlockPos,loot)
	}
}
  • blockListに色々追加してください。わからないことがあったら言ってください! -- ryoku_ 2025-09-11 (木) 20:14:00
  • ありがとう!! -- 2025-09-11 (木) 20:24:05
  • 確率って出来るんですかね -- 2025-09-12 (金) 18:11:03
    参考にしたもの
  • こういう感じになります。 -- ryoku_ 2025-09-14 (日) 13:47:36

与えたダメージ量が表示されるworldcode

yuki9125 (2025-09-11 (木) 18:42:02)

プレイヤーを攻撃すると、
銃で撃った時みたいにダメージ数が
画面に出るようにできませんか?
sendFlyingMiddleMessageを使ってください。


onPlayerDamagingOtherPlayer = (attacker, damager, damage, item, bodyPartHit, damagerDbId) => {
	api.sendFlyingMiddleMessage(attacker,[{str:String(damage),style:{color:"red"}}],50)
}
  • 多分こうですね。50のところを小さくするとより大きく動くようになります。 -- ryoku_ 2025-09-11 (木) 20:02:13
  • 出来ないんだが... -- 2025-09-13 (土) 18:28:07
  • できますよ?。他のところでonPlayerDamagingOtherPlayerを使っていませんか?使っていたら消す必要があります。競合するので。 -- ryoku_ 2025-09-14 (日) 13:08:48

ランク上げ

nezumiX (2025-09-11 (木) 18:19:52)

プレイヤーをキルするとランクが上がるコードを教えて下さい


  • ランク定義をお願いします。例:4kill → epic killerなど。 -- ryoku_ 2025-09-11 (木) 19:58:58
  • ランクは 3kill→spiderman でお願いします(ちょっとふざけちゃったか()) -- nezumiX 2025-09-11 (木) 20:21:14
  • 分かりにくかったらごめんなさい -- nezumiX 2025-09-11 (木) 20:21:39
  • 度々すいません、ランクはどこに表示しますか? -- ryoku_ 2025-09-11 (木) 20:44:10
  • チャットに表示するようにしたいです。また,出来ればネームタグでも表示できるようにしたいです。 -- nezumiX 2025-09-12 (金) 07:26:52
  • 返信待ってます -- nezumiX 2025-09-12 (金) 22:20:12
    onPlayerKilledOtherPlayer = (attackerPId, diedPId, damage, item) => {
    	api.setMoonstoneChestItemSlot(attackerPId,34,"Fireball Block",nowKill(attackerPId)+1,{})
    
    }
    
    const ranks = [
    	{name :"1stKiller", kills:1},
    	{name :"2ndKiller", kills:2},
    	{name :"3rdKiller", kills:3},
    	{name :"4thEpicKill",kills:4}
    ]
    
    onPlayerChat = (pId, message, channel) => {
    	if(channel == null) {
    		pName = api.getEntityName(pId)
    		ownRank = "noRank"
    		for(rank of ranks) {
    			if(rank.kills <= nowKill(pId)) {
    				ownRank = rank.name
    			}
    		}
    		api.broadcastMessage(`[${ownRank}] ${pName} : ${message}`)
    		return "preventChat"
    	}
    }
    
    function nowKill (pId) {
    	moonstoneItem = api.getMoonstoneChestItemSlot(pId,34)
    	if(moonstoneItem == null) {
    		return(0)
    	}else {
    		return(moonstoneItem.amount)
    	}
    }
  • こうですね。ranksを調整していってください。 -- ryoku_ 2025-09-14 (日) 14:09:42
  • ありがとうございます -- nezumiX 2025-09-15 (月) 09:48:24

自作通貨?を作りたい

  (2025-09-10 (水) 19:20:56)

ランクサバイバルV2のように自作通貨のコードをください
あと画面右に所持金(自作通貨)を表示できるコード


  • 外部から失礼します、このcodeにsell&buy機能をつけることは可能でしょうか -- 2025-09-10 (水) 20:55:25
  • こちら! -- ryoku_ 2025-09-14 (日) 13:48:36

ブロック置くコードでブロックの向きを指定したい

yuki9125 (2025-09-10 (水) 17:55:22)

api.setBlock([6.5,6,58.5],"Iron Ladder")
これははしごを置くコードですが、置く方向を
決めることはできませんか?
はしごが変な方向を向いてしまうのですが...


  • ブロック名の最後にmeta|rot4とか置くんじゃなかったっけ?知らんけどそんな感じだったと思うよ -- けんたき 2025-09-10 (水) 22:06:19
  • getblockで名前調べてみたら? -- けんたき 2025-09-10 (水) 22:06:57
  • "Iron Ladder|meta|rot2"とかだね。rot1~rot4 -- ryoku_ 2025-09-11 (木) 19:58:17

これ頼む

成吉思汗 (2025-09-10 (水) 17:45:55)

ランクサバイバルv3(?)のスポーンのとこにあったマジック文字ってどうやるの?


  • マジック文字とはなんですか? -- けんたき 2025-09-10 (水) 22:07:31
  • code blockを押すと文字が出るやつです。 -- 成吉思汗 2025-09-11 (木) 16:45:07
  • スポーンして噴水のとこにあったはずです -- 成吉思汗 2025-09-11 (木) 16:47:03
  • 「文字が出る」だけでなく、詳細な情報についてもご説明いただけますでしょうか?たとえば、その文字がどこから出てくるものなのかや具体的にどのような見た目なのかについてお教えいただけると大変助かります。また今後は曖昧な質問ではなく相手が分かるようにしっかり説明してから尋ねるようにしてください -- けんたき 2025-09-11 (木) 17:05:55
  • ランクサバイバル って書いてあるカラフルな文字が空中を飛んで襲ってくるやつか?それなら見たことあるぞ -- nezumiX 2025-09-11 (木) 20:39:27
  • それです -- 成吉思汗 2025-09-12 (金) 17:20:58

生贄

神保 (2025-09-10 (水) 17:32:33)

AさんがBさんを殺したらAさんが死ぬコマンドを教えて


onPlayerKilledOtherPlayer = (attackerPId, diedPId, damage, item) => {
	api.setHealth(attackerPId,0)
}
  • 死にます。誰かが殺したように見せかけたいなら言ってください。 -- ryoku_ 2025-09-11 (木) 19:53:51
  • AさんやBさんなどは指定できますか? -- 2025-09-15 (月) 21:17:06

いつも質問する側でごめんなさい。

ネギ (2025-09-10 (水) 17:06:07)

hypixel_1v1とかGrow & Farmみたいに今実際にサーバーに参加していない人のデータはどうやって保存するのか教えて欲しい。


  • チェストに入ってるアイテムの属性に保存する方法とsetblockdataでアイテムに直接保存する方法があるよ -- けんたき 2025-09-10 (水) 22:08:48
  • ムンチェ保存がむっちゃくちゃ有名だよね。 -- ryoku_ 2025-09-11 (木) 17:38:40
  • ムンチェのやつってサーバーにいる人のデータしか取得できないんじゃないっけ。 -- ネギ 2025-09-11 (木) 18:14:42
  • そこはglobalThisで補い合う。 -- ryoku_ 2025-09-11 (木) 19:55:06
  • https://discord.com/channels/804347688946237472/1395675050098688070/1395675050098688070
    これ使ってみたら? -- けんたき 2025-09-11 (木) 20:24:56
  • なんとなくわかってきた。ありがとう。 -- ネギ 2025-09-12 (金) 15:53:29

エフェクト無制限に使用するコードが欲しい

yuya1228 (2025-09-10 (水) 16:38:50)

題名どおりエフェクト無制限に使用するコードが欲しいです


  • Codeblockで⇓を実行してください。効果時間の無制限ならこれでいけます。 -- ryoku_ 2025-09-11 (木) 19:56:08
    api.applyEffect(myId,"Speed",null,{})

1マス歩くと1Coin貰える

匿名 (2025-09-09 (火) 20:18:16)

題名の通り1マス歩くと1Coin貰えるcodeが欲しいです


onPlayerJoin = (pId, reset) => {
	globalThis[`${pId} pos`] = api.getPosition(pId)
}
tickCount = 0
giveAmt = 1
tick = () => {
	tickCount++
	if(tickCount %20 ===0) {
		for(pId of api.getPlayerIds()) {
			let walk = 0
			nowPos = api.getPosition(pId)
			for(let i =0; i<3; i++) {
				walk = walk + Math.abs(globalThis[`${pId} pos`][i] - nowPos[i])
			}
			walkAmt = Math.floor(walk)
			if(walkAmt !== 0) {
				api.giveItem(pId,"Gold Coin",walkAmt *giveAmt)
			}
			globalThis[`${pId} pos`] = api.getPosition(pId)

		}
	}
}
  • 直線距離ではないです。そこまで求めるならけんたきを召喚してください。 -- ryoku_ 2025-09-10 (水) 08:01:36

スタミナ

匿名 (2025-09-09 (火) 20:17:35)

20秒走ると少しずつ遅くなる、止まると回復するというcodeが欲しいです


onPlayerJoin = (pId, reset) => {
	globalThis[`${pId} pos`] = api.getPosition(pId)
	globalThis[`${pId} stamina`] = 20
}
tickCount = 0
tick = () => {
	tickCount++
	if(tickCount %20 ===0) {
		for(pId of api.getPlayerIds()) {
			let walk = false
			nowPos = api.getPosition(pId)
			for(let i =0; i<3; i++) {
				if(Math.abs(globalThis[`${pId} pos`][i] - nowPos[i]) >1) {
					walk = true
				}
			}

			if(walk) {
				if(globalThis[`${pId} stamina`] < 5) {
					api.applyEffect(pId,"Slowness",10000,{inbuiltLevel : 5 -globalThis[`${pId} stamina`]})
				}
				if(globalThis[`${pId} stamina`] > 0) {
					globalThis[`${pId} stamina`] = globalThis[`${pId} stamina`]-1
				}

			}else if(globalThis[`${pId} stamina`] < 20){
				globalThis[`${pId} stamina`]++
				api.removeEffect(pId,"Slowness")
			}
			api.setClientOption(pId,"middleTextLower",`スタミナ: ${globalThis[`${pId} stamina`]}`)
			globalThis[`${pId} pos`] = api.getPosition(pId)

		}
	}
}
  • まぁこれでだいたいいいんじゃね? -- ryoku_ 2025-09-10 (水) 07:53:57

ワープアイテム

匿名W (2025-09-08 (月) 20:02:34)

鯖に入った瞬間から手持ちに入ってて、持った状態で使用すると指定した座標にワープするみたいな
出来れば3.4つ分欲しいです(ワープできる数
名前はなんでもokです
お願いします


  • 具体的に教えてください。
    ・ワープ座標の指定方法
    ・手持ちにするアイテム -- ryoku_ 2025-09-08 (月) 21:02:33
  • Paintballでお願いします、指定方法はPaintballを4種類用意して1つにつき1個ワープ先を設定するという感じです、出来ればアイテムの名前を変えて(スポーンやショップ等 -- 匿名W 2025-09-09 (火) 13:47:21
    posSetItem = "Red Paintball"
    onPlayerJoin = (pId,reset ) => {
    	if(!api.hasItem(pId,posSetItem)) {
    		api.giveItem(pId,posSetItem,1,{customDisplayName : "スポーン"})
    	}
    }
    
    customPosList = [
    {name : "Dia", pos : [10,10,10]},
    {name : "スポーン", pos : [80,10,1000]}
    ]
    onPlayerAttemptAltAction = (pId, x, y, z, block, eId) => {
    	item = api.getHeldItem(pId)
    	if(item?.name == posSetItem) {
    		pos = item.attributes.customDisplayName
    		if(!isNaN(pos[0]) && !isNaN(pos[1]) && !isNaN(pos[2])) {
    			api.setPosition(pId,JSON.parse(pos))
    		}else {
    			for(customPos of  customPosList) {
    				if(customPos.name == pos) {
    					api.setPosition(pId,customPos.pos)
    				}
    			}
    		}
    	}
    }
  • ペイントボールの名前を名札を用いて、設定してあるワープ名または[10,10,10]のようにしてクリックするとワープします。 -- ryoku_ 2025-09-09 (火) 17:51:28
  • ワープ場所をもっと増やしたいならcustomPosListのところをいじってください! -- ryoku_ 2025-09-09 (火) 17:52:25
  • 超感謝 -- 匿名W 2025-09-09 (火) 19:59:18
  • 感謝! -- 2025-09-15 (月) 11:08:10

右側のやつにキル数

nezumiX (2025-09-08 (月) 19:10:55)

右側のやつに、キルしたプレイヤーの数を表示させるコードを教えてください!
(至急)


  • プレイヤーネーム:kill数って感じですかね? -- ryoku_ 2025-09-08 (月) 21:05:56
  • はいそうです -- nezumiX 2025-09-08 (月) 22:27:48
  • もしかしたらコードを制作して頂く時に参考になるかもしれないので、一応ゲームの内容を言っておくと、銃撃戦です。(長文すみません) -- nezumiX 2025-09-08 (月) 22:29:41
onPlayerJoin = (pId,reset) => {
	globalThis[`${pId} kill count`] = 0
}

onPlayerKilledOtherPlayer = (attackerPId, diedPId, damage, item) => {
	globalThis[`${attackerPId} kill count`]++
	updateKillInfo()
}

function updateKillInfo () {
	let killLists = [];
	let infos = ["Player Kills"];
	for(let pId of api.getPlayerIds()) {
		killLists.push({"name":api.getEntityName(pId),"kill":globalThis[`${pId} kill count`]})
	}
	killLists.sort((a, b) => b.kill - a.kill)
	for(let i = 0; i < 5; i++) {
		if(killLists[i] !== undefined) {
			infos.push(`${killLists[i].name} : ${killLists[i].kill} kill`)
		}
	}

	result = infos.join("\n");
	for(let pId of api.getPlayerIds()) {
		api.setClientOption(pId,"RightInfoText",result)
	}
}
  • 流石にちょっとだけAIを使いました。 -- ryoku_ 2025-09-09 (火) 06:21:11
  • player killsの前後に⚔️をつけてみても良いかもしれません。 -- ryoku_ 2025-09-09 (火) 06:21:49
  • ありがとうございます! -- nezumiX 2025-09-09 (火) 07:22:11

一秒たつごとに、effectのレベルが上がるようにしたい

匿名 (2025-09-08 (月) 17:13:04)

例えば採掘速度上昇のレベルを一秒たつごとに1,2,3...とどんどんレベルを上げていきたい


onPlayerJoin = (pId,reset) => {
	globalThis[`${pId} effect level`] = 0
}

let tickCount = 0
tick = (ms) => {
	tickCount++
	for(pId of api.getPlayerIds()) {
		if(tickCount %20 ===0 && globalThis[`${pId} effect level`] < 50) {
			globalThis[`${pId} effect level`]++
			api.applyEffect(pId,"Haste",null,{inbuiltLevel : globalThis[`${pId} effect level`]})
		}
	}
}
  • これでどうだ! -- ryoku_ 2025-09-08 (月) 21:08:04
  • おおすごい!僕もちょうどこれが欲しかった!ありがとう! -- nezumiX 2025-09-08 (月) 22:30:25
  • 返信遅れてすいません ありがとうございます! -- 匿名 2025-09-11 (木) 13:52:58

クリエイティブで特定のアイテムを手に入れないようにする

情緒 (2025-09-07 (日) 22:09:48)

教えてください


blockItems = ["Kill Spikes","RPG"];
onInventoryUpdated = (pId) => {
	for(blockItem of blockItems) {
		amt = api.getInventoryItemAmount(pId,blockItem)
		if(amt !== 0) {
			api.removeItemName(pId,blockItem,amt)
		}
	}
}
  • 意外と簡単ですね。 -- ryoku_ 2025-09-09 (火) 06:32:56

倒したらコインがもらえるcode

亡霊 (2025-09-07 (日) 21:20:21)

わかんない


  • こちら -- ryoku_ 2025-09-08 (月) 06:28:00
  • もしコイン獲得の表示がいらないなら三行目と四行目を消してくださいー。 -- ryoku_ 2025-09-08 (月) 06:28:59

while文って何スカ -- yuuto

yuuto (2025-09-07 (日) 19:31:08)

ちょっと最近Javascriptに力入れてます。
While文って何スカ?
While文について、メリット・デメリット、使い方の例
を教えてほしいです。
こういうのググれば出るんだろうけど、頭に入らない。
やっぱりまとめてくれた言葉が一番入る気がする。
だから頼む。


  • 重いのでできるだけ使わないほうがいい
    使い方としては
    while(ここの条件式がtrueのときに繰り返す){
      処理
    };
    • けんたき 2025-09-07 (日) 20:17:11
  • ループを抜けるにはbreakで次のループに強制的に移動するにはcontinueを使う -- けんたき 2025-09-07 (日) 20:30:02
  • for文でも簡単に代用できるよね。 -- ryoku_ 2025-09-07 (日) 20:38:30
  • forはあらかじめ回数がわかってるとき、whileは何回繰り返すかわからないときに使う -- けんたき 2025-09-07 (日) 22:35:24
  • まあ厳密には違うけどねー。for(let i =0; !stop; i++) {}ってこと -- ryoku_ 2025-09-08 (月) 06:16:18

onBlockStandのエラーについて

みかん (2025-09-07 (日) 18:39:29)

onBlockStandでたまにエラーがでるんですけど、それをなくす方法ってありませんかね。
(コード自体はちゃんと動く)


  • そのエラーの内容に"interrupt"って入ってますか?もしそうなら消せません。でもそれ以外ならtry/catchで消せます -- けんたき 2025-09-07 (日) 19:05:47

パーティクルを体から出す方法

川本さん (2025-09-07 (日) 17:05:09)

let [x, y, z] = thisPos
y += 1
api.playParticleEffect({

   dir1: [-1, -1, -1],
   dir2: [1, 10, 1],
   pos1: [x, y, z],
   pos2: [x + 1, y + 1, z + 1],
   texture: "square_particle",
   minLifeTime: 0.2,
   maxLifeTime: 0.6,
   minEmitPower: 7,
   maxEmitPower: 2,
   minSize: 0.25,
   maxSize: 0.35,
   manualEmitCount: 20,
   gravity: [0, -10, 0],
   colorGradients: [
       {
           timeFraction: 0,
           minColor: [	124,252,0,0],
           maxColor: [124,252,0, 1],
       },
   ],
   velocityGradients: [
       {
           timeFraction: 0,
           factor: 1,
           factor2: 1,
       },
   ],
   blendMode: 1,

})

これを体から出したい
あとプラグインがよくわからない


  • 頭から煙みたいなのでます -- けんたき 2025-09-07 (日) 18:11:18
    api.updateEntityNodeMeshAttachment(
        myId,
        "TorsoNode",
        "ParticleEmitter",
        {
            texture: "square_particle",
            minLifeTime: 0.2, maxLifeTime: 0.6,
            emitRate: 200,
            minEmitPower: 2, maxEmitPower: 7,
            minSize: 0.25, maxSize: 0.35,
            gravity: [0, -10, 0],
            width: 0.01, height: 0.01, depth: 0.01,
            colorGradients: [
              { timeFraction: 0.0, minColor: [255,255,255,1], maxColor: [200,230,255,1] },
              { timeFraction: 1.0, minColor: [255,255,255,0], maxColor: [200,230,255,0] },
            ],
            velocityGradients: [
                { timeFraction: 0, factor: 1, factor2: 1 }
            ],
            blendMode: 1
        },
        [0, 2,0],
        [0, 0, 0]
    );
    位置は下から2つ目の配列を弄ってください
  • すみません消す方法ってありますか? -- 2025-09-08 (月) 16:04:37
  • "ParticleEmitter"をnullに変更し、そのしたのやつを全部消してください -- けんたき 2025-09-08 (月) 17:18:36
  • 頭が火事みたいになるかしら -- 2025-09-22 (月) 13:58:37
  • まいかいありがとおおお -- 2025-09-22 (月) 13:58:58
  • 感謝感謝 -- 2025-09-22 (月) 13:59:06

コールバックのやつができない

Kamakiri (2025-09-07 (日) 15:19:29)

onPlayerKilledOtherPlayer = (attackingPlayer,killedPlayer,damageDealt,withItem) = {

    attakingPlayer = api.getEntityName(attackingPlayer)
    killedPlayer = api.getEntityName(killedPlayer)
    api.broadcastMessage(`${attackingPlayer}/${killedPlayer}/${withItem}`)
 }

これもできません。
コマンドはコピペしただけなので間違ってないかと思うのですが、エラーが出ます。
有識者頼んます!


  • これあれじゃね?EntityNameでエラー出てんじゃね? -- 2025-09-07 (日) 15:32:06
  • ✖️withItem) = {
    ⭕️withItem) => { -- ryoku_ 2025-09-07 (日) 16:55:59
  • ありがとうございます。直りました! -- Kamakiri 2025-09-07 (日) 18:56:08
  • ただ、EntityNameがたまに伏字になったりします。理由分かりますか? -- Kamakiri 2025-09-07 (日) 18:57:00
  • Entityにtitが含まれてるからです。対処法は、
    a = "getEnti";
    a += "tyName";
    const getName = api[a];
    とすることです(けんたきから教えてもらった手法) -- 2025-09-07 (日) 19:24:22

キルするとコインがもらえるcode

yuki9125 (2025-09-07 (日) 15:18:08)

プレイヤーをキルするとキルした人が
1コイン獲得し、sendFlyingMiddleMessageを使って
"コイン獲得"と表示するようにしてください


onPlayerKilledOtherPlayer = (attackerPId, diedPId, damage, item) => {
	if(attackerPId !== diedPId) {
		text = [{icon:"Gold Coin"},{str:"コイン獲得",style:{color:"gold"}}]
		api.sendFlyingMiddleMessage(attackerPId,text,10)
		api.giveItem(attackerPId,"Gold Coin")
	}
}
  • ほい。 -- ryoku_ 2025-09-08 (月) 06:27:15
  • これ数とか増やせないですかね? -- raijin 2025-09-16 (火) 19:05:05

これらを検知したい -- yuuto

yuuto (2025-09-07 (日) 13:37:44)

・何かの種を植えたとき(種なら何でもOK)
・何かを手なづけたとき
・何かの敵モブを倒したとき
・寝たとき
・配列に入っているアイテムをすべて集めたとき(できれば一回でもインベントリに入ったらOKにしたいが、できない場合はすべてがインベントリに入ったらでOK)

⚠️注意事項⚠️
ムーンストーンチェストを使う場合は、0、1、2のスロットは使わないこと。
let itemなどの規制言葉が入らないようにすること。


  • yuutoの要望って80%のゲキムズと20%の超簡単に別れてるよね... -- ryoku_ 2025-09-07 (日) 16:58:37
  • もしかして:実績作ろうとしてる -- けんたき 2025-09-07 (日) 18:02:46
  • discordのほうで共有しよっか? -- けんたき 2025-09-07 (日) 18:03:28
  • 共有求む。 -- 2025-09-07 (日) 18:42:04

api.Message

Kamakiri (2025-09-07 (日) 09:08:58)

codeblockで//cutはできませんか
できないのなら、codeblockでオーナーが//cutと発言するようにできませんか


  • 360が1tickに実行できるsetBlockのマックスなので、tickコールバックとかいーろいろ頑張らないと無理です。もうページが91%なので入り切らないですねー。//cutと擬似的にチャットさせることは可能ですが、本人が行った判定をもらえません。 -- ryoku_ 2025-09-07 (日) 10:22:38
  • なるほどありがとうございます! -- Kamakiri 2025-09-07 (日) 15:21:47

globalThisってなんぞや

yuuto (2025-09-07 (日) 08:37:40)

globalThisってなんぞや
簡単に詳しく(?)教えてくれ
あとBloxdのCode APIでの使用例とか


  • 「globalThis.文字列」や「globalThis[文字列]」で使える変数だね。サーバーがシャットダウンされるまではcodeblockでもworldcodeでも使えるから便利。 -- ryoku_ 2025-09-07 (日) 10:17:00
  • 使用例出してくれんか?() -- 2025-09-07 (日) 13:38:33
  • わからんか?()って言ったら怒られそうだな...
    globalThis["name"] = "ryoku_" -- ryoku_ 2025-09-07 (日) 16:57:30
  • これをすると、ryoku_が保存されるってこと?よければこれを使うメリット・デメリットも教えてくれ -- yuuto 2025-09-07 (日) 19:26:11
  • ryokuさんが言ってるようにworldcodeでglobalthisで変数とかを定義するとコードブロック内でもその変数が使えて便利だよねってこと -- けんたき 2025-09-08 (月) 17:19:52

コールバックのやつができない

Kamakiri (2025-09-07 (日) 08:25:40)

onPlayerJoin= (playerId) => {

    let playerName = api.getEntityName(playerId);
    api.sendMessage(playerId,`hello ${playerName}`);
}

が実行できない
コマンドはあっていると思うのだが、有識者頼む!


  • ほかのコールバックも全部実行できない -- Kamakiri 2025-09-07 (日) 08:26:19
  • コールバック名= (引数) => {じゃなくてコールバック名 = (引数) => {じゃね? -- yuuto 2025-09-07 (日) 08:28:58
  • なにが違うんですか -- 2025-09-07 (日) 09:06:15
  • コールバック名のあとにスペースがない -- 2025-09-07 (日) 09:39:37
    onPlayerJoin = (pId) => {
        let pName = api.getEntityName(pId);
        api.sendMessage(pId,`hello ${pName}`);
    }
  • 一番良いのはこれだろうね。 -- ryoku_ 2025-09-07 (日) 10:15:31
  • kamakiriさんが貼ったやつ誰か修正した?普通に動くぞこれ -- けんたき 2025-09-07 (日) 10:22:55
  • ありがとうございます -- Kamakiri 2025-09-07 (日) 15:14:16
  • これも動かないのですが -- Kamakiri 2025-09-07 (日) 15:27:39
  • もしかしてだけどコードブロックで実行してる? -- けんたき 2025-09-07 (日) 19:08:59

アイテムの名称変更

神と成ったヒマジン (2025-09-06 (土) 23:45:27)

アイテムの名前を変えることはできるのか
又、HPが1より下になった場合シャベルA(シャベル=シャベルAという名称のアイテム)が発動し不死のトーテムの様な効果が発動するというcodeも出来れば作ってもらいたい


  • 前にペイントボールで特殊効果発動させるっていう複雑な効果を丸投げされたことがありますw。リメイク版はこちらですねー。 -- ryoku_ 2025-09-07 (日) 10:31:20
    api.giveItem(myId,"White Paintball",1,{customDisplayName :"不死のトーテム"})
    onAttemptKillPlayer = (deadperson, killer) => {
    	item = api.getHeldItem(deadperson)
    	if(item != null) {
    		if(item.name.includes("Paintball")) {
    			color = item.name.replace(" Paintball", "")
    
    	 		if (color == "White") {
    				slot = api.getSelectedInventorySlotI(deadperson)
    				api.setItemSlot(deadperson,slot,"Dirt",0,{})
    				return "preventDeath"
    			}
    		}
    	}
    }
  • 1つ目のコーどをcodeblockに入れて実行し、不死のトーテムをゲットしてください。それを持っている間は死にませーん -- ryoku_ 2025-09-07 (日) 10:34:00

わがままで、大変かもしれないけど、、、、

Ragu (2025-09-06 (土) 22:54:48)

魔法鯖のようにキラキラしたりするエフェクト系のリストを作って欲しい。
さらに使用方法(ダメージ量、範囲、色など、、)
お願い!


  • https://github.com/Bloxdy/code-api/blob/main/PARTICLES.md
    ここに例が載っています。またパーティクルにダメージ判定を付与させることはできないので視線を下に当たってるかどうか計算してください。てか下の方に魔法のコードあるよ -- けんたき 2025-09-07 (日) 10:27:15
  • 魔法鯖系コード人気だなー -- ryoku_ 2025-09-07 (日) 10:34:59

ryokuへ

RARURIRU (2025-09-06 (土) 21:52:26)

どっかの鯖で言った作って欲しいcode
確率で指定した座標にtpさせるcode
A:20% 1 1 1にtp
B:20% 2 2 2にtp
C:20% 3 3 3にtp
D:20% 4 4 4にtp
E:20% 5 5 5にtp
こういうやつ、ABCDEは例みたいなもん


let Random = Math.floor(Math.random() * 101);
if(Random < 20){
    api.setPosition(myId, 1,1,1)
}else if(Random < 40){
    api.setPosition(myId, 2,2,2)
}else if(Random < 60){
    api.setPosition(myId, 3,3,3)
}else if(Random < 80){
    api.setPosition(myId, 4,4,4)
}else {
    api.setPosition(myId, 5,5,5)
}
  • ryokuじゃないけど答えた。とりま簡単なコードで書くとこうかな。(多分ryokuがまたもっといいの出すんだろうけど) -- yuuto
  • 要望があればやるけど、、、短いコードだから短縮しようと思わないんだよね... -- ryoku_ 2025-09-07 (日) 12:29:06
  • てんきゅー -- RARURIRU 2025-09-07 (日) 13:55:01

プレイヤーがなにかアイテムをゲットしたら、、、

yuuto (2025-09-06 (土) 21:23:43)

プレイヤーがアイテムをゲットしたときに呼び出されるコールバックってあります?
例えば、鉄のインゴットを入手したときに、
api.sendMessage(playerId, "鉄のインゴットをゲット!", {color:"lime"})
を送るようなコード、、(多分コールバック)
あれば教えてください。


onPlayerJoin = (pId,reset) => {
	globalThis[`${pId} crafted count`] = 0

}

onPlayerPickedUpItem = (pId, itemName, itemAmount) => {
	if(itemName == "Iron Bar") {
		api.sendMessage(pId,`鉄のインゴットを${itemAmount}個ゲット!`, {color:"lime"})
	}
}

onPlayerCraft = (pId, itemName, craftingIdx, recipe) => {
	if(itemName == "Iron Bar") {
		globalThis[`${pId} crafted count`]++
		globalThis[`${pId} craft`] = true
	}
}

tickCount = 0
tick = (ms) => {
	tickCount++
	if(tickCount %20 ==0) {
		for(pId of api.getPlayerIds()) {
			globalThis[`${pId} last craft`]++
			if(globalThis[`${pId} craft`]) {
				api.sendMessage(pId,`鉄のインゴットを${globalThis[`${pId} crafted count`]}個ゲット!`, {color:"lime"})
				globalThis[`${pId} craft`] = false
			}
		}
	}
}
  • 追加で個数も表示できるんだぜ。 -- ryoku_ 2025-09-07 (日) 07:39:50
  • これってクラフトも反応する?あとチェストから取ったときとか。 -- yuuto 2025-09-07 (日) 08:29:39
  • ワカッタヨ... -- ryoku_ 2025-09-07 (日) 12:29:30
  • チェストは無理。 -- ryoku_ 2025-09-07 (日) 13:24:41
  • あんがと! -- 2025-09-07 (日) 13:38:19

itsbobPVPとかJohalandとかの1v1形式のコマンドってどうやるの....(わがままですけどコマンド作って欲しいです)

.... (2025-09-06 (土) 20:47:03)

ryokuさん前回は難しいコマンドを作ってくださりありがとうございました!!>_<ここで更にわがまま言わせてもらいます....とある1グループがpvp場を使用していても他のグループもpvpができるようにコマンドを改正してほしいです(語彙力なくてすいません;^;)


  • それを今自鯖で研究してるんですよねー。もうちょっと時間がかかってしまいそうです... -- ryoku_ 2025-09-06 (土) 20:49:13

特定のエリアに入るとメッセージが表示されるコード

nezumiX (2025-09-06 (土) 20:02:34)

特定のエリアに入るとメッセージが表示されるコードを教えて下さい!!


  • 一回のみの実行ですか?それとも何回か実行しますか? -- 2025-09-06 (土) 20:34:06
  • 何回かの実行で大丈夫です -- nezumiX 2025-09-06 (土) 22:15:41
  • 何回か実行だと大量にメッセージ出てきてチャット埋まるよ() -- 2025-09-07 (日) 08:36:38
  • あっ...確かにそうですねw指摘していただきありがとうございます。では、1回のみの実行をお願いしてよろしいでしょうか。 -- nezumiX 2025-09-07 (日) 10:46:57
  • 解決しました -- nezumiX 2025-09-08 (月) 19:11:19

さぶねーむタグじゃなくて

からあげ (2025-09-06 (土) 19:39:06)

さぶねーむタグじゃなくて
名前の横とかにつけれるやつは?


  • 相手はAIじゃなくて人間なんだからもうちょっと誠意のある言い方をしてほしいです。 -- ryoku_ 2025-09-06 (土) 20:35:24
    api.setTargetedPlayerSettingForEveryone(myId,"nameTagInfo",
    {content : [{str:"the AFK",style :{color :"red"}}],
    backgroundColor : "green"
    })
  • まぁ書くけど。 -- ryoku_ 2025-09-06 (土) 20:39:45
  • そーりー -- からあげ 2025-09-07 (日) 02:26:16

ツルハシを持って右クリック

RARURIRU (2025-09-06 (土) 13:36:39)

木のツルハシを持った状態で石炭ブロックを5回右クリック(タップ)すると石炭が1個貰える
鉄のツルハシを持った状態で石炭ブロックを3回右クリック(タップ)すると石炭が1貰えるcode
誰か作ってくれると有り難い


onPlayerJoin = (pId,reset) => {
	globalThis[`${pId} clickCount_wood`] = 0
	globalThis[`${pId} clickCount_iron`] = 0

}
onPlayerClick = (pId,alt) => {
	blockpos = api.getPlayerTargetInfo(pId)
	item = api.getHeldItem(pId)
	if(item != null && blockpos !== null) {
		block = api.getBlock(blockpos.position)
		if(item.name == "Wood Pickaxe" && block == "Coal Ore") {
			globalThis[`${pId} clickCount_wood`]++
			if(globalThis[`${pId} clickCount_wood`] >= 5) {
				api.giveItem(pId,"Coal")
				globalThis[`${pId} clickCount_wood`] = 0
			}
		}
		if(item.name == "Iron Pickaxe" && block == "Coal Ore") {
			globalThis[`${pId} clickCount_iron`]++
			if(globalThis[`${pId} clickCount_iron`] >= 3) {
				api.giveItem(pId,"Coal")
				globalThis[`${pId} clickCount_iron`] = 0
			}
		}
	}
}
  • 木と鉄二種類なら省略しなくていいか。 -- ryoku_ 2025-09-06 (土) 14:21:39
  • ありがたや -- RARURIRU 2025-09-06 (土) 14:32:35

サブネームタグの出し方

Bourei (2025-09-06 (土) 11:54:12)

どうやるんだっけ


api.setTargetedPlayerSettingForEveryone(myId,"nameTagInfo",
{subtitle : [{str:"AFK",style :{color :"red"}}],
subtitleBackgroundColor : "green"
})
  • これだね。 -- ryoku_ 2025-09-06 (土) 13:26:18

playerを倒したら倒したところからエフェクトが出てくるcode

urutoraman (2025-09-06 (土) 11:32:45)

つくってほしいです!


onPlayerKilledOtherPlayer = (killer, death, damageDealt, withItem) => {
	pos = api.getUnitCoordinatesLifeformWithin(death)
	const minColor = [255, 0, 0, 0.5]
	let [x, y, z] = pos[7]

	api.playParticleEffect({
	    dir1: [-1, -1, -1],
	    dir2: [1, 1, 1],
	    pos1: [x, y, z],
	    pos2: [x + 1, y + 1, z + 1],
	    texture: "generic_2",
	    minLifeTime: 1,
	    maxLifeTime: 10,
	    minEmitPower: 0.1,
	    maxEmitPower: 0.1,
	    minSize: 0.5,
	    maxSize: 0.5,
	    manualEmitCount: 100,
	    gravity: [0, 0, 0],
	    colorGradients: [
	        {
	            timeFraction: 0,
	            minColor: minColor,
				maxColor: minColor,
	        },
	    ],
	    velocityGradients: [
	        {
	            timeFraction: 0,
	            factor: 2,
	            factor2: 1,
	        },
	    ],
	    blendMode: 1,
	})
}
  • 胴体から血を吹き出すようにして死にます。 -- ryoku_ 2025-09-06 (土) 13:42:12
  • そこまでグロくないです。試してみてください。要望があればまた言ってください。 -- ryoku_ 2025-09-06 (土) 13:42:46

野球

ななし (2025-09-06 (土) 11:05:35)

bloxdで棒を利用して野球をできるようにしたい


  • 誰か作ってくれるとありがたいです心優しい人お願いします -- ななし 2025-09-06 (土) 11:30:12
  • ボールみたいなを作ってくれるだけでありがたいです! -- ななし 2025-09-06 (土) 14:19:00
  • 俺も野球好きだからやりたいわ。 -- ゾンビ君 2025-09-06 (土) 22:28:41
  • ボールとか消えちゃうから難しいよなぁ。 -- ネギ 2025-09-08 (月) 18:07:19

そういや僕が質問入れるのって初めてだっけ

ryoku_ (2025-09-05 (金) 18:30:32)

api.applyEffect(myId, "Slowness", null, {inbuiltLevel: 1000})
これ作動しないんだけど誰かわからない?


  • ちなみに同様にしたiconやdisplaynameは作動している。 -- ryoku_ 2025-09-05 (金) 18:41:21
  • Slownessは50で全く動かなくなるから51以上だとエラー吐くんだと思う。あと、iconとDisplayNameは名前がカスタムじゃないと無理なんじゃないの?(api.applyEffect(myId,"A",null,{icon:"Diamond",DisplayName:"Slow"})) -- みかん 2025-09-06 (土) 17:32:57
  • iconとdisplayNameはちゃんとわかってるよ。やっぱそうみたいだわ。全エフェクト共通で50までレベル上限が下がってる。 -- ryoku_ 2025-09-06 (土) 18:57:03

itsbobPVPとかJohalandとかの1v1形式のコマンドってどうやるの....(わがままですけどコマンド作って欲しいです)

.... (2025-09-05 (金) 17:19:45)

itsbobPVPとかJohalandとかの1v1形式のコマンドってどうやるの....(わがままですけどコマンド作って欲しいです)お願いします..


  • itsbobPVPやJohalandのコマンドの詳細を教えてくれますか? -- けんたき 2025-09-05 (金) 17:48:05
    // MIT License (c) 2025 ryoku_
    const posLists = {
    classic : {waitPos :[80,2,-20], p1 :[50,2,-20], p2 :[60,2,-20]}
    }
    
    if(!globalThis["classic"] || globalThis["classic"] == myId) {
    	join()
    
    }else {
    	pIds = api.getPlayerIds()
    	if(!pIds.includes(globalThis["classic"])) {
    		join()
    
    	}else {
    		api.broadcastMessage([{str:`${api.getEntityName(globalThis["classic"])} &
    	${api.getEntityName(myId)} Successfully Matched!`, style:{color :"gold"}}])
    		api.setPosition(globalThis["classic"],posLists.classic.p1)
    		api.applyEffect(globalThis["classic"],"Frozen",3000,{inbuiltLevel: 50})
    		globalThis["classic"] = false
    		api.setPosition(myId,posLists.classic.p2)
    		api.applyEffect(myId,"Frozen",3000,{inbuiltLevel: 50})
    	}
    }
    
    function join () {
    	globalThis["classic"] = myId
    	api.sendMessage(myId,[{str:"Successfully Joined", style:{color :"gold"}}])
    	api.setPosition(myId,posLists.classic.waitPos)
    }
  • めっちゃがんばった。 -- ryoku_ 2025-09-06 (土) 19:20:33
  • かなりすごめのcodeなので僕もMITライセンスを使っています。一行目は消さないでください。 -- ryoku_ 2025-09-06 (土) 19:23:07
  • ありがとうございます!!! -- .... 2025-09-06 (土) 20:03:49
  • 原文の添付とか必要?改変する場合。 -- ネギ 2025-09-08 (月) 18:10:00

LazerStrike ってワールドのあれ

割と暇人 (2025-09-05 (金) 04:10:15)

カスタムゲームの Lazer Strike ってワールド、レーザーが実装されているんですが、あのレーザーってどうやったら再現できますかね?
有識者の方、お願いします。


  • 下の魔法コマンドのところを参考にしてください。 -- ryoku_ 2025-09-05 (金) 06:19:14

itsbobPVPとかJohalandとかの1v1形式のコマンドってどうやるの....

.... (2025-09-05 (金) 02:36:30)

itsbobPVPとかJohalandとかの1v1形式のコマンドってどうやるの....教えてくださぁい


  • (待っている人を待機者と呼びます)機構としては、もし待機者がいなければ、変数「待機者」を新しい待機者のidにする。もし待機者がいたら、変数「待機者」のidと待機者のidを使って座標を変えているっていうわけです。かーなり中級者~上級者向きです。 -- ryoku_ 2025-09-05 (金) 06:10:58
  • 今俺はAIを使いつつ作ろうとしてる。 -- ネギ 2025-09-05 (金) 13:11:29
  • かなりわがままになるんですが具体的にコマンド作っちゃってほしいです// -- .... 2025-09-05 (金) 14:06:34

けんたきへの質問 ライセンスの取り方

yuuto (2025-09-04 (木) 21:36:41)

けんたきがよく書いてるライセンスってどうやって取るの?
あと、けんたきがライセンスを取ってつける(?)コードの決まり、的なのはあるの?
それと、おすすめ(?)のライセンスを教えて。


  • ライセンスとは著作物を使わせるときのルールみたいなもので「コピーしていいか」や「改変していいか」、「クレジットの表示の有無」などを決めれる -- けんたき 2025-09-05 (金) 17:42:49
  • それってどうやって取得するの? -- 2025-09-05 (金) 18:16:28
  • 作者が勝手につけれたはず -- けんたき 2025-09-05 (金) 18:40:46
  • 教えてくれてありがと -- 2025-09-06 (土) 13:27:34

クレジットについて

死神 (2025-09-04 (木) 18:55:19)

クレジットてなんですか?すみませんコマンド初めてでわかんなくて...お願いします!


  • 簡単に言うと、「この人が作ってくれたcodeを使わせてもらってます!」みたいな感じですね。あとプラスでこのクレジット表記を見た人に対して「こういうルールで使ってね!」ていうような意味もあります。 -- ryoku_ 2025-09-04 (木) 19:00:08
  • 例:「code by ryoku_ no edit」りょくがcodeしました。編集しないで使ってください。とかですね。 -- ryoku_ 2025-09-04 (木) 19:01:05
  • クレジットならわかったんですが書いていただいたcodeでなんもでなくて...何が悪いんでしょうか -- 死神 2025-09-04 (木) 19:03:42
  • いや死神が言った通りにダイヤモンドの剣を振ったらパーティクル出るようにしたんだけど試してない感じ? -- けんたき 2025-09-04 (木) 20:40:35

無題

(2025-09-04 (木) 17:51:53)

スカイウォーズとかによくある右側のプレイヤー数とか書いてあるボードってどうやってつくるんですか?


  • クライアントオプションで右のテキストボックスを編集できます -- ryoku_ 2025-09-04 (木) 18:16:51
    api.setClientOption(myId,"RightInfoText",
    "一行目\n二行目")
  • こうだね。 -- ryoku_ 2025-09-04 (木) 18:23:20
  • ありがとうございます! -- 2025-09-04 (木) 18:34:09
  • これってワールドコードに書くんですか? -- 2025-09-04 (木) 18:35:41
  • いや、codeBlockでいけますが入り直すたびに戻っちゃいますので、もしご希望であれば入り直してもこの設定を保持するようにしますよ! -- ryoku_ 2025-09-04 (木) 18:45:19
  • プレイヤーの数を表示して、その情報を1秒ごとに更新とかできないですか? -- 2025-09-04 (木) 19:50:15
    count = 0
    tick = () => {
      count++;
      if(count % 20 === 0){
        Nm = api.getNumPlayers()
        for(let i of api.getPlayerIds()){
          api.setClientOption(i, "RightInfoText", `現在のプレイヤーの数:${Nm}`)
        }
      }
    }
  • setClientOption didn't workみたいなのが出ました -- 2025-09-04 (木) 20:32:17
  • なんかが機能してないっぽいです -- 2025-09-04 (木) 20:32:43
  • setClientOptionの第1引数がmyIdになってたから直したよ -- けんたき 2025-09-04 (木) 20:44:12

    Code

    /* Code Create : yuuto  Do not edit*/
    function getCurrentDateTime() {
        let totalSeconds = Math.floor(api.now() / 1000);
    
        totalSeconds += 9 * 3600;
    
        let seconds = totalSeconds % 60;
        let minutes = Math.floor(totalSeconds / 60) % 60;
        let hours   = Math.floor(totalSeconds / 3600) % 24;
        let days    = Math.floor(totalSeconds / 86400);
    
        let year = 1970;
        let month = 1;
        let day = 1;
    
        while (true) {
            let daysInYear = (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) ? 366 : 365;
            if (days >= daysInYear) {
                days -= daysInYear;
                year++;
            } else break;
        }
    
        const daysInMonth = [
            31, (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) ? 29 : 28,
            31,30,31,30,31,31,30,31,30,31
        ];
    
        for (let m = 0; m < 12; m++) {
            if (days >= daysInMonth[m]) {
                days -= daysInMonth[m];
                month++;
            } else break;
        }
        day += days;
    
        function two(n) { return (n < 10 ? "0" : "") + n; }
    
        return year + "-" + two(month) + "-" + two(day) + " " +
               two(hours) + ":" + two(minutes) + ":" + two(seconds);
    }
    
    count = 0
    tick = () => {
      count++;
      if(count % 20 === 0){
    	nowTime = getCurrentDateTime();
        Nm = api.getNumPlayers()
        for(let i of api.getPlayerIds()){
          api.setClientOption(i, "RightInfoText", `現在のプレイヤーの数:${Nm}\n最終更新:${nowTime}`)
        }
      }
    }
  • ちょっと凝ってみた() 現在の更新時間を左に出す() -- yuuto 2025-09-04 (木) 21:21:21
  • 上の二つの奴を合わせて1,2行目に文字を表示してそのあとにプレイヤー数表示するとかできないですか? -- 2025-09-04 (木) 21:32:14
  • setClientOptionの文字のところを、 `1行目\n2行目\nプレイヤーの数:${Nm}`ってすればできるよ。わかんなかったらコード出すから言って。 -- yuuto 2025-09-04 (木) 21:35:10
  • やってみたのですが字句変数が初期化されていないと表示されます -- yuya 2025-09-06 (土) 11:33:14

誰か助けて

yuya1228 (2025-09-04 (木) 16:58:53)

なぜか体力変更が機能しません


  • どういうコードで機能しなかったか、コードを出して。 -- 2025-09-04 (木) 17:16:33
  • 一行目 he="setHealth" -- yuya 2025-09-05 (金) 17:26:39
  • 二行目 ha=api[he] -- yuya 2025-09-05 (金) 17:27:14
  • 三行目 ha(myId, 体力, myID, true) -- yuya 2025-09-05 (金) 17:28:24
  • 合っているはずなんですがなぜかできません -- yuya 2025-09-05 (金) 17:28:56
  • 看板ではなくてコードブロックを使用してください -- けんたき 2025-09-05 (金) 17:45:03
    const health = /*新しい体力はここに数字で書いてね*/;
    api.setHealth(myId, health, undefined, true);
  • やってみたのですが「字句変数が初期化されていません」とでてきます -- yuya 2025-09-06 (土) 11:35:20

もぶnameをかえるcode

urutoraman (2025-09-04 (木) 16:48:32)

codeblockをおしたら豚が出てきてその豚は透明化していてnameをひょうじしていろいろかえれるようにした


const mId = api.attemptSpawnMob("Pig", thisPos[0],thisPos[1],thisPos[2], {name:"好きな名前"})
api.setTargetedPlayerSettingForEveryone(mId,"canSee",false,true)
  • これはモブを好きな名前で表示しかできない、、、透明はわからない。他のCoder達、頼む。ちなみにこれで、mIdのモブのIdは入ってる。 -- 2025-09-04 (木) 17:40:59
  • うーん。惜しい。40点。ThisPosじゃなくてthisPosだね。透明はentitySettingでできるんだよね。 -- ryoku_ 2025-09-04 (木) 18:21:28
  • あ、ThisPosで反応しないの直し忘れてた、、、() -- yuuto 2025-09-04 (木) 19:56:08
  • そういう日もある。 -- ryoku_ 2025-09-04 (木) 21:03:16
  • 修正版とmobを動けなくするcode付きでお願いします! -- 2025-09-05 (金) 16:13:41
    const mId = api.attemptSpawnMob("Pig", thisPos[0],thisPos[1],thisPos[2], {name:"好きな名前"})
    api.setTargetedPlayerSettingForEveryone(mId,"canSee",false,true)
    api.applyEffect(mId, "Slowness", null, {inbuiltLevel: 1000})
  • slownessがなんかばぐってます~ -- urutoraman 2025-09-06 (土) 10:43:10

修正版

死神 (2025-09-03 (水) 19:43:04)

ダイヤモンドの剣を振ったら前方向に衝撃波?のような爆破攻撃が出て攻撃ができるようにしたいです。


  • 衝撃波のエフェクトも、できるだけBloxdに存在しているようなエフェクトで指定した方が答える側も答えやすいんじゃないんかな。(例:ファイヤーボール) -- ゾンビ君 2025-09-03 (水) 22:51:45
  • まあこんな感じですかね?MITライセンスで配布します。 -- けんたき 2025-09-04 (木) 17:25:45
    /* MIT License (c) 2025 [kentaki]. Permission granted to use, copy, modify, and distribute with credit. */
    const hitMobs=[];function length(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2)}function normalize(t){let i=length(t);return 0===i?[0,0,0]:[t[0]/i,t[1]/i,t[2]/i]}onPlayerClick=(t,i)=>{let o=api.getHeldItem(t);if(!o||"Diamond Sword"!==o.name||!i)return;let{camPos:e,dir:r}=api.getPlayerFacingInfo(t),$=normalize(r),a=api.getPosition(t);api.playParticleEffect({dir1:[...$],dir2:[...$],pos1:[a[0],a[1]+1,a[2]],pos2:[a[0]+3,a[1]+1,a[2]+3],texture:"glint",minLifeTime:.2,maxLifeTime:.6,minEmitPower:40,maxEmitPower:40,minSize:.25,maxSize:.35,manualEmitCount:10,gravity:[0,0,0],colorGradients:[{timeFraction:0,minColor:[60,60,150,1],maxColor:[200,200,255,1]},],velocityGradients:[{timeFraction:0,factor:1,factor2:1},],blendMode:1});let n=api.getMobIds(),m=new Set;for(let l=1;l<=10;l++)m.add([Math.floor(e[0]+$[0]*l),Math.floor(e[1]+$[1]*l),Math.floor(e[2]+$[2]*l)].join(","));for(let _ of n){let c=api.getUnitCoordinatesLifeformWithin(_);c.some(t=>m.has(t.join(",")))&&hitMobs.push(_)}hitMobs.forEach(i=>{let o=api.getPosition(i),[e,r,$]=o;api.playParticleEffect({dir1:[-3,-3,-3],dir2:[3,3,3],pos1:[e,r,$],pos2:[e+1,r+1,$+1],texture:"square_particle",minLifeTime:.3,maxLifeTime:1,minEmitPower:3,maxEmitPower:5,minSize:.15,maxSize:.45,manualEmitCount:49,gravity:[0,-15,0],colorGradients:[{timeFraction:0,minColor:[255,120,0,1],maxColor:[255,200,0,1]},{timeFraction:.3,minColor:[120,120,120,1],maxColor:[80,80,80,1]},{timeFraction:1,minColor:[30,30,30,0],maxColor:[0,0,0,0]},],velocityGradients:[{timeFraction:0,factor:1,factor2:1},{timeFraction:1,factor:.2,factor2:.2},],blendMode:1}),api.attemptApplyDamage({eId:t,hitEId:i,attemptedDmgAmt:15,withItem:"Diamond Sword"})}),hitMobs.length=0};
  • 使用する際はクレジットをworldcodeの一番上に必ず表示してください -- けんたき 2025-09-04 (木) 17:31:14
  • クレジットつけてるからそのまま使えるよ。でも一行目のコメントは削除しないでね。 -- けんたき 2025-09-04 (木) 20:34:48

大きな赤文字を表示(リベンジ)

yuki9125 (2025-09-03 (水) 19:31:18)

/big 文字列
みたいに入力すると,巨大な赤文字がみんなのチャット欄に出るようなコードありますか?
ただし,これを使えるのはMarisakawaii28さんだけにしてください。


  • けんたきさんありがとうございました! -- 死神 2025-09-03 (水) 19:31:19
  • 死神さん投稿する場所を間違えているようですよ -- yuki9125 2025-09-03 (水) 19:32:46
  • このでっかい赤文字で文句言ってるやつ誰?笑 -- けんたき 2025-09-03 (水) 19:33:13
  • すみません。なんか打つところミスってました -- 死神 2025-09-03 (水) 19:34:55
    playerCommand=(e,t)=>{let r=t.split(" ");if(!r||!r[0]||r.length>2)return!1;let i=api.getEntityName(e);if("Marisakawaii28"!==i)return!1;if("big"===r[0].toLowerCase()){let a=[{str:r[1],style:{fontSize:"40px",color:"red"}}];api.broadcastMessage(a)}return!0};
  • これで満足ですか? -- 2025-09-03 (水) 19:50:16

スキンの作り方[初心者なんで]

死神 (2025-09-03 (水) 19:25:02)

スキンってどうやって自由なものを作れますか?建築したものとかをスキンにできますか?アイテムやつと同じでわかりずらかったらすみません。


  • スキンは作れません。スキンを変えることならできます -- けんたき 2025-09-03 (水) 19:28:49
  • globalThis["onPlayerJoin"] = (id) => {}
    なんでこうしたんや?onPlayerJoin = (pid) => {}じゃ駄目なん? -- けんたき 2025-09-03 (水) 19:31:39
  • ? -- 死神 2025-09-03 (水) 19:33:07
  • ズレたわごめん -- けんたき 2025-09-03 (水) 19:41:49
  • 大丈夫です!! -- 死神 2025-09-03 (水) 19:42:51

エラーの要因

ネギ (2025-09-03 (水) 17:35:09)

容量緩和のため消させてもらいました

このCodeのおかしいところを教えて欲しい。onPlayerJoinとonPlayerKilledOtherPlayerとonRespawnRequestでnot a functionってエラーが出る。一応このCodeはダイヤモンドブロックを押すと1v1のマッチングが始まって終了の処理を含んでいるCodeのつもり。


  • setGameModeという関数は存在しない。ちゃんと学習させてないAI使うのはやめたほうがいいと思う -- けんたき 2025-09-03 (水) 19:51:29
  • ガチやん。ごめん。 -- ネギ 2025-09-03 (水) 20:35:39
  • これ5000文字くらいあるわりにほとんど誰の役にも立たんから消しちゃった方いいかな。 -- ネギ 2025-09-04 (木) 11:13:21
  • まあ、、300行(wikiの上限が約1600行)だから、、消しちゃってもいいかも -- 2025-09-04 (木) 13:44:30

コードに日本語を含めると文字化けする

yuki9125 (2025-09-03 (水) 12:22:31)

コードに日本語を含めると日本語だけ文字化けしてしまうのですがなぜですか?


  • 文字化けすると、メッセージを送るコードを実行してもメッセージが意味不明になって困るのですが… -- yuki9125 2025-09-03 (水) 12:23:16
  • ❌️日本語を含めると文字化けする
    ⭕️コード内にtitなどの不適切用語が含まれてると日本語だけ文字化けする -- けんたき 2025-09-03 (水) 13:41:31
  • titやassが入っていると文字化けします。 -- 2025-09-03 (水) 14:59:22
  • ランダムの中に未使用ブロックって含まれますか? -- carubo 2025-09-03 (水) 15:10:01
  • ブロックIdを用いていると、含まれますね。1946っていうのが未使用も含めたIdの数の合計(だったはず)なので。 -- ryoku_ 2025-09-03 (水) 16:13:15

ラッキーブロック

carubo (2025-09-03 (水) 12:11:15)

Mystery Blockを壊したらワールドコードがそれを検知して何らかのアイテムを壊したプレイヤーに付与するようにしたいです


onPlayerChangeBlock = (playerId, x, y, z, fromBlock, toBlock) => {
  if(fromBlock === "Mystery Block"){
    api.giveItem(playerId, "アイテム名", 1);
    return "preventDrop";
  }
}
  • 動作確認はしてないのでエラーなどがあれば内容も含めて教えて下さい -- けんたき 2025-09-03 (水) 13:44:31
    onPlayerChangeBlock = (p, x, y, z, f) => {
      if(f === "Mystery Block"){
        RandomItem = api.blockIdToBlockName((Math.floor(Math.random()*2092))+1);
        api.giveItem(p, RandomItem, 1, {});
        return "preventDrop";
      }
    }
  • 出てくるアイテムをランダムにしたい場合はこちらを使ってください。 -- yuuto 2025-09-03 (水) 15:05:06
  • こわしても別のブロックに代わりません... -- carubo 2025-09-03 (水) 15:23:32
  • 見にくいですがコードです
    onPlayerChangeBlock=(myId,x,y,z,fromBlock,toBlock)=>{
      if(fromBlock==="MysteryBlock"){
        RandomItem=api.blockIdToBlockName((Math.floor(Math.random()*2092))+1);
        api.giveItem(myId,RandomItem,1,{});
      }
    }
    • 2025-09-03 (水) 15:25:29
  • 直しました。 -- 2025-09-03 (水) 15:42:04
  • 今度は壊れても元に戻ってしまいました... -- carubo 2025-09-03 (水) 15:52:38
  • 壊れたらもとに戻ってだめなん?何にすればいいん -- 2025-09-03 (水) 16:07:03
  • 何らかのアイテムを壊したプレイヤーに付与するように って言われたから、 Mystery Blockを壊したプレイヤーに何らかのアイテムを付与する と思ってそのコードにしたのだが、他に条件はあるん?それだとしたら言ってほしい。 -- yuuto 2025-09-03 (水) 16:08:19
  • 元に戻らないようにしてほしいです -- carubo 2025-09-03 (水) 18:16:59
  • 元に戻らないようにはできたので壊してもこのブロックはドロップしないようにしたいです -- carubo 2025-09-03 (水) 18:23:55
  • preventDropを返すとドロップしなくなるよ -- けんたき 2025-09-03 (水) 19:58:44
  • math.floor当たりの1946てbloxd.ioのブロックの総数ですか?総数だとしたらそれがなにを基準にして並んでいるのか知りたいです。 -- carubo 2025-09-04 (木) 17:44:02
  • ブロックの総数ではありません。 -- 2025-09-04 (木) 21:43:22
  • ブロックidが0~2092まであり、それをmath.randomで同じ範囲を出すんだけどそのままだと少数だからエラーが出る、だから切り捨てるためにMath.floorを使っている。 -- ryoku_ 2025-09-05 (金) 06:36:58

ブロック検知

あおあお (2025-09-03 (水) 06:59:04)

特定のブロックを踏んだらジャンプするコマンドを教えてください。


onBlockStand = (myId,x,y,z,bN)=>{if(bN ==="ブロック名"){api.setVelocity(myId,0,9,0)}}
  • エトグラフ 2025-09-03 (水) 08:17:48
  • 上のcodeをworldcodeに入れたらできます -- エトグラフ 2025-09-03 (水) 08:20:18
  • 9のところは数字を変えることで跳ぶ高さを変えられます -- エトグラフ 2025-09-03 (水) 08:20:57
  • api.applyImpluseの方が僕的にはおすすめ。 -- ryoku_ 2025-09-03 (水) 16:14:01
  • 教えていただきありがとうございます。 -- あおあお 2025-09-04 (木) 05:55:42