【総合】トピック立てるまでもない質問【Mod制作】

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.321113)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Asphere » 2018年10月15日(月) 18:44

ver1.12.2です。
新しいアイテムを作製しているのですが、addInformationでスタック数に応じて数値を入力させたいと思っていますが、スタック数の会得方法がわかりません。
よろしくおねがいします。
Asphere
ID:e92002d9
木を殴ってる
 
記事: 25
登録日時: 2015年2月17日(火) 17:08
お住まい: 愛知県のどっか

  • (PostNo.321115)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ペコリン » 2018年10月15日(月) 19:52

Asphere さんが書きました:ver1.12.2です。
新しいアイテムを作製しているのですが、addInformationでスタック数に応じて数値を入力させたいと思っていますが、スタック数の会得方法がわかりません。
よろしくおねがいします。


addInformationメソッドの第1引数のItemStackを利用し、ItemStack.getCount()でスタック数を取得します。
村人をメイドさんにするMODを好き勝手に作ってますん
アバター
ペコリン
ID:b86e9fbd
石炭掘り
 
記事: 172
登録日時: 2016年5月01日(日) 20:56

  • (PostNo.321119)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Asphere » 2018年10月15日(月) 20:48

できました!ありがとうございます!
追加質問ですが、なにかしらの行動をした時耐久値を減少させるにはどのような文を打てばいいのでしょうか。
Asphere
ID:e92002d9
木を殴ってる
 
記事: 25
登録日時: 2015年2月17日(火) 17:08
お住まい: 愛知県のどっか

  • (PostNo.321123)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ペコリン » 2018年10月15日(月) 21:23

Asphere さんが書きました:できました!ありがとうございます!
追加質問ですが、なにかしらの行動をした時耐久値を減少させるにはどのような文を打てばいいのでしょうか。


まずは自分でクラスやメソッドのコードを読みましょう。
今回のケースではItemToolクラスのhitEntityメソッドやonBlockDestroyedメソッドが参考になるでしょう。
村人をメイドさんにするMODを好き勝手に作ってますん
アバター
ペコリン
ID:b86e9fbd
石炭掘り
 
記事: 172
登録日時: 2016年5月01日(日) 20:56

  • (PostNo.321526)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Ender Colossus » 2018年11月03日(土) 18:06

飛行するMOBを作ろうとしています。しかし、MOBを飛ばすところだけわかりません。どのようなコードを使えばよいですか。
COMMAND でいろいろ作ってます。
まだ全然出てないけど


Mini Game も作っています?
アバター
Ender Colossus
ID:b0e1d611
木を殴ってる
 
記事: 11
登録日時: 2018年9月17日(月) 15:49

  • (PostNo.321647)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by 通りすがり(滞在中) » 2018年11月07日(水) 22:16

初めまして。多分、MOD作成中の質問等をするのがここの掲示板の趣旨だという事はわかっているのですがあえて質問をさせてください。
また、質問する場所が違うのであれば誘導等をしていただけるとありがたいと考えています。

やりたい事
●全くの知識無しからのMOD作成

ゴール
①銃(散弾銃)の作成(エンチャ出来る物)
②バリア発生装置の作成(可能であれば工業系のMODとの連携)
③自動迎撃装置の作成(いわゆるセントリーガン)
④飛行装置の作成。
⑤村人の取引の追加(村人にナニカする系のMODに対応させたいので、あくまで村人にしたい)
上記をとりあえず、マインクラフト1.6.4で実装できるようにしたい。


質問事項
プログラムとかの知識が全くないのですが、上記の物を作るにはどういった事を学び、どういった作業をすればよいのでしょうか?
教えてください。
たとえば、Javaの基礎が必要とありますが、どの程度の所までを指しているのでしょうか?

あと、もしよければお勧めの書籍等があったら教えてください
通りすがり(滞在中)
ID:eeae2193
 

  • (PostNo.321652)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by spuash918 » 2018年11月08日(木) 00:13

通りすがり(滞在中) さんが書きました:初めまして。多分、MOD作成中の質問等をするのがここの掲示板の趣旨だという事はわかっているのですがあえて質問をさせてください。
また、質問する場所が違うのであれば誘導等をしていただけるとありがたいと考えています。

やりたい事
●全くの知識無しからのMOD作成

