Skip to content

NotEnoughItems ​

112 merged pull requests.

New Features ​

  • #1016 Extended WorldOverlayRenderer with chunk-based rendering check. - @vcwdfca
    • Added: Center overlay rendering option
  • #1011 Implemented persistent ItemHistoryPanel with save/load logic in ItemListLoader and NEIClientConfig; added language strings. - @vcwdfca
    • Added: Persistent history saving, world-specific history option, history UI panel
    • Closes #1010
  • #1007 Implemented AcceptsFollowingTooltipLineHandler and updated PositionedStack, ItemsTooltipLineHandler, and NEIRecipeWidget to display accepts information. - @slprime
    • Added: Accepts label, tooltip for accepted items
  • #1002 Extended PositionedStack with slot size property and custom renderer; updated NEIRecipeWidget and GuiFavoriteButton to use new rendering system. - @slprime
    • Added: PositionedStack slot size, custom slot renderer
  • #992 Extended SearchTokenParser and added tooltip display in GuiRecipe showing available recipe filter syntax. - @slprime
    • Added: Recipe filter syntax tooltip, lang strings for filter help
  • #991 Extended RecipeChainMath with visitor pattern implementation for processing bookmark chains. - @slprime
    • Added: Bookmark Chain Visitor pattern implementation
  • #971 Reworked bookmark chat link system with BookmarkItem and BookmarkPayload classes to support recipes and groups; extended NEISPH and chat command handling. - @slprime
    • Added: BookmarkItem item sharing class, BookmarkPayload recipe/group serialization, Recipe link support in chat, Bookmark group sharing
    • Removed: BookmarkStorage legacy chat link code
    • Closes GTNH#25731
  • #970 Modified WorldOverlayRenderer to use Cubic Chunks' getMinHeight/getMaxHeight methods when present; added blue/cyan cube boundary lines. - @RecursivePineapple
    • Added: Cubic Chunks cube overlay visualization, CC height boundary support
    • Fixed: Chunk grid clamping to vanilla world height
  • #965 Extended WorldOverlayRenderer with getOverlayYOffset() helper to detect and offset overlays above snow blocks. - @lunawinxp
    • Added: Overlay Y-offset support for snow blocks
    • Fixed: F7 mob spawn overlay hidden by snow
  • #961 Extended ItemInfo and API with alias storage, integrated into ItemList search indexing. - @slprime
    • Added: Item name alias API, Alias search integration
  • #960 Extended IOverlayHandler interface with new method to control fill mode, implemented in GuiOverlayButton. - @slprime
    • Added: IOverlayHandler force fill mode API
  • #959 Enhanced SubsetWidget to use GUID-based tracking for hidden items instead of object references, surviving reload cycles. - @slprime
    • Added: GUID-based hidden item persistence
    • Fixed: Hidden items being forgotten after reload
  • #942 Added autocraft permission config to NEIServerConfig and NEIClientConfig, permission checks in NEIActions. - @slprime
    • Added: Server-side autocraft permission control, Client-side permission checking for autocraft
    • Fixed: Inability to disable autocrafting on multiplayer servers
    • Closes #933
  • #929 Extended GuiRecipe and related components with a scrollPages configuration option. Added debug controls to configure scroll zones and IntegerField input validation. - @slprime
    • Added: scrollPages configuration option, Scroll zone controls
  • #924 Extended GuiRecipe, GuiRecipeTab, HandlerInfo, and RecipePageManager to support horizontal scroll wheel input. Added configuration option in NEIClientConfig and debug controls. - @slprime
    • Added: Horizontal scroll input, Recipe page scroll option, HandlerInfo scroll tracking
  • #909 Refactored badge rendering into a new Badge class, updated PositionedStack and NEIRecipeWidget to use improved badge display logic. - @slprime
    • Added: Badge class for centralized badge rendering, Improved badge visual formatting
  • #906 Extended PositionedStack and HandlerInfo to calculate and display chance tooltips, updated NEIRecipeWidget and debug handlers to render chance information, added language strings for chance display. - @slprime
    • Added: Chance tooltips on recipe items, Chance display language strings
  • #903 Extended BookmarkItem to store and calculate recipe chance values, updated BookmarkPanel and BookmarkGrid to display chance information, added chance tracking to recipe chain details, modified PositionedStack to support chance data. - @slprime
    • Added: Recipe chance tracking in bookmarks, Chance display in bookmark UI
  • #902 Refactored ItemPanelDumper to use dynamic max resolution based on window size, reversed right-click behavior for resolution halving, added shift-key confirmation for large batch exports, replaced hardcoded mode values with fields. - @koolkrafter5
    • Added: Dynamic resolution scaling, Batch export safety warning with shift confirmation, Mode constant fields
    • Removed: Hardcoded preset resolutions
    • Fixed: Invalid resolution handling on window resize
  • #901 Added reset button and functionality to debug/DebugHandlerWidget and updated GuiRecipe to support reset operations. - @slprime
    • Added: Debug handler reset button
  • #899 Added RepairRecipeHandler and RepairOverlayHandler classes, registered via IMCForNEI, added repair texture and language strings, added Repair recipe type to handlers registry. - @slprime
    • Added: RepairRecipeHandler class, RepairOverlayHandler class, Repair handler registration via IMC, Repair recipe texture, Repair handler language strings
    • Removed: RecipeInfo class (moved/refactored)
  • #880 Added favorite item support to FavoriteRecipes and NEIRecipeWidget, new GuiFavoriteButton class, recipe handler reference support, and config option enablement. - @slprime
    • Added: Favorite items (non-recipe), GuiFavoriteButton widget, RecipeHandlerRef support, Language strings for favorite items
  • #867 Re-added infinite items action handler in ShortcutInputHandler.java, updated NEIClientUtils.java with the new modifier, and added localization string to en_US.lang. - @slprime
    • Added: Infinite items action handler
    • Fixed: Missing infinite items feature
    • Closes #864
  • #863 Expanded FavoriteRecipes.java with single-recipe favorite generation logic, added new utility class FavoriteStorage.java, and enhanced NEIClientConfig.java with configuration options. Added keybind to force-remove recipes from favorites in GuiFavoriteButton.java. - @slprime
    • Added: Single-recipe favorite generation, Broken recipe removal from favorites, FavoriteStorage utility
    • Closes #824, #851
  • #854 Added debug text to localization strings and implemented tooltip display in DebugHandlerWidget.java. Debug text respects Minecraft color codes while tooltip remains white. - @Ranzuu
    • Added: Debug text localization, Debug tooltips
  • #852 Added click handler in GuiCraftingRecipe.java, GuiUsageRecipe.java, and GuiRecipe.java to open an all-recipes view when clicking handler names. Added localization string. - @Ranzuu
    • Added: Show all recipes view for handlers
  • #849 Added texture state handling in LayoutManager.java and LayoutStyleMinecraft.java, and updated the texture sprite sheet to include the toggled state variant. - @Ranzuu
    • Added: Magnet button toggled state texture
  • #836 Added localization entry for the optional subset label in SubsetWidget.java, enabling external customization via resource packs. - @Ranzuu
    • Added: Localized optional subset label
  • #827 Updated ItemUntranslator to conditionally hide subset option; updated language file. - @slprime
  • #810 Extended RecipeChainTooltipLineHandler to display required crafts on Shift key. - @Emilgardis
    • Added: Required crafts shift tooltip
    • Closes #656
  • #803 Extended BookmarkGrid and BookmarkPanel to support namespace drag-and-drop reorganization. - @slprime
    • Added: Bookmark namespace movement

