package hunternif.mc.atlas.item;
import hunternif.mc.atlas.AntiqueAtlasMod;
import hunternif.mc.atlas.core.AtlasData;
import hunternif.mc.atlas.marker.MarkersData;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeHooks;
public class ItemEmptyAtlas extends Item {
public ItemEmptyAtlas() {
}
@Override
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player,
EnumHand hand) {
ItemStack stack = player.getHeldItem(hand);
if (world.isRemote)
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
int atlasID = world.getUniqueDataId(ItemAtlas.WORLD_ATLAS_DATA_ID);
ItemStack atlasStack = new ItemStack(AntiqueAtlasMod.itemAtlas, 1, atlasID);
AtlasData atlasData = AntiqueAtlasMod.atlasData.getAtlasData(atlasID, world);
atlasData.getDimensionData(player.dimension).setBrowsingPosition(
(int)Math.round(-player.posX * AntiqueAtlasMod.settings.defaultScale),
(int)Math.round(-player.posZ * AntiqueAtlasMod.settings.defaultScale),
AntiqueAtlasMod.settings.defaultScale);
atlasData.markDirty();
MarkersData markersData = AntiqueAtlasMod.markersData.getMarkersData(atlasID, world);
markersData.markDirty();
stack.shrink(1);
if (stack.isEmpty()) {
return new ActionResult<>(EnumActionResult.SUCCESS, atlasStack);
} else {
if (!player.inventory.addItemStackToInventory(atlasStack.copy())) {
ForgeHooks.onPlayerTossEvent(player, atlasStack, false);
}
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
}
}
}