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

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

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

投稿記事by anatawa12 » 2016年12月20日(火) 17:42

C6H2Cl2 さんが書きました:
anatawa12 さんが書きました:forge-1.7.10-10.13.4.1558でmoddingをしています
ItemStackから対応するBlockを取得したいです。
方法をお願いします


ItemStack.getItem()で取得できるItemを、ItemBlockにキャストして、そこからBlockを取得できるはずです

ItemBlockからBlockにする方法がわからないです。
教えてください
korisan112主催の実況鯖の鯖主になる予定
東方好き(にわかにはいる様な)
東方スキンで活動中
anatawa12
ID:914f6516
木を殴ってる
 
記事: 25
登録日時: 2016年8月06日(土) 12:40

  • (PostNo.290815)

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

投稿記事by C6H2Cl2 » 2016年12月20日(火) 20:40

anatawa12 さんが書きました:
C6H2Cl2 さんが書きました:
anatawa12 さんが書きました:forge-1.7.10-10.13.4.1558でmoddingをしています
ItemStackから対応するBlockを取得したいです。
方法をお願いします


ItemStack.getItem()で取得できるItemを、ItemBlockにキャストして、そこからBlockを取得できるはずです

ItemBlockからBlockにする方法がわからないです。
教えてください

ItemBlock.field_150939_a というフィールドがそのBlockです。
あと、確認をせずにキャストをしたりすると例外が投げられやすいので、
・ItemStack != nullで、ItemStackがnullで無いことを確認する
・ItemStack.getItem() で取得したItemを、instanceof ItemBlockでItemBlockであることを確認する
この2つを行ってからキャストしてください。
CurseForgeという海外サイトで、modをいくつか公開しています。
祝・ReinforcedTools10万DL突破!
連絡や、更新予定の確認などは、Twitter@PDB_Yukariへ。
Twitterなんかではパラジって名前でやってます。
結月ゆかりはいいぞ
最近、Kotlinという言語にハマってる。
アバター
C6H2Cl2
ID:5dd024a4
石掘り
 
記事: 128
登録日時: 2015年9月03日(木) 11:23
お住まい: 鹿県鹿市付近

  • (PostNo.290974)

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

投稿記事by desuroido » 2016年12月22日(木) 21:33

MC 1.7.10
Forge 10.13.4.1558
の環境下でMod開発をしているものです。

私は今食べ物を追加するModを作っているのですが、
一度食べると耐久値を削りつつ空腹度も回復するアイテムを作っています。
耐久値を削るところまではいったのですが、空腹度が回復しません。
他の食べ物のようにちゃんと空腹度と隠し空腹度を設定しているのですが回復しません。

耐久値の処理のとこです
コード: 全て選択
   public ItemStack onEaten(ItemStack itemstack, World world, EntityPlayer player){

       if (itemstack != null && itemstack.getItem() == this)
           {
               itemstack.setItemDamage(itemstack.getItemDamage() + 1);
           }

      return itemstack;

   }

どのようにしたら空腹度が回復するでしょうか。

回答よろしくお願いします。
C₁₂₈₉H₂₈N₃₄₃O₃₇₅S₈ またModdingやり始めました。
今は友達に乗り半分遊び半分で言われたSAOのModをここで共同開発しています。
Javaのこともろくに理解できないポンコツですが頑張っています。

C₂₈H₂₄N₂O₇
どうでもいいけどなんか最近漫画買いすぎてド金欠なのが最近の悩みだったりする
アバター
desuroido
ID:02add8f5
木を殴ってる
 
記事: 17
登録日時: 2015年8月05日(水) 12:50
お住まい: もう.....俺に...居場所なんて......無い.....かな...

  • (PostNo.290975)

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

投稿記事by zyando123 » 2016年12月22日(木) 21:35

desuroido さんが書きました:MC 1.7.10
Forge 10.13.4.1558
の環境下でMod開発をしているものです。

