Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/13/24 in Posts

  1. This PR may fix the remaining issues here. It's still under review and hasn't been released yet, but may be merged and released in the next few days or so.
    2 points
  2. that fixed it! Thank you soo much!!! If there is a way I can like upvote your profile or something let me know!
    1 point
  3. There are two java lines and the / are mixed up Use this as script: "C:\Program Files\Java\jdk-17.0.10\bin\javaw.exe" -Xmx8G -Xms2048M @libraries/net/minecraftforge/forge/1.20.1-47.2.0/win_args.txt %* pause Replace the complete script with it (you don't need the REM lines) Make sure the java path is correct and keep the quotation marks
    1 point
  4. The problematic mods turned out to be: -- Supplementaries -- Amendments
    1 point
  5. Hello, I can make you that mod, add me to Discord L33T#3319
    1 point
  6. Thank you so much for your help, I've been trying to figure out the issue for months now and your help is so appreciated. Thanks!
    1 point
  7. Add crash-reports with sites like https://paste.ee/ and paste the link to it here Update your AMD/ATI drivers - get the latest one from their website
    1 point
  8. Unfortunately, you probably won't get any help with your problem here, since this is the Forge forums. As it says in the FAQ that you presumably read before posting, "We only support Forge here. We cannot help you with Fabric, Spigot, etc..." Forge and Fabric are completely different and run by different people, so it's unlikely (to say the least) that anyone here will be willing or able to assist with a Fabric problem. I'd recommend joining the Fabric Discord Server that's linked on the Fabric website. They might be able to help you there. I'd also recommend notifying the developers of whatever mod you're using.
    1 point
  9. I shall look into this soon, as I am currently quite busy. I just realised that I put in ModItems when I meant ModFoods, so that part would be correct, it is just my mistake...
    1 point
  10. I'm guessing that's so people can implement their own custom animated models? I really don't know though, since I've never had to use that at all. I just know that you can have more control over a block entity model than over a standard block model, as well as use animations. I'm glad I could help, though!
    1 point
  11. Valkyrian Skies and Rubidium are not working together - maybe try Embeddium or keep Rubidium removed
    1 point
  12. Did you check the getRenderShape method of your block to ensure it's returning the correct enum value?
    1 point
  13. yes it works without psi and I've already redone a modpack with an earlier version which works well.
    1 point
  14. Does it work without Psi? If yes, try other 1.19.4 builds of this mod
    1 point
  15. Start with this one - I do not know any other ones
    1 point
  16. This applies to all mods requiring a microphone: https://modrepo.de/minecraft/voicechat/wiki/macos So just use another Launcher with the ability to ask for microphone permissions
    1 point
  17. Yes... You're right, this mod conflicts with very many other mods causing this error.
    1 point
  18. 1 point
  19. Brooo you are in 1.12 why do you made mods on 1.12 in 2024 anyway i have similar issue in 1.20.4 in mi case to fix i have to make the BlockEntity to manually call on blockEntityChanged() to inform the world the block entity has change and need to be saved // ########## ########## ########## ########## @Override protected void saveAdditional( CompoundTag nbt ){ //System.out.println("\n##saveAdditional(), " + this.getBlockPos() ); nbt.put("inventory", itemhandler.serializeNBT() ); nbt.putInt("progress", this.progress ); super.saveAdditional( nbt ); //System.out.println(NbtUtils.prettyPrint(nbt)); this.getLevel().blockEntityChanged(this.getBlockPos()); //<---------- } but this is in 1.20.4 may theres something equivalent in 1.12
    1 point
  20. 1 point
  21. it worked thank you, i just had to delete java 22 through apps & features
    1 point
  22. It works fine now. thank you
    1 point
  23. Both screenshots showing Java 22 Remove Java 22 and make sure the server is using Java 17
    1 point
  24. If you are using AMD/ATI, get the latest drivers from their website - do not update via system
    1 point
  25. I can confirm a similar error when trying to set up a 1.19.2 modding environment in Eclipse; something is definitely cached that doesn't do well when the environment is edited. I solved it similarly to how you did, by simply restarting from the ground with a different project in a different version.
    1 point
  26. dont worry about this anymore, i think ive got it. thanks for the suggestion though
    1 point
  27. Apologies for taking so long to respond, I forgot to check the forums for a while. You can probably just use the HoneyBottleItem class when registering your item, if you don't need custom behavior. Here's an example of what you might have to do: public static final RegistryObject<Item> LEMON_JUICE = ITEMS.register( "lemon_juice", () -> new Item( new HoneyBottleItem.Properties().stacksTo(1).food( (new FoodProperties.Builder()) .nutrition(4) .saturationMod(0.1F) .effect(() -> new MobEffectInstance(MobEffects.GLOWING, 100, 0), 0.8F) .build() ) ) ); This is a random food item I grabbed from the mod I'm working on, I just renamed it to lemon juice so you could see what it would look like. Don't worry about being clueless, YouTube will only take you so far. I'd recommend looking at published mods on GitHub to see how to do things, it makes life easier. Just remember to give attribution if you use any of their code, and check their licenses. If you do need to register your item, you can just make a class that inherits from HoneyBottleItem, and then modify what you need in there.
    1 point
  28. # Problematic frame: # C [atio6axx.dll+0x192b60] Get the latest AMD/ATI drivers from their website
    1 point
  29. It was, in fact biom's of plenty thank you verymuch X)
    1 point
  30. Maybe an issue with biomesoplenty
    1 point
  31. That seemed to fix it! Both Textrue's Embeddium Options and Projectile Damage Attribute were causing it to crash. Thank you so much!
    1 point
  32. Idk how u do it but ty fr, I update it and it works, so ty again
    1 point
  33. After I removed it the debug showed me an error that cleared it up, it was canary doing it, a performance mod that it makes sense to have been conflicting. Thank you!
    1 point
  34. You should find some in undiscovered areas
    1 point
  35. Add the crash-report or latest.log (logs-folder) with sites like https://paste.ee/ and paste the link to it here
    1 point
  36. Go to the resourcepacks screen in the game and disable the "Programmer Art" resources
    1 point
  37. Thank you so much for replying to this. I tried out your recommendation in place of what I had and it fixed my problem! It helped me better understand streams/lambda and see what I had done wrong.
    1 point
  38. 1 point
  39. This FAQ has many guides and solutions - reading this before asking for help could save you a lot of time, as it accounts for the vast majority of issues people run into that we're aware of but can't fix on our end. Supported versions and platforms We only support Forge here. We cannot help you with Fabric, Spigot, etc... We support all versions under the tiered support policy. Full support for 1.20.4, 1.20.1, 1.19.4 and 1.19.2 Legacy support for all other versions Minimal support for select versions (e.g. 1.20.3 - use 1.20.4 instead) More details here. Rules Piracy (aka "cracked launchers") and cheats (aka "PvP clients", "x-ray mods", etc...) are strictly forbidden here. When you need help, please always make a new thread. Do not post in old support threads. When making a new thread, you must include a link to your log on https://pastebin.com or https://paste.ee. Instructions on where to find this and how to upload it are in this forum post. Exit/error codes Here's a list of exit codes and what they mean: Error code 0: Someone clicked "Quit game" and the game closed successfully Error code 1 and -1: The game crashed, refer to the log and/or crash report for details Error code -1073741819: A game library crashed. Update your drivers and make sure you're using the right Java version Where can I find the debug.log and crash report? Official Minecraft launcher CurseForge app MultiMC/PolyMC/Prism launcher Where can I find the installer log? Where can I find the launcher log? Most of the time you don't need to share this, so only share it when asked by a support volunteer or when you're unable to find any debug.log or crash report. Official Minecraft launcher CurseForge app What version of Java do I need? | Minecraft version | Forge version | Java version | |-------------------|---------------|--------------| | 1.18 or newer | 38.x or newer | 17 | | 1.17.1 | 37.x | 16 | | 1.16.5 or older | 36.x or older | 8 | How do I install Java? Windows macOS Linux How do I install the Forge client to the official Minecraft Launcher? How do I install the Forge server? Where can I find the forge.jar to start my server? Forge immediately crashes on launch without any mods installed, how do I fix it? Where can I find Forge mods? https://www.curseforge.com/minecraft/search?page=1&gameFlavorsIds=1 Make sure you download the right version of a mod for your Minecraft version. My game is lagging, how can I find the culprit? How do I update my drivers?
    1 point
  40. There are a ton of guides, and I felt like I just needed to make one of how I mod using 1.12.2. Table of Contents: 1. Getting Started 2. Registries 3. Proxies 3. Basic Block/Item 4. GUIs (There will be more coming, I am writing this as I learn.) Getting Started: Download Forge mdk Unzip it Run gradlew setupDecompWorkspace for Eclipse: Run gradlew eclipse in cmd.exe for Intellij: Run gradlew setupDevWorkspace ideaModule Import build.gradle as a project Go to File -> Project Structure -> Modules Click '+' and click import, choose (folder name).iml. (There is only one in the folder) Close intellij run gradlew genIntellijruns Open Intellij Run -> Profile -> Edit Configurations Choose server/client Set "Use classpath of module" to (folder name)_main Apply Registries: Registries are Forge's way of injecting instances of your classes into the game. Basic setup: You need a class annotated with EventBusSubscriber From there you add methods annotated with EventHandler to register blocks. Example: @EventHandler public static void registerBlocks(RegistryEvent.Register<Block> event) { event.getRegistry().registerAll(blocks); } blocks is a List of all blocks in the mod. Note: When registering blocks, you also have to register an ItemBlock. To do this use the Item registry event, and register a new instance of ItemBlock(you have to set its registry name). Registering models: (This may need to be client side only, if it is please tell me) @SubscribeEvent public static void registerModels(ModelRegistryEvent event) { for (Block block : blocks) { if (block.getRegistryName() != null) ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(),"inventory")); } } Pretty simple, nothing too hard. ObjectHolder: What is ObjectHolder? ObjectHolder is used to get instances of your block. Use: @ObjectHolder("modid") public class ModBlocks { @ObjectHolder("mod_block") public static final Block MOD_BLOCK = null; After the block is registered, an instance of it will be injected into MOD_BLOCK. Proxies: Minecraft runs on 2 sides. Client and server. Certain things are only client side, some are only server side. Setting up proxies: Proxies require 2 classes, Client and Server. The SidedProxy annotation requires 2 arguments, the path to your client and server proxy (ex. "com.author.mod.proxies.ClientProxy") Then you can use the SidedProxy annotation with the argument saying what side it is to tell Forge to run that code on a certain side. If you want to check what side a method is, use world.isRemote(), true means client side, false means server side. Blocks/Items: This is pretty simple, just make a class extend Block/Item, put in the necessary methods and constructors (setRegistryName() is a big one). Then register an instance of that block/item in the appropriate registry. When making a texture/model, you need to have the appropriate files. (BlockState for a block, block model for blocks, item model for blocks and items, and textures) I suggest looking at the default MC asset files when making textures. I won't get too much into detail here because it's not that hard to do. GUIs: GUIs are a bit harder. A GUI can either be a container, or a screen. A GUI requires 2-3 classes bare minimum, depending on what type it is. Simple screen: Create a class that implements IGuiHandler. That class needs 2 overrided methods. Example: @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { return new Container(player.inventory, world); } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { return new Gui(new Container(player.inventory, world)); } Now you gotta register it in your main class's init method: NetworkRegistry.INSTANCE.registerGuiHandler(instance, new WorkbenchGuiHandler()); (instance is the instance of your main class) Note: the instance should be obtained by making a variable and annotating it with the Instance annotation, and your modid as an argument. Now, we have to make the actual GUI. For my example I am going to be making a custom crafting table. Here is the GUI screen with the crafting table background: GuiScreen(Container inventorySlotsIn) { super(inventorySlotsIn); } //This is for everything behind the items @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); //Makes the background darker like in a normal craftring table this.drawDefaultBackground(); //Size of the GUI image int i = (this.width - this.xSize) / 2; int j = (this.height - this.ySize) / 2; //Load the default crafting GUI texture this.mc.getTextureManager().bindTexture(new ResourceLocation("textures/gui/container/crafting_table.png")); //Draw it this.drawTexturedModalRect(i, j, 0, 0, this.xSize, this.ySize); } //Now for on top of the items @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { //Draw the name at the top, getting the name from the lang file. this.fontRenderer.drawString(I18n.format("gui.custom_workbench.name"), 28, 6, 4210752); } Now we need a container to contain all of the items. the container has to draw the player's inventory, the inventory, listen for click events, etc... just saying, this one's a big class. Commented code is code for making the inventory a crafting table public class GUIContainer extends Container { private World world; private InventoryCrafting matrix; private InventoryCraftResult result; private EntityPlayer player; GUIContainer(InventoryPlayer playerInventory, World world) { //matrix = new InventoryCrafting(this, 3, 3); player = playerInventory.player; this.world = world; //result = new InventoryCraftResult(); /* int index = 1; Output slot, code down below. addSlotToContainer(new CraftResultSlot(matrix, 0, 124, 35)); Crafting matrix for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { addSlotToContainer(new Slot(matrix, index, 30 + j * 18, 17 + i * 18)); index += 1; } } */ //Player's inventory for (int k = 0; k < 3; k++) { for (int i = 0; i < 9; i++) { addSlotToContainer(new Slot(playerInventory, index, 8 + i * 18, 84 + k * 18)); index += 1; } } //Player's hotbar for (int i = 0; i < 9; i++) { addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 142)); } } //Checking if player can open the inventory @Override @ParametersAreNonnullByDefault public boolean canInteractWith(EntityPlayer playerIn) { /* Code to check if it is a custom crafting table Getting the block the player is looking at, with a max distance of 6 RayTraceResult ray = playerIn.rayTrace(6, 1.0f); if (ray == null) return false; //Get the position of the block BlockPos pos = ray.getBlockPos(); //Get the world World world = playerIn.getEntityWorld(); //And the block Block block = world.getBlockState(pos).getBlock(); //Check if it is our block return block.equals(ModBlocks.CUSTOM_WORKBENCH); */ return true; } @Override public void onContainerClosed(EntityPlayer playerIn) { super.onContainerClosed(playerIn); /* drop the items in the crafting grid if (!world.isRemote) { for (int i = 0; i < 9; ++i) { ItemStack itemstack = matrix.removeStackFromSlot(i); if (!itemstack.isEmpty()) { playerIn.dropItem(itemstack, false); } } } */ } //Code when item is shift clicked @Override @Nonnull public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) { ItemStack itemstack = ItemStack.EMPTY; Slot slot = inventorySlots.get(index); if (slot != null && slot.getHasStack()) { ItemStack currentItem = slot.getStack(); itemstack = currentItem.copy(); /* if (index == 0) { currentItem.getItem().onCreated(currentItem, world, playerIn); if (!mergeItemStack(currentItem, 37, 46, false)) { return ItemStack.EMPTY; } onPickupFromSlot(recipe); slot.onSlotChange(currentItem, itemstack); } */ if (index >= 11 && index < 38) { //if (!mergeItemStack(currentItem, 37, 46, false)) { //if (recipe != null) //Put correct output in output slot //putStackInSlot(0, recipe.output); //return ItemStack.EMPTY; //} //This might not work! if(!mergeItemStack(currentItem, 0, 8, false)) { return ItemStack.EMPTY; } } //else if (index >= 38 && index < 46) { //if (!mergeItemStack(currentItem, 10, 37, false)) { //return ItemStack.EMPTY; //} //} else if (!mergeItemStack(currentItem, 10, 46, false)) { //return ItemStack.EMPTY; //} if (currentItem.isEmpty()) { slot.putStack(ItemStack.EMPTY); } else { slot.onSlotChanged(); } if (currentItem.getCount() == itemstack.getCount()) { return ItemStack.EMPTY; } slot.onTake(playerIn, currentItem); } return itemstack; } @Override public boolean canMergeSlot(ItemStack stack, Slot slotIn) { return /*slotIn.inventory != result && */super.canMergeSlot(stack, slotIn); } /* @Override public void onCraftMatrixChanged(IInventory in) { IRecipe recipe = CraftingManager.findMatchingRecipe(matrix, world); if (recipe != null) putStackInSlot(0, recipe.getRecipeOutput()); } */ } If you want the CraftResultSlot code, here it is: public class CraftResultSlot extends Slot { public CraftResultSlot(InventoryCrafting matrix, int index, int x, int y) { super(matrix, index, x, y); } //Disable items getting put in the slot @Override public boolean isItemValid(ItemStack stack) { return false; } } Please comment anything i missed, things I should add, errors, etc... I will expand this soon!
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.