Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Forge 4.1.1 Armor is invisible.


GigaNova
 Share

Recommended Posts

Here is my problem.

 

Before I updated my Forge [4.0.0] to [4.1.1] my armor worked just fine, now suddenly, it went invisible.

When equipping it, the armor is invisible and strangely, the item held go's invisible in third person too (?!)

 

This is very strange because I haven't touched the code.

 

NihiliumItemArmor

 

package net.minecraft.src;

 

import net.minecraftforge.common.IArmorTextureProvider;

 

public class NihiliumItemArmor extends ItemArmor implements IArmorTextureProvider

{

 

        public NihiliumItemArmor(int i, EnumArmorMaterial enumarmormaterial, int j, int k)

        {

                super(i, enumarmormaterial, j, k);

        }

       

        public String getTextureFile()

        {

                return "/DPIndex.png";

        }

@Override

public String getArmorTextureFile(ItemStack itemstack) {

            if(itemstack.itemID == mod_NihiliumArmour.NihiliumHelmet.shiftedIndex || itemstack.itemID == mod_NihiliumArmour.NihiliumBody.shiftedIndex || itemstack.itemID == mod_NihiliumArmour.NihiliumBoots.shiftedIndex)

            {

                    return "/NihiliumArmor1.png";

            }

            if(itemstack.itemID == mod_NihiliumArmour.NihiliumLegs.shiftedIndex)

            {

                    return "/NihiliumArmor2.png";

            }

            return "/NihiliumArmor1.png";

}

 

}

               

 

Help?

Link to comment
Share on other sites

It looks like the console spams this message when equipping armor:

 

 

012-09-16 18:53:40 [iNFO] [sTDERR] java.lang.ArrayIndexOutOfBoundsException: 6

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.RenderPlayer.setArmorModel(RenderPlayer.java:44)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.RenderPlayer.shouldRenderPass(RenderPlayer.java:419)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.RenderLiving.doRenderLiving(RenderLiving.java:110)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.RenderPlayer.renderPlayer(RenderPlayer.java:94)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.RenderPlayer.doRender(RenderPlayer.java:453)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.RenderManager.renderEntityWithPosYaw(RenderManager.java:191)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.GuiInventory.func_74223_a(GuiInventory.java:109)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:588)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.GuiContainer.drawScreen(GuiContainer.java:60)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:38)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.GuiContainerCreative.drawScreen(GuiContainerCreative.java:522)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.src.EntityRenderer.updateCameraAndRender(EntityRenderer.java:917)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:871)

2012-09-16 18:53:40 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:764)

2012-09-16 18:53:40 [iNFO] [sTDERR] at java.lang.Thread.run(Unknown Source)

 

 

 

This is weird, because, I didn't touch the code in any way and this worked before.

 

EDIT: Here is the code wich calls the 6.

mod_NihiliumArmor

 

package net.minecraft.src;

import java.util.Random;

 

import cpw.mods.fml.common.registry.GameRegistry;

import net.minecraft.src.ItemArmor;

import net.minecraftforge.client.MinecraftForgeClient;

 

 

 

public class mod_NihiliumArmour extends BaseMod

 

 

