Skip to content

Commit 15ca3d6

Browse files
committed
requested changes
1 parent 251aa5b commit 15ca3d6

File tree

3 files changed

+17
-27
lines changed

3 files changed

+17
-27
lines changed

src/main/java/ch/njol/skript/aliases/Aliases.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,11 @@ public static EntityData<?> getRelatedEntity(ItemData data) {
557557
* <p>Item types provided by this method are updated when aliases are
558558
* reloaded. However, this also means they are tracked by aliases system
559559
* and NOT necessarily garbage-collected.
560+
*
561+
* <p>Relying on this method to create item types is not safe,
562+
* as users can change aliases at any point. ItemTypes should instead be created
563+
* via {@link Material}s, {@link org.bukkit.Tag}s, or any other manual method.
564+
*
560565
* @param name Name of item to search from aliases.
561566
* @return An item.
562567
* @throws IllegalArgumentException When item is not found.

src/main/java/ch/njol/skript/entity/BoatChestData.java

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,8 @@
3333

3434
public class BoatChestData extends EntityData<ChestBoat> {
3535

36-
private static Material oakBoat = null;
37-
private static Material spruceBoat = null;
38-
private static Material birchBoat = null;
39-
private static Material jungleBoat = null;
40-
private static Material acaciaBoat = null;
41-
private static Material darkOakBoat = null;
42-
4336
static {
4437
if (Skript.classExists("org.bukkit.entity.ChestBoat")) {
45-
//noinspection ConstantConditions
46-
oakBoat = Material.getMaterial("OAK_CHEST_BOAT");
47-
//noinspection ConstantConditions
48-
spruceBoat = Material.getMaterial("SPRUCE_CHEST_BOAT");
49-
//noinspection ConstantConditions
50-
birchBoat = Material.getMaterial("BIRCH_CHEST_BOAT");
51-
//noinspection ConstantConditions
52-
jungleBoat = Material.getMaterial("JUNGLE_CHEST_BOAT");
53-
//noinspection ConstantConditions
54-
acaciaBoat = Material.getMaterial("ACACIA_CHEST_BOAT");
55-
//noinspection ConstantConditions
56-
darkOakBoat = Material.getMaterial("DARK_OAK_CHEST_BOAT");
5738
EntityData.register(BoatChestData.class, "chest boat", ChestBoat.class, 0,
5839
"chest boat", "any chest boat", "oak chest boat", "spruce chest boat", "birch chest boat",
5940
"jungle chest boat", "acacia chest boat", "dark oak chest boat");
@@ -131,17 +112,17 @@ public boolean isOfItemType(ItemType itemType) {
131112

132113
ItemStack stack = itemType.getRandom();
133114
Material type = stack.getType();
134-
if (oakBoat == type)
115+
if (type == Material.OAK_CHEST_BOAT)
135116
ordinal = 0;
136-
else if (spruceBoat == type)
117+
else if (type == Material.SPRUCE_CHEST_BOAT)
137118
ordinal = TreeSpecies.REDWOOD.ordinal();
138-
else if (birchBoat == type)
119+
else if (type == Material.BIRCH_CHEST_BOAT)
139120
ordinal = TreeSpecies.BIRCH.ordinal();
140-
else if (jungleBoat == type)
121+
else if (type == Material.JUNGLE_CHEST_BOAT)
141122
ordinal = TreeSpecies.JUNGLE.ordinal();
142-
else if (acaciaBoat == type)
123+
else if (type == Material.ACACIA_CHEST_BOAT)
143124
ordinal = TreeSpecies.ACACIA.ordinal();
144-
else if (darkOakBoat == type)
125+
else if (type == Material.DARK_OAK_CHEST_BOAT)
145126
ordinal = TreeSpecies.DARK_OAK.ordinal();
146127
return hashCode_i() == ordinal + 2 || (matchedPattern + ordinal == 0) || ordinal == 0;
147128
}

src/main/java/ch/njol/skript/expressions/ExprSpawnerType.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.bukkit.Material;
2323
import org.bukkit.block.Block;
2424
import org.bukkit.block.CreatureSpawner;
25+
import org.bukkit.entity.EntityType;
2526
import org.bukkit.event.Event;
2627
import org.eclipse.jdt.annotation.Nullable;
2728

@@ -51,9 +52,12 @@ public class ExprSpawnerType extends SimplePropertyExpression<Block, EntityData>
5152
@Override
5253
@Nullable
5354
public EntityData convert(Block block) {
54-
if (block.getType() != Material.SPAWNER)
55+
if (!(block.getState() instanceof CreatureSpawner))
5556
return null;
56-
return EntityUtils.toSkriptEntityData(((CreatureSpawner) block.getState()).getSpawnedType());
57+
EntityType type = ((CreatureSpawner) block.getState()).getSpawnedType();
58+
if (type == null)
59+
return null;
60+
return EntityUtils.toSkriptEntityData(type);
5761
}
5862

5963
@Nullable

0 commit comments

Comments
 (0)