sdddddf80 fe152fb676 Transferred a bunch of text to lang file
Transferred a bunch of text to lang file(not all)
2023-11-08 16:47:35 +08:00

107 lines
3.2 KiB
Java

package com.hbm.items.tool;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemBattery;
import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class ItemAnchorRemote extends ItemBattery {
public ItemAnchorRemote() {
super(1_000_000, 10_000, 0);
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
long charge = maxCharge;
if(itemstack.hasTagCompound())
charge = getCharge(itemstack);
if(itemstack.getItem() != ModItems.fusion_core && itemstack.getItem() != ModItems.energy_core) {
list.add(I18nUtil.resolveKey("desc.item.battery.charge",BobMathUtil.getShortNumber(charge),BobMathUtil.getShortNumber(maxCharge)));
} else {
String charge1 = BobMathUtil.getShortNumber((charge * 100) / this.maxCharge);
list.add(I18nUtil.resolveKey("desc.item.battery.chargePerc", charge1));
list.add("(" + BobMathUtil.getShortNumber(charge) + "/" + BobMathUtil.getShortNumber(maxCharge) + "HE)");
}
list.add(I18nUtil.resolveKey("desc.item.battery.chargeRate",BobMathUtil.getShortNumber(chargeRate)));
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) {
if(world.getBlock(x, y, z) == ModBlocks.teleanchor) {
if(!stack.hasTagCompound())
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("x", x);
stack.stackTagCompound.setInteger("y", y);
stack.stackTagCompound.setInteger("z", z);
return true;
}
return false;
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(player.isSneaking() || world.isRemote) {
return stack;
}
if(!stack.hasTagCompound()) {
world.playSoundAtEntity(player, "random.orb", 0.25F, 0.75F);
return stack;
}
if(this.getCharge(stack) < 10_000) {
world.playSoundAtEntity(player, "random.orb", 0.25F, 0.75F);
return stack;
}
int x = stack.stackTagCompound.getInteger("x");
int y = stack.stackTagCompound.getInteger("y");
int z = stack.stackTagCompound.getInteger("z");
world.getChunkProvider().loadChunk(x >> 4, z >> 4);
if(world.getBlock(x, y, z) == ModBlocks.teleanchor) {
if(player.isRiding()) {
player.mountEntity(null);
}
world.newExplosion(player, x + 0.5, y + 1 + player.height / 2, z + 0.5, 2F, false, false);
world.playSoundEffect(player.posX, player.posY, player.posZ, "mob.endermen.portal", 1.0F, 1.0F);
player.setPositionAndUpdate(x + 0.5, y + 1, z + 0.5);
//world.playSoundEffect(player.posX, player.posY, player.posZ, "mob.endermen.portal", 1.0F, 1.0F);
player.fallDistance = 0.0F;
for(int i = 0; i < 32; ++i) {
world.spawnParticle("portal", player.posX, player.posY + player.getRNG().nextDouble() * 2.0D, player.posZ, player.getRNG().nextGaussian(), 0.0D, player.getRNG().nextGaussian());
}
this.dischargeBattery(stack, 10_000);
} else {
world.playSoundAtEntity(player, "random.orb", 0.25F, 0.75F);
}
return stack;
}
}