私は今食べ物を追加するModを作っているのですが、
一度食べると耐久値を削りつつ空腹度も回復するアイテムを作っています。
耐久値を削るところまではいったのですが、空腹度が回復しません。
他の食べ物のようにちゃんと空腹度と隠し空腹度を設定しているのですが回復しません。
耐久値の処理のとこ
コード: 全て選択
   public ItemStack onEaten(ItemStack itemstack, World world, EntityPlayer player){

       if (itemstack != null && itemstack.getItem() == this)
           {
               itemstack.setItemDamage(itemstack.getItemDamage() + 1);
           }

      return itemstack;

   }


どのようにしたら空腹度が回復するでしょうか。

回答よろしくお願いします。


継承元を呼び出せば回復すると思われます
ろくな事を呟かないTwitterアカウント→@zyando79
アバター
zyando123
ID:93d451bf
石掘り
 
記事: 92
登録日時: 2016年8月29日(月) 13:28

  • (PostNo.291161)

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

投稿記事by desuroido » 2016年12月24日(土) 14:43

zyando123 さんが書きました:継承元を呼び出せば回復すると思われます


回答ありがとうございます。

すごく基本を聞くことになるかもしれませんが、継承元はどのように呼び出せばいいでしょうか。
いろいろ調べたり試したりはしたんですがどうもうまくいかなかったです。

回答よろしくお願いします。
C₁₂₈₉H₂₈N₃₄₃O₃₇₅S₈ またModdingやり始めました。
今は友達に乗り半分遊び半分で言われたSAOのModをここで共同開発しています。
Javaのこともろくに理解できないポンコツですが頑張っています。

C₂₈H₂₄N₂O₇
どうでもいいけどなんか最近漫画買いすぎてド金欠なのが最近の悩みだったりする
アバター
desuroido
ID:02add8f5
木を殴ってる
 
記事: 17
登録日時: 2015年8月05日(水) 12:50
お住まい: もう.....俺に...居場所なんて......無い.....かな...

  • (PostNo.291166)

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

投稿記事by zyando123 » 2016年12月24日(土) 15:43

desuroido さんが書きました:
zyando123 さんが書きました:継承元を呼び出せば回復すると思われます


回答ありがとうございます。

すごく基本を聞くことになるかもしれませんが、継承元はどのように呼び出せばいいでしょうか。
いろいろ調べたり試したりはしたんですがどうもうまくいかなかったです。

回答よろしくお願いします。


super.メソッド名(引数)で呼べます
ろくな事を呟かないTwitterアカウント→@zyando79
アバター
zyando123
ID:93d451bf
石掘り
 
記事: 92
登録日時: 2016年8月29日(月) 13:28

  • (PostNo.291238)

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

投稿記事by anatawa12 » 2016年12月25日(日) 09:59

C6H2Cl2 さんが書きました:
anatawa12 さんが書きました:
C6H2Cl2 さんが書きました:
anatawa12 さんが書きました:forge-1.7.10-10.13.4.1558でmoddingをしています
ItemStackから対応するBlockを取得したいです。
方法をお願いします


ItemStack.getItem()で取得できるItemを、ItemBlockにキャストして、そこからBlockを取得できるはずです

ItemBlockからBlockにする方法がわからないです。
教えてください

ItemBlock.field_150939_a というフィールドがそのBlockです。

返信遅くなりました(スキー行ってました)
ありがとうございます。

コマンドのパラメーターでblockを指定する方法を教えてください
korisan112主催の実況鯖の鯖主になる予定
東方好き(にわかにはいる様な)
東方スキンで活動中
anatawa12
ID:914f6516
木を殴ってる
 
記事: 25
登録日時: 2016年8月06日(土) 12:40

  • (PostNo.291389)

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

投稿記事by morifore » 2016年12月26日(月) 16:15

練習としてMODを作っているのですが、テストプレイが突然できなくなりました。一番最初のforgeをeclipseに入れた無変更の時点ではできることを確認しています。
どうすればいいでしょうか。