{

//First number: data value

//Second number: durability/strength of NihiliumArmour

//Third number: skin (what the NihiliumArmour looks like when you're wearing it)

//Fourth number: type of amour (0 = Helm, 1 = NihiliumBody, 2 = NihiliumLegs, 3 = NihiliumBoots)

 

public static final Item NihiliumHelmet = new NihiliumItemArmor(4012, EnumArmorMaterial.NIHILIUM,  6, 0).setItemName("Nihilium Helmet").setIconIndex(27);

public static final Item NihiliumBody = new NihiliumItemArmor(4013, EnumArmorMaterial.NIHILIUM, 6, 1).setItemName("Nihilium Chestplate").setIconIndex(26);

public static final Item NihiliumLegs = new NihiliumItemArmor(4014, EnumArmorMaterial.NIHILIUM, 6, 2).setItemName("Nihilium Legs").setIconIndex(25);

public static final Item NihiliumBoots = new NihiliumItemArmor(4011, EnumArmorMaterial.NIHILIUM, 6, 3).setItemName("Nihilium Boots").setIconIndex(24);

 

public mod_NihiliumArmour()

{

 

//This adds the item textures, which is what the NihiliumArmour looks like when you're holding it

//This sets the recipes for each piece of NihiliumArmour.

//Note: I made it so the recipes are the same as regular NihiliumArmour recipes,

// except they're made completely out of dirt

//The next four lines add the in-game names to each piece of NihiliumArmour.

ModLoader.addName(NihiliumHelmet, "Nihilium Helmet");

ModLoader.addName(NihiliumBody, "Nihilium Chest Plate");

ModLoader.addName(NihiliumLegs, "Nihilium Greaves");

ModLoader.addName(NihiliumBoots, "Nihilium Boots");

 

}

 

//This function tells ModLoader what "version" your mod is (don't worry about it, I put in pi for you)

public String getVersion(){

return "1.3.2";

}

public void load() {

ModLoader.addRecipe(new ItemStack(NihiliumHelmet, 1), new Object[] {

"***", "* *", Character.valueOf('*'), mod_NihiliumBar.NihiliumBar

});

ModLoader.addRecipe(new ItemStack(NihiliumBody, 1), new Object[] {

"* *", "***", "***", Character.valueOf('*'), mod_NihiliumBar.NihiliumBar

});

ModLoader.addRecipe(new ItemStack(NihiliumLegs, 1), new Object[] {

"***", "* *", "* *", Character.valueOf('*'), mod_NihiliumBar.NihiliumBar

});

ModLoader.addRecipe(new ItemStack(NihiliumBoots, 1), new Object[] {

"* *", "* *", Character.valueOf('*'), mod_NihiliumBar.NihiliumBar

});

}

}

 

Link to comment
Share on other sites

This bug is really simple to fix.

 

Change this:

 

NihiliumHelmet = new NihiliumItemArmor(4012, EnumArmorMaterial.NIHILIUM,  6, 0).setItemName("Nihilium Helmet").setIconIndex(27);

 

into this:

 

NihiliumHelmet = new NihiliumItemArmor(4012, EnumArmorMaterial.NIHILIUM,  3, 0).setItemName("Nihilium Helmet").setIconIndex(27);

 

I don't kow why modders can't use their own armor render ID, but if you use the diamonds one (3), it works.

Link to comment
Share on other sites

That or you could provide your own armor texture without using ModLoader, or you could use the FML version of the ML functions, or you could do it a million ways. Its fairly basic.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Patreon: http://www.patreon.com/lexmanos
Paypal: http://paypal.me/LexManos

BitCoin: 1Q8rWvUNMM2T1ZfDaFeeYQyVXtYoeT6tTn

Link to comment
Share on other sites

You actually can use another way than setting that int to 3, it is a ModLoader function. instead of that int use: ModLoader.addArmor(String). Don't know if it is the best way, but it works.

Why not use the forge methods? They seem better IMO, since you are using forge anyways :P

RenderingRegistery.addNewArmourRendererPrefix(String armor);

