├── .gitignore
├── RimworldStackXXL.sln
└── RimworldStackXXL
├── Libraries
├── .gitignore
└── README.md
├── Properties
└── AssemblyInfo.cs
├── Resources
├── About
│ ├── About.xml
│ ├── Preview.png
│ ├── PublishedFileId.txt
│ └── Version.xml
├── Assemblies
│ └── .gitkeep
├── Languages
│ ├── ChineseSimplified
│ │ └── Keyed
│ │ │ └── StackXXL.xml
│ ├── ChineseTraditional
│ │ └── Keyed
│ │ │ └── StackXXL.xml
│ ├── English
│ │ └── Keyed
│ │ │ └── StackXXL.xml
│ ├── Japanese
│ │ └── Keyed
│ │ │ └── StackXXL.xml
│ ├── PortugueseBrazilian
│ │ └── Keyed
│ │ │ └── StackXXL.xml
│ └── Russian
│ │ └── Keyed
│ │ └── StackXXL.xml
├── LoadFolders.xml
├── v1.1
│ └── Assemblies
│ │ └── .gitkeep
├── v1.2
│ └── Assemblies
│ │ └── .gitkeep
└── v1.3+
│ └── Assemblies
│ └── .gitkeep
├── StackXXL.csproj
└── StackXXLMod.cs
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Created by https://www.gitignore.io/api/csharp,visualstudio,windows,linux,osx
3 |
4 | ### Csharp ###
5 | ## Ignore Visual Studio temporary files, build results, and
6 | ## files generated by popular Visual Studio add-ons.
7 | ##
8 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
9 |
10 | # User-specific files
11 | *.suo
12 | *.user
13 | *.userosscache
14 | *.sln.docstates
15 | *.vcxproj.filters
16 |
17 | # User-specific files (MonoDevelop/Xamarin Studio)
18 | *.userprefs
19 |
20 | # Build results
21 | [Dd]ebug/
22 | [Dd]ebugPublic/
23 | [Rr]elease/
24 | [Rr]eleases/
25 | x64/
26 | x86/
27 | bld/
28 | [Bb]in/
29 | [Oo]bj/
30 | [Ll]og/
31 |
32 | # Visual Studio 2015 cache/options directory
33 | .vs/
34 | # Uncomment if you have tasks that create the project's static files in wwwroot
35 | #wwwroot/
36 |
37 | # MSTest test Results
38 | [Tt]est[Rr]esult*/
39 | [Bb]uild[Ll]og.*
40 |
41 | # NUNIT
42 | *.VisualState.xml
43 | TestResult.xml
44 |
45 | # Build Results of an ATL Project
46 | [Dd]ebugPS/
47 | [Rr]eleasePS/
48 | dlldata.c
49 |
50 | # .NET Core
51 | project.lock.json
52 | project.fragment.lock.json
53 | artifacts/
54 | **/Properties/launchSettings.json
55 |
56 | *_i.c
57 | *_p.c
58 | *_i.h
59 | *.ilk
60 | *.meta
61 | *.obj
62 | *.pch
63 | *.pdb
64 | *.pgc
65 | *.pgd
66 | *.rsp
67 | *.sbr
68 | *.tlb
69 | *.tli
70 | *.tlh
71 | *.tmp
72 | *.tmp_proj
73 | *.log
74 | *.vspscc
75 | *.vssscc
76 | .builds
77 | *.pidb
78 | *.svclog
79 | *.scc
80 |
81 | # Chutzpah Test files
82 | _Chutzpah*
83 |
84 | # Visual C++ cache files
85 | ipch/
86 | *.aps
87 | *.ncb
88 | *.opendb
89 | *.opensdf
90 | *.sdf
91 | *.cachefile
92 | *.VC.db
93 | *.VC.VC.opendb
94 |
95 | # Visual Studio profiler
96 | *.psess
97 | *.vsp
98 | *.vspx
99 | *.sap
100 |
101 | # TFS 2012 Local Workspace
102 | $tf/
103 |
104 | # Guidance Automation Toolkit
105 | *.gpState
106 |
107 | # ReSharper is a .NET coding add-in
108 | _ReSharper*/
109 | *.[Rr]e[Ss]harper
110 | *.DotSettings.user
111 |
112 | # JustCode is a .NET coding add-in
113 | .JustCode
114 |
115 | # TeamCity is a build add-in
116 | _TeamCity*
117 |
118 | # DotCover is a Code Coverage Tool
119 | *.dotCover
120 |
121 | # Visual Studio code coverage results
122 | *.coverage
123 | *.coveragexml
124 |
125 | # NCrunch
126 | _NCrunch_*
127 | .*crunch*.local.xml
128 | nCrunchTemp_*
129 |
130 | # MightyMoose
131 | *.mm.*
132 | AutoTest.Net/
133 |
134 | # Web workbench (sass)
135 | .sass-cache/
136 |
137 | # Installshield output folder
138 | [Ee]xpress/
139 |
140 | # DocProject is a documentation generator add-in
141 | DocProject/buildhelp/
142 | DocProject/Help/*.HxT
143 | DocProject/Help/*.HxC
144 | DocProject/Help/*.hhc
145 | DocProject/Help/*.hhk
146 | DocProject/Help/*.hhp
147 | DocProject/Help/Html2
148 | DocProject/Help/html
149 |
150 | # Click-Once directory
151 | publish/
152 |
153 | # Publish Web Output
154 | *.[Pp]ublish.xml
155 | *.azurePubxml
156 | # TODO: Comment the next line if you want to checkin your web deploy settings
157 | # but database connection strings (with potential passwords) will be unencrypted
158 | *.pubxml
159 | *.publishproj
160 |
161 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
162 | # checkin your Azure Web App publish settings, but sensitive information contained
163 | # in these scripts will be unencrypted
164 | PublishScripts/
165 |
166 | # NuGet Packages
167 | *.nupkg
168 | # The packages folder can be ignored because of Package Restore
169 | **/packages/*
170 | # except build/, which is used as an MSBuild target.
171 | !**/packages/build/
172 | # Uncomment if necessary however generally it will be regenerated when needed
173 | #!**/packages/repositories.config
174 | # NuGet v3's project.json files produces more ignoreable files
175 | *.nuget.props
176 | *.nuget.targets
177 |
178 | # Microsoft Azure Build Output
179 | csx/
180 | *.build.csdef
181 |
182 | # Microsoft Azure Emulator
183 | ecf/
184 | rcf/
185 |
186 | # Windows Store app package directories and files
187 | AppPackages/
188 | BundleArtifacts/
189 | Package.StoreAssociation.xml
190 | _pkginfo.txt
191 |
192 | # Visual Studio cache files
193 | # files ending in .cache can be ignored
194 | *.[Cc]ache
195 | # but keep track of directories ending in .cache
196 | !*.[Cc]ache/
197 |
198 | # Others
199 | ClientBin/
200 | ~$*
201 | *~
202 | *.dbmdl
203 | *.dbproj.schemaview
204 | *.jfm
205 | *.pfx
206 | *.publishsettings
207 | node_modules/
208 | orleans.codegen.cs
209 |
210 | # Since there are multiple workflows, uncomment next line to ignore bower_components
211 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
212 | #bower_components/
213 |
214 | # RIA/Silverlight projects
215 | Generated_Code/
216 |
217 | # Backup & report files from converting an old project file
218 | # to a newer Visual Studio version. Backup files are not needed,
219 | # because we have git ;-)
220 | _UpgradeReport_Files/
221 | Backup*/
222 | UpgradeLog*.XML
223 | UpgradeLog*.htm
224 |
225 | # SQL Server files
226 | *.mdf
227 | *.ldf
228 |
229 | # Business Intelligence projects
230 | *.rdl.data
231 | *.bim.layout
232 | *.bim_*.settings
233 |
234 | # Microsoft Fakes
235 | FakesAssemblies/
236 |
237 | # GhostDoc plugin setting file
238 | *.GhostDoc.xml
239 |
240 | # Node.js Tools for Visual Studio
241 | .ntvs_analysis.dat
242 |
243 | # Visual Studio 6 build log
244 | *.plg
245 |
246 | # Visual Studio 6 workspace options file
247 | *.opt
248 |
249 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
250 | *.vbw
251 |
252 | # Visual Studio LightSwitch build output
253 | **/*.HTMLClient/GeneratedArtifacts
254 | **/*.DesktopClient/GeneratedArtifacts
255 | **/*.DesktopClient/ModelManifest.xml
256 | **/*.Server/GeneratedArtifacts
257 | **/*.Server/ModelManifest.xml
258 | _Pvt_Extensions
259 |
260 | # Paket dependency manager
261 | .paket/paket.exe
262 | paket-files/
263 |
264 | # FAKE - F# Make
265 | .fake/
266 |
267 | # JetBrains Rider
268 | .idea/
269 | *.sln.iml
270 |
271 | # CodeRush
272 | .cr/
273 |
274 | # Python Tools for Visual Studio (PTVS)
275 | __pycache__/
276 | *.pyc
277 |
278 | # Cake - Uncomment if you are using it
279 | # tools/
280 |
281 |
282 | ### Windows ###
283 | # Windows thumbnail cache files
284 | Thumbs.db
285 | ehthumbs.db
286 | ehthumbs_vista.db
287 |
288 | # Folder config file
289 | Desktop.ini
290 |
291 | # Recycle Bin used on file shares
292 | $RECYCLE.BIN/
293 |
294 | # Windows Installer files
295 | *.cab
296 | *.msi
297 | *.msm
298 | *.msp
299 |
300 | # Windows shortcuts
301 | *.lnk
302 |
303 |
304 | ### Linux ###
305 |
306 | # temporary files which can be created if a process still has a handle open of a deleted file
307 | .fuse_hidden*
308 |
309 | # KDE directory preferences
310 | .directory
311 |
312 | # Linux trash folder which might appear on any partition or disk
313 | .Trash-*
314 |
315 | # .nfs files are created when an open file is removed but is still being accessed
316 | .nfs*
317 |
318 |
319 | ### OSX ###
320 | *.DS_Store
321 | .AppleDouble
322 | .LSOverride
323 |
324 | # Icon must end with two \r
325 | Icon
326 | # Thumbnails
327 | ._*
328 | # Files that might appear in the root of a volume
329 | .DocumentRevisions-V100
330 | .fseventsd
331 | .Spotlight-V100
332 | .TemporaryItems
333 | .Trashes
334 | .VolumeIcon.icns
335 | .com.apple.timemachine.donotpresent
336 | # Directories potentially created on remote AFP share
337 | .AppleDB
338 | .AppleDesktop
339 | Network Trash Folder
340 | Temporary Items
341 | .apdisk
342 |
343 |
344 | ### VisualStudio ###
345 | ## Ignore Visual Studio temporary files, build results, and
346 | ## files generated by popular Visual Studio add-ons.
347 | ##
348 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
349 |
350 | # User-specific files
351 |
352 | # User-specific files (MonoDevelop/Xamarin Studio)
353 |
354 | # Build results
355 |
356 | # Visual Studio 2015 cache/options directory
357 | # Uncomment if you have tasks that create the project's static files in wwwroot
358 | #wwwroot/
359 |
360 | # MSTest test Results
361 |
362 | # NUNIT
363 |
364 | # Build Results of an ATL Project
365 |
366 | # .NET Core
367 |
368 |
369 | # Chutzpah Test files
370 |
371 | # Visual C++ cache files
372 |
373 | # Visual Studio profiler
374 |
375 | # TFS 2012 Local Workspace
376 |
377 | # Guidance Automation Toolkit
378 |
379 | # ReSharper is a .NET coding add-in
380 |
381 | # JustCode is a .NET coding add-in
382 |
383 | # TeamCity is a build add-in
384 |
385 | # DotCover is a Code Coverage Tool
386 |
387 | # Visual Studio code coverage results
388 |
389 | # NCrunch
390 |
391 | # MightyMoose
392 |
393 | # Web workbench (sass)
394 |
395 | # Installshield output folder
396 |
397 | # DocProject is a documentation generator add-in
398 |
399 | # Click-Once directory
400 |
401 | # Publish Web Output
402 | # TODO: Comment the next line if you want to checkin your web deploy settings
403 | # but database connection strings (with potential passwords) will be unencrypted
404 |
405 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
406 | # checkin your Azure Web App publish settings, but sensitive information contained
407 | # in these scripts will be unencrypted
408 |
409 | # NuGet Packages
410 | # The packages folder can be ignored because of Package Restore
411 | # except build/, which is used as an MSBuild target.
412 | # Uncomment if necessary however generally it will be regenerated when needed
413 | #!**/packages/repositories.config
414 | # NuGet v3's project.json files produces more ignoreable files
415 |
416 | # Microsoft Azure Build Output
417 |
418 | # Microsoft Azure Emulator
419 |
420 | # Windows Store app package directories and files
421 |
422 | # Visual Studio cache files
423 | # files ending in .cache can be ignored
424 | # but keep track of directories ending in .cache
425 |
426 | # Others
427 |
428 | # Since there are multiple workflows, uncomment next line to ignore bower_components
429 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
430 | #bower_components/
431 |
432 | # RIA/Silverlight projects
433 |
434 | # Backup & report files from converting an old project file
435 | # to a newer Visual Studio version. Backup files are not needed,
436 | # because we have git ;-)
437 |
438 | # SQL Server files
439 |
440 | # Business Intelligence projects
441 |
442 | # Microsoft Fakes
443 |
444 | # GhostDoc plugin setting file
445 |
446 | # Node.js Tools for Visual Studio
447 |
448 | # Visual Studio 6 build log
449 |
450 | # Visual Studio 6 workspace options file
451 |
452 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
453 |
454 | # Visual Studio LightSwitch build output
455 |
456 | # Paket dependency manager
457 |
458 | # FAKE - F# Make
459 |
460 | # JetBrains Rider
461 |
462 | # CodeRush
463 |
464 | # Python Tools for Visual Studio (PTVS)
465 |
466 | # Cake - Uncomment if you are using it
467 | # tools/
468 |
469 | ### VisualStudio Patch ###
470 | build/
471 |
472 | # End of https://www.gitignore.io/api/csharp,visualstudio,windows,linux,osx
--------------------------------------------------------------------------------
/RimworldStackXXL.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StackXXL", "RimworldStackXXL\StackXXL.csproj", "{3EFDC834-9423-4174-9129-86C62BEA6BF3}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {3EFDC834-9423-4174-9129-86C62BEA6BF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {3EFDC834-9423-4174-9129-86C62BEA6BF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {3EFDC834-9423-4174-9129-86C62BEA6BF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {3EFDC834-9423-4174-9129-86C62BEA6BF3}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Libraries/.gitignore:
--------------------------------------------------------------------------------
1 | *.dll
2 |
3 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Libraries/README.md:
--------------------------------------------------------------------------------
1 | Please copy the following files here.
2 |
3 | - Assembly-CSharp.dll
4 | - HugsLib.dll
5 | - UnityEngine.dll
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("RimworldStackXXL")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("RimworldStackXXL")]
13 | [assembly: AssemblyCopyright("Copyright © 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("3efdc834-9423-4174-9129-86c62bea6bf3")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/About/About.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Stack XXL
4 | Indeed
5 | Indeed.StackXXL
6 |
7 | 1.0
8 | 1.1
9 | 1.2
10 | 1.3
11 | 1.4
12 |
13 |
14 |
15 |
16 | UnlimitedHugs.HugsLib
17 | HugsLib
18 | https://steamcommunity.com/sharedfiles/filedetails/?id=818773962
19 |
20 |
21 |
22 |
23 | UnlimitedHugs.HugsLib
24 |
25 |
26 |
27 | Stack XXL
28 |
29 | Increase the stack sizes however you wish!
30 | Want 10x, 20x or even 100x? Want to set different stack sizes for meat, meals and resources?
31 | You came to the right place!
32 |
33 | Requirement: HugsLib
34 |
35 | IMPORTANT: PLEASE RESTART YOUR GAME AFTER CHANGING MOD SETTINGS!
36 |
37 | - Set stack size multipliers. Want 10x or 100x? you name it!
38 | - Set multiplier specified to each category. For example you can make meat stack to 750 (10x) while making meals stack to 300 (30x), maybe to balance thing out.
39 |
40 |
41 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/About/Preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IndeedPlusPlus/RimworldStackXXL/d8cc16cff62ffed29b97f42f34decf80a991519d/RimworldStackXXL/Resources/About/Preview.png
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/About/PublishedFileId.txt:
--------------------------------------------------------------------------------
1 | 826366050
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/About/Version.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 | 1.0.0
8 |
10 | 5.0.0
11 |
12 |
15 |
16 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/Assemblies/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IndeedPlusPlus/RimworldStackXXL/d8cc16cff62ffed29b97f42f34decf80a991519d/RimworldStackXXL/Resources/Assemblies/.gitkeep
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/Languages/ChineseSimplified/Keyed/StackXXL.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | XL 倍
4 | XL 倍(默认: 10x), 不一定要是整数
5 | XXL 倍
6 | XXL 倍(默认: 20x), 不一定要是整数
7 | 未修改
8 | XL
9 | XXL
10 | Debug模式
11 | 启用详细日志记录。
12 |
13 | 资源
14 | 原材料、石块、零部件、炮弹、化合燃料,中性胺等
15 |
16 | 医药
17 | 医药品
18 |
19 | 白银
20 | 作为原材料和游戏中的货币
21 |
22 | 织物
23 | 纺织品和皮革
24 |
25 | 成瘾品
26 | 所有药物和啤酒
27 |
28 | 肉类
29 | 生肉
30 |
31 | 未加工的食材
32 | 蔬菜,蛋,虫胶,叶等等
33 |
34 | 膳食
35 | 各种膳食
36 |
37 | 身体部位
38 | 人或动物的仿生、天然身体部位,器官和植入物
39 |
40 | 其他 (可堆叠)
41 | 敲击兽角, 象牙
42 |
43 | 其他 (单一)
44 | (未使用)
45 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/Languages/ChineseTraditional/Keyed/StackXXL.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | XL 倍
4 | XL 倍(默認: 10x), 不一定要是整數
5 | XXL 倍
6 | XXL 倍(默認: 20x), 不一定要是整數
7 | 未修改
8 | XL
9 | XXL
10 | Debug模式
11 | 啟用詳細日誌記錄。
12 |
13 | 資源
14 | 原材料、石材、電子零件、炮彈、化合燃料,中性胺等
15 |
16 | 藥品
17 | 藥品
18 |
19 | 白銀
20 | 作為原材料和遊戲中的貨幣
21 |
22 | 紡織品
23 | 紡織品和皮革
24 |
25 | 藥物
26 | 所有藥物和啤酒
27 |
28 | 肉類
29 | 生肉
30 |
31 | 未加工的食材
32 | 蔬菜,蛋,昆蟲營養膠,葉等
33 |
34 | 膳食
35 | 各種膳食
36 |
37 | 身體部位
38 | 人或動物的仿生、天然身體部位,器官和植入物
39 |
40 | 其他 (可堆疊)
41 | 獨角獸角, 象牙
42 |
43 | 其他 (單一)
44 | (未使用)
45 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/Languages/English/Keyed/StackXXL.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | XL Multiplier
4 | XL Multiplier(Default: 10x), not necessarily integer
5 | XXL Multiplier
6 | XXL Multiplier(Default: 20x), not necessarily integer
7 | Not Changed
8 | XL
9 | XXL
10 | Debug Mode
11 | enable verbose logging.
12 |
13 | Resources
14 | raw materials, stone blocks, components, shells, chemfuel, Neutroamine, etc
15 |
16 | Medicine
17 | all kinds of medicine
18 |
19 | Silver
20 | used as both raw resource and in-game currency.
21 |
22 | Textiles
23 | textiles and leathers
24 |
25 | Drugs
26 | all drugs and beer
27 |
28 | Meat
29 | raw meat
30 |
31 | Raw Food
32 | raw vegetables, eggs, jelly, leaves, etc
33 |
34 | Meals
35 | all kinds of meals
36 |
37 | Body Parts
38 | bionic and natural body parts, organs and implants, for people or animals
39 |
40 | Others (Stackable)
41 | horns, tusks
42 |
43 | Others (Single)
44 | (not used)
45 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/Languages/Japanese/Keyed/StackXXL.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | XL 倍
4 | XL 倍(初期値: 10倍), 必ずしも整数でない
5 | XXL 倍
6 | XXL 倍(初期値: 20倍), 必ずしも整数でない
7 | 変更なし
8 | XL
9 | XXL
10 | Debugモード
11 | 詳細ログ有効
12 |
13 | 材料
14 | 原材料、石材、コンポーネント、迫撃砲弾、バイオ液化燃料, ニュートロアミン,、等々
15 |
16 | 薬品
17 | 薬品
18 |
19 | シルバー
20 | 生の原材料とゲーム内通貨の両方として使用されます。
21 |
22 | 織物
23 | 織物と皮
24 |
25 | ドラッグ
26 | 全てのドラックとビール
27 |
28 | 肉
29 | 生肉
30 |
31 | 生素材
32 | 生野菜、卵、インセクトゼリー、植物原料、等々
33 |
34 | 調理済
35 | 全ての調理済食糧
36 |
37 | 義肢
38 | 人間用または動物用の強化パーツと生体パーツ、臓器とインプラント
39 |
40 | その他(スタック可)
41 | スランボの角、象の牙
42 |
43 | その他(単体)
44 | (未使用)
45 |
46 |
47 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/Languages/PortugueseBrazilian/Keyed/StackXXL.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Multiplicador XL
4 | Multiplicador XL (Padrão: 10x), não necessariamente um número inteiro
5 | Multiplicador XXL
6 | Multiplicador XXL (Padrão: 20x), não necessariamente um número inteiro
7 | Não Alterado
8 | XL
9 | XXL
10 | Modo de Depuração
11 | habilitar log detalhado.
12 |
13 | Recursos
14 | materiais brutos, blocos de pedra, componentes, munição, combustível, Neutroamina, etc
15 |
16 | Medicina
17 | medicina
18 |
19 | Prata
20 | usado tanto como recurso bruto quanto dinheiro.
21 |
22 | Têxteis
23 | têxteis e couros
24 |
25 | Drogas
26 | todas as drogas e cerveja
27 |
28 | Carne
29 | carne crua
30 |
31 | Comida Crua
32 | vegetais crus, ovos, geléia, folhas, etc
33 |
34 | Refeições
35 | todos os tipos de refeições
36 |
37 | Partes Corporais
38 | partes naturais e biônicas de corpos, orgãos e implantes, para pessoas ou animais
39 |
40 | Outros (Empilháveis)
41 | chifres, presas
42 |
43 | Outros (Individual)
44 | (não usado)
45 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/Languages/Russian/Keyed/StackXXL.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | XL-множитель
4 | XL-множитель(По умолчанию: 10x), не обязательно должен быть целым
5 | XXL-множитель
6 | XXL-множитель(По умолчанию: 20x), не обязательно должен быть целым
7 | Не изменять
8 | XL
9 | XXL
10 | Режим отладки
11 | Разрешить вывод логов.
12 |
13 | Ресурсы
14 | исходные материалы, мед.травы, каменные блоки, компоненты, снаряды, химтопливо, нейтроамины, и т.д.
15 |
16 | медицина
17 | медицина
18 |
19 | Серебро
20 | используется и как ресурс, и как внутри-игровая валюта.
21 |
22 | Текстиль
23 | Текстиль, кожа, меха, шерсть.
24 |
25 | Препараты
26 | наркота, лекарства, пиво
27 |
28 | Мясо
29 | сырое мясо
30 |
31 | сырые продукты
32 | сырые овощи, яйца, желе, рис и т.д.
33 |
34 | Блюда
35 | все виды приготовленной пищи
36 |
37 | Части тела
38 | бионические и естественные части тела, органы и импланты, для людей или животных
39 |
40 | Другое (складываемое)
41 | рога, бивни
42 |
43 | Другое (не складываемое)
44 | (не используется)
45 |
46 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/LoadFolders.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 | v1.1
5 |
6 |
7 | /
8 | v1.2
9 |
10 |
11 | /
12 | v1.3+
13 |
14 |
15 | /
16 | v1.3+
17 |
18 |
19 |
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/v1.1/Assemblies/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IndeedPlusPlus/RimworldStackXXL/d8cc16cff62ffed29b97f42f34decf80a991519d/RimworldStackXXL/Resources/v1.1/Assemblies/.gitkeep
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/v1.2/Assemblies/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IndeedPlusPlus/RimworldStackXXL/d8cc16cff62ffed29b97f42f34decf80a991519d/RimworldStackXXL/Resources/v1.2/Assemblies/.gitkeep
--------------------------------------------------------------------------------
/RimworldStackXXL/Resources/v1.3+/Assemblies/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IndeedPlusPlus/RimworldStackXXL/d8cc16cff62ffed29b97f42f34decf80a991519d/RimworldStackXXL/Resources/v1.3+/Assemblies/.gitkeep
--------------------------------------------------------------------------------
/RimworldStackXXL/StackXXL.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {3EFDC834-9423-4174-9129-86C62BEA6BF3}
8 | Library
9 | Properties
10 | StackXXL
11 | StackXXL
12 | v4.7.2
13 | 512
14 |
15 |
16 |
17 | true
18 | full
19 | false
20 | bin\Debug\
21 | DEBUG;TRACE
22 | prompt
23 | 4
24 | false
25 |
26 |
27 | pdbonly
28 | true
29 | bin\Release\
30 | TRACE
31 | prompt
32 | 4
33 | false
34 |
35 |
36 |
37 | False
38 | Libraries\Assembly-CSharp.dll
39 |
40 |
41 | False
42 | Libraries\HugsLib.dll
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | False
52 | Libraries\UnityEngine.dll
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
71 |
--------------------------------------------------------------------------------
/RimworldStackXXL/StackXXLMod.cs:
--------------------------------------------------------------------------------
1 | using HugsLib;
2 | using HugsLib.Settings;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using Verse;
8 | using RimWorld;
9 |
10 | namespace StackXXL
11 | {
12 | public class StackXXLMod : ModBase
13 | {
14 | public override string ModIdentifier
15 | {
16 | get
17 | {
18 | return "StackXXL";
19 | }
20 | }
21 |
22 | private SettingHandle sizeXL;
23 | private SettingHandle sizeXXL;
24 | private SettingHandle resourcesStack;
25 | private SettingHandle medicineStack;
26 | private SettingHandle silverStack;
27 | private SettingHandle textilesStack;
28 | private SettingHandle drugsStack;
29 | private SettingHandle meatStack;
30 | private SettingHandle rawStack;
31 | private SettingHandle mealsStack;
32 | private SettingHandle bodyPartsStack;
33 | private SettingHandle othersStackableStack;
34 | private SettingHandle othersSingleStack;
35 | private SettingHandle debugMode;
36 | private enum SizeEnum
37 | {
38 | Default,
39 | XL,
40 | XXL
41 | }
42 | private static bool StackIncreaseAllowed(ThingDef d)
43 | {
44 | if (d.thingCategories.NullOrEmpty())
45 | return false;
46 | return d.IsStuff || d.isTechHediff ||
47 | (
48 | (d.category == ThingCategory.Item) && !d.isUnfinishedThing && !d.IsCorpse && !d.destroyOnDrop && !d.IsRangedWeapon && !d.IsApparel && (d.stackLimit > 1)
49 | );
50 | }
51 | private static bool IsSilver(ThingDef d)
52 | {
53 | return d == ThingDefOf.Silver;
54 | }
55 | private static bool IsResources(ThingDef d)
56 | {
57 | var category = d.thingCategories[0];
58 | return category == ThingCategoryDefOf.Manufactured || category == ThingCategoryDefOf.ResourcesRaw || category == ThingCategoryDefOf.StoneBlocks;
59 | }
60 | private static bool IsMedicine(ThingDef d)
61 | {
62 | var category = d.thingCategories[0];
63 | return category == ThingCategoryDefOf.Medicine;
64 | }
65 | private static bool IsTextiles(ThingDef d)
66 | {
67 | var category = d.thingCategories[0];
68 | return category == ThingCategoryDefOf.Leathers || "Textiles".Equals(category.defName);
69 | }
70 |
71 | private static bool IsDrugs(ThingDef d)
72 | {
73 | var category = d.thingCategories[0];
74 | return "Drugs".Equals(category.defName);
75 | }
76 |
77 | private static bool IsMeat(ThingDef d)
78 | {
79 | var category = d.thingCategories[0];
80 | return category == ThingCategoryDefOf.MeatRaw;
81 | }
82 |
83 | private static bool IsRaw(ThingDef d)
84 | {
85 | var category = d.thingCategories[0];
86 | return category.defName.EndsWith("FoodRaw") || "PlantMatter".Equals(category.defName) || "AnimalProductRaw".Equals(category.defName) || "AnimalFeed".Equals(category.defName) || category.defName.StartsWith("Eggs") || "CookingSupplies".Equals(category.defName);
87 | }
88 | private static bool IsMeals(ThingDef d)
89 | {
90 | var category = d.thingCategories[0];
91 | return category.defName.EndsWith("Meals") || "Foods".Equals(category.defName);
92 | }
93 | private static bool IsBodyParts(ThingDef d)
94 | {
95 | var category = d.thingCategories[0];
96 | return category.defName.EndsWith("Prostheses") || category.defName.StartsWith("BodyParts") || category.defName.EndsWith("Organs");
97 | }
98 |
99 | private double getSize(SettingHandle holder)
100 | {
101 | switch (holder.Value)
102 | {
103 | case SizeEnum.XL:
104 | return sizeXL;
105 | case SizeEnum.XXL:
106 | return sizeXXL;
107 | default:
108 | return 1;
109 | }
110 | }
111 | private void logCategory(ThingDef d, String category)
112 | {
113 | if (!debugMode)
114 | return;
115 | Logger.Message(d.defName + " " + d.thingCategories[0].defName + " " + category);
116 | }
117 | private static void updateStackLimit(ThingDef thing, double multiplier)
118 | {
119 | thing.stackLimit = Math.Max(1, (int) Math.Round(thing.stackLimit * multiplier));
120 | }
121 | private void modifiyStackSizes()
122 | {
123 | foreach (var thing in DefDatabase.AllDefs)
124 | if (StackIncreaseAllowed(thing))
125 | {
126 | if (IsSilver(thing))
127 | {
128 | logCategory(thing, "silver");
129 | updateStackLimit(thing, getSize(silverStack));
130 | }
131 | else if (IsMedicine(thing)) // medicine is a subset of resources, check before it.
132 | {
133 | logCategory(thing, "medicine");
134 | updateStackLimit(thing, getSize(medicineStack));
135 | }
136 | else if (IsResources(thing))
137 | {
138 | logCategory(thing, "resources");
139 | updateStackLimit(thing, getSize(resourcesStack));
140 | }
141 | else if (IsTextiles(thing))
142 | {
143 | logCategory(thing, "textiles");
144 | updateStackLimit(thing, getSize(textilesStack));
145 | }
146 | else if (IsDrugs(thing))
147 | {
148 | logCategory(thing, "drugs");
149 | updateStackLimit(thing, getSize(drugsStack));
150 | }
151 | else if (IsMeat(thing))
152 | {
153 | logCategory(thing, "meat");
154 | updateStackLimit(thing, getSize(meatStack));
155 | }
156 | else if (IsRaw(thing))
157 | {
158 | logCategory(thing, "raw");
159 | updateStackLimit(thing, getSize(rawStack));
160 | }
161 | else if (IsMeals(thing))
162 | {
163 | logCategory(thing, "meals");
164 | updateStackLimit(thing, getSize(mealsStack));
165 | }
166 | else if (IsBodyParts(thing))
167 | {
168 | logCategory(thing, "bodyParts");
169 | updateStackLimit(thing, getSize(bodyPartsStack));
170 | }
171 | else if (thing.stackLimit > 1)
172 | {
173 | logCategory(thing, "othersStackable");
174 | updateStackLimit(thing, getSize(othersStackableStack));
175 | }
176 | else
177 | {
178 | logCategory(thing, "othersSingle");
179 | updateStackLimit(thing, getSize(othersSingleStack));
180 | }
181 |
182 | }
183 | }
184 | public override void DefsLoaded()
185 | {
186 |
187 | sizeXL = Settings.GetHandle("sizeXL", "StackXXL.XLSize.Title".Translate(), "StackXXL.XLSize.Desc".Translate(), 10.0, Validators.FloatRangeValidator(1, float.MaxValue));
188 | sizeXXL = Settings.GetHandle("sizeXXL", "StackXXL.XXLSize.Title".Translate(), "StackXXL.XXLSize.Desc".Translate(), 20.0, Validators.FloatRangeValidator(1, float.MaxValue));
189 | resourcesStack = Settings.GetHandle("resourcesStack", "StackXXL.Stack.Resources.Title".Translate(), "StackXXL.Stack.Resources.Desc".Translate(), SizeEnum.XL, null, "StackXXL.Size.");
190 | medicineStack = Settings.GetHandle("medicineStack", "StackXXL.Stack.Medicine.Title".Translate(), "StackXXL.Stack.Medicine.Desc".Translate(), resourcesStack.Value, null, "StackXXL.Size.");
191 | silverStack = Settings.GetHandle("silverStack", "StackXXL.Stack.Silver.Title".Translate(), "StackXXL.Stack.Silver.Desc".Translate(), resourcesStack.Value, null, "StackXXL.Size.");
192 | textilesStack = Settings.GetHandle("textilesStack", "StackXXL.Stack.Textiles.Title".Translate(), "StackXXL.Stack.Textiles.Desc".Translate(), SizeEnum.XL, null, "StackXXL.Size.");
193 | drugsStack = Settings.GetHandle("drugsStack", "StackXXL.Stack.Drugs.Title".Translate(), "StackXXL.Stack.Drugs.Desc".Translate(), SizeEnum.XL, null, "StackXXL.Size.");
194 | meatStack = Settings.GetHandle("meatStack", "StackXXL.Stack.Meat.Title".Translate(), "StackXXL.Stack.Meat.Desc".Translate(), SizeEnum.XL, null, "StackXXL.Size.");
195 | rawStack = Settings.GetHandle("rawStack", "StackXXL.Stack.Raw.Title".Translate(), "StackXXL.Stack.Raw.Desc".Translate(), SizeEnum.XL, null, "StackXXL.Size.");
196 | mealsStack = Settings.GetHandle("mealsStack", "StackXXL.Stack.Meals.Title".Translate(), "StackXXL.Stack.Meals.Desc".Translate(), SizeEnum.XL, null, "StackXXL.Size.");
197 | bodyPartsStack = Settings.GetHandle("bodyPartsStack", "StackXXL.Stack.BodyParts.Title".Translate(), "StackXXL.Stack.BodyParts.Desc".Translate(), SizeEnum.Default, null, "StackXXL.Size.");
198 | othersStackableStack = Settings.GetHandle("othersStackableStack", "StackXXL.Stack.Others.Stackable.Title".Translate(), "StackXXL.Stack.Others.Stackable.Desc".Translate(), SizeEnum.XL, null, "StackXXL.Size.");
199 | othersSingleStack = Settings.GetHandle("othersSingleStack", "StackXXL.Stack.Others.Single.Title".Translate(), "StackXXL.Stack.Others.Single.Desc".Translate(), SizeEnum.Default, null, "StackXXL.Size.");
200 |
201 | debugMode = Settings.GetHandle("debugMode", "StackXXL.DebugMode.Title".Translate(), "StackXXL.DebugMode.Desc".Translate(), false);
202 | if (!ModIsActive)
203 | return;
204 | modifiyStackSizes();
205 | Logger.Message("Loaded");
206 | }
207 | public override void Initialize()
208 | {
209 |
210 | }
211 | }
212 |
213 | }
214 |
--------------------------------------------------------------------------------