summaryrefslogtreecommitdiff
path: root/src/main/java/jp/plusplus/fbs/item/ItemBookmark.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/jp/plusplus/fbs/item/ItemBookmark.java')
-rw-r--r--src/main/java/jp/plusplus/fbs/item/ItemBookmark.java140
1 files changed, 140 insertions, 0 deletions
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"));
+ }
+}