ゴール
①銃(散弾銃)の作成(エンチャ出来る物)
②バリア発生装置の作成(可能であれば工業系のMODとの連携)
③自動迎撃装置の作成(いわゆるセントリーガン)
④飛行装置の作成。
⑤村人の取引の追加(村人にナニカする系のMODに対応させたいので、あくまで村人にしたい)
上記をとりあえず、マインクラフト1.6.4で実装できるようにしたい。


質問事項
プログラムとかの知識が全くないのですが、上記の物を作るにはどういった事を学び、どういった作業をすればよいのでしょうか?
教えてください。
たとえば、Javaの基礎が必要とありますが、どの程度の所までを指しているのでしょうか?

あと、もしよければお勧めの書籍等があったら教えてください

「全くの知識無しからのMOD作成」・・・知識なしでしたら長い道のりになりますが、根気があれば必ず作れますので頑張ってください

ゴールを勝手に簡単順に並び替えたのでよろしければ参考になさってください
1.村人の取引追加
2.銃
3.バリア発生装置(周囲にブロック等を設置するものと仮定してます 防具系でしたらもっと簡単です)
4.自動迎撃装置
5.飛行装置(MCHeli等の乗れるものを仮定してます)


Javaの知識についてですが、MODの作成においてJavaがマスターできていれば良いというわけではありません
マインクラフト自体の処理などについてよく理解する必要があります
しかし、大体欲しい情報はネット上に出回っているので調べればわかることが多いです(日本語では載っていないものもあるので英語力があるとなお良いです Google翻訳でもある程度理解はできるので英語無理なら翻訳かけてみてください)ので詰まったら調べてみてください

話題を戻しまして、Javaの基礎知識です
1.変数、型
2.演算子
3.if文、for文、while文
4.配列
5.メソッド
6.クラス、継承
7.抽象クラス、インターフェイス
8.例外処理
以上が思いつく内容ですね 順番は簡単なものからソートしています
量が多いように見えますが順に勉強していけば大丈夫です

