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.

Featured Replies

Posted

I'm very new to Minecraft modding, and one thing that's still causing me some confusion is the client/server dichotomy. From what I understand (via reading the Forge documentation), they're separate and it's very bad to do things on the wrong side. My questions are:

  • How do I know which side to do something on?
  • How do I know when it matters? Does every single statement need to be prefaced with something like if (world.isRemote()) {}?
  • How can I check that I've done things correctly? There's a 'runServer' thing in IntelliJ, but it says I need to agree to the EULA somehow and I don't know how to do that.
  • Where can I go to learn more? (I've already read the Forge documentation.)
1 hour ago, Syric said:

How do I know which side to do something on?

Things related to input and graphics are done on the client. Most other things related to the actual logic of the game should be done on the server.

1 hour ago, Syric said:

How do I know when it matters? Does every single statement need to be prefaced with something like if (world.isRemote()) {}?

A bit of common sense goes a long way. For example, if you want to damage the player, you only want to do that on the server, since it is the server that keeps track of all the players and their state. If you want to place a block, you have to do it on the server, otherwise you end up with 'ghost-blocks' etc.

1 hour ago, Syric said:

How can I check that I've done things correctly? There's a 'runServer' thing in IntelliJ, but it says I need to agree to the EULA somehow and I don't know how to do that.

When you use runServer for the first time a text file called eula.txt should be generated, which you have to edit to set 'eula=true' and then run the server again. But using runServer is not guaranteed to catch all errors related to sides, since it will only crash if you are using a method on the physical server that only exists on the physical client (for instance rendering methods).

1 hour ago, Syric said:

Where can I go to learn more? (I've already read the Forge documentation.)

This page explains it in pretty good detail.

4 hours ago, Syric said:

How can I check that I've done things correctly? There's a 'runServer' thing in IntelliJ, but it says I need to agree to the EULA somehow and I don't know how to do that.

3 hours ago, vemerion said:

When you use runServer for the first time a text file called eula.txt should be generated, which you have to edit to set 'eula=true' and then run the server again. But using runServer is not guaranteed to catch all errors related to sides, since it will only crash if you are using a method on the physical server that only exists on the physical client (for instance rendering methods).

the files of the server are created in the run folder of your forge mdk.
As @vemerion has already explained you have to accept the eula, you also have to know that you are not logged into your IDE-Minecraft with a mojang account,
which is why you have to set the option "online-mode" in the server server.properties file to false (Edit: this file is created at the second start after the eula has been accepted),
otherwise you cannot join the server.

Edited by Luis_ST

Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

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.