Categories
Enum MarketCategory i mapowanie materiałów — siekiery są bronią, nie narzędziami.
Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.
Kategorie to enum com.example.marketplace.inventory.MarketCategory. Filtr działa po stronie serwera w matches(MarketListing). Ikony i sloty przycisków są w gui.yml → browse.categories i używane przez MarketCategoryGUI.
Nie da się dodać nowej kategorii samym YAML-em — trzeba dopisać wartość enuma i regułę matches. Instrukcja: Developer → Add a category.
Lista
| Enum | Klucz YAML / message | Domyślny slot | Materiał przycisku |
|---|---|---|---|
ALL | all / gui.category.all | 10 | NETHER_STAR |
TOOLS | tools | 11 | DIAMOND_PICKAXE |
WEAPONS | weapons | 12 | DIAMOND_SWORD |
ARMOR | armor | 13 | DIAMOND_CHESTPLATE |
BLOCKS | blocks | 14 | GRASS_BLOCK |
FOOD | food | 15 | COOKED_BEEF |
FARMING | farming | 16 | WHEAT |
REDSTONE | redstone | 19 | REDSTONE |
DECORATIONS | decorations | 20 | PAINTING |
POTIONS | potions | 21 | POTION |
ENCHANTED_BOOKS | enchanted_books | 22 | ENCHANTED_BOOK |
OTHER | other | 23 | CHEST |
ALL zawsze zwraca true. OTHER to to, co nie wpadło do żadnej pozostałej (poza ALL).
Co wpada gdzie
TOOLS
*_PICKAXE, *_SHOVEL, *_HOE, FISHING_ROD, SHEARS, FLINT_AND_STEEL, BRUSH, CARROT_ON_A_STICK, WARPED_FUNGUS_ON_A_STICK.
*_AXE nie jest narzędziem. Siekiery są w WEAPONS.
WEAPONS
*_SWORD,*_SPEAR,*_AXE,MACETRIDENT,BOW,CROSSBOW- pociski:
ARROW,SPECTRAL_ARROW,TIPPED_ARROW,SNOWBALL,EGG,ENDER_PEARL,FIRE_CHARGE,WIND_CHARGE
ARMOR
*_HELMET, *_CHESTPLATE, *_LEGGINGS, *_BOOTS, *_HORSE_ARMOR, SHIELD, ELYTRA, TURTLE_HELMET, CARVED_PUMPKIN, TOTEM_OF_UNDYING.
BLOCKS
material.isBlock(), ale nie tool i nie dekoracja.
FOOD
material.isEdible() albo CAKE albo MILK_BUCKET.
FARMING
*_SEEDS, *_SAPLING, nazwa z CROPS, plus m.in. WHEAT, BEETROOT, CARROT, POTATO, BAMBOO, SUGAR_CANE, CACTUS, COCOA_BEANS, MELON, MELON_SLICE, PUMPKIN, BONE_MEAL, COMPOSTER.
REDSTONE
Nazwa zawiera REDSTONE, plus m.in. REPEATER, COMPARATOR, OBSERVER, HOPPER, DROPPER, DISPENSER, PISTON, STICKY_PISTON, SLIME_BLOCK, HONEY_BLOCK, TARGET, DAYLIGHT_DETECTOR, TRIPWIRE_HOOK, LEVER, *_BUTTON, *_PRESSURE_PLATE, SCULK_SENSOR, CALIBRATED_SCULK_SENSOR.
DECORATIONS
Nazwa zawiera BANNER, CARPET, CANDLE, FLOWER, POTTED; *_HEAD, *_SKULL; plus PAINTING, ITEM_FRAME, GLOW_ITEM_FRAME, ARMOR_STAND, FLOWER_POT.
POTIONS
POTION, SPLASH_POTION, LINGERING_POTION, EXPERIENCE_BOTTLE, DRAGON_BREATH, GLASS_BOTTLE, albo meta PotionMeta.
ENCHANTED_BOOKS
ENCHANTED_BOOK albo zwykła BOOK z enchantem bojowym z listy COMBAT_ENCHANTMENTS (sharpness, smite, protection, power, …).
Co można zmienić w YAML
Slot i material przycisku w MarketCategoryGUI. Nazwy: messages.gui.category.*.
Nie zmienisz reguł klasyfikacji bez edycji MarketCategory.java. Nie dodasz 13. kategorii samym gui.yml — nieznany klucz nie stanie się enumem.