Skip to content
This repository has been archived by the owner on Feb 15, 2024. It is now read-only.

Commit

Permalink
added extended entity types
Browse files Browse the repository at this point in the history
  • Loading branch information
choel committed Aug 7, 2012
1 parent 31cfe29 commit bcace6a
Show file tree
Hide file tree
Showing 5 changed files with 122 additions and 4 deletions.
4 changes: 2 additions & 2 deletions pom.xml
Expand Up @@ -2,12 +2,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.sadmean.mc.SpawnerAdjuster</groupId>
<artifactId>SpawnerAdjuster</artifactId>
<version>1.7</version>
<version>1.8</version>
<dependencies>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.3.1-R0.1</version>
<version>1.3.1-R1.0</version>
</dependency>
<dependency>
<groupId>net.milkbowl.vault</groupId>
Expand Down
Expand Up @@ -51,6 +51,21 @@ public void onPlayerInteract(PlayerInteractEvent event) {
//modify spawner settings, for MC1.3
CreatureSpawner spawner = (CreatureSpawner) event.getClickedBlock().getState();

//if creeper, charge and uncharge
if(spawner.getSpawnedType() == EntityType.CREEPER) {
//nothing yet
}

//if villager, change robe color
if(spawner.getSpawnedType() == EntityType.VILLAGER) {
//nothing yet
}

//if enderman, change holding block
if(spawner.getSpawnedType() == EntityType.ENDERMAN) {
//nothing yet
}

}
}
}
Expand Down Expand Up @@ -159,6 +174,27 @@ public static void setSpawnType(CreatureSpawner spawner, Player player) {
if(!SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Neutral.Squid") && SpawnerAdjuster.mustHaveValidPermissionsToAlterSpawner) return;
i = 24;
}
if (spawner.getSpawnedType() == EntityType.ARROW){
if(!SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Arrow") && SpawnerAdjuster.mustHaveValidPermissionsToAlterSpawner) return;
i = 25;
}
if (spawner.getSpawnedType() == EntityType.BOAT){
if(!SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Boat") && SpawnerAdjuster.mustHaveValidPermissionsToAlterSpawner) return;
i = 26;
}
if (spawner.getSpawnedType() == EntityType.EGG){
if(!SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Egg") && SpawnerAdjuster.mustHaveValidPermissionsToAlterSpawner) return;
i = 27;
}
if (spawner.getSpawnedType() == EntityType.MINECART){
if(!SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Minecart") && SpawnerAdjuster.mustHaveValidPermissionsToAlterSpawner) return;
i = 28;
}
if (spawner.getSpawnedType() == EntityType.FIREBALL){
if(!SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Fireball") && SpawnerAdjuster.mustHaveValidPermissionsToAlterSpawner) return;
i = 29;
}

//if i is still -1, then we have an unknown mob type. We should not play with that spawner
if(i == -1) {
SpawnerAdjuster.log_It("warning", "Unkown mob type error from spawner at " + spawner.getLocation());
Expand Down Expand Up @@ -267,13 +303,33 @@ public static void setSpawnType(CreatureSpawner spawner, Player player) {
spawner.setSpawnedType(EntityType.SQUID);
return;
}
if(i == 24 && SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Hostile.CaveSpider") && SpawnerAdjuster.allowCaveSpider) {
if(i == 24 && SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Arrow") && SpawnerAdjuster.allowArrow) {
spawner.setSpawnedType(EntityType.ARROW);
return;
}
if(i == 25 && SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Boat") && SpawnerAdjuster.allowBoat) {
spawner.setSpawnedType(EntityType.BOAT);
return;
}
if(i == 26 && SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Egg") && SpawnerAdjuster.allowEgg) {
spawner.setSpawnedType(EntityType.EGG);
return;
}
if(i == 27 && SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Minecart") && SpawnerAdjuster.allowMinecart) {
spawner.setSpawnedType(EntityType.MINECART);
return;
}
if(i == 28 && SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Entity.Fireball") && SpawnerAdjuster.allowFireball) {
spawner.setSpawnedType(EntityType.FIREBALL);
return;
}
if(i == 29 && SpawnerAdjuster.permCheck(player, "SpawnerAdjuster.SetMobs.Hostile.CaveSpider") && SpawnerAdjuster.allowCaveSpider) {
spawner.setSpawnedType(EntityType.CAVE_SPIDER);
return;
}
b++;
i++;
if(b > 30) {
if(b > 35) {
//infinite loop protection.
return;
}
Expand Down
31 changes: 31 additions & 0 deletions src/main/java/com/sadmean/mc/SpawnerAdjuster/Config/Config.java
Expand Up @@ -270,6 +270,37 @@ public static boolean load() {
configYAML.set("spawner.allowGiant", SpawnerAdjuster.allowGiant);
}

//Entities
if(configYAML.contains("spawner.allowFireball")) {
SpawnerAdjuster.allowFireball = configYAML.getBoolean("spawner.allowFireball", false);
} else {
configYAML.set("spawner.allowFireball", SpawnerAdjuster.allowFireball);
}

if(configYAML.contains("spawner.allowBoat")) {
SpawnerAdjuster.allowBoat = configYAML.getBoolean("spawner.allowBoat", false);
} else {
configYAML.set("spawner.allowBoat", SpawnerAdjuster.allowBoat);
}

if(configYAML.contains("spawner.allowMinecart")) {
SpawnerAdjuster.allowMinecart = configYAML.getBoolean("spawner.allowMinecart", false);
} else {
configYAML.set("spawner.allowMinecart", SpawnerAdjuster.allowMinecart);
}

if(configYAML.contains("spawner.allowEgg")) {
SpawnerAdjuster.allowEgg = configYAML.getBoolean("spawner.allowEgg", false);
} else {
configYAML.set("spawner.allowEgg", SpawnerAdjuster.allowEgg);
}

if(configYAML.contains("spawner.allowArrow")) {
SpawnerAdjuster.allowArrow = configYAML.getBoolean("spawner.allowArrow", false);
} else {
configYAML.set("spawner.allowArrow", SpawnerAdjuster.allowArrow);
}

//advanced settings
if(configYAML.contains("advanced.stopPigSpawns")) {
SpawnerAdjuster.advanced_stopPigSpawns = configYAML.getBoolean("advanced.stopPigSpawns", false);
Expand Down
Expand Up @@ -102,6 +102,12 @@ public class SpawnerAdjuster extends JavaPlugin {
public static boolean advanced_requireExtraPermission = false;
//1.7.0
public static boolean advanced_hideMessageIfSpawnerUnchanged = false;
//1.8.0
public static boolean allowFireball = false;
public static boolean allowMinecart = false;
public static boolean allowEgg = false;
public static boolean allowBoat = false;
public static boolean allowArrow = false;

public static SpawnerAdjuster getThisPlugin() { //I do not know. Needed for fancy log
return thisPlugin;
Expand Down
25 changes: 25 additions & 0 deletions src/main/resources/plugin.yml
Expand Up @@ -38,6 +38,7 @@ permissions:
SpawnerAdjuster.SetMobs.Utility.*: false
SpawnerAdjuster.SetMobs.Boss.*: false
SpawnerAdjuster.SetMobs.Unused.*: false
SpawnerAdjuster.SetMobs.Entity.*: false
default: false
SpawnerAdjuster.SetMobs.Neutral.*:
description: Allows players to set all NEUTRAL mob types on a monster spawner
Expand Down Expand Up @@ -81,6 +82,15 @@ permissions:
SpawnerAdjuster.SetMobs.Utility.SnowGolem: false
SpawnerAdjuster.SetMobs.Utility.IronGolem: false
default: false
SpawnerAdjuster.SetMobs.Entity.*:
description: Allows players to set non-creature entity types on a monster spawner
children:
SpawnerAdjuster.SetMobs.Entity.Arrow: false
SpawnerAdjuster.SetMobs.Entity.Boat: false
SpawnerAdjuster.SetMobs.Entity.Fireball: false
SpawnerAdjuster.SetMobs.Entity.Minecart: false
SpawnerAdjuster.SetMobs.Entity.Egg: false
default: false
SpawnerAdjuster.SetMobs.Boss.*:
description: Allows players to set all Unsued mob types on a monster spawner
children:
Expand Down Expand Up @@ -167,3 +177,18 @@ permissions:
SpawnerAdjuster.SetMobs.Neutral.Mooshroom:
description: Allows a player to set a Monster Spawner to spawn Mooshrooms
default: false
SpawnerAdjuster.SetMobs.Entity.Arrow:
description: Allows a player to set a Monster Spawner to spawn arrows
default: false
SpawnerAdjuster.SetMobs.Entity.Boat:
description: Allows a player to set a Monster Spawner to spawn boats
default: false
SpawnerAdjuster.SetMobs.Neutral.Minecart:
description: Allows a player to set a Monster Spawner to spawn Minecarts
default: false
SpawnerAdjuster.SetMobs.Neutral.Fireball:
description: Allows a player to set a Monster Spawner to spawn Fireballs
default: false
SpawnerAdjuster.SetMobs.Neutral.Egg:
description: Allows a player to set a Monster Spawner to spawn Eggs
default: false

0 comments on commit bcace6a

Please sign in to comment.