
FireTamer81
Members-
Posts
46 -
Joined
-
Last visited
Everything posted by FireTamer81
-
Uhhhh, weird shit happened again.... I had closed IntelliJ (I had done it multiple times before, but for some reason this time something happened), re-opened it and it was fixed..... Thanks for the answer though, I will do that and go from there if this ever happens again.
-
I seriously don't know what happened. One night I closed my IDE (IntelliJ), and the next morning and opened it and tried getting to work only to find it was saying I was missing repositories? I haven't messed with anything gradle on my mod for weeks now, I tried deleted the .gradle cache in my personal folders, etc. This is what I get when I run with stacktrace, but I have no idea what any of this means: https://pastebin.com/WXXwHKvw I included the entire thing, because I don't know what's important and what's not.
-
I now feel like a total idiot, and I am so sorry for the trouble (also the forge suggestion, I was under the impression that because you couldn't figure out the issue that it wasn't on my end.... when it totally was). Turns out minecraft does have a layering system thingy.... That highlighted float was "100.0f" in the repo you looked through.... I thought I would just change values around as a last ditch effort and changing that one worked.... So yea, sorry mate.
-
I have no idea how this might work, I am honestly not to that level of coding yet (nor my understanding of forge), but I have recently attempted making a GUI with movable components and found that rendered string (and possibly other things I hadn't found yet) rendered behind the movable GUI components. I had asked on modder support, but even diesieben07 wasn't able to figure out what was going on after a short local test of my mod (please ignore my lack of experience with Github): So, perhaps for the newer versions of Forge, some edit to the vanilla GUI stuff to allow layer-based rendering, or just something to fix the issue in the linked post.
-
That's perfectly fine mate.... I guess I'll just keep looking for the answer then. Thank you for your time at least
-
https://github.com/FireTamer81/DragonBlockBeyond/blob/7e69f0bfd01cf7bc4d9cdff6c22e6b37a5d8a362/src/main/java/io/github/firetamer/dbb/modules/gui_testing/player_screen/children/PlayerStatGui.java#L145
-
Oh, let me update it then It should be updated
-
Right, sorry. Just imagine it wasn't, because the image I posted was from when it was.
-
Boosting. I don't quite know if I did something wrong or it's just no one has an answer.
-
Oh, uh, sorry mate. I didn't know that was a thing. Uh here then: Where I draw the string the normal way, but it resulted in the image above. https://github.com/FireTamer81/DragonBlockBeyond/blob/cc0f5559e37071d39e6a542cb463fc8029acef8c/src/main/java/io/github/firetamer/dbb/modules/gui_testing/player_screen/children/PlayerStatGui.java#L134 One of my attempts (that I actually saved) on drawing GUI elements based on a z value: https://github.com/FireTamer81/DragonBlockBeyond/blob/cc0f5559e37071d39e6a542cb463fc8029acef8c/src/main/java/io/github/firetamer/dbb/modules/gui_testing/test_screen/base_classes/BaseScreen.java#L72 https://github.com/FireTamer81/DragonBlockBeyond/blob/cc0f5559e37071d39e6a542cb463fc8029acef8c/src/main/java/io/github/firetamer/dbb/modules/gui_testing/test_screen/base_classes/BaseScreen.java#L50
-
@Override public void render(MatrixStack stack, int p_230430_2_, int p_230430_3_, float p_230430_4_) { this.renderBG(stack); this.strengthButton.render(stack, p_230430_2_, p_230430_3_, p_230430_4_); ITextComponent strengthButtonText = new StringTextComponent("Hello, this is the Strength Button"); int strengthButtonTopLeftPosX = (int)(topLeftX + 10); int strengthButtonTopLeftPosY = (int)(topLeftY + 20); FontRenderer fontRenderer = this.mc.font; drawCenteredString(stack, fontRenderer, strengthButtonText, strengthButtonTopLeftPosX, strengthButtonTopLeftPosY, 0xFFFFFF); //drawString(stack, fontRenderer, strengthButtonText, strengthButtonTopLeftPosX, strengthButtonTopLeftPosY, 0xFFFFFF); //this.mc.font.draw(stack, "Hello All", strengthButtonTopLeftPosX, strengthButtonTopLeftPosY, 0xFFFFFF); super.render(stack, p_230430_2_, p_230430_3_, p_230430_4_); } private void renderBG(MatrixStack stack) { RenderSystem.pushMatrix(); RenderSystem.translatef(0.0f, 0.0f, 100.0f); this.mc.getTextureManager().bind(BACKGROUND_TEXTURE); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.blit(stack, (int)(topLeftX), (int)(topLeftY), 0, 0, 236, 187); //Main Background RenderSystem.popMatrix(); } This is the first way I did it. I don't still have the other ways I tried it other than what's in the BaseScreen class here: protected void drawText(MatrixStack matrix, ITextComponent text, int x, int y, Color textColor, boolean shadow) { GL11.glPushMatrix(); GL11.glTranslatef(0, 0, zLevel + .5f); if (shadow) { mc.font.drawShadow(matrix, text, x, y, textColor.hashCode()); } else { mc.font.draw(matrix, text, x, y, textColor.hashCode()); } //Don't understand this bit or it's purpose //TextColor.WHITE.apply(); GL11.glPopMatrix(); } protected void drawCenteredText(MatrixStack matrix, ITextComponent text, int x, int y, int maxX, int maxY, Color textColor, boolean shadow) { int centerX = x + ((maxX - x) / 2) - (mc.font.width(text) / 2); int centerY = y + ((maxY - y) / 2) - (mc.font.lineHeight / 2); drawText(matrix, text, centerX, centerY, textColor, shadow); } @Override public void blit(MatrixStack pMatrixStack, int topLeftX, int topLeftY, int textureWidth, int textureHeight, int pUWidth, int pVHeight) { float f = 0.00390625F; float f1 = 0.00390625F; BufferBuilder bufferbuilder = Tessellator.getInstance().getBuilder(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder .vertex(x, y + height, this.zLevel) .uv(((float)textureWidth * f), ((float)(textureHeight + height) * f1)) .endVertex(); bufferbuilder .vertex(x + width, (y + height), this.zLevel) .uv(((float)(textureWidth + width) * f), ((float)(textureHeight + height) * f1)) .endVertex(); bufferbuilder .vertex(x + width, y, this.zLevel) .uv(((float)(textureWidth + width) * f), ((float)textureHeight * f1)) .endVertex(); bufferbuilder .vertex(x, y, this.zLevel) .uv(((float)textureWidth * f), ((float)textureHeight * f1)) .endVertex(); bufferbuilder.end(); RenderSystem.enableAlphaTest(); WorldVertexBufferUploader.end(bufferbuilder); }
-
Strings have been the only thing I have come across that does it so far (I haven't gone much further since I hit this issue). I tried rendering them many ways. Directly in the GUI class render method, with the button constructor, etc. Strings always end up behind the GUI So, I went about trying to find a way to either move the string forward or move the GUI back.
-
It also isn't a container or anything like that at the moment since I thought that would overcomplicate things while I am trying to get this one aspect to work right, it's just opened by a keybind.
-
https://github.com/FireTamer81/DragonBlockBeyond/tree/main/src/main/java/io/github/firetamer/dbb/modules/gui_testing This is the link to my repo. The two packages within the one the link leads to were two separate tests I did, the "player_screen" package having the screen with movable components and the "test_screen" package being a general test (for the second I had made a GUI with it, but that class isn't in the repo since I had earlier deleted it). I had tried something with GL11 in the "BaseScreen" class in the second package, but that didn't work in any tests I did with it. A couple days ago I had also tried just recreating the whole Screen-FocusableScreen-AbstractGUI vanilla class stuff, taking out wasn't needed and editing what I thought would work, but a pal of mine said you can only make a GUI by extending the Screen class since there was a forge bit in there that was required or something. Don't have that anywhere since I hadn't updated the repo much during that test.
-
At the moment I have a static GUI with some buttons and one that moves around when clicked and dragged. The one that moves is meant to display a certain set of information, but everyway that I have tried to draw strings among other things has resulted in them rendering behind the moving element. For the past week I have been trying to find a way to properly control what objects render in front of/behind other objects to no avail. I have also been trying to look at sources like FTB Lib for how they did, quote "layer-based GUI components" (I think that's the exact words) and Mekanism with their movable GUI elements, but again they are both more complex than I am used to (I have only just started doing GUIs 9 days ago). If someone could either shed some light on how one of those two mods do their layer based GUIs, perhaps give a different source that is a bit more clear, or even just explain how you would do it (every ounce of code mumbo jumbo you feel like using, which I will then use the power of google to figure out)
-
Datagen ModelFiles, but with overlays like grass blocks
FireTamer81 replied to FireTamer81's topic in Modder Support
Update... I still can't figure it out. So, since the blockmodels are super custom while the blockstates and item models are your average ones, I have come up with the idea of only doing datagen for those two and just referencing the pre-made blockmodels which I will put into a subfolder of the models/block directory. It will still be a little bit of pain, but at least my resources folder will stay organized which was my original goal. -
Datagen ModelFiles, but with overlays like grass blocks
FireTamer81 posted a topic in Modder Support
This is what I have for two ModelFiles, the first only applying one overlay and the second apply the first overlay + another. public ModelFile scuffedWarenaiBlockModel(Block block) { return models().getBuilder("scuffed_" + name(block)) .parent(existingMcModel("block")) .texture("particle", warenaiBlockTexture(block)) .texture("underlay", warenaiBlockTexture(block)) .texture("overlay", scuffedTexture()) .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#underlay").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay").cullface(direction)).end(); } public ModelFile crackedWarenaiBlockModel(Block block, int crackedLevel) { return models().getBuilder("cracked" + crackedLevel + "_" + name(block)) .parent(existingMcModel("block")) .texture("particle", warenaiBlockTexture(block)) .texture("underlay", warenaiBlockTexture(block)) .texture("overlay1", scuffedTexture()) .texture("overlay2", crackedTexture(crackedLevel)) .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#underlay").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay1").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay2").cullface(direction)).end(); } This works, but it doesn't seem so simple for a stair block. I copied the stair stuff from the forge BlockStateProvider class to get started with a normal stair model that works: public void warenaiStairBlock(StairsBlock block, ResourceLocation texture) { warenaiStairBlockInternal1(block, texture, texture, texture); } public void warenaiStairBlockInternal1(StairsBlock block, ResourceLocation side, ResourceLocation bottom, ResourceLocation top) { warenaiStairBlockInternal2(block, block.getRegistryName().toString(), side, bottom, top); } public void warenaiStairBlockInternal2(StairsBlock block, String baseName, ResourceLocation side, ResourceLocation bottom, ResourceLocation top) { ModelFile normal_stairs = models().stairs(baseName, side, bottom, top); ModelFile normal_stairsInner = models().stairsInner(baseName + "_inner", side, bottom, top); ModelFile normal_stairsOuter = models().stairsOuter(baseName + "_outer", side, bottom, top); warenaiStairsBlock(block, normal_stairs, normal_stairsInner, normal_stairsOuter); } public void warenaiStairsBlock(StairsBlock block, ModelFile stairs, ModelFile stairsInner, ModelFile stairsOuter) { getVariantBuilder(block) .forAllStatesExcept(state -> { Direction facing = state.getValue(StairsBlock.FACING); Half half = state.getValue(StairsBlock.HALF); StairsShape shape = state.getValue(StairsBlock.SHAPE); int yRot = (int) facing.getClockWise().toYRot(); // Stairs model is rotated 90 degrees clockwise for some reason yRot %= 360; boolean uvlock = yRot != 0 || half == Half.TOP; // Don't set uvlock for states that have no rotation ModelFile shapeDependentModel = shape == StairsShape.STRAIGHT ? stairs : shape == StairsShape.INNER_LEFT || shape == StairsShape.INNER_RIGHT ? stairsInner : stairsOuter; if (shape == StairsShape.INNER_LEFT || shape == StairsShape.OUTER_LEFT) { yRot += 270; // Left facing stairs are rotated 90 degrees clockwise } if (shape != StairsShape.STRAIGHT && half == Half.TOP) { yRot += 90; // Top stairs are rotated 90 degrees clockwise } return ConfiguredModel.builder() .modelFile(shapeDependentModel) .rotationX(half == Half.BOTTOM ? 0 : 180) .rotationY(yRot) .uvLock(uvlock) .build(); }, StairsBlock.WATERLOGGED); } Now I have no idea where to go. I could take the time and figure it out all on my own, but since I really should be working on a college essay I thought I would see if anyone else knew what to do first. If not, then I will just do it myself when I get the time. -
Thank you for that bit of advice, but from what I can tell that wasn't the root of the problem since it was still occurring after implementing what you said too. After a good bit of digging and a couple Tylenol, I did find the issue, although an embarrassing one... public enum WarenaiBlockCondition implements IStringSerializable { POLISHED("polished"), NORMAL("normal"), SCUFFED("scuffed"), CRACKED1("cracked1"), CRACKED2("cracked2"), CRACKED3("cracked3"), CRACKED4("cracked4"); private final String name; WarenaiBlockCondition(String pName) { name = pName; } @Override public String toString() { return this.getSerializedName(); } @Override public String getSerializedName() { return this.name; } //@Override //public String getSerializedName() { return null; } Instead of returning "name" in the getSerializedName() method like I have now, I was returning null like in the commented out version of the method... I will start doing this form now on Cheers mate
-
[22:02:50] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Creating vanilla freeze snapshot [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Block Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Fluid Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Effect Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry SoundEvent Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Potion Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Enchantment Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry EntityType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry TileEntityType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ParticleType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ContainerType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry PaintingType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry IRecipeSerializer Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Attribute Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry StatType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry VillagerProfession Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry PointOfInterestType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry MemoryModuleType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry SensorType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Schedule Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Activity Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry WorldCarver Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry SurfaceBuilder Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Feature Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Placement Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ChunkStatus Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Structure Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry BlockStateProviderType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry BlockPlacerType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry FoliagePlacerType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry TreeDecoratorType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Biome Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry DataSerializerEntry Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry GlobalLootModifierSerializer Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ForgeWorldType Sync: VANILLA -> ACTIVE [22:02:50] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Vanilla freeze snapshot created [22:02:50] [main/DEBUG] [ne.mi.fm.ModLoader/CORE]: Loading Network data for FML net version: FML2 [22:02:50] [main/DEBUG] [ne.mi.fm.ModWorkManager/LOADING]: Using 6 threads for parallel mod-loading [22:02:50] [main/DEBUG] [ne.mi.fm.ja.FMLJavaModLanguageProvider/LOADING]: Loading FMLModContainer from classloader cpw.mods.modlauncher.TransformingClassLoader@3adbe50f - got cpw.mods.modlauncher.TransformingClassLoader@3adbe50f [22:02:50] [main/DEBUG] [ne.mi.fm.ja.FMLModContainer/LOADING]: Creating FMLModContainer instance for net.minecraftforge.common.ForgeMod with classLoader cpw.mods.modlauncher.TransformingClassLoader@3adbe50f & cpw.mods.modlauncher.TransformingClassLoader@3adbe50f [22:02:50] [main/DEBUG] [ne.mi.fm.ja.FMLJavaModLanguageProvider/LOADING]: Loading FMLModContainer from classloader cpw.mods.modlauncher.TransformingClassLoader@3adbe50f - got cpw.mods.modlauncher.TransformingClassLoader@3adbe50f [22:02:50] [main/DEBUG] [ne.mi.fm.ja.FMLModContainer/LOADING]: Creating FMLModContainer instance for io.github.FireTamer81.TestModMain with classLoader cpw.mods.modlauncher.TransformingClassLoader@3adbe50f & cpw.mods.modlauncher.TransformingClassLoader@3adbe50f [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Forge Version package package net.minecraftforge.versions.forge, Forge, version 36.1 from cpw.mods.modlauncher.TransformingClassLoader@3adbe50f [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Found Forge version 36.1.0 [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Found Forge spec 36.1 [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Found Forge group net.minecraftforge [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.ve.mc.MCPVersion/CORE]: Found MC version information 1.16.5 [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.ve.mc.MCPVersion/CORE]: Found MCP version information 20210115.111550 [22:02:50] [modloading-worker-3/INFO] [ne.mi.co.ForgeMod/FORGEMOD]: Forge mod loading, version 36.1.0, for MC 1.16.5 with MCP 20210115.111550 [22:02:50] [modloading-worker-3/INFO] [ne.mi.co.MinecraftForge/FORGE]: MinecraftForge v36.1.0 Initialized [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.fm.co.ConfigTracker/CONFIG]: Config file forge-client.toml for forge tracking [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.fm.co.ConfigTracker/CONFIG]: Config file forge-server.toml for forge tracking [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.fm.co.ConfigTracker/CONFIG]: Config file forge-common.toml for forge tracking [22:02:50] [modloading-worker-2/DEBUG] [ne.mi.fm.AutomaticEventSubscriber/LOADING]: Attempting to inject @EventBusSubscriber classes into the eventbus for testingmod [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.fm.AutomaticEventSubscriber/LOADING]: Attempting to inject @EventBusSubscriber classes into the eventbus for forge [22:02:50] [modloading-worker-3/DEBUG] [ne.mi.fm.AutomaticEventSubscriber/LOADING]: Auto-subscribing net.minecraftforge.client.model.ModelDataManager to FORGE [22:02:50] [main/DEBUG] [ne.mi.re.ObjectHolderRegistry/REGISTRIES]: Processing ObjectHolder annotations [22:02:50] [main/DEBUG] [ne.mi.re.ObjectHolderRegistry/REGISTRIES]: Found 2893 ObjectHolder annotations [22:02:50] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Registering custom tag type for: minecraft:potion [22:02:50] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Registering custom tag type for: minecraft:enchantment [22:02:50] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Registering custom tag type for: minecraft:block_entity_type [22:02:50] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/]: Exception caught during firing event: null Index: 1 Listeners: 0: NORMAL 1: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@49aeaa88 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 2: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@7034d6f1 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 3: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@619a3650 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V java.lang.ExceptionInInitializerError at io.github.FireTamer81.init.WarenaiBlocksInit.lambda$static$1(WarenaiBlocksInit.java:52) at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) at net.minecraftforge.eventbus.ASMEventHandler_2_EventDispatcher_handleEvent_Register.invoke(.dynamic) at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) at net.minecraftforge.fml.DatagenModLoader.begin(DatagenModLoader.java:54) at net.minecraft.data.Main.main(Main.java:43) 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.minecraftforge.userdev.FMLUserdevDataLaunchProvider.lambda$launchService$0(FMLUserdevDataLaunchProvider.java:51) at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) Caused by: java.lang.IllegalArgumentException: Multiple values have the same name 'null' at net.minecraft.state.EnumProperty.<init>(EnumProperty.java:26) at net.minecraft.state.EnumProperty.create(EnumProperty.java:76) at net.minecraft.state.EnumProperty.create(EnumProperty.java:72) at io.github.FireTamer81.common.blocks.WarenaiBlock.<clinit>(WarenaiBlock.java:56) ... 30 more [22:02:50] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:block> dispatch for modid testingmod java.lang.ExceptionInInitializerError: null at io.github.FireTamer81.init.WarenaiBlocksInit.lambda$static$1(WarenaiBlocksInit.java:52) ~[main/:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_2_EventDispatcher_handleEvent_Register.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:36.1] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_271] {} at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.DatagenModLoader.begin(DatagenModLoader.java:54) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraft.data.Main.main(Main.java:43) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271] {} at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_271] {} at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_271] {} at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_271] {} at net.minecraftforge.userdev.FMLUserdevDataLaunchProvider.lambda$launchService$0(FMLUserdevDataLaunchProvider.java:51) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} 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:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} Caused by: java.lang.IllegalArgumentException: Multiple values have the same name 'null' at net.minecraft.state.EnumProperty.<init>(EnumProperty.java:26) ~[forge:?] {re:classloading} at net.minecraft.state.EnumProperty.create(EnumProperty.java:76) ~[forge:?] {re:classloading} at net.minecraft.state.EnumProperty.create(EnumProperty.java:72) ~[forge:?] {re:classloading} at io.github.FireTamer81.common.blocks.WarenaiBlock.<clinit>(WarenaiBlock.java:56) ~[?:?] {re:classloading} ... 30 more [22:02:50] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:block [22:02:50] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:block [22:02:50] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/]: Exception caught during firing event: Registry Object not present: testingmod:warenai_block_black Index: 3 Listeners: 0: NORMAL 1: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@49aeaa88 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 2: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@7034d6f1 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 3: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@619a3650 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V java.lang.NullPointerException: Registry Object not present: testingmod:warenai_block_black at java.util.Objects.requireNonNull(Objects.java:290) at net.minecraftforge.fml.RegistryObject.get(RegistryObject.java:120) at io.github.FireTamer81.init.WarenaiBlocksInit.lambda$register$0(WarenaiBlocksInit.java:36) at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) Caused by: java.lang.IllegalArgumentException: Multiple values have the same name 'null' at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) at net.minecraftforge.eventbus.ASMEventHandler_2_EventDispatcher_handleEvent_Register.invoke(.dynamic) at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) at net.minecraftforge.fml.DatagenModLoader.begin(DatagenModLoader.java:54) at net.minecraft.data.Main.main(Main.java:43) 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.minecraftforge.userdev.FMLUserdevDataLaunchProvider.lambda$launchService$0(FMLUserdevDataLaunchProvider.java:51) at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [22:02:50] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:item> dispatch for modid testingmod java.lang.NullPointerException: Registry Object not present: testingmod:warenai_block_black at java.util.Objects.requireNonNull(Objects.java:290) ~[?:1.8.0_271] {} at net.minecraftforge.fml.RegistryObject.get(RegistryObject.java:120) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at io.github.FireTamer81.init.WarenaiBlocksInit.lambda$register$0(WarenaiBlocksInit.java:36) ~[main/:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_2_EventDispatcher_handleEvent_Register.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:36.1] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_271] {} at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.DatagenModLoader.begin(DatagenModLoader.java:54) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraft.data.Main.main(Main.java:43) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271] {} at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_271] {} at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_271] {} at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_271] {} at net.minecraftforge.userdev.FMLUserdevDataLaunchProvider.lambda$launchService$0(FMLUserdevDataLaunchProvider.java:51) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} 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:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:item [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:item [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: forge:loot_modifier_serializers [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: forge:loot_modifier_serializers [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: forge:world_types [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: forge:world_types [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:activity [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:activity [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:attribute [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:attribute [22:02:51] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/]: Exception caught during firing event: Registry Object not present: testingmod:warenai_block_black Index: 2 Listeners: 0: NORMAL 1: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@49aeaa88 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 2: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@7034d6f1 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 3: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@619a3650 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V java.lang.NullPointerException: Registry Object not present: testingmod:warenai_block_black at java.util.Objects.requireNonNull(Objects.java:290) at net.minecraftforge.fml.RegistryObject.get(RegistryObject.java:120) at io.github.FireTamer81.init.TileEntityTypesInit.lambda$static$0(TileEntityTypesInit.java:21) at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) at net.minecraftforge.eventbus.ASMEventHandler_2_EventDispatcher_handleEvent_Register.invoke(.dynamic) at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) at net.minecraftforge.fml.DatagenModLoader.begin(DatagenModLoader.java:54) at net.minecraft.data.Main.main(Main.java:43) 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.minecraftforge.userdev.FMLUserdevDataLaunchProvider.lambda$launchService$0(FMLUserdevDataLaunchProvider.java:51) at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [22:02:51] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:block_entity_type> dispatch for modid testingmod java.lang.NullPointerException: Registry Object not present: testingmod:warenai_block_black at java.util.Objects.requireNonNull(Objects.java:290) ~[?:1.8.0_271] {} at net.minecraftforge.fml.RegistryObject.get(RegistryObject.java:120) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at io.github.FireTamer81.init.TileEntityTypesInit.lambda$static$0(TileEntityTypesInit.java:21) ~[main/:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_2_EventDispatcher_handleEvent_Register.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:36.1] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_271] {} at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.DatagenModLoader.begin(DatagenModLoader.java:54) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at net.minecraft.data.Main.main(Main.java:43) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271] {} at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_271] {} at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_271] {} at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_271] {} at net.minecraftforge.userdev.FMLUserdevDataLaunchProvider.lambda$launchService$0(FMLUserdevDataLaunchProvider.java:51) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} 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:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:block_entity_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:block_entity_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:chunk_status [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:chunk_status [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:data_serializers [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:data_serializers [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:enchantment [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:enchantment [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:entity_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:entity_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:fluid [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:fluid [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:memory_module_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:memory_module_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:menu [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:menu [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:mob_effect [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:mob_effect [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:motive [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:motive [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:particle_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:particle_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:point_of_interest_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:point_of_interest_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:potion [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:potion [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:recipe_serializer [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:recipe_serializer [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:schedule [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:schedule [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:sensor_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:sensor_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:sound_event [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:sound_event [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:stat_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:stat_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:villager_profession [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:villager_profession [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/biome [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/biome [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/block_placer_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/block_placer_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/block_state_provider_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/block_state_provider_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/carver [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/carver [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/decorator [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/decorator [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/feature [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/feature [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/foliage_placer_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/foliage_placer_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/structure_feature [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/structure_feature [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/surface_builder [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/surface_builder [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Applying holder lookups: minecraft:worldgen/tree_decorator_type [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Holder lookups applied: minecraft:worldgen/tree_decorator_type [22:02:51] [main/FATAL] [ne.mi.re.GameData/]: Detected errors during registry event dispatch, rolling back to VANILLA state [22:02:51] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: Reverting to VANILLA data state. [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Block Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Fluid Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Effect Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry SoundEvent Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Potion Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Enchantment Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry EntityType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry TileEntityType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ParticleType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ContainerType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry PaintingType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry IRecipeSerializer Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Attribute Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry StatType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry VillagerProfession Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry PointOfInterestType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry MemoryModuleType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry SensorType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Schedule Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Activity Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry WorldCarver Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry SurfaceBuilder Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Feature Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Placement Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ChunkStatus Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Structure Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry BlockStateProviderType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry BlockPlacerType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry FoliagePlacerType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry TreeDecoratorType Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Biome Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry DataSerializerEntry Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry GlobalLootModifierSerializer Sync: ACTIVE -> VANILLA [22:02:51] [main/DEBUG] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry ForgeWorldType Sync: ACTIVE -> VANILLA [22:02:52] [main/DEBUG] [ne.mi.re.GameData/REGISTRIES]: VANILLA state restored. [22:02:52] [main/FATAL] [ne.mi.re.GameData/]: Detected errors during registry event dispatch, roll back to VANILLA complete [22:02:52] [main/FATAL] [ne.mi.fm.ModLoader/LOADING]: Failed to complete lifecycle event LOAD_REGISTRIES, 3 errors found Exception in thread "main" [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:39) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: Caused by: java.lang.reflect.InvocationTargetException [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: at java.lang.reflect.Method.invoke(Method.java:498) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: at net.minecraftforge.userdev.FMLUserdevDataLaunchProvider.lambda$launchService$0(FMLUserdevDataLaunchProvider.java:51) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [22:02:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1061]: ... 5 more [22:02:52] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:644]: Caused by: net.minecraftforge.fml.LoadingFailedException: Loading errors encountered: [ fml.modloading.errorduringevent, fml.modloading.errorduringevent, fml.modloading.errorduringevent ] [22:02:52] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:644]: at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:263) [22:02:52] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:644]: at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) [22:02:52] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:644]: at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) [22:02:52] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:644]: at net.minecraftforge.fml.DatagenModLoader.begin(DatagenModLoader.java:54) [22:02:52] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:644]: at net.minecraft.data.Main.main(Main.java:43) [22:02:52] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:644]: ... 11 more > Task :runData FAILED Execution failed for task ':runData'. > Process 'command 'C:\Program Files\Java\jdk1.8.0_271\bin\java.exe'' finished with non-zero exit value 1 * Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':runData'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$3(ExecuteActionsTaskExecuter.java:186) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:268) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:184) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_271\bin\java.exe'' finished with non-zero exit value 1 at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:414) at org.gradle.process.internal.DefaultJavaExecAction.execute(DefaultJavaExecAction.java:42) at org.gradle.api.tasks.JavaExec.exec(JavaExec.java:154) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:494) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:479) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:462) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$400(ExecuteActionsTaskExecuter.java:105) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:273) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:251) at org.gradle.internal.execution.steps.ExecuteStep.lambda$executeOperation$1(ExecuteStep.java:66) at org.gradle.internal.execution.steps.ExecuteStep.executeOperation(ExecuteStep.java:66) at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:34) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:47) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:44) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:34) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:72) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:42) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:53) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:39) at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:44) at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:77) at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:58) at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:54) at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:32) at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:57) at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:38) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:63) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:30) at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:176) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:76) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:43) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:32) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:39) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:25) at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:102) at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:95) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:83) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:96) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:52) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:83) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:54) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:88) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:46) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:34) at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:43) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$3.withWorkspace(ExecuteActionsTaskExecuter.java:286) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:43) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:33) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:40) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:30) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:54) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:40) at org.gradle.internal.execution.impl.DefaultExecutionEngine.rebuild(DefaultExecutionEngine.java:46) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$0(ExecuteActionsTaskExecuter.java:182) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:182) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) After looking at this, I think the error has something to do with my block's EnumProperty, but I don't know why there is a problem with it. Block Class: public class WarenaiBlock extends Block { //public static final IntegerProperty CRACKED_DIRTY_CLEAN_POLISHED = CustomBlockstateProperties.CRACKED_DIRTY_CLEAN_POLISHED; //public static final IntegerProperty CRACKED_LEVEL = CustomBlockstateProperties.LEVEL_OF_CRACKED; public static final EnumProperty<WarenaiBlockCondition> BLOCK_CONDITION = EnumProperty.create("block_condition", WarenaiBlockCondition.class, WarenaiBlockCondition.POLISHED, WarenaiBlockCondition.NORMAL, WarenaiBlockCondition.SCUFFED, WarenaiBlockCondition.CRACKED1, WarenaiBlockCondition.CRACKED2, WarenaiBlockCondition.CRACKED3, WarenaiBlockCondition.CRACKED4); public WarenaiBlock(Properties properties) { super(properties); this.registerDefaultState(this.stateDefinition.any() .setValue(BLOCK_CONDITION, WarenaiBlockCondition.NORMAL)); } protected void createBlockStateDefinition(StateContainer.Builder<Block, BlockState> stateBuilder) { stateBuilder.add(BLOCK_CONDITION); } @Override public boolean hasTileEntity(BlockState state) { return true; } @Override public TileEntity createTileEntity(BlockState state, IBlockReader world) { return TileEntityTypesInit.STRONGBLOCK_TILE.get().create(); } @Override @OnlyIn(Dist.CLIENT) public void appendHoverText(ItemStack itemStack, @Nullable IBlockReader blockReader, List<ITextComponent> textComponent, ITooltipFlag tooltipFlag) { super.appendHoverText(itemStack, blockReader, textComponent, tooltipFlag); CompoundNBT stackNBT = itemStack.getTagElement("BlockEntityTag"); if (stackNBT != null) { if (stackNBT.contains("BlockHealth")) { int blockHealthValue = stackNBT.getInt("BlockHealth"); StringTextComponent mainTooltip = new StringTextComponent("Block Health is: " + blockHealthValue); textComponent.add(mainTooltip); } } } } BlockInitClass: public class WarenaiBlocksInit { /** * Register Stuff (Such as making BlockItems an easier way than an event class.) **/ public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TestModMain.MOD_ID); private static <T extends Block> RegistryObject<T> registerNoItem(String name, Supplier<T> block) { return WarenaiBlocksInit.BLOCKS.register(name, block); } private static <T extends Block> RegistryObject<T> register(String name, Supplier<T> block) { RegistryObject<T> ret = registerNoItem(name, block); ItemInit.ITEMS.register(name, () -> new BlockItem(ret.get(), new Item.Properties())); return ret; } /** * Actual Registry Objects **/ /** * Warenai Blocks **/ //Full Blocks public static final RegistryObject<Block> WARENAI_BLOCK_BLACK = register("warenai_block_black", () -> new WarenaiBlock(AbstractBlock.Properties.of(Material.STONE, MaterialColor.COLOR_BLACK) .strength(-1.0F, 50F) .harvestTool(ToolType.PICKAXE) .harvestLevel(3))); //Stairs public static final RegistryObject<WarenaiBlockStairs> WARENAI_BLOCK_BLACK_STAIRS = register("warenai_block_black_stairs", () -> new WarenaiBlockStairs(WARENAI_BLOCK_BLACK.get().defaultBlockState(), AbstractBlock.Properties.copy(WarenaiBlocksInit.WARENAI_BLOCK_BLACK.get()))); //Slabs public static final RegistryObject<SlabBlock> WARENAI_BLOCK_BLACK_SLAB = register("warenai_block_black_slab", () -> new WarenaiBlockSlab(AbstractBlock.Properties.copy(WARENAI_BLOCK_BLACK.get()))); //Fences public static final RegistryObject<FenceBlock> WARENAI_BLOCK_BLACK_FENCE = register("warenai_block_black_fence", () -> new WarenaiBlockFence(AbstractBlock.Properties.copy(WARENAI_BLOCK_BLACK.get()).noOcclusion())); //Walls public static final RegistryObject<WarenaiBlockWall> WARENAI_BLOCK_BLACK_WALL = register("warenai_block_black_wall", () -> new WarenaiBlockWall(AbstractBlock.Properties.copy(WARENAI_BLOCK_BLACK.get()).noOcclusion())); }
-
Caused by: java.lang.IllegalArgumentException: Multiple values have the same name 'null' What's weird about the error shown in the image below, is that I am not actual doing anything in the registerStatesAndModels() method as I have everything commented out right now, but this error is still being given. I also haven't made any changes outside of the BlockStateProvider since my last runData This is the class: public class DBEBlockStates_BlockModels_Provider extends BlockStateProvider implements IDataProvider { public DBEBlockStates_BlockModels_Provider(DataGenerator gen, ExistingFileHelper exFileHelper) { super(gen, TestModMain.MOD_ID, exFileHelper); } @Override protected void registerStatesAndModels() { //Gets the actual instance of the block object, and then sets up the texture pattern where it gets the registry name to look for the texture //simpleBlock(BlockInit.TEST_BLOCK.get(), cubeAll(BlockInit.TEST_BLOCK.get())); /** * Warenai Blocks **/ //Full Blocks //simpleBlock(WarenaiBlocksInit.WARENAI_BLOCK_BLACK.get(), cubeAll(WarenaiBlocksInit.WARENAI_BLOCK_BLACK.get())); //warenaiFullBlock(WarenaiBlocksInit.WARENAI_BLOCK_BLACK.get()); //Stairs //stairsBlock(WarenaiBlocksInit.WARENAI_BLOCK_BLACK_STAIRS.get(), modLoc("block/warenai_block_black")); //Slabs //slabBlock(WarenaiBlocksInit.WARENAI_BLOCK_BLACK_SLAB.get(), modLoc("block/warenai_block_black"), modLoc("block/warenai_block_black")); //Fences //fenceBlock(WarenaiBlocksInit.WARENAI_BLOCK_BLACK_FENCE.get(), modLoc("block/warenai_block_black")); //Walls //wallBlock(WarenaiBlocksInit.WARENAI_BLOCK_BLACK_WALL.get(), modLoc("block/warenai_block_black")); } public String name(Block block) { return block.getRegistryName().getPath(); } public ResourceLocation crackedTexture(int levelOfCracked) { return new ResourceLocation(TestModMain.MOD_ID, "block/break_texture_" + levelOfCracked); } public ResourceLocation scuffedTexture() { return new ResourceLocation(TestModMain.MOD_ID, "block/scuffed_overlay_texture"); } public ResourceLocation warenaiBlockTexture(Block block) { return new ResourceLocation(TestModMain.MOD_ID, "block/" + name(block)); } public ResourceLocation polishedWarenaiBlockTexture(Block block) { return new ResourceLocation(TestModMain.MOD_ID, "block/polished_" + name(block)); } private ModelFile existingMcModel(final String name) { return models().getExistingFile(new ResourceLocation("minecraft", name)); } /********************************************************************************************************************************************************* * **********************************************************************************************************************************************************/ public ModelFile scuffedWarenaiBlockModel(Block block) { return models().getBuilder("scuffed_" + name(block)) .parent(existingMcModel("block")) .texture("particle", warenaiBlockTexture(block)) .texture("underlay", warenaiBlockTexture(block)) .texture("overlay", scuffedTexture()) .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#underlay").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay").cullface(direction)).end(); } public ModelFile crackedWarenaiBlockModel(Block block, int crackedLevel) { return models().getBuilder("cracked" + crackedLevel + "_" + name(block)) .parent(existingMcModel("block")) .texture("particle", warenaiBlockTexture(block)) .texture("underlay", warenaiBlockTexture(block)) .texture("overlay1", scuffedTexture()) .texture("overlay2", crackedTexture(crackedLevel)) .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#underlay").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay1").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay2").cullface(direction)).end(); } /** public void warenaiFullBlock(Block block) { EnumProperty<WarenaiBlockCondition> blockCondition = WarenaiBlock.BLOCK_CONDITION; getVariantBuilder(block) .partialState().with(blockCondition, WarenaiBlockCondition.CRACKED4).modelForState().modelFile(crackedWarenaiBlockModel(block, 4)).addModel() .partialState().with(blockCondition, WarenaiBlockCondition.CRACKED3).modelForState().modelFile(crackedWarenaiBlockModel(block, 3)).addModel() .partialState().with(blockCondition, WarenaiBlockCondition.CRACKED2).modelForState().modelFile(crackedWarenaiBlockModel(block, 2)).addModel() .partialState().with(blockCondition, WarenaiBlockCondition.CRACKED1).modelForState().modelFile(crackedWarenaiBlockModel(block, 1)).addModel() .partialState().with(blockCondition, WarenaiBlockCondition.SCUFFED).modelForState().modelFile(scuffedWarenaiBlockModel(block)).addModel() .partialState().with(blockCondition, WarenaiBlockCondition.NORMAL).modelForState().modelFile(models().cubeAll(name(block), warenaiBlockTexture(block))).addModel() .partialState().with(blockCondition, WarenaiBlockCondition.POLISHED).modelForState().modelFile(models().cubeAll("polished_" + name(block), polishedWarenaiBlockTexture(block))).addModel(); } **/ }
-
Hmm, I might just do some sort of jimmy rig to get around this. Do something like make a block model in blockbench that is slightly large than a normal block (something like 0.01 on each side to prevent z-fighting), draw the textures and just have the blocks act as a multipart. (I really hope this can end up transparent and not just blackout the texture underneath) Might be messy, but I really just want to get this done to move onto something else (been working on this one feature for maybe a month because IRL stuff). Thanks for the suggestions anyways mate (I can probably use them for some other crazy idea later).
-
Sorry for not replying until now, had some stuff to deal with. From what I understand, wouldn't this only draw the "overlay" when the block is hovered over by the cursor? If so then perhaps a grass block would be a better example. I think it has two layers, one for the dirt, and another for the monochrome grass that has it's color changed dynamically. I'll look through what you said first, and then the grass block if your thing doesn't work. Thanks though
-
What is the block breaking animation, and how could I do something similar? Rather than cracks forming from center to edge, I was wanting to make it just change opacity so the "intensity" of the cracks just gets worse. I am doing this for my "Strong Blocks", but since I am going to have somewhere around 48+ total, I don't want to make 240 textures (5 crack levels each). So, is the vanilla animation just a texture rendered over another, is it the original block texture being combined with the various stages of the break texture (a + b1, a +b2, etc), or something else? I also want to avoid just replacing the vanilla break animation itself since I want this "overlay" to stick around rather than just when the player is breaking the block. (if so much damage is taken up until it gets to say "crack_texture_3", it won't go away unless repaired or damaged further)
-
Basically just the title My current idea is that I can use the "getDrops" method like in the ShulkerBoxBlock class and apply a "item tag" with the data, but I am not sure if an "item tag" is even a thing nor how to properly use the "getDrops" method (do I retain the loot table for the block). Is there another mod that does something like this that isn't related to container items like shulker boxes, just some type of data? If so a link to it would be the only help I need. If not, then would someone mind explaining how this might be done?
-
Saving TileEntity NBT data even when world is closed
FireTamer81 replied to FireTamer81's topic in Modder Support
After testing around, any of the previous ways I were doing it would have worked had I just put that one thing in value changing methods... dang