実行したときのコンソールに出たログ
[16:12:27] [main/INFO] [GradleStart]: username: forestyujin
[16:12:27] [main/INFO] [GradleStart]: Extra: []
[16:12:27] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/mori/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --username, forestyujin, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[16:12:27] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[16:12:27] [main/INFO] [FML]: Forge Mod Loader version 7.99.36.1558 for Minecraft 1.7.10 loading
[16:12:27] [main/INFO] [FML]: Java is Java HotSpot(TM) Client VM, version 1.8.0_74, running on Windows 7:x86:6.1, installed at C:\pleiades\java\8\jre
[16:12:27] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[16:12:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[16:12:27] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
[16:12:27] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[16:12:27] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[16:12:27] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[16:12:27] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[16:12:29] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[16:12:29] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[16:12:29] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[16:12:30] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[16:12:30] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[16:12:30] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[16:12:30] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[16:12:30] [main/INFO]: Setting user: forestyujin
[16:12:31] [Client thread/INFO]: LWJGL Version: 2.9.1
[16:12:32] [Client thread/INFO] [STDOUT]: [tv.twitch.StandardCoreAPI:<init>:16]: If on Windows, make sure to provide all of the necessary dll's as specified in the twitchsdk README. Also, make sure to set the PATH environment variable to point to the directory containing the dll's.
[16:12:32] [Client thread/ERROR]: Couldn't initialize twitch stream
[16:12:33] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: ---- Minecraft Crash Report ----
// Oh - I know what I did wrong!

Time: 16/12/26 16:12
Description: Loading screen debug info

This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 7 (x86) version 6.1
Java Version: 1.8.0_74, Oracle Corporation
Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
Memory: 968258648 bytes (923 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML:
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.0.10061 Compatibility Profile Context' Renderer: 'ATI Radeon HD 5750'
[16:12:33] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
[16:12:33] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1558 Initialized
[16:12:33] [Client thread/INFO] [FML]: Replaced 183 ore recipies
[16:12:33] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
[16:12:34] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[16:12:34] [Client thread/INFO] [FML]: Searching C:\pleiades\forge-1.7.10-10.13.4.1558-1.7.10\mods for mods
[16:12:43] [Client thread/INFO]: Reloading ResourceManager: Default
[16:12:43] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: ---- Minecraft Crash Report ----
// I feel sad now :(

Time: 16/12/26 16:12
Description: Initializing game

java.lang.IllegalArgumentException: Multiple entries with same key: examplemod=FMLMod:examplemod{1.0} and examplemod=FMLMod:examplemod{1.0}
at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)
at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104)
at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70)
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254)
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1166)
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1140)
at cpw.mods.fml.common.Loader.identifyMods(Loader.java:366)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:489)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
at net.minecraft.client.Minecraft.run(Minecraft.java:942)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)
at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104)
at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70)
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254)
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1166)
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1140)
at cpw.mods.fml.common.Loader.identifyMods(Loader.java:366)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:489)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.run(Minecraft.java:942)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 7 (x86) version 6.1
Java Version: 1.8.0_74, Oracle Corporation
Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
Memory: 782399160 bytes (746 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 5 mods loaded, 0 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
examplemod{1.0} [Example Mod] (bin)
examplemod{1.0} [Example Mod] (bin)
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.0.10061 Compatibility Profile Context' Renderer: 'ATI Radeon HD 5750'
Launched Version: 1.7.10
LWJGL: 2.9.1
OpenGL: ATI Radeon HD 5750 GL version 4.0.10061 Compatibility Profile Context, ATI Technologies Inc.
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: 日本語 (日本)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)
[16:12:43] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to: #@!@# C:\pleiades\forge-1.7.10-10.13.4.1558-1.7.10\.\crash-reports\crash-2016-12-26_16.12.43-client.txt
Java HotSpot(TM) Client VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
morifore
ID:81b0c0c0
木を殴ってる
 
記事: 13
登録日時: 2016年12月26日(月) 10:34

  • (PostNo.291402)

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

