From b06367e74df2b3aa126795ab11c49043aebf7f85 Mon Sep 17 00:00:00 2001 From: snowpegeon Date: Mon, 2 Jan 2023 23:22:44 +0900 Subject: [PATCH 1/2] =?UTF-8?q?1.19.2=E5=AF=BE=E5=BF=9C=20=E3=83=9E?= =?UTF-8?q?=E3=83=B3=E3=82=B0=E3=83=AD=E3=83=BC=E3=83=96=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E3=81=AE=E5=AF=BE=E5=BF=9C=20=E5=85=89=E3=82=8B=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=82=AF=E3=80=81=E9=80=9A=E5=B8=B8=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=82=AF=E3=81=AEONOFF=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.yml | 4 +-- pom.xml | 2 +- .../java/wacky/storagesign/StorageSign.java | 8 ++++- .../wacky/storagesign/StorageSignCore.java | 36 ++++++++++++++++--- src/main/resources/plugin.yml | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/plugin.yml b/plugin.yml index 6d1fdfc..c797a34 100644 --- a/plugin.yml +++ b/plugin.yml @@ -1,8 +1,8 @@ name: StorageSign main: wacky.storagesign.StorageSignCore -version: 1.3.0 +version: 1.4.0 author: wackyls6 -api-version: 1.16 +api-version: 1.19 softdepend: [WorldGuard] website: https://github.com/wackyls6/StorageSign permissions: diff --git a/pom.xml b/pom.xml index 9e6b80a..78e5598 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,7 @@ org.spigotmc spigot-api - 1.15-R0.1-SNAPSHOT + 1.19.2-R0.1-SNAPSHOT diff --git a/src/main/java/wacky/storagesign/StorageSign.java b/src/main/java/wacky/storagesign/StorageSign.java index db714f6..57733d4 100644 --- a/src/main/java/wacky/storagesign/StorageSign.java +++ b/src/main/java/wacky/storagesign/StorageSign.java @@ -88,6 +88,7 @@ else if(mat == Material.POTION || mat == Material.SPLASH_POTION || mat == Materi else if(signmat == Material.DARK_OAK_WALL_SIGN) smat = Material.DARK_OAK_SIGN; else if(signmat == Material.CRIMSON_WALL_SIGN) smat = Material.CRIMSON_SIGN; else if(signmat == Material.WARPED_WALL_SIGN) smat = Material.WARPED_SIGN; + else if(signmat == Material.MANGROVE_WALL_SIGN) smat = Material.MANGROVE_SIGN; else smat = signmat; } @@ -128,6 +129,10 @@ else if(str.matches("WarpedStorageSign")) { damage = 1; return Material.WARPED_SIGN; } + else if(str.matches("MangroveStorageSign")) { + damage = 1; + return Material.MANGROVE_SIGN; + } if (str.matches("HorseEgg")){ damage = 1; return Material.END_PORTAL;//ガスト卵でよくね? @@ -171,6 +176,7 @@ else if (mat == Material.END_PORTAL){ else if(mat == Material.DARK_OAK_SIGN && damage == 1) return "DarkOakStorageSign"; else if(mat == Material.CRIMSON_SIGN && damage == 1) return "CrimsonStorageSign"; else if(mat == Material.WARPED_SIGN && damage == 1) return "WarpedStorageSign"; + else if(mat == Material.MANGROVE_SIGN && damage == 1) return "MangroveStorageSign"; //else if (mat == Material.LEGACY_STAINED_GLASS_PANE) return damage == 0 ? "STAINGLASS_PANE" : "STAINGLASS_P:" + damage; //else if (mat == Material.LEGACY_REDSTONE_COMPARATOR) return "RS_COMPARATOR"; //else if (mat == Material.LEGACY_REDSTONE_TORCH_ON) return "REDSTONE_TORCH"; @@ -259,7 +265,7 @@ public ItemStack getContents() {//中身取得、一部アイテム用の例外 if(damage == 1) return emptyHorseEgg(); }if(mat == Material.STONE_SLAB) return new ItemStack(mat,1);//ダメージ値0にする else if(mat == Material.OAK_SIGN || mat == Material.SPRUCE_SIGN || mat == Material.BIRCH_SIGN || mat == Material.JUNGLE_SIGN || - mat == Material.ACACIA_SIGN || mat == Material.DARK_OAK_SIGN || mat == Material.CRIMSON_SIGN || mat == Material.WARPED_SIGN) { + mat == Material.ACACIA_SIGN || mat == Material.DARK_OAK_SIGN || mat == Material.CRIMSON_SIGN || mat == Material.WARPED_SIGN || mat == Material.MANGROVE_SIGN) { if(damage == 0) return new ItemStack(mat,1); else return emptySign(mat); } diff --git a/src/main/java/wacky/storagesign/StorageSignCore.java b/src/main/java/wacky/storagesign/StorageSignCore.java index f66f2d1..f52ca70 100644 --- a/src/main/java/wacky/storagesign/StorageSignCore.java +++ b/src/main/java/wacky/storagesign/StorageSignCore.java @@ -10,7 +10,6 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.NamespacedKey; -import org.bukkit.UndefinedNullability; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; @@ -64,8 +63,8 @@ public void onEnable() { this.saveConfig(); //鯖別レシピが実装されたら - Material[] sign = {Material.OAK_SIGN,Material.BIRCH_SIGN,Material.SPRUCE_SIGN,Material.JUNGLE_SIGN,Material.ACACIA_SIGN,Material.DARK_OAK_SIGN,Material.CRIMSON_SIGN,Material.WARPED_SIGN}; - for(int i= 0 ;i<8;i++) { + Material[] sign = {Material.OAK_SIGN,Material.BIRCH_SIGN,Material.SPRUCE_SIGN,Material.JUNGLE_SIGN,Material.ACACIA_SIGN,Material.DARK_OAK_SIGN,Material.CRIMSON_SIGN,Material.WARPED_SIGN,Material.MANGROVE_SIGN}; + for(int i= 0 ;i<9;i++) { ShapedRecipe storageSignRecipe = new ShapedRecipe(new NamespacedKey(this,"ssr"+i),StorageSign.emptySign(sign[i])); //ShapedRecipe storageSignRecipe = new ShapedRecipe(StorageSign.emptySign()); @@ -246,6 +245,7 @@ else if (itemSign.isEmpty() && storageSign.getAmount() > itemMainHand.getAmount( storageSign.addAmount(itemMainHand.getAmount()); player.getInventory().clear(player.getInventory().getHeldItemSlot()); if(isDye(itemMainHand)) sign.setColor(getDyeColor(itemMainHand));//同色用 + if(isSac(itemMainHand)) sign.setGlowingText(isGlowSac(itemMainHand)); //イカスミ用 } else for (int i=0; i itemMainHand.getAmount( event.setUseInteractedBlock(Result.ALLOW);//最初にDENYにしてたので戻す、同色染料が使えない。 return; } - + else if (itemMainHand != null && isSac(itemMainHand)) { + event.setUseItemInHand(Result.ALLOW); + event.setUseInteractedBlock(Result.ALLOW); + return; + } else if (storageSign.isEmpty()) return; ItemStack item = storageSign.getContents(); int max = item.getMaxStackSize(); @@ -650,6 +654,7 @@ private boolean isSignPost(Material mat) { case DARK_OAK_SIGN: case CRIMSON_SIGN: case WARPED_SIGN: + case MANGROVE_SIGN: return true; default: } @@ -666,6 +671,7 @@ private boolean isWallSign(Material mat) { case DARK_OAK_WALL_SIGN: case CRIMSON_WALL_SIGN: case WARPED_WALL_SIGN: + case MANGROVE_WALL_SIGN: return true; default: } @@ -737,4 +743,26 @@ private DyeColor getDyeColor(ItemStack item) { return null; } + private boolean isSac(ItemStack item) { + Material mat = item.getType(); + switch(mat) { + case INK_SAC: + case GLOW_INK_SAC: + return true; + default: + } + return false; + } + + private boolean isGlowSac(ItemStack item) { + Material mat = item.getType(); + switch(mat) { + case INK_SAC: + return false; + case GLOW_INK_SAC: + return true; + default: + } + return false; + } } \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 2776d03..90164be 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: StorageSign main: wacky.storagesign.StorageSignCore -version: 1.2.8 +version: 1.4.0 author: wackyls6 api-version: 1.15 softdepend: [WorldGuard] From 6f4f8be0bf86c86bcb72d45ee51e9063e6b08b77 Mon Sep 17 00:00:00 2001 From: snowpegeon Date: Fri, 9 Jun 2023 17:25:31 +0900 Subject: [PATCH 2/2] =?UTF-8?q?1.20.0=E5=AF=BE=E5=BF=9C=20=E6=A1=9C?= =?UTF-8?q?=E3=80=81=E7=AB=B9=E3=81=AE=E7=9C=8B=E6=9D=BF=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 8 ++++---- .../java/wacky/storagesign/StorageSign.java | 15 ++++++++++++++- .../wacky/storagesign/StorageSignCore.java | 19 +++++++++++++------ src/main/resources/plugin.yml | 4 ++-- 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index 78e5598..30beeaa 100644 --- a/pom.xml +++ b/pom.xml @@ -1,8 +1,8 @@ 4.0.0 wacky - storagesign - 1.2.8 + StorageSign + 1.5.0a jar StorageSign @@ -12,7 +12,7 @@ - ${project.artifactId} + ${project.artifactId}_${project.version} src/main/resources @@ -44,7 +44,7 @@ org.spigotmc spigot-api - 1.19.2-R0.1-SNAPSHOT + 1.20-R0.1-SNAPSHOT diff --git a/src/main/java/wacky/storagesign/StorageSign.java b/src/main/java/wacky/storagesign/StorageSign.java index 57733d4..a49cbe9 100644 --- a/src/main/java/wacky/storagesign/StorageSign.java +++ b/src/main/java/wacky/storagesign/StorageSign.java @@ -89,6 +89,8 @@ else if(mat == Material.POTION || mat == Material.SPLASH_POTION || mat == Materi else if(signmat == Material.CRIMSON_WALL_SIGN) smat = Material.CRIMSON_SIGN; else if(signmat == Material.WARPED_WALL_SIGN) smat = Material.WARPED_SIGN; else if(signmat == Material.MANGROVE_WALL_SIGN) smat = Material.MANGROVE_SIGN; + else if(signmat == Material.CHERRY_WALL_SIGN) smat = Material.CHERRY_SIGN; + else if(signmat == Material.BAMBOO_WALL_SIGN) smat = Material.BAMBOO_SIGN; else smat = signmat; } @@ -133,6 +135,14 @@ else if(str.matches("MangroveStorageSign")) { damage = 1; return Material.MANGROVE_SIGN; } + else if(str.matches("CherryStorageSign")) { + damage = 1; + return Material.CHERRY_SIGN; + } + else if(str.matches("BambooStorageSign")) { + damage = 1; + return Material.BAMBOO_SIGN; + } if (str.matches("HorseEgg")){ damage = 1; return Material.END_PORTAL;//ガスト卵でよくね? @@ -177,6 +187,8 @@ else if (mat == Material.END_PORTAL){ else if(mat == Material.CRIMSON_SIGN && damage == 1) return "CrimsonStorageSign"; else if(mat == Material.WARPED_SIGN && damage == 1) return "WarpedStorageSign"; else if(mat == Material.MANGROVE_SIGN && damage == 1) return "MangroveStorageSign"; + else if(mat == Material.CHERRY_SIGN && damage == 1) return "CherryStorageSign"; + else if(mat == Material.BAMBOO_SIGN && damage == 1) return "BambooStorageSign"; //else if (mat == Material.LEGACY_STAINED_GLASS_PANE) return damage == 0 ? "STAINGLASS_PANE" : "STAINGLASS_P:" + damage; //else if (mat == Material.LEGACY_REDSTONE_COMPARATOR) return "RS_COMPARATOR"; //else if (mat == Material.LEGACY_REDSTONE_TORCH_ON) return "REDSTONE_TORCH"; @@ -265,7 +277,8 @@ public ItemStack getContents() {//中身取得、一部アイテム用の例外 if(damage == 1) return emptyHorseEgg(); }if(mat == Material.STONE_SLAB) return new ItemStack(mat,1);//ダメージ値0にする else if(mat == Material.OAK_SIGN || mat == Material.SPRUCE_SIGN || mat == Material.BIRCH_SIGN || mat == Material.JUNGLE_SIGN || - mat == Material.ACACIA_SIGN || mat == Material.DARK_OAK_SIGN || mat == Material.CRIMSON_SIGN || mat == Material.WARPED_SIGN || mat == Material.MANGROVE_SIGN) { + mat == Material.ACACIA_SIGN || mat == Material.DARK_OAK_SIGN || mat == Material.CRIMSON_SIGN || mat == Material.WARPED_SIGN || + mat == Material.MANGROVE_SIGN || mat == Material.CHERRY_SIGN || mat == Material.BAMBOO_SIGN) { if(damage == 0) return new ItemStack(mat,1); else return emptySign(mat); } diff --git a/src/main/java/wacky/storagesign/StorageSignCore.java b/src/main/java/wacky/storagesign/StorageSignCore.java index f52ca70..0045bb9 100644 --- a/src/main/java/wacky/storagesign/StorageSignCore.java +++ b/src/main/java/wacky/storagesign/StorageSignCore.java @@ -3,6 +3,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; import org.bukkit.ChatColor; import org.bukkit.DyeColor; @@ -49,6 +51,7 @@ import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.potion.PotionData; +import java.util.logging.Logger; public class StorageSignCore extends JavaPlugin implements Listener{ @@ -63,8 +66,8 @@ public void onEnable() { this.saveConfig(); //鯖別レシピが実装されたら - Material[] sign = {Material.OAK_SIGN,Material.BIRCH_SIGN,Material.SPRUCE_SIGN,Material.JUNGLE_SIGN,Material.ACACIA_SIGN,Material.DARK_OAK_SIGN,Material.CRIMSON_SIGN,Material.WARPED_SIGN,Material.MANGROVE_SIGN}; - for(int i= 0 ;i<9;i++) { + Material[] sign = {Material.OAK_SIGN,Material.BIRCH_SIGN,Material.SPRUCE_SIGN,Material.JUNGLE_SIGN,Material.ACACIA_SIGN,Material.DARK_OAK_SIGN,Material.CRIMSON_SIGN,Material.WARPED_SIGN,Material.MANGROVE_SIGN,Material.CHERRY_SIGN,Material.BAMBOO_SIGN}; + for(int i= 0 ;i<11;i++) { ShapedRecipe storageSignRecipe = new ShapedRecipe(new NamespacedKey(this,"ssr"+i),StorageSign.emptySign(sign[i])); //ShapedRecipe storageSignRecipe = new ShapedRecipe(StorageSign.emptySign()); @@ -319,7 +322,7 @@ public void onBlockBreak(BlockBreakEvent event) { Map breakSignMap = new HashMap<>(); if (isStorageSign(block)) breakSignMap.put(block.getLocation(), new StorageSign((Sign)block.getState(),block.getType())); - for (int i=0; i<5; i++) {//東西南北で判定 + for (int i=0; i<5; i++) {//東西南北で判定 BlockFace[] face = {BlockFace.UP,BlockFace.SOUTH,BlockFace.NORTH,BlockFace.EAST,BlockFace.WEST}; block = event.getBlock().getRelative(face[i]); if (i==0 && isSignPost(block) && isStorageSign(block)) breakSignMap.put(block.getLocation(), new StorageSign((Sign)block.getState(),block.getType())); @@ -335,9 +338,9 @@ public void onBlockBreak(BlockBreakEvent event) { for (Location loc : breakSignMap.keySet()) { StorageSign sign = breakSignMap.get(loc); Location loc2 = loc; - loc2.add(0.5, 0.5, 0.5);//中心にドロップさせる - loc.getWorld().dropItem(loc2, sign.getStorageSign()); - loc.getBlock().setType(Material.AIR); + loc2.add(0.5, 0.5, 0.5);//中心にドロップさせる + loc.getWorld().dropItem(loc2, sign.getStorageSign()); + loc.getBlock().setType(Material.AIR); } } @@ -655,6 +658,8 @@ private boolean isSignPost(Material mat) { case CRIMSON_SIGN: case WARPED_SIGN: case MANGROVE_SIGN: + case CHERRY_SIGN: + case BAMBOO_SIGN: return true; default: } @@ -672,6 +677,8 @@ private boolean isWallSign(Material mat) { case CRIMSON_WALL_SIGN: case WARPED_WALL_SIGN: case MANGROVE_WALL_SIGN: + case CHERRY_WALL_SIGN: + case BAMBOO_WALL_SIGN: return true; default: } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 90164be..fe91463 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,8 +1,8 @@ name: StorageSign main: wacky.storagesign.StorageSignCore -version: 1.4.0 +version: ${version} author: wackyls6 -api-version: 1.15 +api-version: 1.19 softdepend: [WorldGuard] website: http://forum.minecraftuser.jp/viewtopic.php?t=15065 permissions: