From 70c1354a4a96698758a88c032866288f79de6f5a Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Sat, 24 Aug 2024 08:16:37 -0400 Subject: Initial commit --- .../java/jp/plusplus/fbs/item/ItemBookmark.java | 140 +++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 src/main/java/jp/plusplus/fbs/item/ItemBookmark.java (limited to 'src/main/java/jp/plusplus/fbs/item/ItemBookmark.java') diff --git a/src/main/java/jp/plusplus/fbs/item/ItemBookmark.java b/src/main/java/jp/plusplus/fbs/item/ItemBookmark.java new file mode 100644 index 0000000..a51aec9 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/item/ItemBookmark.java @@ -0,0 +1,140 @@ +package jp.plusplus.fbs.item; + +import jp.plusplus.fbs.FBS; +import jp.plusplus.fbs.block.BlockCore; +import jp.plusplus.fbs.world.structure.MapGenSealdLib; +import net.minecraft.client.multiplayer.ChunkProviderClient; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.ChunkProviderServer; +import net.minecraft.world.gen.structure.MapGenStructureIO; + +import java.util.List; + +/** + * Created by pluslus_F on 2015/06/23. + */ +public class ItemBookmark extends ItemBase { + public ItemBookmark() { + setUnlocalizedName("bookmark"); + setTextureName("bookmark"); + setMaxDamage(64); + setMaxStackSize(1); + } + + @Override + public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player){ + if(!world.isRemote){ + /* + まー言いたい事はいろいろあるけどさ、 + なんでfindClosestStructureが実質Stronghold限定の実装なのよ。 + わざわざ引数に構造物名とっといてさ。 + + @もやん +     fニヽ +     |_|| +     |= | +     | | +     |= | +    i⌒| |⌒i_ +   /| | | | ヽ +  | ( ( ( ( | +  |/      | +  |       | +   \      ノ +    \    / +    |   | + */ + item.damageItem(1, player); + + int x=MathHelper.floor_double(player.posX), z=MathHelper.floor_double(player.posZ); + int dx=(x/16)-1, dz=(z/16); + + //FBS.logger.info("at:"+dx+","+dz); + + //強硬手段 + for(int i=10;i<50;i++){ + if(world.getBlock(x, i, z)== BlockCore.plank){ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.shining")); + break; + } + } + + if(MapGenSealdLib.isLibraryChunk(world, dx, dz)){ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.success")); + } + else{ + boolean found=false; + for(int i=0;i<3 && !found;i++){ + for(int k=0;k<3 && !found;k++){ + if(MapGenSealdLib.isLibraryChunk(world, dx+(i-1), dz+(k-1))){ + found=true; + } + } + } + if(found){ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.found")); + } + else{ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.failure")); + } + } + } + + + return item; + } + + /* + @Override + public boolean onItemUse(ItemStack item, EntityPlayer player, World world, int x, int y, int z, int side, float p_77648_8_, float p_77648_9_, float p_77648_10_) { + if(world.isRemote) return true; + + item.damageItem(1, player); + + world.findClosestStructure("Sealed Library", ) + + if(world.provider.dimensionCrackId!=0){ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.failure")); + return true; + } + + int dx=(x/16)-1, dz=(z/16); + + if(MapGenSealdLib.isLibraryChunk(world, dx, dz)){ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.success")); + } + else{ + boolean found=false; + for(int i=0;i<3 && !found;i++){ + for(int k=0;k<3 && !found;k++){ + if(MapGenSealdLib.isLibraryChunk(world, dx+(i-1), dz+(k-1))){ + found=true; + } + } + } + if(found){ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.found")); + } + else{ + player.addChatComponentMessage(new ChatComponentTranslation("info.fbs.bookmark.failure")); + } + } + + return true; + } + */ + + @Override + public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) { + p_77624_3_.add(StatCollector.translateToLocal("info.fbs.bookmark.0")); + } +} -- cgit v1.2.3