書籍は「スッキリわかるJava入門」という書籍がオススメです(Amazonの商品ページ
私は上記の書籍を図書館で借りて勉強しましたが、購入したほうが良いです
メルカリなどで安く転売されているケースもあるのでそちらも見てみてください

オススメの勉強方法ですが、紙に書くのではなく実際にプログラムを組みながら勉強することを強くおすすめします
実際に動かしながらの勉強は楽しいので

もし今後も当フォーラムを利用されるのでしたらユーザー登録をおすすめします 新しい返信が来た際にメールにて通知が送られてくるのでチェックの漏れがなくなります
プログラム無しでアイテムやブロックを追加できるMOD公開中です!
無機能ブロックから剣、斧に加えツールマテリアルにも対応!
詳しくはMOD配布ページまで!
Twitterやってます。→https://twitter.com/pokora_youtube
よろしければYoutubeもお願いします。
spuash918
ID:a74e6760
鉄鉱掘り
 
記事: 318
登録日時: 2014年11月03日(月) 11:17
お住まい: 東海のどこか

  • (PostNo.321670)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by 通りすがり(滞在中) » 2018年11月09日(金) 03:16

返信ありがとうございます。

1.変数、型
2.演算子
3.if文、for文、while文
4.配列
5.メソッド
6.クラス、継承
7.抽象クラス、インターフェイス
8.例外処理

スッキリわかるJava入門ですね。
書籍については、買う事を前提としていましたが、図書館という選択肢を完全に忘れてました。ありがとうございます。


今後についてですが、とりあえずはJavaの上記の内容を学んだ上で登録をするなり単発で質問をさせてもらうなりの方法を考えたいと思います。
登録するだけ登録して、Java途中であきらめました、じゃ話にならないので
通りすがり(滞在中)
ID:eeae2193
 

  • (PostNo.322109)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ogachan1503 » 2018年11月21日(水) 20:08

Minecraft1.7.10で質問です。
鉱石辞書に、耐久値のあるアイテムを登録したいです。
現状は
OreDirectionary.registerOre("dyeBlack",new ItemStack(MyModItems.ItemPaintsBlack,1,-1));
という風に登録されているのですが、レシピで使おうとすると、耐久値が1でも減っているとクラフトできません。
わかる方はいますか?
Forge 10.13.4.1558です
ogachan1503
ID:d0970500
木を殴ってる
 
記事: 28
登録日時: 2017年6月19日(月) 17:34

  • (PostNo.322114)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by defeatedcrow » 2018年11月21日(水) 22:13

ogachan1503 さんが書きました:Minecraft1.7.10で質問です。
鉱石辞書に、耐久値のあるアイテムを登録したいです。
現状は
OreDirectionary.registerOre("dyeBlack",new ItemStack(MyModItems.ItemPaintsBlack,1,-1));
という風に登録されているのですが、レシピで使おうとすると、耐久値が1でも減っているとクラフトできません。
わかる方はいますか?
Forge 10.13.4.1558です


メタデータにワイルドカード(32767)を使うと、すべてのメタデータにまとめて辞書名を指定できます
Forgeは、メタデータを問わないという意味でメタデータにマイナス値(-1)を使うことはありません、ですのでおそらく「あなたが不正な値を入れた」と認識されてメタデータ0のみ登録されています

鉱石辞書に関しては1.10くらいまではForge側で使用が変わっていませんので既存のチュートリアルが使い回せます
この辺を読むと良いです
https://mcmodding.jp/modding/index.php/ ... 9%E7%94%A8
https://mcmodding.jp/modding/index.php/ ... F%E4%BE%8B
カラスの敗残兵です。AppleMilkTea他、少々のMODを作成しています。
トピック: AppleMilkTea(~1.7.10) / HeatAndClimate(1.10.2)
作者Wiki / github / twitter
アバター
defeatedcrow
ID:69e3e707
ラピスラズリ収集家
 
記事: 1129
登録日時: 2014年1月08日(水) 13:48
お住まい: 北関東

  • (PostNo.322117)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by さとなし » 2018年11月21日(水) 23:19

こんにちは。
mobを倒したときのドロップアイテムを追加したときに、わからないことがあったので質問させていただきました。

以下、私の構築環境および作成したプログラムになります。

Forge:ver 1.12.2
使用エディタ:Eclipse
***** OS情報 *****
OS名:Microsoft Windows 10 Home 64 ビット
ServicePack:0
詳細なバージョン:10.0.17134
***** コンピュータ情報 *****
製造元:Dell Inc.
型番:OptiPlex 7010
メモリ:8146 MB
***** CPU情報 *****
プロセッサ名:Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
最大CPUクロック:3201 MHz
現在のCPUクロック:3201 MHz
コア/スレッド数:4/4
***** ビデオカード情報 *****
ビデオチップ:NVIDIA GeForce GTX 1050 Ti
VRAM:4095 MB
ドライバ:23.21.13.8813
-------------------------------------------

package com.test.testMod;

import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

@Mod(modid = TestMod.MOD_ID, version = TestMod.MOD_VERSION)
public class TestMod {
public static final String MOD_ID ="testmod";
public static final String MOD_VERSION = "1.0";

@Mod.EventHandler
public void init(FMLInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new AddDeathEvent());
}
}

-------------------------------------------

package com.test.testMod;

import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.init.Items;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

public class AddDeathEvent {
@SubscribeEvent
public void pickupItem(LivingDeathEvent event)
{
if(event.getEntity() instanceof EntityZombie) {
event.getEntity().dropItem(Items.DIAMOND, 1);
}
}
}
-------------------------------------------

作成したmodはゾンビを倒したときにドロップアイテムにダイヤモンド1つを追加するものでした。
実行した結果、意図通りダイヤモンドがドロップしたのですが、ゲーム画面では2個ドロップしていました。
またドロップした2つのダイヤモンドのうち1つは回収できたのですが、もう1つは回収できませんでした。
この現象はダイヤモンドのドロップ個数を変更しても発生していました。
回収できないダイヤモンドがどうして発生してしまうのかわからなかったので質問させていただきました。
ご回答よろしくお願いいたします。
さとなし
ID:b8708cfe
水から上がったとこ
 
記事: 4
登録日時: 2018年11月21日(水) 22:56

  • (PostNo.322121)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by defeatedcrow » 2018年11月22日(木) 02:45

さとなし さんが書きました:こんにちは。
mobを倒したときのドロップアイテムを追加したときに、わからないことがあったので質問させていただきました。

以下、私の構築環境および作成したプログラムになります。

Forge:ver 1.12.2
使用エディタ:Eclipse
***** OS情報 *****
OS名:Microsoft Windows 10 Home 64 ビット
ServicePack:0
詳細なバージョン:10.0.17134
***** コンピュータ情報 *****
製造元:Dell Inc.
型番:OptiPlex 7010
メモリ:8146 MB
***** CPU情報 *****
プロセッサ名:Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
最大CPUクロック:3201 MHz
現在のCPUクロック:3201 MHz
コア/スレッド数:4/4
***** ビデオカード情報 *****
ビデオチップ:NVIDIA GeForce GTX 1050 Ti
VRAM:4095 MB
ドライバ:23.21.13.8813
-------------------------------------------

