Difference between revisions of "Compatibility"

From Galacticraft Wiki
Jump to: navigation, search
Line 23: Line 23:
 
Galacticraft does '''not''' distribute the Buildcraft API, our mod simply uses whichever Buildcraft API it finds (so it is compatible with old ''and'' new Buildcraft).
 
Galacticraft does '''not''' distribute the Buildcraft API, our mod simply uses whichever Buildcraft API it finds (so it is compatible with old ''and'' new Buildcraft).
  
If you have a modpack with 2 other mods which use 2 different versions of the Buildcraft API then you may see a crash like this whenever placing down ''any'' Galacticraft machine:
+
If you have a modpack with 2 other mods which contain 2 different versions of the Buildcraft API then you may see a crash like this whenever placing down ''any'' Galacticraft machine:
 
<pre>java.lang.NoSuchMethodError: buildcraft.api.core.JavaTools.getAllFields(Ljava/lang/Class;)Ljava/util/List;
 
<pre>java.lang.NoSuchMethodError: buildcraft.api.core.JavaTools.getAllFields(Ljava/lang/Class;)Ljava/util/List;
 
at buildcraft.api.mj.MjAPI.getMjBatteryField(MjAPI.java:196)</pre>
 
at buildcraft.api.mj.MjAPI.getMjBatteryField(MjAPI.java:196)</pre>

Revision as of 17:03, 12 March 2015

This information is for Galacticraft 3. First off, you really should update to the latest version - it will have the latest compatibility fixes. Some people do not seem to understand what latest version means. It means the one in red at the top of the Downloads page.

For Galacticraft 2 compatibility information, see forum thread

Galacticraft 3

Galacticraft 3 is a dual version for both Minecraft 1.7.2 and Minecraft 1.7.10.

