46 lines
2.1 KiB
Java
46 lines
2.1 KiB
Java
package systems.brn.plasticgun.bullets;
|
|
|
|
import net.minecraft.component.DataComponentTypes;
|
|
import net.minecraft.component.type.LoreComponent;
|
|
import net.minecraft.item.Items;
|
|
import net.minecraft.registry.Registries;
|
|
import net.minecraft.registry.Registry;
|
|
import net.minecraft.registry.RegistryKey;
|
|
import net.minecraft.registry.RegistryKeys;
|
|
import net.minecraft.text.Text;
|
|
import systems.brn.plasticgun.lib.SimpleItem;
|
|
|
|
import java.util.List;
|
|
|
|
import static systems.brn.plasticgun.lib.Util.id;
|
|
|
|
public class BulletItem extends SimpleItem {
|
|
public final double damageCoefficient;
|
|
public final int caliber;
|
|
public final boolean isIncendiary;
|
|
public final double explosionPowerCoefficient;
|
|
public final double repulsionPowerCoefficient;
|
|
public BulletItem(String path, int maxCount, double damageCoefficient, int caliber, boolean isIncendiary, double explosionPowerCoefficient, double repulsionPowerCoefficient) {
|
|
super(
|
|
new Settings()
|
|
.maxCount(maxCount)
|
|
.component(DataComponentTypes.LORE, new LoreComponent(List.of(
|
|
Text.translatable("gun.description.caliber", caliber),
|
|
Text.translatable("gun.description.speed", damageCoefficient),
|
|
Text.translatable("gun.description.explosion_coefficient", explosionPowerCoefficient),
|
|
Text.translatable("gun.description.repulsion_efficient", repulsionPowerCoefficient),
|
|
Text.translatable(isIncendiary ? "gun.description.incendiary_yes" : "gun.description.incendiary_no")
|
|
)))
|
|
.registryKey(RegistryKey.of(RegistryKeys.ITEM, id(path)))
|
|
,
|
|
id(path),
|
|
Items.STICK);
|
|
this.damageCoefficient = damageCoefficient;
|
|
this.caliber = caliber;
|
|
this.isIncendiary = isIncendiary;
|
|
this.explosionPowerCoefficient = explosionPowerCoefficient;
|
|
this.repulsionPowerCoefficient = repulsionPowerCoefficient;
|
|
Registry.register(Registries.ITEM, this.identifier, this);
|
|
}
|
|
}
|