Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Leaderboard

Popular Content

Showing content with the highest reputation on 01/30/22 in all areas

  1. This is a small guide for people how want to Speed up their development by swapping changed code during run time, which eliminates the need to constantly restart the Minecraft-Client. To reach our goal we need to install Hotswap and DCEVM. To install DCEVM you first need to download the newest release for java 8 form this link: https://github.com/dcevm/dcevm/releases Before you continue installing DCEVM you need to first install the right java version that matches your download. Most likely this will be the version 1.8.0_181. The download list can be found here: https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html To now install DCEVM run java -jar "path_to_the_installer/DCEVM-8u181-installer.jar" as Administrator in your console. In the UI that pops up you need to select the java version you just installed and click on Install DCEVM as altjvm. You probably need to do this for the jdk and jre. Next download the hotswap-agent and place the jar file in an appropriate folder. https://github.com/HotswapProjects/HotswapAgent/releases Now the Basic setup is finished, our next step is too setup Intellij and gradle two run correctly. First thing you need to do is to install the HotswapAgent plugin for Intellij. Plugins can be install under: Settings -> Plugins -> Marketplace Search for hotswapagent. Now under Tools -> HotswapAgent select Enable HotswapAgent in all configurations Under Keymap search for "Reload Changed Classes" and assign a Keyboard shortcut. Now press double shift and search for "Registry..." and enable compiler.automake.allow.when.app.running Finally to run the Minecraft client create a new gradle configuration with task = "runClient" and VM options = "-Xmx3G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5010 -XXaltjvm=dcevm -XX:+UnlockExperimentalVMOptions -javaagent:path_to_your\hotswap-agent-1.4.0.jar" Now your good to go. If you have any questions or suggestions feel free to comment below this is my first tutorial so if you have any advise it would be more than welocome. I hope this is helpful for you have a nice Day.
  2. Xironite Minecraft Server [1.8.x – 1.18.x] Xironite is a server dedicated to interacting with our community through hosting events and listening to player feedback! Our main feature is Towny! Towny gives our players a chance to work together and try to make the largest town while recruiting more players to help them. If competition is more your speed, you can compete against other towns in a variety of contests! You can do anything you want, from creating the largest town with your friends to dominating the economy and skill leaderboards! Xironite also adds a tonne of features to Survival, making it feel fresh once again. From custom enchants and tools to dungeons and bosses that will test your skills, Xironite has plenty to keep you busy! On top of all that, our player ranks can be earned in-game through playtime and resource gathering. No need to pay for cool perks! Xironite is constantly evolving based on player feedback and ideas from our amazing management. Join now before you miss our next event! How to Join? Join now using our IP: mc.xironite.org Features Bosses Dungeons Crates & Lootbags Events Robust Anti-Cheat Friendly & Active Community Custom Enchants Custom Tools & Armour PyroMining & PyroFishing Player Feedback & Suggestions Custom Textures ...and much more! Social Media Discord Instagram TikTok YouTube
  3. did you looked into the vanilla generation? VegetationFeatures.PATCH_BERRY_BUSH and VegetationPlacements.PATCH_BERRY_COMMON
  4. I think you misunderstood what I'm trying to do. With the code above the GUI is centered but it is cut off on the top and bottom. When I use GlStateManager.scale(0.5F, 0.5F, 0.5F); To scale the GUI to fit it on, the GUI isn't center anymore. Trying to center it by dividing the xSize and ySize by doesn't work either EDIT: I got the GUI to center with a scale of 0.5 using this.drawModalRectWithCustomSizedTexture((width - xSize) + Math.round(xSize * scale), (height - ySize) + Math.round(ySize * scale), 0, 0, xSize, ySize, textureWidth, textureHeight); EDIT 2: Figure out how to center GUI with any scale (probably) using this.drawModalRectWithCustomSizedTexture((Math.round((width / 2) / scale) - Math.round(xSize / 2)), (Math.round((height / 2) / scale) - Math.round(ySize / 2)), 0, 0, xSize, ySize, textureWidth, textureHeight);
  5. I am working on decoupling my monolithic mod project into multiple mod modules within the same workspace. I haven't been able to find any documentation on whether this is even possible with Minecraft Forge, so that may be a quick answer to this question. Everything appears to work fine except there are strange issues that don't add up (such as it can't resolve my language file for a sub-module). I have also been unable to find any errors in the output log except for one error that claims it's not an error . Prior to decoupling my mod everything was working fine as far as I know (I didn't experience any strange issues), and my automated build pipeline fails fast most of the time to catch such things anyway. At the end of the day I deploy this mod on a standalone CentOS VPS, so if something can go wrong there are plenty of opportunities for issues to crop up, but none have before I started this decoupling exercise. What I want to do is basically as follows: I have a gradle project that contains sub-modules one of which is a Minecraft Forge mod called siaca. The root-level module (that is the parent for everything) is also a Minecraft Forge mod (perhaps I need to make that a sub-module too though?). The root module mod uses a oneJar task to bundle everything up into a single Jar, but it the sub-module mod is not a dependency of the root module mod (and I'll tell you why later). My settings.gradle rootProject.name = "MadMartianMod" include 'asm-toolkit' include 'data-structures' include 'foo-stuff' include 'siaca' Main Root Module Mod build.gradle buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } apply plugin: 'forge' version = "5.6.15-Lime" group= "mad-martian" configurations { mods // Dependencies that may or may not be present during runtime but are always visible during development // This configuration replaces the default compile configuration for my project family { // These aren't being used anywhere and aren't part of the server installation exclude group: 'org.scala-lang' exclude group: 'org.scala-lang.plugins' exclude group: 'org.scala-lang.modules' exclude group: 'com.typesafe' exclude group: 'com.typesafe.akka' } compile { extendsFrom family } // This configuration is for bundling all module class files into a single JAR for deployment bundle { extendsFrom family // These are used during development but aren't present in the server installation exclude group: 'com.ibm.icu', name: 'icu4j-core-mojang' exclude group: 'org.ow2.asm', name: 'asm-debug-all', version: '5.0.3' } } task onejar(type: Jar) { manifest.from jar.manifest from { configurations.bundle.collect { it.isDirectory() ? it : zipTree(it) } } with jar } artifacts { archives onejar } minecraft { version = "1.7.10-10.13.4.1558-1.7.10" runDir = "working" } dependencies { testCompile "junit:junit:4.6" testCompile group: "org.apache.logging.log4j", name: "log4j-core", version: "2.3" testCompile group: "org.mockito", name: "mockito-core", version: "1.10.19" // Take advantage of the recipe GUI API mods files("modlibs/CraftGuide-1.6.8.2-forge.jar") // Workspace dependencies family project(':foo-stuff') family project(':asm-toolkit') } sourceSets.main.compileClasspath += [ configurations.mods ] processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } runClient { systemProperties "mad-martian-mod.mutations.strict": true, "log4j.configurationFile": "../dev-log4j2.xml" jvmArgs "-Xmx2048m", "-Xms1024m" } runServer { systemProperties "mad-martian-mod.mutations.strict": true, "log4j.configurationFile": "../dev-log4j2.xml" jvmArgs "-Xmx2048m", "-Xms1024m" } idea { module { name = 'MadMartian Mod' jdkName = '1.7' excludeDirs = [ file(".gradle"), file(".idea"), file("logs"), file("build"), file("working"), file("gradle") ] scopes.PROVIDED.plus += [ configurations.mods ] } } Sub-Module Mod siaca - build.gradle buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } group="mad-martian" version '0.1' apply plugin: 'forge' sourceCompatibility = 1.6 minecraft { version = "1.7.10-10.13.4.1558-1.7.10" runDir = "../working" } dependencies { testCompile "junit:junit:4.6" testCompile group: "org.apache.logging.log4j", name: "log4j-core", version: "2.3" testCompile group: "org.mockito", name: "mockito-core", version: "1.10.19" // Configuration file model compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.8.5' compile project(':data-structures') compile project(':asm-toolkit') } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } idea { module { jdkName = '1.7' } } Here are the problems I am running into: [*]Running the task runClient on the root module starts two instances of Minecraft, one for each mod in the workspace (I guess that could indicate the need to make the root mod a sub-module, will that work?) [*]My sub-module cannot find the lang file, I have checked several times to make sure it is correct while the root mod's lang file works fine. It isn't obvious to me why it can't find it. The language file is stored at (I copied and pasted the path to eliminate the risk of typos): < workspace root > /siaca/src/main/resources/assets.siaca.lang/en_US.lang [*]When step-debugging the sub-module in runtime, the Minecraft compiled code is out of sync with its source mapping (i.e. I set a breakpoint on some line but the program either misses it completely, stops in some strange unexpected place in the program. Also when step-debugging it appears as if the current execution point passes over comments and white space) Some specific questions I have: [*]Is it possible to do this? have one workspace with multiple mods contained within it? or do I have to create a completely separate workspace for each mod? (that would be undesirable as both depend on shared sub-modules) [*]How does one make Minecraft utility modules that are shared by other mod modules? At one point I tried making foo-stuff a mod as well and then tried to make it a dependency of the root mod because I wanted to pull-out common Minecraft code into a utility module. I couldn't run the root mod because it would fail with a "failed to download Minecraft Forge" error required by foo-stuff and I noticed something very strange about the URL it was trying to download from, it was libraries.minecraft.net and the artifact-id and version was present in the URL but where the group-id should have been there were just two slashes instead: '//' Any help or insight on troubleshooting these issues would be greatly appreciated.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.