For Minecraft 1.7.2 use Forge version 1147 (Latest), for Minecraft 1.7.10 use Forge version 1204 or later - either Latest or Recommended versions will be fine. (If playing on a server make sure all player's Forge versions match the server!)

This topic will cover any known incompatibilities and what you can do about them. This topic will be updated when new issues come to light.

As a general rule, you should be using the latest version of Galacticraft. Some people don't seem to understand what latest version means. It means the one in red at the top of the list on the downloads page. The latest version will often include compatibility fixes with other mods which have come to light after 'stable' versions of Galacticraft have been released - so the latest version is more stable than the 'stable' version.

If using Galacticraft with other mods or in modpacks, it is also strongly recommended to read Config#World_Generation.

Issues and bugs in other mods

All of the issues described in this section are caused by other mods. Where possible the latest versions of Galacticraft include workarounds so that problems will not arise.

Buildcraft API

Buildcraft somewhat unhelpfully changed the way it interfaces with other mods, after its original Minecraft 1.7.10 version was released. Some other mods include the Buildcraft API in their .jar files (examples: Enhanced Portals, Forestry). Depending on version, some of those other mods use older versions of the Buildcraft API, some use newer versions.

Galacticraft does not distribute the Buildcraft API, our mod simply uses whichever Buildcraft API it finds (so it is compatible with old and new Buildcraft).

If you have a modpack with 2 other mods which contain 2 different versions of the Buildcraft API then you may see a crash like this whenever placing down any Galacticraft machine:

java.lang.NoSuchMethodError: buildcraft.api.core.JavaTools.getAllFields(Ljava/lang/Class;)Ljava/util/List;
at buildcraft.api.mj.MjAPI.getMjBatteryField(MjAPI.java:196)

It's not a Galacticraft bug. You are seeing it with a Galacticraft machine only because of the 2 other mods installing 2 incompatible parts of the Buildcraft API. If it was not Galacticraft crashing here then most likely something else in your game would crash later when using Buildcraft. If there's any fingers to point, it's partly the Buildcraft guys for updating the API mid-versions without preserving 100% backwards compatibility - that will always produce problems like this - and partly the modpack for not updating every mod to the latest version.

There are two ways for players (or server owners or modpack makers) to fix this:
1. update all mods in your pack to the latest (that should work if the mod with the old Buildcraft API is updated now)
2. search through all the .jar files in your modpack for the ones with a buildcraft folder - there must be at minimum two mods with this - and figure out which one is an old one which needs updating, or you might have to uninstall it if there is no update.

Alternatively, if that does not fix it then you can disable Buildcraft energy (MJ) compatibility in Galacticraft, which will prevent the crash from being triggered from Galacticraft machines but not actually fix the underlying problem so you might still see problems with other mods.
1. Galacticraft version 3.0.8.260 and later will auto-disable Buildcraft compatibility in this situation, with a warning message in the log
2. in earlier versions of Galacticraft (since 3.0.7.251), you can manually disable Buildcraft compatibility with a setting in power-gc3.conf

Any other Buildcraft issues

For more Buildcraft compatibility notes see Buildcraft.

Installing the Buildcraft mod after you already created a world with Galacticraft installed is not advisable in Galacticraft version 3.0.8.264 or earlier. (It's never a good idea to change mods which affect world generation, after you created the world already.) If you do add Buildcraft to an existing world, in those older versions of Galacticraft, you will lose all the Galacticraft oil in the world (Forge will warn you and ask you if you want to continue). The reason this happens is that Buildcraft also generates Buildcraft oil in the world, and you cannot have 2 different fluid blocks both named "oil". Obviously, if you add the Buildcraft mod after you already created a world then oil in existing chunks will be deleted and Buildcraft oil will only be generated in any newly generated chunks, so you may have to walk quite far to find some oil...

Newer versions of Galacticraft attempt to handle that in a smarter way. If you install Buildcraft in an existing world, the Galacticraft oil blocks (and any which you have in tanks) will be renamed to "oilgc". You can still use that oil with the Oil Extractor and in a Galacticraft Refinery (from version 3.0.9.292). Buildcraft oil will also work. Older chunks may still have Galacticraft oil reservoirs, newly generated chunks will have Buildcraft oil.

To be clear about this: there is no problem at all if you install Buildcraft and Galacticraft together before you create a world (that's the recommended approach) - in that situation, Buildcraft oil will generate in the world, Galacticraft underground oil reservoirs will not generate, and Buildcraft oil can be used as normal as oil in Galacticraft. Phew!

Crashes on the Moon and how to fix (CoFHCore 'Flat Bedrock' feature)

The CofHCore 'Flat Bedrock' feature (which can be enabled in CofH configs) has a bug and it will sometimes cause crashes during Galacticraft's world generation on the Moon. The solution is in the CoFHWorld.cfg file set the number of layers of bedrock to 1, that should be ok. (In recent versions of CoFHCore the config file is CoFH/Core/Common.cfg.)

Note: if playing on a server, this is a server-only fix.

RF API

Similar to the Buildcraft problem, the RF API was also updated after its original Minecraft 1.7.10 release was already being used by several other mods, with the similar consequences: some of the other mods using RF API use the older version, and some use the newer. Some of the mods expecting the newer version will crash if only the older version is present.

For example, Mekanism (versions 7.1.1 or 7.1.2) will crash like this if used alongside non-latest versions of RF mods:

java.lang.NoClassDefFoundError: cofh/api/energy/IEnergyProvider
	at mekanism.common.util.CableUtils.isOutputter(CableUtils.java:156)

The crash can be triggered by connecting a Mekanism Universal Cable to a machine from another mod - including Galacticraft machines, prior to Galacticraft version 3.0.8.258.

The solution is to update the RF mod (for example MinefactoryReloaded) to the latest version.

DragonAPI

If you're reading this section of this page, it's probably because you are still using DragonAPI 1.7.10 version 2 which is not the latest version. The issue here has been fixed in DragonAPI 1.7.10 version 3 and later, and players should update to that.

More info: in recent Galacticraft versions DragonAPI v2 will be detected during startup and you will be referred to this page. In earlier Galacticraft versions (prior to 3.0.6.234), the game would crash when you take a rocket, with this in the crash report:

java.lang.NoSuchMethodError: micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldProviderSpace.getCelestialBody

The issue was because of DragonAPI v2 force-loading a piece of outdated Galacticraft code in advance of Galacticraft itself. As mentioned above, this has long since been fixed in DragonAPI v3. But if for some reason you have to use DragonAPI v2 (because of a modpack which has not updated), then you can fix the issue yourself by a manual edit of the DragonAPI.jar.

Steps:

  • Find the DragonAPI 1.7.10 V2.jar file in your .minecraft/mods folder
  • Open the .jar using any program which can create a Zip file (for example, 7Zip is free and open source)
  • Delete the folder micdoodle8

Note: if playing on a server, it will need to be fixed on both client and server.

General compatibility notes

Any other mod with 'Fake Player' detection

A few mods detect and block actions by 'fake players'. Fake player detection can get messed up by Galacticraft (because the regular player is replaced by a Galacticraft player with extra inventory slots, oxygen gear, etc) so that the other mod might block action by real players as well. Some mods - examples: Extra Utilities, Blood Magic - have added extra code for full Galacticraft compatibility, which we appreciate. (If you are having problems with those two, check you are using really latest versions.)

We are not aware of any other mods with current issues, but if it happens, as a workaround, most other mods should work ok with Galacticraft if you have the PlayerAPI mod installed - so just place PlayerAPI-1.7.10-1.0.jar in your /mods folder.

Note: if playing on a server, PlayerAPI will need to be installed on both client and server.

Any other mods with energy and pipe connections

As of version 3.0.6.240, Galacticraft 3 has full power compatibility with:

  • Mekanism
  • IndustrialCraft 2
  • BuildCraft
  • Thermal Expansion​
  • EnderIO
  • any mod using RF power

That should also give compatibility with most / all mods. (Except GregTech, latest versions of GregTech have deliberately chosen to break power compatibility with other mods.) Any power compatibility issues, please let the developers know via the Github issues list.

For information on power conversion ratios between mods, and how you can control whether conversion has losses or is loss-free, see Energy.

Fluid pipes from all mods should work with Galacticraft liquids. That does not mean you could use fluid containers from other mods in GC machines, some of the GC machines will take canisters only.

If you have wire or pipe connection issues with any of these mods (and it's not already listed in the Known Issues, link above) please do let us know.

Code in other mods which looks for 'air' blocks

A few mods are coded to look only for vanilla air blocks when they are looking for space for something (for example, looking if there is enough room to build a multiblock structure). That is outdated coding. It will cause those mods to fail in some places with Galacticraft - for example in a sealed space base. The other mods should update their code to use Block.isAir() or World.isAirBlock() for the air checks. The Bukkit teleportation plugin, Essentials, has the same problem - it won't let you teleport into a sealed space.

If you have the Factorization mod installed, it has a nice feature called [AirInspector] which checks the code of all mods and tells you - in the logs - if a mod has this air block problem. It's then a question of showing those logs to the other mod authors and asking them to fix it.

Sealing blocks from other mods

For sealers to work correctly, you might have to set the glass blocks from other mods - and any other special blocks which must be sealed on all 6 sides in Galacticraft core config. Read Sealable Block IDs for full instructions.

Glass is a special block because you can't place a torch on it. So think about anything else which you can't place a torch on...

You do not need to set regular solid blocks as sealable (e.g. ore blocks or machine blocks), Galacticraft already knows those are sealable. Galacticraft also understands about blocks which are solid on one side only, for example Facades in Forge Microblocks.

You cannot set leaves, or any block made out of cloth, gravel or sponge materials, as sealable - air goes through these blocks. This includes vanilla wool blocks and mod blocks made out of wool or cotton etc.

Note: if playing on a server, this is a server-only setting.

Ores from other mods not generating on planets

This is normal, Galacticraft 3 blocks other mods from generating ores on the Moon and other planets.

There is a config setting which can enable the oregen from other mods, but it has problems:

  • other mods will then generate all their ores, treating Moon Rock and Mars Stone as if they were plain stone (Galacticraft 3.0.6.230 and later) which makes for a bit of a mess underground
  • other mods will also try to generate their other features and structures on the Moon, for example Natura clouds and flowers, IC2 rubber trees, Tinker's Construct slime islands, and many others; these are usually unwanted
  • there can be 'Already Decorating!' crashes which are caused by rare bugs in the other mods' code (maybe they weren't expecting to be generating on the Moon?)

So since version 3.0.4 Galacticraft instead offers a feature in the config where Galacticraft will add other mods ores at the same time when it is generating Galacticraft's own ores on the Moon and Mars. You have to specify the block IDs of the ores to generate, and how rare it is etc. Full instructions on this are here.

(Alternatively, since version 3.0.6.239 you can use CoFHCore custom oregen for finer control over this process, link here.)

Note: if playing on a server, this is a server-only setting.

Notes on some specific mods

EnviroMine

If EnviroMine's "food rot" feature is enabled, please be sure to be using Galacticraft version 3.0.6.249 or later. (With earlier GC versions, there can be crashes when rockets are placed or when traveling to any planet or moon and spawning a lander.)

Smart Moving

All recent GC3 builds (since 3.0.3.201) are fully compatible with Smart Moving and other mods which use the Player API.

RenderDecorator and VoxelPlayer

Like other mods that change or affect the player model and its animations, RenderDecorator and VoxelPlayer can break some Galacticraft animations (e.g. holding rocket, parachute descending etc). It can be fixed by installing Render Player API (from Galacticraft 3.0.3.201 and later). Link.

Animated Player

It's the same story for Animated Player. Install PlayerAPI and Render Player API and things should be OK. (Specifically, Animated Player 1.5.0 with Animation API 1.2.2 has been reported to be compatible with Galacticraft if you have Player API 1.4 and Render Player API 1.2 installed.)

Mariculture

The recipe clash between GC canisters and Mariculture vats can be fixed by a setting in Galacticraft core config which allows an alternative recipe for canisters.

Note also that Mariculture disables other mods' smelting recipes for aluminum ore, so you won't be able to smelt Galacticraft Aluminum Ore at all, if Mariculture is installed.

GregTech

In recent GregTech builds the power systems are not compatible with IC2 or another mod, including Galacticraft - see above.

The other mods oregen on planets IDs config setting (link) will not work to generate GregTech ores on Galacticraft planets. It's because GregTech uses a non-standard, extra-complicated way of identifying ore blocks in the world. Fortunately there is a third-party plugin for GregTech, GalactiGreg by BloodAsp, which can fix that for you. People also give some tips there on Galacticraft sealer config settings when playing with GregTech.

Tinker's Construct

Full compatibility. Remember to set Clear Glass as a Sealable Block ID in Galacticraft core config, if you want to build space bases out of Clear Glass.

OreSpawn

This is a mod which, with all its sub-mods (eg. Girlfriends), adds a huge number of new mobs to the game. To avoid mob entity ID conflicts with Galacticraft, please be sure to be using Galacticraft version 3.0.6.245 or later.

(In earlier Galacticraft versions you can change entity ID settings in Galacticraft's core.conf and mars.conf. Normally it's only the mob entity IDs which will need to be changed - so the four kinds of Evolved Mobs, and Slimeling and Sludgeling. Change them to higher numbers (between 175 and 255) until you find ones which work.)

Erebus

There is a biome ID overlap between Erebus and Galacticraft, both mods are trying to use biome IDs 102-105. This can cause weird issues with GC biomes sometimes generating in the Overworld, or occasionally crashes in Erebus (see here). To fix this, in Erebus config, change the biome IDs 102, 103, 104, 105. You can probably use 106, 107, 108, 110.

Non-fixable issues

These will need to be fixed by the authors of the other mods.

More Player Models

We cannot offer compatibility with this mod, as it uses an approach which is not really compatible with other mods. You may have improved results if you install Player API and Render Player API, try it and see.

More Player Models has been reported to be crashing with Galacticraft here

Too Much Time

This mod's dimension handling will cause crashes whenever you travel to a Galacticraft dimension, so basically Galacticraft is unplayable if you have Too Much Time installed.

JourneyMap

There are reports that if this is installed, you will not be able to reach the Planet Selection Screen by taking a rocket - the rocket will reach space (height y=1200) but the Planet Selection Screen will not open. A workaround is to use the /dimensiontp command if you have Commands#Creative_mode_commands access to it.

Custom NPCs

(Small issue) There is a position clash with Custom NPCs 'Quests' buttons in the player inventory, but you can reach the Quests dialog by clicking on 'Factions' first, then 'Quests'. Link

Twilight Forest

(Small issue) A rare issue with the Twilight Forest Scepter item has been reported, causing blocks to be drawn darker than normal in Space Station dimensions. Link

Optifine

(Small issue) There are a few minor rendering issues with Optifine, for example in the mini rocket graphic seen in the HUD on the left when your rocket is in flight, normally the player's face should be seen inside the rocket but the face is missing if Optifine is installed.

(Fixable issue) Optifine Standard and Ultra may make your Galacticraft oxygen helmet and tanks invisible (Optifine Lite does not have this problem). From Galacticraft version 3.0.8.260, some players have been able to fix it by installing SmartRender (from SmartMoving mod) - you do not need to install all of SmartMoving mod.

(Fixable issue) The outdated version Optifine_1.7.10_HD_U_A4 used together with Forge versions after 1232 was reported to make some of the Galacticraft blocks invisible (also blocks from other mods like Applied Energistics and Tinker's Construct). This can be fixed by updating Optifine, the current 1.7.10 version is Optifine_1.7.10_HD_U_B5.

Currently unsupported

Shaders Mod

Karyonix GLSL Shaders Mod is currently unsupported; the sky will not look good on Galacticraft planets or space environments.

Impt.png
Unless stated otherwise, all information contained on this wiki should be considered outdated and might not reflect in-game experiences