diff --git a/devTools/javaSanityCheck/SanityCheck.jar b/devTools/javaSanityCheck/SanityCheck.jar
index dfa5b22db1171f4165e79f260caad84987e22346..06c6b0ece19e53d525504dcafd834995019551ac 100644
Binary files a/devTools/javaSanityCheck/SanityCheck.jar and b/devTools/javaSanityCheck/SanityCheck.jar differ
diff --git a/devTools/javaSanityCheck/excluded b/devTools/javaSanityCheck/excluded
index bb71504fbe1cf3161608ba9515703eb87cdc1cc1..bf2513254865328032e3640ee6e140a1997d3525 100644
--- a/devTools/javaSanityCheck/excluded
+++ b/devTools/javaSanityCheck/excluded
@@ -1,10 +1,14 @@
 #Add files or folders to be excluded.
-#empty lines will match on ALL paths, so if you need one do it like this:
+#options to exclude certain checks, no options will break the check
+#L : logic checks, like <<if>><</if>>
+#O : OnlyUsedOnce, if variables are used more than once
+#S : SpellCheck, matches based on dictionaries in devTools/
 #
-src/art/
-src/gui/svgFilters.tw
-src/pregmod/editGenetics.tw
+src/art/;LO
+src/gui/svgFilters.tw;L
+src/pregmod/editGenetics.tw;L
 #
-src/001-lib/Jquery/Jquery.js
-src/001-lib/mousetrap/mousetrap.js
-src/002-config/sugarCubeConfig.js
+#JS files, logic won't be checked here anyways
+src/001-lib/Jquery/Jquery.js;O
+src/001-lib/mousetrap/mousetrap.js;O
+src/002-config/sugarCubeConfig.js;O
diff --git a/devTools/javaSanityCheck/ignoredVariables b/devTools/javaSanityCheck/ignoredVariables
new file mode 100644
index 0000000000000000000000000000000000000000..a3895cf0a90fdee42bd3e994b02d76767d5e4b17
--- /dev/null
+++ b/devTools/javaSanityCheck/ignoredVariables
@@ -0,0 +1,85 @@
+#Add ignored that are false positives and should therefore be ignored here
+#
+scarheal
+defaultColorMap
+clamp
+MAX
+MIN
+SCHOOL
+CLINIC
+SPA
+NANNY
+JAIL
+NURSE
+WARDEN
+ATTEND
+STEWARD
+MILKMAID
+TEACHER
+MATRON
+MASTER
+CONCUBINE
+BABY
+penthousePositions
+REST
+weather
+brokenSlaves
+DL
+dI
+childToSlave
+Delete
+SpliceArray
+Copy
+CopyDate
+location
+self
+setBaseAndExtent
+opera
+styleSheets
+cssRules
+toString
+toFixed
+LivingRule
+PersonalAttention
+areRelated
+relativeTerm
+marriages
+Nursery
+weeksLeft
+normalOvaMin
+normalOvaMax
+V
+rejects
+Engine
+transfer
+jobsNames
+expCheck
+interactionLink
+raw
+minDomActionDelay
+Categorizer
+rest
+new
+upgrade
+W;O;L
+FSCummunismDecoration;FSIncestFetishistDecoration;FSGenderFundamentalistResearch;FSPaternalistResearch;FSDegradationistResearch;FSBodyPuristResearch;FSMaturityPreferentialistResearch;FSPastoralistResearch;FSPhysicalIdealistResearch;FSRepopulationFocusResearch;FSRestartResearchPassed
+0;2
+maleSurnamePoolSelector
+mixedraceNationalities
+nationalityPoolSelector
+Him
+anCup
+linkHandlers
+caption
+op
+unborn
+currentEmployee
+childSurname;nurseryOldID;nurseryUpgrade
+facilityRemove
+boobsWombVolume;emptyDefaultRule;rule;removeImplant;changeImplant
+assign;commit;sizingProcedures;Agent;thigh;boy;breast;mouth
+#
+# ...foo variables - maybe fixed later
+otherChoices
+State
+pair
diff --git a/devTools/javaSanityCheck/sources.zip b/devTools/javaSanityCheck/sources.zip
index 92f59c1b2541717b32c51b197bb8d5c4997b9a2d..da449ced28926f53134e969a35fa9f7e6f9acaf1 100644
Binary files a/devTools/javaSanityCheck/sources.zip and b/devTools/javaSanityCheck/sources.zip differ
diff --git a/src/init/dummy.tw b/src/init/dummy.tw
index 89ffc4e89bdb3bf5f4264fd1c29e66ba415ab2e7..13620d9b23cb392995241c9504dc850d139b7ee1 100644
--- a/src/init/dummy.tw
+++ b/src/init/dummy.tw
@@ -4,7 +4,7 @@ This is special passage to avoid false positive error in sanityCheck build scrip
 Do not uncomment anything!
 
 Variables in this comment are only for the git grep calls used with the python version.