Changes ​

  • #916 Rolled back changes to CheatItemHandler and NEIClientUtils to revert the previous sync fix. - @slprime
    • Removed: Creative GUI inventory sync changes from PR#913
  • #907 Changed badge default enabled state in IMCHandler and HandlerInfo. - @slprime
  • #891 Updated NEIModContainer minimum GTNHLib dependency to 0.9.6. - @slprime
    • Added: GTNHLib 0.9.6 minimum requirement
    • Fixed: Tooltip rendering crash without GTNHLib
    • Closes #872
  • #866 Changed GTNHLib from a required to optional dependency in dependencies.gradle, restored independent number formatting methods in NEIClientUtils.java, and removed GTNHLib initialization from NEIModContainer.java. - @slprime
    • Removed: GTNHLib required dependency
  • #862 Modified width constants in BookmarkPanel.java and BookmarkGrid.java. - @slprime
  • #860 Updated addon.gradle to exclude duplicates in dependency resolution. - @UltraProdigy
  • #822 Extended recipe background and catalyst tab rendering with additional border padding in draw functions; texture resources updated. - @timb8g
    • Added: Transparency border space

Bug Fixes ​

  • #1014 Updated BookmarkPanel, NEIClientConfig, BookmarkGrid, and RecipeChainMath to validate bookmark group existence and warn on unknown groups. - @slprime
    • Fixed: Unknown bookmark group crashes
  • #1012 Added synchronization in RecipePageManager and SearchRecipeHandler to prevent searchRecipes list from being swapped during page rebuild. - @slprime
    • Fixed: Recipe page rebuild crash with concurrent search
  • #1009 Corrected fluid untranslator output serialization in ItemUntranslator. - @slprime
    • Fixed: Fluid untranslator dump
  • #1006 Enhanced DefaultOverlayHandler to properly validate tool durability constraints during autocrafting and Shift+Click operations. - @slprime
    • Fixed: Tool durability not consumed in autocrafting
  • #1004 Updated AutoCraftingManager and DefaultOverlayHandler to detect full inventory conditions; improved RecipeChainMath cycle detection logic. - @slprime
    • Fixed: Autocrafting infinite loop with full inventory
    • Closes #994
  • #1003 Modified NEIClientConfig.loadworld to check global cheatmode value before allocating; defaults to global unless gamemode requires lower access. - @H3stur
    • Fixed: New worlds ignoring global cheatmode config
    • Closes #952
  • #1000 Updated BookmarkItem, BookmarkGrid, and related classes to properly handle amount tracking during fluid permutation cycles. - @slprime
    • Fixed: Bookmark fluid quantity not updating on permutation
    • Closes GTNH#26268
  • #993 Added null check in ItemUntranslator.stripFormatting() to handle cases where EnumChatFormatting.func_110646_a() returns null. - @slprime
    • Fixed: NullPointerException in broken item tooltips
  • #989 Corrected GuiContainerManager tooltip rendering logic to properly handle Component objects in first line position. - @slprime
    • Fixed: Tooltip rendering with first-line Component
  • #988 Corrected multiplier limit calculation in RecipeChainMath for container items with durability restrictions. - @slprime
    • Fixed: Container item usage limits in recipe chains
  • #985 Modified DefaultOverlayHandler to enforce minimum multiplier of 1 when moving items, ensuring items are moved even for zero-sized recipe stacks. - @koolkrafter5
    • Fixed: Overlay button item movement with zero-size recipes
  • #984 Added GL state cleanup in WorldOverlayRenderer to properly isolate F7 and F9 overlay rendering from other mod overlays. - @Algent
    • Fixed: F7 overlay rendering through walls, F9 overlay dimming other UI
  • #974 Simplified WorldOverlayRenderer ore generation pattern detection logic by replacing unstable approach with coordinated fix from GT5-Unofficial. - @Algent
    • Fixed: Ore generation pattern reliability
  • #973 Corrected logic in ItemMobSpawner.java that determines mob type when placing spawners. - @jordanamr
    • Fixed: Spawner default mob type
  • #972 Modified KeyManager and added NEITransformer hook to prevent dynamic keybinding entries from being cleared when saving options. Added SaveOptionsFixHooks to intercept and preserve unrecognized NEI keybind entries during options save. - @slprime
    • Added: SaveOptionsFixHooks class, ASM hook for options save fix
    • Fixed: Keybindings resetting on world join, options.txt corruption on keybind changes, AE2 integration keybinds
    • Closes GTNH#25687, GTNH#25703, GTNH#25723, #969
  • #968 Added KeyBindingFixHooks and ASM transformer to prevent duplicate keybinding registration; Hodgepodge provides equivalent fix in GTNH. - @slprime
    • Added: KeyBindingFixHooks duplicate keybinding prevention, NEI ASM transformer for KeyBinding patching
    • Fixed: Duplicate keybinding errors
    • Closes #966
  • #967 Removed duplicate simplewasher entries from catalysts.csv since recipes are auto-generated from GT RecipeMapWorkable machines. - @mllfjn
    • Removed: Redundant simplewasher recipe definitions
    • Fixed: Non-existent simplewasher recipes in recipe window
    • Closes GTNH#25289
  • #964 Updated WorldOverlayRenderer to use correct reflection method for obtaining ore generation pattern from GT, fixing displacement calculation. - @Algent
    • Fixed: Ore vein center displacement in GT overlay
    • Closes GTNH#25588
  • #963 Corrected DebugHandlerWidget initialization or state handling. - @slprime
    • Fixed: Debug handler widget bug
  • #956 Enhanced error logging in ItemList to avoid spam from item loading failures. - @slprime
    • Fixed: Item loading error log spam
  • #951 Added null checks and proper initialization in GuiHighlightTips, GuiItemIconDumper, GuiItemSorter, and GuiPanelSettings config dialogs. - @slprime
    • Fixed: NPE crash when opening NEI panels config
    • Closes GTNH#24945
  • #949 Corrected ItemUntranslator display name resolution logic. - @slprime
    • Fixed: Item untranslator display name bug
  • #948 Corrected NEIServerConfig autocraft permission initialization. - @slprime
    • Fixed: Autocraft permission configuration error
  • #941 Corrected BookmarkPanel display logic for single-item bookmark rendering with amounts. - @slprime
    • Fixed: Single item bookmark amount display
  • #939 Added error handling in TemplateRecipeHandler.loadTransferRects() to prevent plugin init exceptions from corrupting transfer rect state. - @slprime
    • Fixed: GUI overlap when recipe plugins fail to initialize
    • Closes #934
  • #938 Updated DefaultStackStringifyHandler to use int instead of short for item ID parsing to accommodate large item identifiers. - @slprime
    • Fixed: ItemStack load from NBT with short overflow
  • #935 Implemented SmartOverlayHandler with guarded fallback logic in DefaultOverlayHandler and added RecipeHandlerRef for safer recipe handler references. - @MassAnarchyy
    • Added: SmartOverlayHandler fallback system, RecipeHandlerRef safety wrapper
    • Fixed: Blood Magic Alchemic Chemistry Set display
  • #932 Corrected area calculation in GuiRecipe for recipe page rendering bounds. - @slprime
    • Fixed: Recipe page area sizing
  • #930 Restored glBlitFramebuffer call in ItemsGrid screen capture to properly handle stencil buffer used by ModularUI2. - @sisyphussy
    • Fixed: MUI2 screen capture blitting
  • #928 Added proper cleanup and reference clearing in Option, OptionList, OptionTextField, and related classes to prevent memory accumulation. - @slprime
    • Fixed: Memory leaks in options and configuration
  • #927 Added cleanup in ClientHandler to properly release references when GuiInfo is closed. - @slprime
    • Fixed: GuiInfo memory leaks
  • #926 Modified ItemList and TemplateRecipeHandler to use snapshot copies when iterating collections during stream operations to prevent concurrent modification. - @slprime
    • Fixed: ConcurrentModificationException in fuel search
  • #925 Fixed race condition in SearchTokenParser that was causing item list loading to fail with search text present. - @slprime
    • Fixed: Item list loading with persistent search, SearchTokenParser concurrency
    • Closes #919, #923
  • #922 Updated FormattedTextField.getFormattedTextShift to validate section sign codes and defensively clamp the return value to prevent StringIndexOutOfBoundsException. - @Luca-Guettinger
    • Fixed: StringIndexOutOfBoundsException in FormattedTextField
  • #921 Modified BookmarkGrid to use consistent sorting when generating recipe item lists. - @Luca-Guettinger
    • Fixed: Inconsistent bookmark recipe item order
    • Closes GTNH#24368
  • #917 Added null-safety check in BookmarkItem to prevent NPE during autocrafting operations. - @slprime
    • Fixed: Autocrafting NPE
  • #915 Corrected BookmarkGridGenerator and RecipeChainDetails to properly handle collapsed recipe state. - @slprime
    • Fixed: Collapsed recipes not displaying in bookmarks
  • #913 Fixed CheatItemHandler and NEIClientUtils to properly reset client inventory state after giving items, ensuring sync arrays match between client and server. - @lc-1337
    • Fixed: Client-server sync in creative GUI
  • #912 Modified NEIController.handleSlotClick to only consume the event when cheat item is actually available, allowing downstream handlers to process the click. - @Kogepan229
    • Fixed: NEI blocking slot clicks when canCheatItem is false
  • #910 Added null-safety checks to RepairRecipeHandler to handle broken ItemStack instances gracefully. - @slprime
    • Fixed: Repair Handler crash with broken ItemStack
    • Closes #908
  • #905 Corrected RecipeChainDetails chain calculation, updated BookmarkGridGenerator and BookmarksGridSlot layout logic, added collapsed state tracking to HandlerInfo. - @slprime
    • Added: HandlerInfo collapsed state tracking
    • Removed: Unused NEIClientConfig settings
    • Fixed: Recipe chains collapsing in bookmarks
  • #896 Corrected damage value checking in NEIServerUtils.areStacksSameTypeWithNBT method. - @slprime
    • Fixed: Bookmark recipe damage value comparison
  • #893 Corrected NEIRecipeWidget filtered permutation handling. - @slprime
    • Fixed: Filtered permutations logic
  • #887 Corrected NEIClientConfig favorite option logic. - @slprime
    • Fixed: Favorite option configuration
  • #885 Corrected placement calculation in BookmarkGridGenerator. - @slprime
    • Fixed: Bookmark slot placement
  • #884 Corrected glColor4f call in FormattedTextField and changed NEIClientConfig default for generateSingleRecipeFavorites. - @slprime
    • Fixed: Color rendering in text field
  • #878 Modified GuiOverlayButton to always show the recipe ingredients overlay regardless of crafting grid mismatch state. - @slprime
    • Fixed: Recipe ingredient overlay not showing with mismatched crafting grid
    • Closes GTNH#23142
  • #873 Removed generated/single-recipe favorites from the AcceptsFollowingTooltipLineHandler filtering logic and cleaned up SubsetWidget's favorite permutation handling. - @slprime
    • Fixed: Tooltips incorrectly hiding saved recipes
  • #857 Corrected item retrieval logic in DefaultBookmarkContainerHandler.java to properly fetch bookmarked items. - @slprime
    • Fixed: Pulling bookmarked items from inventory
    • Closes #832
  • #856 Changed alignment logic in BookmarkPanel.java, ItemPanel.java, and PanelWidget.java to align from edges (left for bookmarks, right for item list) rather than from center. - @slprime
    • Fixed: UI shift during dynamic panel resizing
  • #855 Added page reset logic in ItemPanel.java and ItemsPanelGrid.java when search result size changes. - @slprime
    • Fixed: Item panel page display on search result change
  • #848 Modified SearchField.java and SearchTokenParser.java to check the NEI option flag and apply appropriate quoting and escaping for Extended+ item name search syntax. - @sbwaz
    • Fixed: Quote Drop Item Name NEI option handling in Extended+
    • Closes GTNH#22122
  • #843 Added background padding adjustment in InformationHandler.java to eliminate texture rendering artifact. - @slprime
    • Fixed: White line artifact on information handler background
  • #842 Adjusted padding constant in RecipePageManager.java to correct recipe handler layout. - @slprime
    • Fixed: Recipe handler padding alignment
  • #841 Corrected recipe handling in ShortcutInputHandler.java to support recipes with no ingredients. - @slprime
    • Fixed: Autocrafting for recipes without ingredients
    • Closes GTNH#23267
  • #839 Corrected colored text cropping logic in NEIClientUtils.java to properly handle Minecraft color codes. - @slprime
    • Fixed: Text cropping for colored text
  • #838 Corrected transparency border handling in DebugHandlerWidget.java and RecipeTooltipLineHandler.java to properly render tooltip borders. - @slprime
    • Fixed: Transparency border display in recipe tooltips
  • #833 Added abstract class checks in ItemMobSpawner.getEntity() to prevent attempting to instantiate abstract entity classes like EntityLiving, which was causing reflection-based instantiation failures. - @NealDeal34
    • Fixed: Console errors when spawning eggs from abstract entity classes
  • #829 Reverted part of #820 and re-exposed plugins list in NEIModContainer; fixed HideousLinkedList. - @PLASMAchicken
    • Fixed: NEI plugin compatibility

