Browse Source

再次允许铁砧里放方块(因为没法判断线和潜在的其他能作为方块的修复材料)

LTCatt 6 years ago
parent
commit
2d3a7170f6

+ 2 - 14
src/main/java/com/hexdragon/enchrebirth/block/anvil/AnvilContainerRe.java

@@ -4,9 +4,7 @@ import com.hexdragon.enchrebirth.registry.RegMain;
 import com.hexdragon.util.item.EnchantmentHelperRe;
 import com.hexdragon.util.item.ItemHelperRe;
 import net.minecraft.block.AnvilBlock;
-import net.minecraft.block.Block;
 import net.minecraft.block.BlockState;
-import net.minecraft.block.Blocks;
 import net.minecraft.enchantment.Enchantment;
 import net.minecraft.enchantment.EnchantmentHelper;
 import net.minecraft.entity.player.PlayerEntity;
@@ -48,18 +46,8 @@ public class AnvilContainerRe extends Container {
 
     // 构造页面槽位
     private void Constuct(PlayerInventory playerInventory) {
-        this.addSlot(new Slot(this.inputInventory, 0, 62, 28) {
-            public boolean isItemValid(ItemStack stack) {
-                // 只允许将物品放入,阻止方块
-                return Block.getBlockFromItem(stack.getItem()) == Blocks.AIR;
-            }
-        });
-        this.addSlot(new Slot(this.inputInventory, 1, 80, 28) {
-            public boolean isItemValid(ItemStack stack) {
-                // 只允许将物品放入,阻止方块
-                return Block.getBlockFromItem(stack.getItem()) == Blocks.AIR;
-            }
-        });
+        this.addSlot(new Slot(this.inputInventory, 0, 62, 28));
+        this.addSlot(new Slot(this.inputInventory, 1, 80, 28));
         this.addSlot(new Slot(this.outputInventory, 2, 138, 28) {
             // 禁止将物品放在输出格
             public boolean isItemValid(ItemStack stack) {

+ 0 - 7
src/main/java/com/hexdragon/enchrebirth/block/anvil/AnvilTileEntity.java

@@ -2,9 +2,7 @@ package com.hexdragon.enchrebirth.block.anvil;
 
 import com.hexdragon.enchrebirth.registry.RegMain;
 import net.minecraft.block.AnvilBlock;
-import net.minecraft.block.Block;
 import net.minecraft.block.BlockState;
-import net.minecraft.block.Blocks;
 import net.minecraft.entity.player.PlayerInventory;
 import net.minecraft.inventory.ISidedInventory;
 import net.minecraft.inventory.ItemStackHelper;
@@ -63,10 +61,6 @@ public class AnvilTileEntity extends LockableLootTileEntity implements ISidedInv
     public void setItems(NonNullList<ItemStack> itemsIn) {
         this.inventory = itemsIn;
     }
-    public boolean isItemValidForSlot(int index, ItemStack stack) {
-        // 只允许将物品放入(这个方法只影响自动化,从 GUI 放入需要在 Slot 里写)
-        return Block.getBlockFromItem(stack.getItem()) == Blocks.AIR;
-    }
 
     // NBT 交互
     public CompoundNBT write(CompoundNBT compound) {
@@ -121,7 +115,6 @@ public class AnvilTileEntity extends LockableLootTileEntity implements ISidedInv
     }
 
     // TODO : 让目前的机制修改根据游戏难度略有变化
-    // TODO : 由于目前的铁砧判断方式,它现在不接受线,因为线有对应的方块……是不是有一个 tag 可以解决这个问题?
     // TODO : 让铁砧可以根据物品栏里的物品数量向比较器输出红石信号
 
 }

+ 1 - 1
src/main/java/com/hexdragon/enchrebirth/item/name_tag/NameTagRenameRecipe.java

@@ -11,7 +11,7 @@ import net.minecraft.util.text.ITextComponent;
 import net.minecraft.world.World;
 
 // 将命名牌与任意其他物品合成,可以消耗一个命名牌将其重命名
-// TODO : <难顶> 似乎命名牌的这个特殊配方注册失败了,虽然有注册代码但是连新建实例都没触发过
+// TODO : <重要> <难以完成> 似乎命名牌的这个特殊配方注册失败了,虽然有注册代码但是连新建实例都没触发过
 public class NameTagRenameRecipe extends SpecialRecipe {
     public NameTagRenameRecipe(ResourceLocation idIn) { super(idIn); }
     public IRecipeSerializer<?> getSerializer() {return RegMain.recipeNameTagRename.get();}

+ 1 - 1
src/main/java/com/hexdragon/enchrebirth/mixin/block/AnvilBlockMixin.java

@@ -97,7 +97,7 @@ public abstract class AnvilBlockMixin extends FallingBlock implements IForgeBloc
         }
     }
 
-    // TODO : 破坏下界合金砧没有掉落物
+    // TODO : <重要> 破坏下界合金砧没有掉落物
     // TODO : [010] 绘制下界合金砧的材质(也可以修改原版铁砧的材质以让它有更大的区分度?)
 
 }