51 lines
No EOL
1.8 KiB
Java
51 lines
No EOL
1.8 KiB
Java
package com.atsuishio.superbwarfare.item;
|
|
|
|
import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity;
|
|
import com.atsuishio.superbwarfare.init.ModEntities;
|
|
import com.atsuishio.superbwarfare.init.ModItems;
|
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
|
import net.minecraft.core.Direction;
|
|
import net.minecraft.core.Position;
|
|
import net.minecraft.core.dispenser.BlockSource;
|
|
import net.minecraft.core.dispenser.ProjectileDispenseBehavior;
|
|
import net.minecraft.sounds.SoundSource;
|
|
import net.minecraft.world.entity.projectile.Projectile;
|
|
import net.minecraft.world.item.Item;
|
|
import net.minecraft.world.item.ItemStack;
|
|
import net.minecraft.world.item.ProjectileItem;
|
|
import net.minecraft.world.level.Level;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import javax.annotation.ParametersAreNonnullByDefault;
|
|
|
|
public class Rocket70 extends Item implements ProjectileItem {
|
|
|
|
public Rocket70() {
|
|
super(new Properties());
|
|
}
|
|
|
|
public static class Rocket70DispenseBehavior extends ProjectileDispenseBehavior {
|
|
public Rocket70DispenseBehavior() {
|
|
super(ModItems.ROCKET_70.get());
|
|
}
|
|
|
|
@Override
|
|
protected void playSound(BlockSource blockSource) {
|
|
blockSource.level().playSound(null, blockSource.pos(), ModSounds.HELICOPTER_ROCKET_FIRE_3P.get(), SoundSource.BLOCKS, 2.0F, 1.0F);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
@ParametersAreNonnullByDefault
|
|
public @NotNull Projectile asProjectile(Level level, Position pos, ItemStack stack, Direction direction) {
|
|
return new HeliRocketEntity(ModEntities.HELI_ROCKET.get(), pos.x(), pos.y(), pos.z(), level);
|
|
}
|
|
|
|
@Override
|
|
public @NotNull DispenseConfig createDispenseConfig() {
|
|
return DispenseConfig.builder()
|
|
.uncertainty(1)
|
|
.power(4)
|
|
.build();
|
|
}
|
|
} |