Performance ​

  • #1015 Optimized ItemsGrid, LayoutManager, NEIPotionGuiHandler, GuiInfo, and GuiContainerManager with memory and computation improvements; added test coverage. - @boubou19
    • Added: Unit tests for optimized systems
  • #998 Cached enum values() array in ItemInfo to avoid repeated allocations of frequently-called enum iteration. - @boubou19
  • #995 Refactored InfiniteStackSizeHandler and NEIController to avoid redundant NBT copying in updateUnlimitedItems() tick loop. - @boubou19
  • #920 Refactored CommandRecipeId to use more efficient recipe iteration, removed duplicate work in handler queries, added parallel processing for large recipe handlers. Kept original dumper as fallback. - @danyadev
    • Added: Parallel recipe dumping, Fallback dumper option
    • Removed: Unnecessary recipe handler iterations

Internal / Refactor ​

  • #997 Removed unsafe 'get field by instance' reflection calls enabled by generic injection, replaced with type-safe approach. Added static dependency on Cubic Chunks interface instead of reflection. Fixed IntelliJ warnings across multiple files. - @Nikolay-Sitnikov
    • Added: Cubic Chunks dependency
  • #990 Introduced EmptyContainer class and updated NEIController and GuiRecipe to use it instead of inline implementations. - @slprime
    • Added: EmptyContainer class
  • #982 Refactored keybinding usage in ItemZoom, KeyManager, LayoutManager, ShortcutInputHandler, RightPanel, and TemplateRecipeHandler to reduce complexity. - @slprime
  • #958 Extracted item loading logic from ItemList into dedicated ItemListLoader class, reducing ItemList complexity. - @slprime
    • Added: ItemListLoader class for item initialization
    • Removed: ItemListLoader legacy code
  • #957 Migrated keybinding configuration from NEIClientConfig to KeyManager using Minecraft's KeyBinding system, removed OptionKeyBind custom class. - @slprime
    • Added: Keybinding integration with Minecraft controls
    • Removed: OptionKeyBind custom keybinding class, NEIClientUtils keybinding code
  • #947 Converted hardcoded color values in multiple UI classes to GTNHLib ColorUtils, added dependency on GTNHLib. - @Ranzuu
    • Added: GTNHLib dependency, ColorUtils color definitions
    • Removed: NEIClientUtils hardcoded colors
  • #911 Refactored ProfilerRecipeHandler and related classes, consolidated recipe profiling logic, updated RecipeHandlerQuery to use refactored structures. - @slprime
    • Added: IMC recipe profiler interface
    • Removed: PositionedStack profiling code, NEIRecipeWidget profiling
  • #900 Moved DebugHandlerWidget to debug package, split into CheckboxWidget, IntegerField, LabelWidget, and IUpdatableWidget classes. Updated ScrollContainer and related references. - @slprime
    • Added: debug/CheckboxWidget, debug/IntegerField, debug/LabelWidget, debug/IUpdatableWidget, debug/DebugHandlerWidget
    • Removed: Original DebugHandlerWidget from recipe package
  • #892 Changed calculateBounds implementation in PanelWidget base class affecting BookmarkPanel and ItemPanel. - @slprime
  • #846 Replaced custom number formatting logic in NEIClientUtils.java and GuiContainerManager.java with GTNHLib's centralized formatting utility. Updated dependencies to reference GTNHLib, and removed obsolete formatting code. - @Connor-Colenso
    • Removed: Custom number formatting code

Chores ​

  • #895 Updated gradle-daemon-jvm.properties, gradle-wrapper.jar/properties, gradlew, settings.gradle, and minor code cleanup in overlay and recipe handlers. - @slprime

Contributors ​

Everyone who authored, reviewed or co-authored a change on this page, with how many of them:

@slprime (109), @Dream-Master (14), @UltraProdigy (7), @Ranzuu (6), @Algent (3), @boubou19 (3), @Caedis (3), @Alexdoru (2), @Kogepan229 (2), @koolkrafter5 (2), @Luca-Guettinger (2), @PLASMAchicken (2), @vcwdfca (2), @Connor-Colenso (1), @cubefury (1), @danyadev (1), @eigenraven (1), @Emilgardis (1), @FourIsTheNumber (1), @Guvante (1), @H3stur (1), @jordanamr (1), @Justxs (1), @lc-1337 (1), @lunawinxp (1), @MassAnarchyy (1), @mllfjn (1), @NealDeal34 (1), @Nikolay-Sitnikov (1), @PlayfulPiano (1), @RecursivePineapple (1), @sbwaz (1), @sisyphussy (1), @timb8g (1), @wlhlm (1), @YannickMG (1), @Yoshy2002 (1)