Closed heartalborada-del closed 2 years ago
我的超人!肥肠感谢您的贡献,我明早会仔细康康的(现在在补下午没做出来的题(悲)
我的超人!肥肠感谢您的贡献,我明早会仔细康康的(现在在补下午没做出来的题(悲)
好的 我在我服务器上面没测试出有啥bug,不知道还有没有其他的问题
嘛,我当时把喝氧气罐做成手动使用氧气罐了(什么神秘行为) 具体在PlayerInteractListener的最下面 OnPlayerConsume
草,突然发现没阻止玩家喝氧气罐
嘛,我当时把喝氧气罐做成手动使用氧气罐了(什么神秘行为) 具体在PlayerInteractListener的最下面 OnPlayerConsume
我以为会至少返回个空的氧气罐
最后加的功能,当时想着氧气罐成本低,谁往背包塞一大堆不可堆叠的东西啊(暴论),所以就没有写返空氧气罐的功能。当然,如果加上确实合理很多(
我服玩家的评论(无恶意
草,过于合理( 可能还是加上返回空的氧气罐会比较好,那我明天测试的时候把返回一起写上吧((当然如果您直接一起写上就更好了)(什么暴论))
草,过于合理( 可能还是加上返回空的氧气罐会比较好,那我明天测试的时候把返回一起写上吧((当然如果您直接一起写上就更好了)(什么暴论))
已经写好了(
我的超人!
草,刚刚发现个bug,我直接把合成出的物品也阻止了,修了
问下大佬,请问下氧气值是咋加减的,我看了源码还不是很清楚 (看下能不能帮您把这个实现了)
问下大佬,请问下氧气值是咋加减的,我看了源码还不是很清楚 (看下能不能帮您把这个实现了)
调用OxygenCalculator
的SetOxygen
函数
public static boolean SetOxygen(Player player, int delta)
delta是氧气增量,大于0表示增加氧气,小于0表示减少氧气,返回一个bool,表示计算完成后氧气值是否被扣为了0
问下大佬,请问下氧气值是咋加减的,我看了源码还不是很清楚 (看下能不能帮把这个实现了)
问下大佬,请问下氧气值是咋加减的,我看了源码还不是很清楚 (看下能不能帮您把这个实现了)
调用
OxygenCalculator
的SetOxygen
函数public static boolean SetOxygen(Player player, int delta)
delta是氧气增量,大于0表示增加氧气,小于0表示减少氧气,返回一个bool,表示计算完成后氧气值是否被扣为了0
好,谢谢大佬
问下大佬,请问下氧气值是咋加减的,我看了源码还不是很清楚 (看下能不能帮把这个实现了)
问下大佬,请问下氧气值是咋加减的,我看了源码还不是很清楚 (看下能不能帮您把这个实现了)
调用
OxygenCalculator
的SetOxygen
函数public static boolean SetOxygen(Player player, int delta)
delta是氧气增量,大于0表示增加氧气,小于0表示减少氧气,返回一个bool,表示计算完成后氧气值是否被扣为了0
好,谢谢大佬
刚刚口误了,我自裁,返回的bool表示完成操作之后氧气量是否大于0 再次感谢,我的超人!
应该没啥问题了,晚上服务器没人测试不了 (PS:其实应该还写个弓箭使用消耗的)
神中神!我刚刚把题敲完了(,终于可以来开搞力(
神中神!我刚刚把题敲完了(,终于可以来开搞力(
玩家的氧气值我改成double了不然难计算值很麻烦
我刚刚仔细看了一遍代码更改,没有特别大的问题,但是有几个小细节:
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) //这里优先级声明有问题
public void OnPlaceBlock(BlockPlaceEvent event)
{
ItemStack item = event.getItemInHand().clone();
if(item.isSimilar(MaskUpgradeT1.GetItem()) || item.isSimilar(MaskUpgradeT2.GetItem()) || item.isSimilar(MaskUpgradeT3.GetItem()))
{
System.out.println(item.getAmount());
System.out.println(MaskUpgradeT1.GetItem().getAmount());
Util.Message(event.getPlayer(), MessageManager.msg.CantPlace);
event.setCancelled(true);
}
}
* 上面代码的函数忘记注释debug输出了(以及这样的输出方式是不被spigot推荐的,建议是用getLogger来输出,本插件在Util里把这个输出稍微包装了一下)
```java
public static void Log(String s)
我刚刚仔细看了一遍代码更改,没有特别大的问题,但是有几个小细节:
- 所有涉及event修改的监听(包括event.setCancelled)在声明priority的时候是不能声明Monitor的,我个人的搞法是直接不声明priority(即默认的NORMAL) for example:
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) //这里优先级声明有问题 public void OnPlaceBlock(BlockPlaceEvent event) { ItemStack item = event.getItemInHand().clone(); if(item.isSimilar(MaskUpgradeT1.GetItem()) || item.isSimilar(MaskUpgradeT2.GetItem()) || item.isSimilar(MaskUpgradeT3.GetItem())) { System.out.println(item.getAmount()); System.out.println(MaskUpgradeT1.GetItem().getAmount()); Util.Message(event.getPlayer(), MessageManager.msg.CantPlace); event.setCancelled(true); } }
- 上面代码的函数忘记注释debug输出了(以及这样的输出方式是不被spigot推荐的,建议是用getLogger来输出,本插件在Util里把这个输出稍微包装了一下)
public static void Log(String s)
有些时候调试完就忘删了,毕竟就调试的时候用
刚刚实际测试的时候我发现还有一个小问题:
其他地方功能表现良好,都odk
刚刚实际测试的时候我发现还有一个小问题:
- 就是跑步时消耗氧气不是特别明显,当然,数值方面的问题以后再讨论问题也不大(doge)
- 造成伤害消耗氧气和射箭消耗氧气那里我看到消耗的氧气量是/20的,这里我不是特别理解,因为这个event只会在发生的时候被调用一次,不像跑步那里因为每稍微移动一下就会被调用一次。在这里每造成一次伤害/射一次箭只会被调用一次,如此之下再/20可能值就会稍微小了些
其他地方功能表现良好,都odk
/20我记得是每tick处理一次才这样写的,伤害和射箭的问题可能是我脑抽写错了
草,我刚刚才发现你那堆commit用的邮箱好像不是绑到连接到github账户的电子邮箱?
第一次merge 别人的pr,不太清楚捏,我一直以为会直接显示contributors的
草,我刚刚才发现你那堆commit用的邮箱好像不是绑到连接到github账户的电子邮箱?
~第一次merge 别人的pr,不太清楚捏,我一直以为会直接显示contributors的~
两个邮箱,我可以改回来的(
添加了一些事件监听: