chore(history): squash 15 commit(s) from 2026-09-22
- refactor(mixins): разбивка render/entity (crystal/item) и render/level/particles — регресс 8.5.1 - refactor(structure): разбивка 10 папок >4 файлов — регресс 8.5.1 после Фаз 7/10 - refactor(ui): OrderedUiBatcher 944 → 188 + 8 хелперов ≤200 (8.5.2, гейт 9.2) - refactor(text): MsdfFont 613 → 163 + atlas/ (Atlas,AtlasLoader,Json,Glyph) + GlyphDrawer 179 (8.5.2, гейт 9.2) - refactor(text): CustomTextRenderer 540 → 235 + CustomFontSet 142 + GradientTexts 95 + HorizontalFade 77 (8.5.2, гейт 9.2) - refactor(buttons): BetterButtons 1033 → 388 + 7 хелперов ≤200 (8.5.2, гейт 9.2) - refactor(inventory): удалить InventorySwap 1038 + ShitDropper → ShitESP (Вариант A) - fix(shitesp): цвет через color() helper как у ESP/Chams (крутой пиккер) - fix(blockesp): камень→спавнер подсвечивается сразу, docs: DEV_GUIDE + DEVELOPMENT → один гайд - docs(dev-guide): дополнен §18 современными правилами (web-поиск 2025-2026) - chore(quality): PMD 7.27.0 + Checkstyle 14.1.0 + SpotBugs 6.5.11 + обновы зависимостей - refactor(svg): SvgMeshBackend 1020 → 611 + SvgParser 181 + SvgGeometry 173 (8.5.2) - refactor(svg): SvgMeshBackend 611 → 267 + SvgTexture 223 + SvgRender 35 + SvgCache 25 (8.5.2) - refactor(theme): Themes 1012 → 562 + 3×163 пресета (8.5.2) - refactor(particles): WorldParticles 999 → 821 + geometry 93 + sphere 67 (8.5.2)
This commit is contained in:
parent
8181f11c5a
commit
ec10395511
140 changed files with 5442 additions and 6457 deletions
51
combatant-client-26.2/config/checkstyle/checkstyle.xml
Normal file
51
combatant-client-26.2/config/checkstyle/checkstyle.xml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module PUBLIC
|
||||
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
||||
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
||||
<module name="Checker">
|
||||
<property name="severity" value="warning"/>
|
||||
<property name="fileExtensions" value="java"/>
|
||||
|
||||
<module name="FileLength">
|
||||
<property name="max" value="200"/>
|
||||
<message key="maxLen.file" value="Файл {1} строк > 200 (правило проекта, фасад-исключение помечай @SuppressWarnings)"/>
|
||||
</module>
|
||||
|
||||
<module name="LineLength">
|
||||
<property name="max" value="140"/>
|
||||
<property name="ignorePattern" value="^(import|package).*"/>
|
||||
</module>
|
||||
|
||||
<module name="TreeWalker">
|
||||
<!-- Google base + проектные -->
|
||||
<module name="AvoidStarImport">
|
||||
<property name="severity" value="warning"/>
|
||||
</module>
|
||||
<module name="MagicNumber">
|
||||
<property name="ignoreNumbers" value="-1, 0, 1, 2"/>
|
||||
<property name="ignoreHashCodeMethod" value="true"/>
|
||||
<property name="ignoreAnnotation" value="true"/>
|
||||
</module>
|
||||
<module name="VisibilityModifier">
|
||||
<property name="packageAllowed" value="true"/>
|
||||
<property name="protectedAllowed" value="true"/>
|
||||
</module>
|
||||
<module name="MethodLength">
|
||||
<property name="max" value="40"/>
|
||||
</module>
|
||||
<module name="AvoidInlineConditionals"/>
|
||||
<module name="EmptyBlock">
|
||||
<property name="option" value="statement"/>
|
||||
</module>
|
||||
<module name="NeedBraces"/>
|
||||
<module name="LeftCurly"/>
|
||||
<module name="RightCurly"/>
|
||||
<module name="WhitespaceAround"/>
|
||||
<module name="NoWhitespaceBefore"/>
|
||||
<module name="GenericWhitespace"/>
|
||||
<module name="IllegalImport">
|
||||
<property name="illegalPkgs" value="java.awt, javax.swing"/>
|
||||
</module>
|
||||
<!-- ≤4 файла на папку Checkstyle не умеет — проверяется скриптом tools/check_folders.sh -->
|
||||
</module>
|
||||
</module>
|
||||
63
combatant-client-26.2/config/pmd/ruleset.xml
Normal file
63
combatant-client-26.2/config/pmd/ruleset.xml
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
<?xml version="1.0"?>
|
||||
<ruleset name="LoVisual"
|
||||
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
|
||||
|
||||
<description>LoVisual — bestpractices/errorprone/performance/security + проектные правила 200/4</description>
|
||||
|
||||
<!-- Базовые категории PMD 7.27.0 -->
|
||||
<rule ref="category/java/bestpractices.xml"/>
|
||||
<rule ref="category/java/errorprone.xml"/>
|
||||
<rule ref="category/java/performance.xml"/>
|
||||
<rule ref="category/java/security.xml"/>
|
||||
|
||||
<!-- Файл ≤200 строк: через ExcessiveClassLength (класс ≈ файл) -->
|
||||
<rule ref="category/java/design.xml/ExcessiveClassLength">
|
||||
<properties>
|
||||
<property name="minimum" value="200"/>
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- Кастом: System.currentTimeMillis → GameClock.millis() -->
|
||||
<rule name="SystemCurrentTimeMillisUsage"
|
||||
language="java"
|
||||
message="Используй GameClock.millis() вместо System.currentTimeMillis() в модулях"
|
||||
class="net.sourceforge.pmd.lang.rule.XPathRule">
|
||||
<description>Модули должны использовать игровое время GameClock.millis(), не стенное.</description>
|
||||
<priority>2</priority>
|
||||
<properties>
|
||||
<property name="xpath">
|
||||
<value><![CDATA[
|
||||
//PrimaryExpression[PrimaryPrefix/Name[@Image='System.currentTimeMillis']]
|
||||
]]></value>
|
||||
</property>
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- Кастом: static Minecraft в полях -->
|
||||
<rule name="StaticMinecraftField"
|
||||
language="java"
|
||||
message="Не храни static Minecraft в поле — только локально Minecraft.getInstance()"
|
||||
class="net.sourceforge.pmd.lang.rule.XPathRule">
|
||||
<description>Никакого static final Minecraft в полях (правило проекта).</description>
|
||||
<priority>2</priority>
|
||||
<properties>
|
||||
<property name="xpath">
|
||||
<value><![CDATA[
|
||||
//FieldDeclaration[@Static='true'][.//Type//Name[@Image='Minecraft']]
|
||||
]]></value>
|
||||
</property>
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- Пустые блоки / пустышки -->
|
||||
<rule ref="category/java/codestyle.xml/EmptyCatchBlock"/>
|
||||
<rule ref="category/java/codestyle.xml/EmptyIfStmt"/>
|
||||
<rule ref="category/java/bestpractices.xml/UnusedPrivateMethod"/>
|
||||
<rule ref="category/java/bestpractices.xml/UnusedPrivateField"/>
|
||||
|
||||
<!-- Исключения: сгенерированные, миксины, Faust -->
|
||||
<exclude-pattern>.*/build/.*</exclude-pattern>
|
||||
<exclude-pattern>.*/src/main/resources/.*</exclude-pattern>
|
||||
</ruleset>
|
||||
Loading…
Add table
Add a link
Reference in a new issue