Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions plugin.yml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>wacky</groupId>
<artifactId>storagesign</artifactId>
<version>1.2.8</version>
<artifactId>StorageSign</artifactId>
<version>1.5.0a</version>
<packaging>jar</packaging>
<name>StorageSign</name>
<repositories>
Expand All @@ -12,7 +12,7 @@
</repository>
</repositories>
<build>
<finalName>${project.artifactId}</finalName>
<finalName>${project.artifactId}_${project.version}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
Expand Down Expand Up @@ -44,7 +44,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.15-R0.1-SNAPSHOT</version>
<version>1.20-R0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<properties>
Expand Down
21 changes: 20 additions & 1 deletion src/main/java/wacky/storagesign/StorageSign.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ 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 if(signmat == Material.CHERRY_WALL_SIGN) smat = Material.CHERRY_SIGN;
else if(signmat == Material.BAMBOO_WALL_SIGN) smat = Material.BAMBOO_SIGN;
else smat = signmat;

}
Expand Down Expand Up @@ -128,6 +131,18 @@ else if(str.matches("WarpedStorageSign")) {
damage = 1;
return Material.WARPED_SIGN;
}
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;//ガスト卵でよくね?
Expand Down Expand Up @@ -171,6 +186,9 @@ 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.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";
Expand Down Expand Up @@ -259,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.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);
}
Expand Down
51 changes: 43 additions & 8 deletions src/main/java/wacky/storagesign/StorageSignCore.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
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;
import org.bukkit.GameMode;
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;
Expand Down Expand Up @@ -50,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{

Expand All @@ -64,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};
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,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());
Expand Down Expand Up @@ -246,6 +248,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<player.getInventory().getSize(); i++) {
ItemStack item = player.getInventory().getItem(i);
if (storageSign.isSimilar(item)) {
Expand All @@ -262,7 +265,11 @@ else if (itemSign.isEmpty() && storageSign.getAmount() > 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();
Expand Down Expand Up @@ -315,7 +322,7 @@ public void onBlockBreak(BlockBreakEvent event) {
Map<Location, StorageSign> 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()));
Expand All @@ -331,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);
}
}

Expand Down Expand Up @@ -650,6 +657,9 @@ private boolean isSignPost(Material mat) {
case DARK_OAK_SIGN:
case CRIMSON_SIGN:
case WARPED_SIGN:
case MANGROVE_SIGN:
case CHERRY_SIGN:
case BAMBOO_SIGN:
return true;
default:
}
Expand All @@ -666,6 +676,9 @@ private boolean isWallSign(Material mat) {
case DARK_OAK_WALL_SIGN:
case CRIMSON_WALL_SIGN:
case WARPED_WALL_SIGN:
case MANGROVE_WALL_SIGN:
case CHERRY_WALL_SIGN:
case BAMBOO_WALL_SIGN:
return true;
default:
}
Expand Down Expand Up @@ -737,4 +750,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;
}
}
4 changes: 2 additions & 2 deletions src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: StorageSign
main: wacky.storagesign.StorageSignCore
version: 1.2.8
version: ${version}
author: wackyls6
api-version: 1.15
api-version: 1.19
softdepend: [WorldGuard]
website: http://forum.minecraftuser.jp/viewtopic.php?t=15065
permissions:
Expand Down