-False positives of the Java version have to added in the comment below.
+False positives of the Java version have to be added to a separate config file.
 
 $nurseryUpgrade, $childToSlave
 $ageMode
@@ -40,118 +40,3 @@ $activeSlave.readyLimbs, _Slave.readyLimbs, $args[0].readyLimbs
 $brothelSpots
 $JobIDArray
 */
-/%
-SugarCube-style comment because it is not ignored by the Java based sanityCheck
-
-$scarheal /* WIP */
-$clamp
-$MAX
-$MIN
-$SCHOOL
-$CLINIC
-$SPA
-$NANNY
-$JAIL
-$NURSE
-$WARDEN
-$ATTEND
-$STEWARD
-$MILKMAID
-$TEACHER
-$MATRON
-$MASTER
-$CONCUBINE
-$BABY
-$gangCriminalPool
-$militaryCriminalPool
-$whiteCollarCriminalPool
-$pettyCriminalPool
-$malenamePoolSelector
-$namePoolSelector
-$penthousePositions
-$REST
-$fetusWeek
-$countLitter
-$litterData
-$weather
-$event
-$human
-$brokenSlaves
-$DL
-$dI
-$childToSlave
-$Delete
-$SpliceArray
-$Copy
-$CopyDate
-$location
-$self
-$setBaseAndExtent
-$opera
-$selection
-$styleSheets
-$cssRules
-$facilityCareers
-$toString
-$toFixed
-$LivingRule
-$PersonalAttention
-$areRelated
-$relativeTerm
-$right
-$bottom
-$index
-$marriages
-$Nursery
-$weeksLeft
-$normalOvaMin
-$normalOvaMax
-$keyCode
-$placeholder
-$V
-$vaginalAttachments
-$buttplugAttachments
-$rejects
-$Engine
-$remove
-$transfer
-$jobsNames
-$content
-$expCheck
-$interactionLink
-$summaryCache
-$raw
-$which
-$minDomActionDelay
-$Categorizer
-$ready
-$rest
-$new
-$currentTarget
-$upgrade
-$W.O.L
-$FSCummunismDecoration, $FSIncestFetishistDecoration, $FSGenderFundamentalistResearch, $FSPaternalistResearch, $FSDegradationistResearch, $FSBodyPuristResearch, $FSMaturityPreferentialistResearch, $FSPastoralistResearch, $FSPhysicalIdealistResearch, $FSRepopulationFocusResearch, $FSRestartResearchPassed
-$0, $2
-$defaultColorMap /* delete when light/normal colormodes are finished */
-$maleSurnamePoolSelector
-$mixedraceNationalities
-$nationalityPoolSelector
-$version, $release
-$Him
-$anCup
-$linkHandlers
-$caption
-$op
-$unborn
-$currentEmployee
-$childSurname, $nurseryOldID, $nurseryUpgrade
-$facilityRemove,
-$boobsWombVolume, $emptyDefaultRule, $rule, $removeImplant, $changeImplant,
-$assign, $commit, $sizingProcedures, $Agent, $thigh, $boy, $breast, $mouth
-
-/* ...foo variables - maybe fixed later */
-$otherChoices
-$State
-$pair
-
-%/