<commit_before>package omnikryptec.settings;

import org.lwjgl.opengl.GL;

import omnikryptec.gameobject.RenderType;
import omnikryptec.main.OmniKryptecEngine;
import omnikryptec.postprocessing.main.FBOFactory;
import omnikryptec.postprocessing.main.FrameBufferObject;
import omnikryptec.postprocessing.main.RenderTarget;
import omnikryptec.util.Instance;

/**
 * Game settings object
 *
 * @author pcfreak9000 &amp; Panzer1119
 */
public class GameSettings {

    private int initialFPSCap = Instance.DISPLAYMANAGER_DISABLE_FPS_CAP;
    /**
     * 0 means no multisampling
     */
    private int multisamples = 0;
    private float anisotropic = 4;
    private boolean mipmap = false;
    private boolean clampEdges = false;
    private boolean nearest = false;
    private KeySettings keySettings;

    private int eventThreadPoolSize = 2;

    private RenderTarget[] add_attachments = {};
    private FBOFactory fbo_factory;

    private float foliageRadius = 50;
    private float mediumRadius = 100;
    private float bigRadius = 200;

    private long chunkOffsetX = 1;
    private long chunkOffsetY = 1;
    private long chunkOffsetZ = 1;
    private int chunkWidth = 128;
    private int chunkHeight = 128;
    private int chunkDepth = 128;

    private boolean deferredlight = false;
    private boolean forwardlight = false;
    private int max_forward_lights = 4;
    
    
    private boolean enable_chunks=false;
    private int maxinstancespdc = 10000;
    
    private boolean frustrumCulling=true;
    
    private boolean multithreadedParticles=true;
    private long minmultithreadedparticles=1000;
	private int partThrPSize=-1;
    
    /**
     * Standard value for disabling multisampling
     */
    public static final int NO_MULTISAMPLING = 0;

    /**
     * constructs a GameSettings object with default key settings.
     */
    public GameSettings() {
        this(KeySettings.STANDARDKEYSETTINGS);
    }

    /**
     * Constructs a GameSettings object with custom KeySettings
     *
     * @param keySettings KeySettings Key settings
     */
    public GameSettings(KeySettings keySettings) {
        this.keySettings = keySettings;
    }

    /**
     * Returns the added attachments
     *
     * @return Integer Array Added attachments
     */
    public final RenderTarget[] getAddAttachments() {
        return add_attachments;
    }

    /**
     * Sets additional attachments
     *
     * @param add_attachments Added attachments
     * @return GameSettings A reference to this GameSettings
     */
    public final GameSettings setAdditionalAttachments(RenderTarget... add_attachments) {
        this.add_attachments = add_attachments;
        return this;
    }
<commit_msg>started redoing GameSettings<commit_after>package omnikryptec.settings;

import java.util.HashMap;
import org.lwjgl.opengl.GL;

import omnikryptec.gameobject.RenderType;
import omnikryptec.main.OmniKryptecEngine;
import omnikryptec.postprocessing.main.FBOFactory;
import omnikryptec.postprocessing.main.FrameBufferObject;
import omnikryptec.postprocessing.main.RenderTarget;
import omnikryptec.util.Instance;

/**
 * Game settings object
 *
 * @author pcfreak9000 &amp; Panzer1119
 */
public class GameSettings {
	
	public static final String COLORSPACE_SCENE_FBO="COLORSPACE_SCENE_FBO";
	public static final String COLORSPACE_NORMAL_FBO="COLORSPACE_NORMAL_FBO";
	public static final String COLORSPACE_SPECULAR_FBO="COLORSPACE_SPECULAR_FBO";
	public static final String COLORSPACE_SHADER_INFO_FBO="COLORSPACE_SHADER_INFO_FBO";
	
	private final HashMap<String, Integer> ints;
	private final HashMap<String, Float> floats;

	
    private int initialFPSCap = Instance.DISPLAYMANAGER_DISABLE_FPS_CAP;
    /**
     * 0 means no multisampling
     */
    private int multisamples = 0;
    private float anisotropic = 4;
    private boolean mipmap = false;
    private boolean clampEdges = false;
    private boolean nearest = false;
    private KeySettings keySettings;

    private int eventThreadPoolSize = 2;

    private RenderTarget[] add_attachments = {};
    private FBOFactory fbo_factory;

    private float foliageRadius = 50;
    private float mediumRadius = 100;
    private float bigRadius = 200;

    private long chunkOffsetX = 1;
    private long chunkOffsetY = 1;
    private long chunkOffsetZ = 1;
    private int chunkWidth = 128;
    private int chunkHeight = 128;
    private int chunkDepth = 128;

    private boolean deferredlight = false;
    private boolean forwardlight = false;
    private int max_forward_lights = 4;
    
    
    private boolean enable_chunks=false;
    private int maxinstancespdc = 10000;
    
    private boolean frustrumCulling=true;
    
    private boolean multithreadedParticles=true;
    private long minmultithreadedparticles=1000;
	private int partThrPSize=-1;
    
    /**
     * Standard value for disabling multisampling
     */
    public static final int NO_MULTISAMPLING = 0;

    /**
     * constructs a GameSettings object with default key settings.
     */
    public GameSettings() {
        this(KeySettings.STANDARDKEYSETTINGS);
    }

    /**
     * Constructs a GameSettings object with custom KeySettings
     *
     * @param keySettings KeySettings Key settings
     */
    public GameSettings(KeySettings keySettings) {
        this.keySettings = keySettings;
        ints = new HashMap<>();
        floats = new HashMap<>();
    }
    
    public int getInt(String k) {
    	return ints.get(k);
    }
    
    public float getFloat(String k) {
    	return floats.get(k);
    }
    
    /**
     * Returns the added attachments
     *
     * @return Integer Array Added attachments
     */
    public final RenderTarget[] getAddAttachments() {
        return add_attachments;
    }

    /**
     * Sets additional attachments
     *
     * @param add_attachments Added attachments
     * @return GameSettings A reference to this GameSettings
     */
    public final GameSettings setAdditionalAttachments(RenderTarget... add_attachments) {
        this.add_attachments = add_attachments;
        return this;
    }

{'fraction_non_alphanumeric': 0.06970641298999508, 'fraction_numerical': 0.014433327866163687, 'mean_word_length': 3.185312285518188, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5820098', 'n_tokens_mistral': 1864, 'n_tokens_neox': 1732, 'n_words': 474}