/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.common.blocks.tracks; import org.apache.logging.log4j.Level; import mods.railcraft.api.tracks.ITrackInstance; import mods.railcraft.api.tracks.TrackRegistry; import mods.railcraft.api.tracks.TrackSpec; import mods.railcraft.common.util.misc.Game; /** * * @author CovertJaguar <http://www.railcraft.info> */ public class TrackFactory { public static TileTrack makeTrackTile(int trackID) { TrackSpec spec = TrackRegistry.getTrackSpec(trackID); if (spec == null) { Game.log(Level.ERROR, "Attempted to create Track Tile with invalid Track ID {0}", trackID); return null; } return makeTrackTile(spec.createInstanceFromSpec()); } public static TileTrack makeTrackTile(ITrackInstance track) { if (track instanceof TrackBufferStop) { return new TileTrackTESR(track); } return new TileTrack(track); } }