MarkusBordihn / BOs-Dynamic-Progression-and-Difficulty

Other
3 stars 0 forks source link

continuation of simplyswords implementation #13

Closed boris2255 closed 1 year ago

boris2255 commented 1 year ago

In reply to kaworru:i dont mind listing each single item, as i was already doing that in the config file, but may i ask how to do so? im somewhat new on modding and im wondering if i can use zenscript for that a simple example to just add 2 weapons of one type and see what i can do with that, at least as an example with the twinblades.. so i can do it myself, i could share the listings of the weapons there without probem that could help you in adding compatibility to simply swords right? still, while doing so i would like to hopefully get an example of code that i can use to implement them manualy and what i need to make it work.

MarkusBordihn commented 1 year ago

I took a look into Zen Script, but unfortunately there is no easy way to make it work with the current configuration.

All of the internal mappings are stored inside the following file: https://github.com/MarkusBordihn/BO-s-Dynamic-Player-Progression-and-Difficulty/blob/main/src/main/java/de/markusbordihn/minecraft/dynamicplayerprogressionplayerdifficulty/data/WeaponClassDataInternal.java

In most cases they include a list of item ids, common suffix or specific keywords for items like:

  // Great Sword Class
  static {
    weaponClassItemsNames.put(WeaponClass.GREAT_SWORD, new HashSet<>(Arrays.asList(
    //@formatter:off
      "rpg_style_more_weapins:newgenplzmasword",
      "rpg_style_more_weapins:plazmaswordhollow",
      "useless_sword:ancient_guardian_sword",
      "useless_sword:bugged_diamond_sword",
      "useless_sword:elder_guardian_sword",
      "useless_sword:guardian_sword",
      "useless_sword:nether_striker",
      "useless_sword:soul_glaive",
      "useless_sword:sword_of_fate",
      "useless_sword:sword_of_immortality",
      "useless_sword:wither_sword"
    //@formatter:on
    )));
    weaponClassItemsSuffixes.put(WeaponClass.GREAT_SWORD,
        new HashSet<>(
            Arrays.asList("_bastardsword", "_broadsword", "_claymore", "_flamebladedsword",
                "_zweihander", ":cleaver", "_greatsword", ":greatsword", "_longsword")));
    weaponClassItemsKeywords.put(WeaponClass.GREAT_SWORD,
        new HashSet<>(Arrays.asList(":broadsword_")));
  }

Feel free to create a pull request with adding a list of items, suffixes or specific keywords. But unfortunately I will not be able to add support for Zen Script or custom weapon classes.

This means if you a missing a specific weapon class I'm happy to add this class, if the weapons are not covered by any other classes.