Skip to content

(97) Documentation 1.0.0

Daniel Schmidt edited this page Nov 12, 2023 · 3 revisions

Whats new?

With 1.0.0 there are a lot of changes happening. See the listing below:

LandOfSignals

We have added:

  • Signs (Can be added via contentpack)
  • Deco (Can also be added via contentpack)
  • New contentpack-system v2
  • Mapper for contentpack-system v1 (Still supported for now)
  • Signal prioritization

We have changed:

  • Removed item selector (items will be available in creative tab)
  • Fixed issue with mc versions (>= 1.15.x)
  • Changed Block IDs
    (They now contain the contentpack ID, blocks convert themselves, click into air with the item to convert it)
  • Moved stellwand blocks to LandOfSignal signals
  • Moved SO12, Ticketmachine DB/SBB to Deco (Need to be clicked on to change to new block)
  • Deactivated Manipulator Tool (Will be reactivated in one of the next minor versions [~ 1.1.0])

Stellwand

We have changed:

  • Depracted stellwand blocks (Can be replaced with LandOfSignal signals)
  • Blocks can't be placed anymore

Informations:

  • Magnifying glass still exists (will be moved to LandOfSignals with one of the next minor versions [~ 1.1.0])

General

New contentpacksystem

With the merge of LandOfSignals and Stellwand, a new contentpack was needed.

Old signals: One group containing a signalstate. Only the texture can be changed. New signals: Multiple groups containing a signalstate. Textures, OBJs, Rotation, Translation and Scaling can be changed.

Important note: Old contentpacks will be converted to the new system. This is only within the mod and will only be supported until 2.0.

The contentpacksystem supports the addition of Signals, Signalboxes, Signs and Assets (Deco). Whats also possible now, is the addition of custom items for your blocks (OBJ/textures/scaling/etc.).

LandOfSignals

Signs

We've added some signs similar to some found in GSAR!

Our new signs!

The following types are currently available:

  • Metal Rod
  • NE 1
  • NE 2
  • NE 5
  • SH 2 (half, without light)
  • SH 2 (full, without light)
  • Hecto sign
  • LF 1
  • LF 2
  • LF 3
  • LF 6
  • LF 7
  • BU 2
  • BU 3
  • BU 4
  • BU 5
  • RA 10 (a)
  • RA 10 (b)
  • RA 11 (a)
  • RA 11 (b)

Some signs are writable, the text is currently not being rendered. That feature is planned for a future version, which is gonna rely on a new UMC version. To find out which signs are writable or not, take a look at each tooltip.

Deco

Blocks like SO12, Ticketmachine (DB/SSB) only have a cosmetic use. That is the reason why we have grouped them under Assets (Deco).

Image of the assets creative inventory

What will happen with the old items and blocks

Items

They'll be removed from the game and will just disappear.

Blocks

They'll not be rendered anymore and will look like this:

Broken SO12 and ticketmachines after update to 1.0.0

To fix those blocks, just click on them, afterwards they should look like this: Broken SO12 and ticketmachines after clicking on them

The signallever is not affected with this change as it will stay as its own block for now.

Important note: The hitboxes of the ticketmachines changed from 1x2x1 to 1x1x1. This will be changed in the future by adding the possibility of customizing hitboxes.

Hitbox of the ticketmachines

Signal prioritization

Image of the signal prioritization GUI

Current situation

With the new contentpacksystem we changed the logic for the signals as well.
With the previous version, the latest set texture was used to display the signal.
Previous set signals are being overridden by the latest one.

Signals coming from a v2 contentpack will function differently.
The signals stated in the contentpack should be ordered by signal priority.
The signals will store each signal set by a signalbox and display the one with the highest priority.
If that set signal gets deactivated, the next signal with the highest priority will be displayed.
If no signal is set, the signal with the lowest priority will be displayed.

What is signal prioritization and for what do we need it?

The new logic makes it possible to rearrange the signal priority.
This can be done for signals from v1 and v2 contentpacks.
This can/has to be done for each signal.

Usage

Image of the signal prioritization GUI with scrollable index

Usage is quite simple:

After clicking on the wanted signal, the above GUI will open itself.
On the top, there is a button labelled "Group: ...". This will show you the current group you've selected and lets you cycle through them. If you signal only has one group, it will show "Group: -" and be disabled.
Below that, there will be 3 columns of buttons.
On the left, there is "^" which will move the signal-state one up. This will move the signal-state above one row down. If the signal is already at the top, it will be disabled.
In the middle, is the index and the name of the signal-state. Clicking on it will select it and display it on the right-hand side.
On the right, there is "v" which will move the signal-state one down. This will move the signal-state below one row up. If the signal is already at the bottom, it will be disabled.
The button on the buttom labelled "Index: ..." shows the index of the signal-states. This has to be used if the signal has more than 6 states. Moving it left and right will change the index (left is the top, right is the bottom). This will be disabled if there is less than 7 states.

Once you change the priority of a state, it will be saved. After closing the GUI the signal should refresh the priority and display another state if needed.


Removement of the item selectors

We had a lot of feedback regarding the menu for the selection of items. As one of the improvements, we decided to remove the menu completely.
All items will be available in each creative tab directly grouped by each contentpack.

New signals creative tab

Fixed issue with mc versions (>= 1.15.x)

If you tried using LandOfSignals 0.0.5 or 0.0.6 with Minecraft 1.15.x or 1.16.x you likely have seen the following issue:

-- Head --
Thread: Render thread
Stacktrace:
	at java.util.Formatter.checkText(Formatter.java:2579) ~[?:1.8.0_51] {}
-- MOD universalmodcore --
Details:
	Mod File: UniversalModCore-1.16.5-forge-1.1.3.jar
	Failure message: Universal Mod Core (universalmodcore) has failed to load correctly
		java.util.UnknownFormatConversionException: Conversion = ' '
	Mod Version: 1.1.3
	Mod Issue URL: https://github.com/TeamOpenIndustry/UniversalModCore/issues
	Exception message: java.util.UnknownFormatConversionException: Conversion = ' '
Stacktrace:
	at java.util.Formatter.checkText(Formatter.java:2579) ~[?:1.8.0_51] {}
	at java.util.Formatter.parse(Formatter.java:2565) ~[?:1.8.0_51] {}
	at java.util.Formatter.format(Formatter.java:2501) ~[?:1.8.0_51] {}
	at java.util.Formatter.format(Formatter.java:2455) ~[?:1.8.0_51] {}
	at java.lang.String.format(String.java:2928) ~[?:1.8.0_51] {}
	at cam72cam.mod.ModCore.info(ModCore.java:358) ~[?:1.1.3] {re:classloading}
	at cam72cam.mod.gui.Progress$Bar.step(Progress.java:38) ~[?:1.1.3] {re:classloading}
	at net.landofrails.stellwand.contentpacks.loader.StaticLoader.init(StaticLoader.java:40) ~[?:1.16.5-forge-0.0.5] {re:classloading}

This is fixed with the new version. A wrong code snippet triggered this issue. MC <= 1.14.x could handle the issue, newer versions couldn't.

Changed Block IDs

To make sure IDs stay unique, they now contain the contentpackId (contentpackId + : + blockId).

Image of the new tooltip info

Tooltips now display the pack and the blockId.

Signalitems after update

Signalitems must be converted by clicking once into the air with each broken signal. They will try and fetch the corresponding blockId/itemId.

Signalboxitems after update

Signalbox-Items will break as well, but can be refreshed by clicking into the air with each broken box.

Moved stellwand blocks to LandOfSignal signals

With the 1.0.0 version of LandOfSignals we moved most of the Stellwand Blocks to LandOfSignals-Signals.

Creative-Tab containing Stellwandblocks

They are fully functional and work with the default signalbox.
The magnifying glass is currently missing and will be added in one of the next minor updates (planned for 1.1.0).

Deactivated Manipulator Tool (Will be reactivated in one of the next minor versions [~ 1.1.0])

The Manipulator Tool is currently deactivated.
Blocks that you already shifted might shift somewhere else after this update.
This is due to changes in the rendering logic needed for contentpack v2.

Image of a shifted signal

Red = Blockplacement, Blue = Original shifted position, Yellow = New shifted position

Non-shifted signals will stay in their positions.

We have planned to improve the GUI of the tool as well, which we'll reactivate in one of the next minor versions (planned for 1.1.0).

Stellwand

Deprecated

Originally "Stellwand" came from the 1.7.10 mod made for our ZnD server.
After some time, it was decided to add this to LandOfSignals with UniversalModCore.
Due to the difference in logic needed for LandOfSignals (Textures) and Stellwand (OBJ-Groups),
it was internally split into two. Different tabs, different renderers, different contentpacksystem and so on.
This is bad in many ways. That's why we decided to unify both systems into one.
Important: Old blocks still work for now but need to be replaced with the ones found under "Signals".

Existing blocks will look like this:

Image of the old stellwand blocks

Except of the receiver and the magnifying glass every item/block has been ported to LandOfSignals. You find them under the following tabs:

  • Signals
    • Signal Diagonal Track [DL, DR, UL, UR]
    • Dwarfsignal [bottom, top]
    • Signal HSig [Left, Right]
    • Signal Straight Track
    • Signal Straight Unisolated
    • Streckenblock
    • Track switch ["Left -> Right, Down", "Left -> Right, Up", "Right -> Left, Down", "Right -> Left, Up"]
    • Signalbox (Stellwand)
    • Signalbox Microchip (Stellwand)
    • Connector
  • Assets
    • Block Filler
    • Straight track
    • Diagonal track [down - left, down - right, up - left, up - right]

What happens if I try to place one of the old blocks?

Warning of deprecated stellwand block

Contentpacks

Contentpacks 1.0.x

FAQ

Q1) After upgrading to LandOfSignals 1.0.0 my signals won't render/crash my game although the contentpacks stayed exactly the same.

A1) To improve performance, UMC uses a cache to store the textures for fast access.
It will store all that information beyond your session which will help start the game faster after one/a few starts.
It contains texture from all mods using UMC, which means it also contains the cached textures for ImmersiveRailroading as well.
The cache can be corrupted after the update. You can safely delete it and start the game afterwards.
This will force UMC to cache everything once again (from all mods including IR if installed!).
You can find the cache folder under .minecraft/cache.

Note (1): You may have to start your game multiple times if you get OutOfMemory Exceptions.
This can happen if you have a lot of contentpacks and/or high resolution textures.
If this occurs and the game is still running (did not close), keep it open for 5-20 minutes. UMC will usually keep caching the textures in the background.
To view the current status of the caching process, you can take a look at the logs/console if available.

Note (2): If you use the Technic Launcher, your launcher will automatically delete the cache folder after an update.
This should prevent the issue to begin with. Exception: cache-folder is included in the modpack.