Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
007142891b | |||
bda0f8dee7 | |||
0c3c0e0726 | |||
7fd8f8450c | |||
198c4dd426 | |||
e7cb4cfb80 | |||
3038fc6e3c | |||
17bb269f76 | |||
acae6d5ec7 | |||
d7362c2f0d |
@ -37,7 +37,7 @@ jobs:
|
||||
- name: "Release"
|
||||
uses: https://ssl.lunadeer.cn:14446/zhangyuheng/release-action@main
|
||||
with:
|
||||
note: "提示:带 ‘original-’ 前缀的文件无法用于运行,请下载不带此前缀的版本。"
|
||||
note: "带 `original-` 前缀的文件无法用于运行,请下载不带此前缀的版本。"
|
||||
files: |-
|
||||
staging/*.jar
|
||||
api_key: '${{secrets.RELEASE_TOKEN}}'
|
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>cn.lunadeer</groupId>
|
||||
<artifactId>LiteWorldEdit</artifactId>
|
||||
<version>2.4.3.2</version>
|
||||
<version>2.5.0.1</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>LiteWorldEdit</name>
|
||||
|
@ -5,6 +5,7 @@ import cn.lunadeer.liteworldedit.JobGenerator.Empty;
|
||||
import cn.lunadeer.liteworldedit.JobGenerator.Fill;
|
||||
import cn.lunadeer.liteworldedit.JobGenerator.OverLay;
|
||||
import cn.lunadeer.liteworldedit.Jobs.Job;
|
||||
import cn.lunadeer.liteworldedit.Managers.ConfigManager;
|
||||
import cn.lunadeer.liteworldedit.Managers.Point;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@ -102,11 +103,11 @@ public class Commands implements TabExecutor {
|
||||
if (!player.isOp()) {
|
||||
Notification.error(player, "你没有权限。");
|
||||
} else {
|
||||
LiteWorldEdit.instance.reloadConfig();
|
||||
LiteWorldEdit.config.reload();
|
||||
Notification.info(player, "已重载配置文件。");
|
||||
}
|
||||
} else {
|
||||
LiteWorldEdit.instance.reloadConfig();
|
||||
LiteWorldEdit.config.reload();
|
||||
LoggerX.info("已重载配置文件。");
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,11 @@ public class GiteaReleaseCheck {
|
||||
LoggerX.debug("HTML URL: " + latest_release.html_url);
|
||||
if (isNewVersion(current_version, latest_release.tag_name)) {
|
||||
LoggerX.info("发现新版本:" + latest_release.tag_name);
|
||||
LoggerX.info("版本信息:" + latest_release.message);
|
||||
LoggerX.info("版本信息:");
|
||||
String[] message = latest_release.message.split("\n");
|
||||
for (String line : message) {
|
||||
LoggerX.info("\t" + line);
|
||||
}
|
||||
LoggerX.info("下载页面:" + latest_release.html_url);
|
||||
} else {
|
||||
LoggerX.info("当前已是最新版本:" + current_version);
|
||||
|
@ -1,10 +1,7 @@
|
||||
package cn.lunadeer.liteworldedit.Jobs;
|
||||
|
||||
import cn.lunadeer.liteworldedit.LoggerX;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
@ -40,9 +37,23 @@ public class Absorb extends Job {
|
||||
// 模拟海绵吸水事件
|
||||
BlockPlaceEvent event = new BlockPlaceEvent(raw_block, raw_block.getState(), raw_block, new ItemStack(Material.SPONGE), _creator, true, null);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
// 获取玩家背包中的下届合金镐
|
||||
HashMap<Integer, ?> pickaxes = getNetherPickaxes(_creator);
|
||||
if (pickaxes.size() == 0) {
|
||||
return JobErrCode.NO_PICKAXE;
|
||||
}
|
||||
ItemStack pickaxe = getUsableNetherPickaxe(pickaxes, _creator);
|
||||
// 没有合适的镐
|
||||
if (pickaxe == null) {
|
||||
return JobErrCode.NOT_ENOUGH_DURATION;
|
||||
}
|
||||
if (!event.isCancelled()) {
|
||||
raw_block.setType(Material.SPONGE);
|
||||
raw_block.setType(Material.AIR);
|
||||
// 损坏镐
|
||||
if (!_creator.isOp() && _creator.getGameMode() != GameMode.CREATIVE) {
|
||||
useNetherPickaxe(pickaxe);
|
||||
}
|
||||
return JobErrCode.OK;
|
||||
} else {
|
||||
return JobErrCode.NO_PERMISSION;
|
||||
|
@ -91,10 +91,12 @@ public class Job {
|
||||
}
|
||||
// 如果耐久小于10,提示玩家
|
||||
pickaxe_damage = (Damageable) pickaxe_meta;
|
||||
if (!pickaxe_meta.isUnbreakable()) {
|
||||
if (pickaxe_damage.getDamage() >= 2031 - 10) {
|
||||
LoggerX.debug(index + " 下界合金镐耐久太低!");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
pickaxe = p;
|
||||
break;
|
||||
}
|
||||
@ -104,9 +106,13 @@ public class Job {
|
||||
public static ItemStack useNetherPickaxe(ItemStack pickaxe) {
|
||||
int durability = pickaxe.getEnchantmentLevel(Enchantment.DURABILITY);
|
||||
double random = Math.random();
|
||||
Damageable pickaxe_damage = (Damageable) pickaxe.getItemMeta();
|
||||
if (pickaxe_damage.isUnbreakable()) {
|
||||
// 无限耐久则不损坏
|
||||
return pickaxe;
|
||||
}
|
||||
if (random < 1.0 / (durability + 1)) {
|
||||
// 扣除耐久
|
||||
Damageable pickaxe_damage = (Damageable) pickaxe.getItemMeta();
|
||||
pickaxe_damage.setDamage(pickaxe_damage.getDamage() + 1);
|
||||
pickaxe.setItemMeta(pickaxe_damage);
|
||||
}
|
||||
|
@ -1,10 +1,7 @@
|
||||
package cn.lunadeer.liteworldedit.Jobs;
|
||||
|
||||
import cn.lunadeer.liteworldedit.LoggerX;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.ShulkerBox;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -75,7 +72,9 @@ public class Place extends Job {
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (!event.isCancelled()) {
|
||||
raw_block.setType(_block);
|
||||
if (!_creator.isOp() && _creator.getGameMode() != GameMode.CREATIVE) {
|
||||
stack.setAmount(stack.getAmount() - 1);
|
||||
}
|
||||
return JobErrCode.OK;
|
||||
} else {
|
||||
return JobErrCode.NO_PERMISSION;
|
||||
|
@ -2,15 +2,13 @@ package cn.lunadeer.liteworldedit.Jobs;
|
||||
|
||||
import cn.lunadeer.liteworldedit.LiteWorldEdit;
|
||||
import cn.lunadeer.liteworldedit.LoggerX;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Remove extends Job {
|
||||
@ -37,7 +35,7 @@ public class Remove extends Job {
|
||||
}
|
||||
// 获取玩家背包中的下届合金镐
|
||||
HashMap<Integer, ?> pickaxes = getNetherPickaxes(_creator);
|
||||
if (pickaxes.size() == 0) {
|
||||
if (pickaxes.isEmpty()) {
|
||||
return JobErrCode.NO_PICKAXE;
|
||||
}
|
||||
ItemStack pickaxe = getUsableNetherPickaxe(pickaxes, _creator);
|
||||
@ -48,12 +46,17 @@ public class Remove extends Job {
|
||||
BlockBreakEvent event = new BlockBreakEvent(raw_block, _creator);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (!event.isCancelled()) {
|
||||
Collection<ItemStack> drops = raw_block.getDrops(pickaxe, _creator);
|
||||
raw_block.setType(Material.AIR);
|
||||
if (LiteWorldEdit.instance.getConfigMgr().isDropItems()) {
|
||||
raw_block.getWorld().dropItemNaturally(raw_block.getLocation(), new ItemStack(raw_block.getType()));
|
||||
for (ItemStack drop : drops) {
|
||||
raw_block.getWorld().dropItemNaturally(raw_block.getLocation(), drop);
|
||||
}
|
||||
}
|
||||
// 损坏镐
|
||||
if (!_creator.isOp() && _creator.getGameMode() != GameMode.CREATIVE) {
|
||||
useNetherPickaxe(pickaxe);
|
||||
}
|
||||
return JobErrCode.OK;
|
||||
} else {
|
||||
return JobErrCode.NO_PERMISSION;
|
||||
|
@ -2,6 +2,11 @@ package cn.lunadeer.liteworldedit;
|
||||
|
||||
import cn.lunadeer.liteworldedit.Jobs.Job;
|
||||
import cn.lunadeer.liteworldedit.Jobs.JobErrCode;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.format.Style;
|
||||
import net.kyori.adventure.text.format.TextColor;
|
||||
import net.kyori.adventure.text.format.TextDecoration;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class Task implements Runnable {
|
||||
@ -40,7 +45,8 @@ public class Task implements Runnable {
|
||||
}
|
||||
Player player = job.get_creator();
|
||||
if (re.canContinue()) {
|
||||
Notification.titleWarn(player, "警告", re.getMessage());
|
||||
TextComponent warn = Component.text("警告:" + re.getMessage(), Style.style(TextColor.color(TextColor.color(255, 185, 69)), TextDecoration.BOLD));
|
||||
player.sendActionBar(warn);
|
||||
job = this.xPlayer.popJob();
|
||||
if (job == null) {
|
||||
return;
|
||||
|
@ -12,4 +12,10 @@ commands:
|
||||
LiteWorldEdit:
|
||||
description: 简易创世神命令
|
||||
usage: /lwe <cmd>
|
||||
aliases: [lwe]
|
||||
aliases: [ lwe ]
|
||||
permission: lwe.command
|
||||
permission-message: 你没有权限使用这个命令。
|
||||
permissions:
|
||||
lwe.command:
|
||||
description: 是否允许使用 LiteWorldEdit
|
||||
default: true
|
Loading…
Reference in New Issue
Block a user