投稿記事by desuroido » 2016年12月26日(月) 17:29

zyando123 さんが書きました:super.メソッド名(引数)で呼べます


回答ありがとうございます。

試行錯誤したのですがメゾットが特定できませんでした。
今回の場合どのメゾットを呼び足せばいいのでしょうか。

回答よろしくおねがいします。

蛇足てきなの
desuroido さんが書きました:試行錯誤したのですがメゾットが特定できませんでした。

私の「メゾット」の解釈があっていればの話です。
C₁₂₈₉H₂₈N₃₄₃O₃₇₅S₈ またModdingやり始めました。
今は友達に乗り半分遊び半分で言われたSAOのModをここで共同開発しています。
Javaのこともろくに理解できないポンコツですが頑張っています。

C₂₈H₂₄N₂O₇
どうでもいいけどなんか最近漫画買いすぎてド金欠なのが最近の悩みだったりする
アバター
desuroido
ID:02add8f5
木を殴ってる
 
記事: 17
登録日時: 2015年8月05日(水) 12:50
お住まい: もう.....俺に...居場所なんて......無い.....かな...

  • (PostNo.291423)

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

投稿記事by ポセイ丼(中盛) » 2016年12月26日(月) 20:25

desuroido さんが書きました:
zyando123 さんが書きました:super.メソッド名(引数)で呼べます


回答ありがとうございます。

試行錯誤したのですがメゾットが特定できませんでした。
今回の場合どのメゾットを呼び足せばいいのでしょうか。

回答よろしくおねがいします。

蛇足てきなの
desuroido さんが書きました:試行錯誤したのですがメゾットが特定できませんでした。

私の「メゾット」の解釈があっていればの話です。



zyando123さんではありませんが、
そのアイテムはおそらくItemFoodを継承していると思うので、以前書かれていたonEatenのメソッド内の処理に
player.getFoodStats().addStats(a, f);
を加えてください(aはint型で満腹度回復量、fはfloat型で隠し満腹度です)。今回の場合superを使用すると、耐久値を消費すると同時にアイテム所持数も減ってしまい大抵の場合、最大所持数が1で設定されている耐久値があるアイテムは使用すると耐久値に関係なく一度で消滅してしまいます(ItemFoodのonEatenでアイテムの所持数を1減らす処理があるから)。

[追記]
先程の追加する処理ですが、代わりに
player.getFoodStats().func_151686_a(this, itemstack);
でも大丈夫です。これの場合、そのアイテムがItemFoodを継承しているなら先程のようにいちいち数値を指定する必要がありませんのでメタアイテムなどでメタごとに違う満腹度を設定するなど複雑にしないのであればこちらの方が便利かもしれません。
画像

1.10.2に移動中…
アバター
ポセイ丼(中盛)
ID:9dcbcfa6
大工さん
 
記事: 67
登録日時: 2015年5月06日(水) 07:47

  • (PostNo.291486)

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

投稿記事by ゲスト » 2016年12月27日(火) 00:02

forge-1.9.4-12.17.0.1976で作成してるのですが
ブロックを壊した時に違うアイテムをドロップさせる書き方がわからず
それっぽいのを書いても設置したブロックがドロップしてしまいうまくいきません
実際あるもので言うと本棚を壊したら本をドロップさせたいのですが
自作のブロックから自作のアイテムの出し方がわからず苦戦してしまっています

多分これをつかえばいいのかなと思っているのですが
returnの後に追加したアイテムのクラスを指定してもうまくいきませんでした。