package com.test.testMod;

import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

@Mod(modid = TestMod.MOD_ID, version = TestMod.MOD_VERSION)
public class TestMod {
public static final String MOD_ID ="testmod";
public static final String MOD_VERSION = "1.0";

@Mod.EventHandler
public void init(FMLInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new AddDeathEvent());
}
}

-------------------------------------------

package com.test.testMod;

import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.init.Items;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

public class AddDeathEvent {
@SubscribeEvent
public void pickupItem(LivingDeathEvent event)
{
if(event.getEntity() instanceof EntityZombie) {
event.getEntity().dropItem(Items.DIAMOND, 1);
}
}
}
-------------------------------------------

作成したmodはゾンビを倒したときにドロップアイテムにダイヤモンド1つを追加するものでした。
実行した結果、意図通りダイヤモンドがドロップしたのですが、ゲーム画面では2個ドロップしていました。
またドロップした2つのダイヤモンドのうち1つは回収できたのですが、もう1つは回収できませんでした。
この現象はダイヤモンドのドロップ個数を変更しても発生していました。
回収できないダイヤモンドがどうして発生してしまうのかわからなかったので質問させていただきました。
ご回答よろしくお願いいたします。


ドロップアイテムはエンティティです
エンティティは、サーバー側でのみスポーン処理をしないといけないものです
マイクラの現在のバニラの処理はマルチプレイと同じ仕組みで動いています
エンティティはサーバー側に存在していて、その”現在の見た目の情報”だけが定期的にクライアント側にパケット処理で送られてきて、クライアント側がそれを表示するという流れです

あなたはクライアント側かサーバー側かの判別をしないでスポーンさせているので、クライアント側で(行うべきでない)スポーン処理を行っています
そうすると、一応見た目だけは発生しますが、クライアント側にしか存在しない、中身のない見かけだけのドロップアイテムが発生してしまいます
これが拾えなかった方のドロップアイテムです

nullチェックを通しているinstanceof EntityZombieよりも後にif文を追加して、!event.getEntity().getEntityWorld().isRemote(サーバ側かどうかのチェックフラグ)を挟んでください
カラスの敗残兵です。AppleMilkTea他、少々のMODを作成しています。
トピック: AppleMilkTea(~1.7.10) / HeatAndClimate(1.10.2)
作者Wiki / github / twitter
アバター
defeatedcrow
ID:69e3e707
ラピスラズリ収集家
 
記事: 1129
登録日時: 2014年1月08日(水) 13:48
お住まい: 北関東

  • (PostNo.322141)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ogachan1503 » 2018年11月22日(木) 18:22

defeatedcrow さんが書きました:
ogachan1503 さんが書きました:Minecraft1.7.10で質問です。
鉱石辞書に、耐久値のあるアイテムを登録したいです。
現状は
OreDirectionary.registerOre("dyeBlack",new ItemStack(MyModItems.ItemPaintsBlack,1,-1));
という風に登録されているのですが、レシピで使おうとすると、耐久値が1でも減っているとクラフトできません。
わかる方はいますか?
Forge 10.13.4.1558です


メタデータにワイルドカード(32767)を使うと、すべてのメタデータにまとめて辞書名を指定できます
Forgeは、メタデータを問わないという意味でメタデータにマイナス値(-1)を使うことはありません、ですのでおそらく「あなたが不正な値を入れた」と認識されてメタデータ0のみ登録されています

鉱石辞書に関しては1.10くらいまではForge側で使用が変わっていませんので既存のチュートリアルが使い回せます
この辺を読むと良いです
https://mcmodding.jp/modding/index.php/ ... 9%E7%94%A8
https://mcmodding.jp/modding/index.php/ ... F%E4%BE%8B

できました!
回答ありがとうございます。
またお聞きすることがあるかもしれませんので、よろしくお願いします。
ogachan1503
ID:d0970500
木を殴ってる
 
記事: 28
登録日時: 2017年6月19日(月) 17:34

  • (PostNo.322176)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by さとなし » 2018年11月23日(金) 22:55

defeatedcrow さんが書きました:
さとなし さんが書きました:こんにちは。
mobを倒したときのドロップアイテムを追加したときに、わからないことがあったので質問させていただきました。

