TechReborn/src/main/java/techreborn/items/ItemFrequencyTransmitter.java

111 lines
3.8 KiB
Java
Raw Normal View History

2016-03-30 07:45:15 +02:00
package techreborn.items;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
2016-05-11 07:35:09 +02:00
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
2016-05-11 07:35:09 +02:00
import net.minecraft.util.EnumFacing;
2016-03-30 07:45:15 +02:00
import net.minecraft.util.EnumHand;
2016-05-11 07:35:09 +02:00
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentString;
2016-05-13 08:46:17 +02:00
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.translation.I18n;
2016-03-30 07:45:15 +02:00
import net.minecraft.world.World;
2016-05-11 07:35:09 +02:00
import net.minecraftforge.common.DimensionManager;
2016-03-30 07:45:15 +02:00
import reborncore.RebornCore;
import reborncore.common.util.ChatUtils;
2016-03-30 07:45:15 +02:00
import techreborn.client.TechRebornCreativeTabMisc;
2016-05-11 07:35:09 +02:00
import techreborn.config.ConfigTechReborn;
2016-05-22 06:51:26 +02:00
import techreborn.lib.MessageIDs;
2016-05-11 07:35:09 +02:00
import java.util.List;
2016-03-30 07:45:15 +02:00
public class ItemFrequencyTransmitter extends ItemTextureBase implements ITexturedItem
{
2016-03-30 07:45:15 +02:00
public ItemFrequencyTransmitter()
{
2016-03-30 07:45:15 +02:00
setUnlocalizedName("techreborn.frequencyTransmitter");
setCreativeTab(TechRebornCreativeTabMisc.instance);
2016-05-12 07:37:55 +02:00
setMaxStackSize(1);
2016-03-30 07:45:15 +02:00
RebornCore.jsonDestroyer.registerObject(this);
}
2016-05-11 07:35:09 +02:00
@Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
2016-05-11 07:35:09 +02:00
stack.setTagCompound(new NBTTagCompound());
stack.getTagCompound().setInteger("x", pos.getX());
stack.getTagCompound().setInteger("y", pos.getY());
stack.getTagCompound().setInteger("z", pos.getZ());
stack.getTagCompound().setInteger("dim", world.provider.getDimension());
if (!world.isRemote && ConfigTechReborn.FreqTransmitterChat)
{
2016-05-22 06:51:26 +02:00
ChatUtils.sendNoSpamMessages(MessageIDs.freqTransmitterID, new TextComponentString(
2016-05-13 08:46:17 +02:00
TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.setTo") + " X: " +
TextFormatting.GOLD + pos.getX() +
TextFormatting.GRAY + " Y: " +
TextFormatting.GOLD + pos.getY() +
TextFormatting.GRAY + " Z: " +
TextFormatting.GOLD + pos.getZ() +
TextFormatting.GRAY + " " + I18n.translateToLocal("techreborn.message.in") + " " +
TextFormatting.GOLD + DimensionManager.getProviderType(world.provider.getDimension())
.getName() + " (" + world.provider.getDimension() + ")"));
2016-05-11 07:35:09 +02:00
}
return EnumActionResult.SUCCESS;
}
@Override public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player,
EnumHand hand)
{
if (player.isSneaking())
{
stack.setTagCompound(null);
if (!world.isRemote && ConfigTechReborn.FreqTransmitterChat)
{
2016-05-22 06:51:26 +02:00
ChatUtils.sendNoSpamMessages(MessageIDs.freqTransmitterID, new TextComponentString(
TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.coordsHaveBeen") + " "
+ TextFormatting.GOLD + I18n.translateToLocal("techreborn.message.cleared")));
}
}
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
}
2016-05-11 07:35:09 +02:00
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4)
{
if (ConfigTechReborn.FreqTransmitterTooltip)
2016-05-11 07:35:09 +02:00
{
if (stack.getTagCompound() != null)
{
int x = stack.getTagCompound().getInteger("x");
int y = stack.getTagCompound().getInteger("y");
int z = stack.getTagCompound().getInteger("z");
int dim = stack.getTagCompound().getInteger("dim");
list.add("X: " + x);
list.add("Y: " + y);
list.add("X: " + z);
2016-05-13 08:46:17 +02:00
list.add(TextFormatting.DARK_GRAY + DimensionManager.getProviderType(dim).getName());
2016-05-11 07:35:09 +02:00
} else
{
list.add(TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.noCoordsSet"));
2016-05-11 07:35:09 +02:00
}
}
2016-03-30 07:45:15 +02:00
}
2016-05-11 07:35:09 +02:00
@Override public int getMaxMeta()
{
2016-03-30 07:45:15 +02:00
return 1;
}
2016-05-11 07:35:09 +02:00
@Override public String getTextureName(int arg0)
{
return "techreborn:items/tools/frequency_transmitter";
2016-03-30 07:45:15 +02:00
}
}