public Item getItemDropped(int meta, Random random, int fortune) {
return ここがわからない ;

どうかわかりにくいかもしれませんがご教授お願いします。
ゲスト
ID:2e143105
 

  • (PostNo.291565)

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

投稿記事by kabutogani2014 » 2016年12月27日(火) 17:57

ポセイ丼(中盛) さんが書きました:
desuroido さんが書きました:
zyando123 さんが書きました:super.メソッド名(引数)で呼べます


回答ありがとうございます。

試行錯誤したのですがメゾットが特定できませんでした。
今回の場合どのメゾットを呼び足せばいいのでしょうか。

回答よろしくおねがいします。

蛇足てきなの
desuroido さんが書きました:試行錯誤したのですがメゾットが特定できませんでした。

私の「メゾット」の解釈があっていればの話です。



zyando123さんではありませんが、
そのアイテムはおそらくItemFoodを継承していると思うので、以前書かれていたonEatenのメソッド内の処理に
player.getFoodStats().addStats(a, f);
を加えてください(aはint型で満腹度回復量、fはfloat型で隠し満腹度です)。今回の場合superを使用すると、耐久値を消費すると同時にアイテム所持数も減ってしまい大抵の場合、最大所持数が1で設定されている耐久値があるアイテムは使用すると耐久値に関係なく一度で消滅してしまいます(ItemFoodのonEatenでアイテムの所持数を1減らす処理があるから)。

[追記]
先程の追加する処理ですが、代わりに
player.getFoodStats().func_151686_a(this, itemstack);
でも大丈夫です。これの場合、そのアイテムがItemFoodを継承しているなら先程のようにいちいち数値を指定する必要がありませんのでメタアイテムなどでメタごとに違う満腹度を設定するなど複雑にしないのであればこちらの方が便利かもしれません。


元の質問者さんではありませんが、同じような処理を使いたいので質問させていただきます。

superを使用せずに、どのようにやるのでしょうか?
super文を public アイテム名 から削除すると、
「暗黙的スーパー・コンストラクター アイテム名 は未定義です。別のコンストラクターを明示的に呼び出す必要があります」
とエラーが出てしまいます。

どのようにすればエラーがでなくなるのでしょうか?
アバター
kabutogani2014
ID:420cb715
大工さん
 
記事: 50
登録日時: 2014年7月27日(日) 15:30
お住まい: 一巡後の世界またはDreamsblock

  • (PostNo.291604)

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

投稿記事by ポセイ丼(中盛) » 2016年12月28日(水) 01:18

desuroido さんが書きました:

kabutogani2014 さんが書きました:元の質問者さんではありませんが、同じような処理を使いたいので質問させていただきます。

superを使用せずに、どのようにやるのでしょうか?
super文を public アイテム名 から削除すると、
「暗黙的スーパー・コンストラクター アイテム名 は未定義です。別のコンストラクターを明示的に呼び出す必要があります」
とエラーが出てしまいます。

どのようにすればエラーがでなくなるのでしょうか?



説明不足で申し訳ありません。onEaten内のsuperは使用しないということです。
説明のためのコードを載せておきますのでよろしければご覧ください。ちなみに、このコードは今回の条件下で最低限必要(ゲップ音処理はいらないなら消してもいいです)と思われるもののみを入れたものなので他にも要素を加えたい場合は、ItemFoodや他のクラスを見て必要なものを追加してください。
コード: 全て選択
package com.example.items;

import com.example.Main;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

public class Food_4 extends ItemFood {

   public Food_4() {

      super(1, 0.1F, false); /** <- このsuperはItemFoodを継承しているなら必要 **/
      this.setUnlocalizedName("food_4");
      this.setTextureName(Main.modID + ":food_4");
      this.setCreativeTab(CreativeTabs.tabFood);
      this.setMaxDamage(64);
   }

   public ItemStack onEaten(ItemStack itemstack, World world, EntityPlayer entityPlayer) {

      /** ここのsuperは今回の場合(耐久値を設定している)は不必要、というか入れてはいけない **/
      itemstack.damageItem(1, entityPlayer); // アイテムのダメージ値を1増やす処理(つまり耐久値を1減らす)
      entityPlayer.getFoodStats().func_151686_a(this, itemstack); // プレイヤーにこのアイテムの回復効果(満腹度、隠し満腹度)を付与する処理
      world.playSoundAtEntity(entityPlayer, "random.burp", 0.5F, world.rand.nextFloat() * 0.1F + 0.9F); // ゲップ音を鳴らす処理
      return itemstack;
   }
}
画像

1.10.2に移動中…
アバター
ポセイ丼(中盛)
ID:9dcbcfa6
大工さん
 
記事: 67
登録日時: 2015年5月06日(水) 07:47

  • (PostNo.291948)

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

投稿記事by DELTA-Ⅲ » 2016年12月31日(土) 16:08

なかなか解決出来なかったので質問させていただきます。
1.7.10のMODを作っていますが日本語を含んでいるテキストを出力させようとしていますが文字化けをしてしまいます。
色んなサイトを見てやっても解決出来ません。
どこがいけないのでしょうか教えてください。
コード: 全て選択
//一部
File file = new File(Loader.instance().activeModContainer().getSource().getPath()+"test.txt");
try {
    PrintWriter fp    = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF-8")));
   
    fp.println("abc");
    fp.println("あかさたな");
   
    fp.flush();
    // ファイルのクローズ処理
    fp.close();
} catch(IOException e) {
    System.out.println(e);
}
1.7.10でMOD製作したがっています。(他人事)
DELTA-Ⅲ
ID:d92e578b
石炭掘り
 
記事: 150
登録日時: 2013年12月14日(土) 15:00

  • (PostNo.291952)

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

投稿記事by elise_blacklab » 2016年12月31日(土) 16:25

DELTA-Ⅲ さんが書きました:なかなか解決出来なかったので質問させていただきます。
1.7.10のMODを作っていますが日本語を含んでいるテキストを出力させようとしていますが文字化けをしてしまいます。
色んなサイトを見てやっても解決出来ません。
どこがいけないのでしょうか教えてください

そもそもソースコードはUTF-8で書いてますよねってことは一つ.あと読む側がUTF-8じゃないとか.
だいたいここ(マイクラのフォーラム)で聞くような問題じゃないと思います.
メイドつくってたりします.http://6docvc.net/
アバター
elise_blacklab
ID:516bebd7
掘り廃人
 
記事: 2449
登録日時: 2014年6月25日(水) 18:30

  • (PostNo.291958)

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

投稿記事by DELTA-Ⅲ » 2016年12月31日(土) 16:59

elise_blacklab さんが書きました:
DELTA-Ⅲ さんが書きました:なかなか解決出来なかったので質問させていただきます。
1.7.10のMODを作っていますが日本語を含んでいるテキストを出力させようとしていますが文字化けをしてしまいます。
色んなサイトを見てやっても解決出来ません。
どこがいけないのでしょうか教えてください

そもそもソースコードはUTF-8で書いてますよねってことは一つ.あと読む側がUTF-8じゃないとか.
だいたいここ(マイクラのフォーラム)で聞くような問題じゃないと思います.

解決しました、テキストから読み込んだ文字を作成したテキストに記入する、といったものを作ろうとしました。
原因は読み込んだテキストの方のコードがUTF-8では無かったからでした。
langファイルを作成しようとしたのでここでも大丈夫かと思っていましたが大変失礼しました。
また、先程のコードをチェックしていなかったため先程のコードが正常に動いていたことに気付きませんでした。
色々紛らわしくしてしまいすみませんでした。今後は気をつけます。
1.7.10でMOD製作したがっています。(他人事)
DELTA-Ⅲ
ID:d92e578b
石炭掘り
 
記事: 150
登録日時: 2013年12月14日(土) 15:00

  • (PostNo.291983)

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

投稿記事by Blackcat172172 » 2016年12月31日(土) 20:18

質問です。
専用の作業台(のようなもの)でクラフトするレシピの追加方法はありますか?
因みに1.7.10です。
(マイクラが)クラッシュ・オブ・キングズ
アバター
Blackcat172172
ID:f28a7442
水から上がったとこ
 
記事: 9
登録日時: 2016年12月31日(土) 15:54

  • (PostNo.292082)

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

投稿記事by PPAP » 2017年1月02日(月) 02:35

Blackcat172172 さんが書きました:質問です。
専用の作業台(のようなもの)でクラフトするレシピの追加方法はありますか?
因みに1.7.10です。


http://minecraftjp.info/modding/index.p ... D%E5%8A%A0

これが参考になるかもしれません。
硬度とは爆発である――岡本次郎

MOD作ってます。初心者ですが。
BuildCraftのアドオン作りたいけど作り方がわからない
PPAP
ID:9fff45fd
水から上がったとこ
 
記事: 3
登録日時: 2016年12月29日(木) 19:28

  • (PostNo.292102)

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

投稿記事by Blackcat172172 » 2017年1月02日(月) 15:55

PPAP さんが書きました:
Blackcat172172 さんが書きました:質問です。
専用の作業台(のようなもの)でクラフトするレシピの追加方法はありますか?
因みに1.7.10です。


http://minecraftjp.info/modding/index.p ... D%E5%8A%A0

これが参考になるかもしれません。

ありがとうございます。早速試して見ます。
(マイクラが)クラッシュ・オブ・キングズ
アバター
Blackcat172172
ID:f28a7442
水から上がったとこ
 
記事: 9
登録日時: 2016年12月31日(土) 15:54

  • (PostNo.292266)

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

投稿記事by ユメミノウツツ » 2017年1月04日(水) 11:47

MC1.7.10,Forge1558,Eclipse使用環境下で質問させていただきます。

他の方が作ったMODの処理を参考にさせていただこうと思い、ワークスペースのeclipse\modsの中にMODを入れたのですが、その状態でEclipseのデバッグを実行するとクラッシュしました。なお、MODを変えて複数回試しましたがどれもダメでした。どうしたらちゃんと起動しますでしょうか。なお、自分のMODはFEMODです。
クラッシュレポート
---- Minecraft Crash Report ----
// Who set us up the TNT?

Time: 17/01/04 10:56
Description: There was a severe problem during mod loading that has caused the game to fail

cpw.mods.fml.common.LoaderException: java.lang.NoSuchMethodError: mods.flammpfeil.slashblade.ItemSWaeponMaterial.func_77627_a(Z)Lnet/minecraft/item/Item;
at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)
at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:559)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
at net.minecraft.client.Minecraft.run(Minecraft.java:942)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)
Caused by: java.lang.NoSuchMethodError: mods.flammpfeil.slashblade.ItemSWaeponMaterial.func_77627_a(Z)Lnet/minecraft/item/Item;
at mods.flammpfeil.slashblade.ItemSWaeponMaterial.<init>(ItemSWaeponMaterial.java:39)
at mods.flammpfeil.slashblade.SlashBlade.preInit(SlashBlade.java:136)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
... 12 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.8.0_101, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 810170368 bytes (772 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 5 mods loaded, 5 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCH mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
UCH FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
UCH Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
UCH FEMOD{1.0} [FEMOD] (bin)
UCE flammpfeil.slashblade{mc1.7.10-r86} [SlashBlade] (SlashBlade-mc1.7.10-r86.jar)
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.14008 Compatibility Profile Context 21.19.137.1' Renderer: 'AMD Radeon(TM) R7 Graphics'

他の方が作ったMODは、Ferne様の抜刀剣MODver r86(viewtopic.php?f=13&t=2150)です。
http://cra.webcrow.jp/index.html にて調べると『前提Modに関する問題、またはマルチプレイ非対応の処理が含まれている可能性があります。』と表示されました。前提MODはなかったはずなのでマルチに関することかと思いますが、何しろ自分はModding始めたばっかで知識がないのでよくわからず・・・。

回答のほどよろしくお願いします。
Javaすら学んでなければ教えてくれる人もいない中Modding始めてみた。ファイアーエムブレムを再現するMODを作りたいけどもリリースできる気がしませんなこれは・・・。
アバター
ユメミノウツツ
ID:207d775a
石掘り
 
記事: 112
登録日時: 2014年3月29日(土) 20:13

1つ前へ次へ

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

x