以下、私の構築環境および作成したプログラムになります。

Forge:ver 1.12.2
使用エディタ:Eclipse
***** OS情報 *****
OS名:Microsoft Windows 10 Home 64 ビット
ServicePack:0
詳細なバージョン:10.0.17134
***** コンピュータ情報 *****
製造元:Dell Inc.
型番:OptiPlex 7010
メモリ:8146 MB
***** CPU情報 *****
プロセッサ名:Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
最大CPUクロック:3201 MHz
現在のCPUクロック:3201 MHz
コア/スレッド数:4/4
***** ビデオカード情報 *****
ビデオチップ:NVIDIA GeForce GTX 1050 Ti
VRAM:4095 MB
ドライバ:23.21.13.8813
-------------------------------------------

package com.test.testMod;

import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

@Mod(modid = TestMod.MOD_ID, version = TestMod.MOD_VERSION)
public class TestMod {
public static final String MOD_ID ="testmod";
public static final String MOD_VERSION = "1.0";

@Mod.EventHandler
public void init(FMLInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new AddDeathEvent());
}
}

-------------------------------------------

package com.test.testMod;

import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.init.Items;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

public class AddDeathEvent {
@SubscribeEvent
public void pickupItem(LivingDeathEvent event)
{
if(event.getEntity() instanceof EntityZombie) {
event.getEntity().dropItem(Items.DIAMOND, 1);
}
}
}
-------------------------------------------

作成したmodはゾンビを倒したときにドロップアイテムにダイヤモンド1つを追加するものでした。
実行した結果、意図通りダイヤモンドがドロップしたのですが、ゲーム画面では2個ドロップしていました。
またドロップした2つのダイヤモンドのうち1つは回収できたのですが、もう1つは回収できませんでした。
この現象はダイヤモンドのドロップ個数を変更しても発生していました。
回収できないダイヤモンドがどうして発生してしまうのかわからなかったので質問させていただきました。
ご回答よろしくお願いいたします。


ドロップアイテムはエンティティです
エンティティは、サーバー側でのみスポーン処理をしないといけないものです
マイクラの現在のバニラの処理はマルチプレイと同じ仕組みで動いています
エンティティはサーバー側に存在していて、その”現在の見た目の情報”だけが定期的にクライアント側にパケット処理で送られてきて、クライアント側がそれを表示するという流れです

あなたはクライアント側かサーバー側かの判別をしないでスポーンさせているので、クライアント側で(行うべきでない)スポーン処理を行っています
そうすると、一応見た目だけは発生しますが、クライアント側にしか存在しない、中身のない見かけだけのドロップアイテムが発生してしまいます
これが拾えなかった方のドロップアイテムです

nullチェックを通しているinstanceof EntityZombieよりも後にif文を追加して、!event.getEntity().getEntityWorld().isRemote(サーバ側かどうかのチェックフラグ)を挟んでください


ご説明が丁寧で、とても分かりやすかったです。
Minecraftの仕組みまでは知らなかったので、大変参考になりました。
ありがとうございました。
さとなし
ID:b8708cfe
水から上がったとこ
 
記事: 4
登録日時: 2018年11月21日(水) 22:56

  • (PostNo.322311)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ogachan1503 » 2018年11月30日(金) 17:44

質問です。
1.7.10でModdingをしているのですが、Entityを初めて作ったのですが、そのレンダラーの作り方がわかりません。
ブロックのレンダラーは作ったことがあるのですが、Entityのレンダラーはチュートリアルがあまりないので、教えてほしいです。
具体的には、球体の見た目にしたいと思っています。
お願いします。

Forge10.13.4.1558
Java 1.8.0.191以降でお願いします。
ogachan1503
ID:d0970500
木を殴ってる
 
記事: 28
登録日時: 2017年6月19日(月) 17:34

  • (PostNo.322409)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by allmi » 2018年12月04日(火) 09:10

新規の質問です。
視界にある距離30ブロック以内のブロックとの距離を計算し、特定キーを入力するとその距離をグレー色の薄さで表示するMODを作成しようとしています。
イメージとしては以下のように近いものと遠いものが色として表現されるものです。
https://cs.nyu.edu/~silberman/datasets/ ... th_v2.html

ForgeAPIを中心に近接ブロックとの距離を計算する方法を調べているのですが、該当の項目が見つからず難儀しています。
上記の直接的な方法、もしくは一人称視点時の描画に関するコードがどこにあるかなどヒントになる情報をおしえていただけないでしょうか?