1 minute of searching around and I found it :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • so my 1.16.5 game is crashing and i dont know why could someone help this is what the crash report says        ---- Minecraft Crash Report ---- // Uh... Did I do that? Time: 12/8/21 6:48 PM Description: Rendering overlay net.minecraftforge.fml.config.ConfigFileTypeHandler$ConfigLoadingException: Failed loading config file neat-client.toml of type CLIENT for modid neat     at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:61) ~[?:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigFileTypeHandler$$Lambda$3947/30466991.apply(Unknown Source) ~[?:?] {}     at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:104) ~[?:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigTracker.lambda$loadConfigs$1(ConfigTracker.java:83) ~[?:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigTracker$$Lambda$3946/1787282788.accept(Unknown Source) ~[?:?] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_51] {}     at java.util.Collections$SynchronizedCollection.forEach(Collections.java:2062) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.config.ConfigTracker.loadConfigs(ConfigTracker.java:83) ~[?:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.lambda$null$18(ModLoader.java:208) ~[?:?] {re:classloading}     at net.minecraftforge.fml.ModLoader$$Lambda$3945/1261700299.run(Unknown Source) ~[?:?] {}     at net.minecraftforge.fml.DistExecutor.unsafeRunWhenOn(DistExecutor.java:125) ~[?:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.loadMods(ModLoader.java:208) ~[?:?] {re:classloading}     at net.minecraftforge.fml.client.ClientModLoader.lambda$startModLoading$7(ClientModLoader.java:132) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.fml.client.ClientModLoader$$Lambda$3937/2101375146.run(Unknown Source) ~[?:?] {}     at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:123) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.fml.client.ClientModLoader$$Lambda$2956/1769605448.run(Unknown Source) ~[?:?] {}     at net.minecraftforge.fml.client.ClientModLoader.startModLoading(ClientModLoader.java:132) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.fml.client.ClientModLoader.lambda$onResourceReload$2(ClientModLoader.java:114) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.fml.client.ClientModLoader$$Lambda$3933/525193238.run(Unknown Source) ~[?:?] {}     at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:123) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.fml.client.ClientModLoader$$Lambda$2956/1769605448.run(Unknown Source) ~[?:?] {}     at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1618) ~[?:1.8.0_51] {}     at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1610) ~[?:1.8.0_51] {}     at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_51] {}     at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_51] {}     at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689) ~[?:1.8.0_51] {re:computing_frames}     at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) ~[?:1.8.0_51] {} Caused by: com.electronwill.nightconfig.core.io.ParsingException: Not enough data available     at com.electronwill.nightconfig.core.io.ParsingException.notEnoughData(ParsingException.java:22) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ReaderInput.directReadChar(ReaderInput.java:36) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.AbstractInput.readChar(AbstractInput.java:49) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.AbstractInput.readCharsUntil(AbstractInput.java:123) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseKey(TableParser.java:166) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseDottedKey(TableParser.java:145) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseNormal(TableParser.java:55) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:44) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:37) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:113) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:219) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:202) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.load(WriteSyncFileConfig.java:73) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.load(AutosaveCommentedFileConfig.java:85) ~[core-3.6.3.jar:?] {}     at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:57) ~[?:?] {re:classloading}     ... 26 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:61) ~[?:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigFileTypeHandler$$Lambda$3947/30466991.apply(Unknown Source) ~[?:?] {}     at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:104) ~[?:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigTracker.lambda$loadConfigs$1(ConfigTracker.java:83) ~[?:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigTracker$$Lambda$3946/1787282788.accept(Unknown Source) ~[?:?] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_51] {}     at java.util.Collections$SynchronizedCollection.forEach(Collections.java:2062) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.config.ConfigTracker.loadConfigs(ConfigTracker.java:83) ~[?:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.lambda$null$18(ModLoader.java:208) ~[?:?] {re:classloading}     at net.minecraftforge.fml.ModLoader$$Lambda$3945/1261700299.run(Unknown Source) ~[?:?] {}     at net.minecraftforge.fml.DistExecutor.unsafeRunWhenOn(DistExecutor.java:125) ~[?:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.loadMods(ModLoader.java:208) ~[?:?] {re:classloading} -- Overlay render details -- Details:     Overlay name: net.minecraft.client.gui.ResourceLoadProgressGui Stacktrace:     at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:807) ~[?:?] {re:classloading,pl:accesstransformer:B,xf:OptiFine:default}     at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:977) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.betterthirdperson.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.betterthirdperson.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.2.19.jar:36.2] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$490/1712666248.call(Unknown Source) [forge-1.16.5-36.2.19.jar:36.2] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} -- System Details -- Details:     Minecraft Version: 1.16.5     Minecraft Version ID: 1.16.5     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 1150823848 bytes (1097 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB)     CPUs: 4     JVM Flags: 10 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -XX:+IgnoreUnrecognizedVMOptions -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     ModLauncher: 8.0.9+86+master.3cf110c     ModLauncher launch target: fmlclient     ModLauncher naming: srg     ModLauncher services:          /mixin-0.8.4.jar mixin PLUGINSERVICE          /eventbus-4.0.0.jar eventbus PLUGINSERVICE          /forge-1.16.5-36.2.19.jar object_holder_definalize PLUGINSERVICE          /forge-1.16.5-36.2.19.jar runtime_enum_extender PLUGINSERVICE          /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE          /forge-1.16.5-36.2.19.jar capability_inject_definalize PLUGINSERVICE          /forge-1.16.5-36.2.19.jar runtimedistcleaner PLUGINSERVICE          /mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE          /OptiFine_1.16.5_HD_U_G8.jar OptiFine TRANSFORMATIONSERVICE          /forge-1.16.5-36.2.19.jar fml TRANSFORMATIONSERVICE      FML: 36.2     Forge: net.minecraftforge:36.2.19     FML Language Providers:          javafml@36.2         minecraft@1     Mod List:          forge-1.16.5-36.2.19-client.jar                   |Minecraft                     |minecraft                     |1.16.5              |COMMON_SET|Manifest: NOSIGNATURE         MouseTweaks-2.14-mc1.16.2.jar                     |Mouse Tweaks                  |mousetweaks                   |2.14                |COMMON_SET|Manifest: NOSIGNATURE         BetterF3-1.1.3-forge-1.16.5.jar                   |BetterF3 Forge                |betterf3forge                 |1.1.3               |COMMON_SET|Manifest: NOSIGNATURE         toughnessbar-6.1.jar                              |Toughness Bar                 |toughnessbar                  |6.1                 |COMMON_SET|Manifest: NOSIGNATURE         jei-1.16.5-7.7.1.130.jar                          |Just Enough Items             |jei                           |7.7.1.130           |COMMON_SET|Manifest: NOSIGNATURE         incontrol-1.16-5.2.2.jar                          |InControl                     |incontrol                     |1.16-5.2.2          |COMMON_SET|Manifest: NOSIGNATURE         torohealth-1.16.4-forge-4.jar                     |ToroHealth                    |torohealth                    |NONE                |COMMON_SET|Manifest: NOSIGNATURE         SpartanShields-1.16.5-2.1.2.jar                   |Spartan Shields               |spartanshields                |2.1.2               |COMMON_SET|Manifest: NOSIGNATURE         Neat 1.7-27.jar                                   |Neat                          |neat                          |1.7-27              |COMMON_SET|Manifest: NOSIGNATURE         Waystones_1.16.5-7.6.3.jar                        |Waystones                     |waystones                     |7.6.3               |COMMON_SET|Manifest: NOSIGNATURE         Clumps-6.0.0.27.jar                               |Clumps                        |clumps                        |6.0.0.27            |COMMON_SET|Manifest: NOSIGNATURE         journeymap-1.16.5-5.7.3.jar                       |Journeymap                    |journeymap                    |5.7.3               |COMMON_SET|Manifest: NOSIGNATURE         structurescompass-1.16.5-1.2.0.jar                |Structures Compass            |structurescompass             |1.16.5-1.2.0        |COMMON_SET|Manifest: NOSIGNATURE         comforts-forge-1.16.5-4.0.1.3.jar                 |Comforts                      |comforts                      |1.16.5-4.0.1.3      |COMMON_SET|Manifest: NOSIGNATURE         OreExcavation-1.8.157.jar                         |Ore Excavation                |oreexcavation                 |1.8.157             |COMMON_SET|Manifest: e7:68:1c:0d:b9:7e:cf:f8:f3:40:9c:84:c5:39:d7:a4:59:78:b0:6b:c3:fd:b7:4f:69:18:a3:88:e3:76:8c:3f         NaturesCompass-1.16.5-1.9.1-forge.jar             |Nature's Compass              |naturescompass                |1.16.5-1.9.1-forge  |COMMON_SET|Manifest: NOSIGNATURE         BetterThirdPerson-Forge-1.16.4-1.5.1.jar          |Better Third Person           |betterthirdperson             |1.5.1               |COMMON_SET|Manifest: NOSIGNATURE         ImprovedBackpacks-1.6.2.0.jar                     |Improved Backpacks            |improvedbackpacks             |1.6.2.0             |COMMON_SET|Manifest: NOSIGNATURE         forge-branders-spawnermod-1.16.5-1.8.14.jar       |Enhanced Mob Spawners         |spawnermod                    |1.8.14              |COMMON_SET|Manifest: NOSIGNATURE         Bookshelf-Forge-1.16.5-10.3.29.jar                |Bookshelf                     |bookshelf                     |10.3.29             |COMMON_SET|Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         EnchantmentDescriptions-1.16.5-7.0.12.jar         |EnchantmentDescriptions       |enchdesc                      |7.0.12              |COMMON_SET|Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         Construction-Wand-Mod-1.16.5.jar                  |Construction Wand             |constructionwand              |1.16.5-2.4          |COMMON_SET|Manifest: NOSIGNATURE         forge-1.16.5-36.2.19-universal.jar                |Forge                         |forge                         |36.2.19             |COMMON_SET|Manifest: 22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90         FastLeafDecay-v25.jar                             |FastLeafDecay                 |fastleafdecay                 |v25                 |COMMON_SET|Manifest: NOSIGNATURE         CosmeticArmorReworked-1.16.5-v4.jar               |CosmeticArmorReworked         |cosmeticarmorreworked         |1.16.5-v4           |COMMON_SET|Manifest: 5e:ed:25:99:e4:44:14:c0:dd:89:c1:a9:4c:10:b5:0d:e4:b1:52:50:45:82:13:d8:d0:32:89:67:56:57:01:53         DungeonsArise-1.16.5-2.1.47-release.jar           |When Dungeons Arise           |dungeons_arise                |2.1.47              |COMMON_SET|Manifest: NOSIGNATURE     Crash Report UUID: 0200d0f1-6fd6-42d6-ab81-b889d2884274     Launched Version: 1.16.5-forge-36.2.19     Backend library: LWJGL version 3.2.2 build 10     Backend API: Intel(R) HD Graphics 4600 GL version 4.3.0 - Build 20.19.15.5058, Intel     GL Caps: Using framebuffer using OpenGL 3.0     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     Graphics mode: fancy     Resource Packs:      Current Language: English (US)     CPU: 4x Intel(R) Core(TM) i5-4570T CPU @ 2.90GHz     OptiFine Version: OptiFine_1.16.5_HD_U_G8     OptiFine Build: 20210515-161946     Render Distance Chunks: 8     Mipmaps: 0     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 4.3.0 - Build 20.19.15.5058     OpenGlRenderer: Intel(R) HD Graphics 4600     OpenGlVendor: Intel     CpuCount: 4
    • Sorry, I thought originally this was a forge problem , so I made it for this. Anyway, I have THIS for the tick() method ...  public void tick() { if (level.getServer() != null) { super.tick(); } One of my friends told me I needed to check if it was NOT null before the super because otherwise, it was crashing when the entity was spawed- if that's not the solution , then what do i do to stop it from crashing? Here is a pastebin of that crash. Thanks by the way for trying to help me. https://pastebin.com/Qk37BRA6
    • How do you know it's the attributes' problem? For me it sounds more like it's not ticking. (maybe forgot to call super, or the server is frozen.)   Btw you're on the wrong sub forum
    • Basically, my attributes for my TankEntity are not going through. I'm DIRECTLY porting from 1.17, and it worked fine on 1.17 and 16, so I'm pretty confused here. The Entity extends Pig and within it, this is for creating the attributes. public static AttributeSupplier.Builder createAttributes() { return Pig.createLivingAttributes() .add(Attributes.MAX_HEALTH, 90.0D) .add(Attributes.MOVEMENT_SPEED, 0.14f) .add(Attributes.KNOCKBACK_RESISTANCE, 10.0D) .add(Attributes.FOLLOW_RANGE, 0.0D); } Then, in my EntityTypes Registry, I add the attributes.  @Mod.EventBusSubscriber(modid = TankMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) public class TankModEntityTypes { ..... @SubscribeEvent public static void entityAttributesInit(EntityAttributeCreationEvent event) { event.put(TANK_ENTITY_TYPE.get(), TankEntity.createAttributes().build()); } I just don't understand why its not working. This worked fine , before. The Entity spawns, but it weirdly just floats in the air, and when hit it goes red and doesn't stop being red. When the player rides it, its health also doesn't go down. Really strange stuff.  I looked at some other mods which have entity attributes, and it works fine in them. If there's anything else I need to show let me know.
    • Catch up with the last topic with rendering, this is something that I took a while to learn from nothing to this stage. (I only shoot from right side) public static List<Pair<BlockRayTraceResult, Float>> rayTraceAndPenetrateBlocks4(World world, List<Vector3d> vecs, float health, Function<BlockState, Float> getHealthReduction) { List<Pair<BlockRayTraceResult, Float>> results = new ArrayList<>(); if (vecs.isEmpty()) return results; Vector3d startVec = vecs.get(0); for (int i=0;i<vecs.size()-1;i++) { Vector3d vec = vecs.get(i); Vector3d next = vecs.get(i + 1); BlockPos pos = new BlockPos(vec); BlockPos pos2 = new BlockPos(next); BlockState blockstate = world.getBlockState(pos); BlockState blockstate2 = world.getBlockState(pos2); if (blockstate.getBlock() instanceof BarrierBlock && blockstate2.getBlock() instanceof BarrierBlock) continue; VoxelShape blockShape = blockstate.getCollisionShape(world, pos, ISelectionContext.dummy()); VoxelShape blockShape2 = blockstate2.getCollisionShape(world, pos2, ISelectionContext.dummy()); BlockRayTraceResult blockResult; boolean empty = blockShape.isEmpty() || blockShape.toBoundingBoxList().stream().noneMatch((bb) -> bb.offset(pos).contains(vec)); boolean empty2 = blockShape2.isEmpty() || blockShape2.toBoundingBoxList().stream().noneMatch((bb) -> bb.offset(pos2).contains(next)); if ((isRayTraceIgnorableBlock(blockstate, blockShape) && isRayTraceIgnorableBlock(blockstate2, blockShape2))) continue; if (empty && !empty2) blockResult = world.rayTraceBlocks(vec, next, pos2, blockShape2, blockstate2); else if (!empty && empty2) blockResult = world.rayTraceBlocks(next, vec, pos, blockShape, blockstate); else blockResult = world.rayTraceBlocks(vec, next, pos, blockShape, blockstate); if (blockResult != null) { health -= getHealthReduction.apply(blockstate); results.add(new Pair<>(blockResult, (float) startVec.distanceTo(blockResult.getHitVec()))); if (health <= 0) break; } } return results; } public static List<Vector3d> getAllVectors2(Vector3d startVec, Vector3d endVec, int distance) { List<Vector3d> vecs = new ArrayList<>(); Vector3d step = endVec.subtract(startVec).normalize(); int rayTraceCount = 20; for (int i=0;i<distance;i++) for (int j=0;j<rayTraceCount;j++) vecs.add(startVec.add(step.scale(i).add(step.scale((float) j / (float) rayTraceCount)))); return vecs; } The vecs passed into the first method comes from the second method. The concept is to gather a collection of vectors, and the do ray trace between each of them. The first method can be a lot more simplified but not on my case since I also do entity penetrations, with damage calculations...etc. Anyways, if you only do normal raytracing what you will get will be something like:   Black Block represents a solid block Gray Block represents air or empty shaped block Green dots represents the positions we ray trace between. Blue dots represents the ray trace hit result. As you can see, the ray trace hit will not (unlikely) hit the surface when coming out of a block, therefore we need to detect the situation and ray trace back wards: So we get the "entering" and "exiting" points.   Here comes the rendering part once again, once you have let the client know where is hit you can perform the rendering based on the ray trace result. private static void renderObjectAt(Minecraft minecraft, EnvironmentObjectEffect object, World world, MatrixStack stack, float size, float offsetScale, ResourceLocation texture) { Vector3d vec = object.getVec(); stack.push(); Vector3d view = Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getProjectedView(); double x = vec.x - view.getX(); double y = vec.y - view.getY(); double z = vec.z - view.getZ(); if (Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)) > 100.0F) return; stack.translate(x, y, z); Direction direction = object.getDirection(); if (direction != null) { Vector3i offset = direction.getDirectionVec(); stack.translate(offset.getX() * offsetScale, offset.getY() * offsetScale, offset.getZ() * offsetScale); rotateByDirection(stack, direction); } else { stack.rotate(minecraft.getRenderManager().getCameraOrientation()); stack.rotate(Vector3f.ZP.rotationDegrees(180.0F)); } if (object.doBlend()) { Color colour = new Color(world.getBlockState(object.getPos()).getMaterialColor(world, object.getPos()).colorValue); RenderSystem.color4f(colour.getRed() / 255.0F, colour.getGreen() / 255.0F, colour.getBlue() / 255.0F, object.getTransparency()); } AVAClientUtil.blit(stack, texture, -size, -size, size, size); RenderSystem.color4f(1.0F, 1.0F, 1.0f, 1.0F); stack.pop(); } direction is facing from the BlockRayTraceResult, and doBlend is true so it will look better with the block behind it. The offset is required otherwise it will be on the same level with the block, the offset scale is a small number so there will not be an obvious gap between the wall and the texture object, the scale also prevents multiple objects overlap, for example when I have multiple "renderable objects": for (EnvironmentObjectEffect bulletHole : AVACommonUtil.cap(world).getBulletHoles()) renderObjectAt(minecraft, bulletHole, world, stack, 0.075F, 0.01F, BULLET_HOLE); for (EnvironmentObjectEffect blood : AVACommonUtil.cap(world).getBloods()) renderObjectAt(minecraft, blood, world, stack, 0.525F, 0.011F, BLOOD); for (EnvironmentObjectEffect knifeHole : AVACommonUtil.cap(world).getKnifeHoles()) renderObjectAt(minecraft, knifeHole, world, stack, 0.095F, 0.0105F, KNIFE_HOLE); for (EnvironmentObjectEffect grenadeMark : AVACommonUtil.cap(world).getGrenadeMarks()) renderObjectAt(minecraft, grenadeMark, world, stack, 2.5F, 0.075F, GRENADE_MARK); bullet hole < knife hole < blood < grenade mark (level) Red Image    
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.