This is a tweaker for player define/redefine blade, sa, se and blade special recipe using ZenScript
You can read the document to get the full information of how to use or read this:
type of knife
In Drawn Swords, most knives are the same item but with different NBTs.
There is a registry inside Ba Dao Jian that stores different types of knives. You might as well call the knives stored in it "original swords."
The knives players obtain are copies of the "original knife".
To register a type of knife, you only need to add "Knife Original" to the registry.
SlashBladeTweaker currently provides more than one registration method, but the most recommended method, which is also used in the example, is to use the BladeRegistry chain.
First call named to start creating the sword
How to adjust parameters
Call register to complete registration
You can immediately register the next knife
The whole process can look like this:
BladeRegistry
.named("example:test_one").killCount(10000).refine(1000).proudSoul(2600000)
.texture("named/sange/white").model("named/sange/sange").specialAttack(20).wrap(BladeRegistry.findItem("minecraft:wooden_sword"))
.process(function(s as crafttweaker.item.IItemStack){SERegistry.addSEToItem(s, "test_se");return s;}).register()
.named("example:test_two").register();
This chain can be infinitely long.
SA
SA, full name Special Attack, is a player's unique attack method using a drawn sword. In Draw Sword, SA has a set of registries using numbers, and numbers are used to distinguish SAs in nbt.
SlashBladeTweaker currently provides only one registration method.
SARegistry.registerSAregisterSA(int, String, ISpecialAttackFunction)
The translation key for the name is flammpfeil.slashblade.specialattack.%NAME%
ISpecialAttackFunction will be called once by the frontend and backend after the player uses SA.
SE
SE is represented by NBT in Drawing the Sword. SE itself has no function and no interface. It is only implemented in other places as information like enchantment. SE uses a string as the registration name.
SlashBladeTweaker currently provides more than one registration method, but only one is introduced here:
SEType.create(10, "example_se").register();
The first parameter is the default SE level, and the second parameter is the name.
The translation key for the name is slashblade.seffect.name.%NAME%
.
Adding SE can directly operate NBT, or you can use SERegistry#addSEToItem.
Miscellaneous
wrap
The black and white fox has a built-in wooden sword. You can modify the wrap when creating the BladeType (BladeTypeBuilder#wrap(IItemStack))
Attacking with a drawn sword is equivalent to a built-in item attack, which is also
There is a line below the panel of the knife in the creation backpack: is demo item. is wooden sword true performance : please crafting (The general idea is: This is a knife displayed in creative mode. It only has the power of a wooden knife. Its real power requires you to synthesize it.) If it is synthesized using the "Nameless" Ruby, a sharp sword synthesized from a katana, it will inherit the katana's ability, durability, and damage. SA is the damage of each phantom blade type (Phantom Blade, Extreme Slash, Wave Blade Gentian, etc.). Compared with other drawn swords, it will additionally increase the "+4 attack damage" of the drawn sword without any additional state. s reason.
Re-register
Use BladeRegistry#reregister(String,IItemStack) to force an ItemStack to be registered to the blade name, thereby overriding or modifying the blade.
Take modification as an example:
val blade as IItemStack = BladeRegistry.getBladeItemStack("flammpfeil.slashblade.named.fox.white");
BladeUtils.setKillCount(blade, 114514);
BladeRegistry.reregister("flammpfeil.slashblade.named.fox.white", blade);
In this way, the default number of enemies killed by the Fox Moon Sword "White Fox" becomes 114514. You can directly take out the 114514-killed White Fox from the creative mode inventory.