Forge1.12.2を用いていますが、過去のバージョンに変更しても構いません。
よろしくお願いいたします。
allmi
ID:de4bbd98
水から上がったとこ
 
記事: 1
登録日時: 2018年12月04日(火) 08:44

  • (PostNo.322414)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ogachan1503 » 2018年12月04日(火) 15:07

1.7.10で気になったので質問します。
world.setBlock(int p_147465_1_, int p_147465_2_, int p_147465_3_, Block p_147465_4_, int p_147465_5_, int p_147465_6_)というメソッドがあるのですが、その第六引数はどのように使えばいいのか教えてください。
ogachan1503
ID:d0970500
木を殴ってる
 
記事: 28
登録日時: 2017年6月19日(月) 17:34

  • (PostNo.322423)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by alice » 2018年12月04日(火) 20:34

ogachan1503 さんが書きました:

World.setBlockメソッドの第六引数はブロックの変化を伝播させるかどうかのフラグになっています。
参考記事です(1.5の情報のためメソッド名が変わっていますが)→viewtopic.php?f=21&t=9494
3(周囲のブロックとチャンクが対象)以外はよほどのことがない限り使われないと思います。
0で水源ブロックを空気ブロックにすると、このときだけ無限水源が機能しなくなったりとか。
スチマーとマストドナーと化してる。PC故障につき活動停止中。今冬復活予定。
@a1lic,a1lic.net,MOD公開場所,GitHub
アバター
alice
ID:eba49ea0
金掘り
 
記事: 463
登録日時: 2011年10月23日(日) 20:10
お住まい: 舞天市

  • (PostNo.322437)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by mod作りたい » 2018年12月05日(水) 15:01

アドオンを作りながらデバックする方法はありますか?
dev版は除
あとAPIがないmodのアドオンの作り方もできれば教えてください。
mod作りたい
ID:394f5502
水から上がったとこ
 
記事: 6
登録日時: 2018年11月28日(水) 18:38

  • (PostNo.322458)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by defeatedcrow » 2018年12月06日(木) 00:37

allmi さんが書きました:新規の質問です。
視界にある距離30ブロック以内のブロックとの距離を計算し、特定キーを入力するとその距離をグレー色の薄さで表示するMODを作成しようとしています。
イメージとしては以下のように近いものと遠いものが色として表現されるものです。
https://cs.nyu.edu/~silberman/datasets/ ... th_v2.html

ForgeAPIを中心に近接ブロックとの距離を計算する方法を調べているのですが、該当の項目が見つからず難儀しています。
上記の直接的な方法、もしくは一人称視点時の描画に関するコードがどこにあるかなどヒントになる情報をおしえていただけないでしょうか?

Forge1.12.2を用いていますが、過去のバージョンに変更しても構いません。
よろしくお願いいたします。


BlockPosのメソッドにありますよ
バニラが使っているBlockPosはベクトルクラス(Vec3i)を継承していますから、これが持っている2点間距離の計算などは利用できます

特定条件でプレイヤーの周囲に描画(面を直接、指定位置に描画するのは面倒なので、平面の形をしたパーティクルを発生させている)を行う機能はHaCで作成例があるので貼っておきます
(特定アイテムを持っていると、周囲のブロックの温度設定に応じた描画をするアイテムです)
https://github.com/defeatedcrow/HeatAnd ... .java#L320

このメソッドでは指定範囲のBlockPos取得と、プレイヤーとの距離確認を行っているので、その部分だけ参考になるんじゃないかと


こういった機能追加は基本的に新しいバージョンのほうが充実しているので、過去バージョンに手を出すことはおすすめしません
(最近妙に1.7以前のバージョンでModdingを始める人が多いように見受けられますが、あれらの人々は現役Modderの少ない、より助けの得られない環境に自己責任で飛び込んだ猛者たちと思われますので)
カラスの敗残兵です。AppleMilkTea他、少々のMODを作成しています。
トピック: AppleMilkTea(~1.7.10) / HeatAndClimate(1.10.2)
作者Wiki / github / twitter
アバター
defeatedcrow
ID:69e3e707
ラピスラズリ収集家
 
記事: 1129
登録日時: 2014年1月08日(水) 13:48
お住まい: 北関東

1つ前へ次へ

Return to 質問:開発・制作関連

x