Skip to content

Commit

Permalink
Fix /npc camel and /npc llama
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed Dec 18, 2022
1 parent 44e988b commit 3ee17c6
Show file tree
Hide file tree
Showing 21 changed files with 86 additions and 69 deletions.
Expand Up @@ -2,18 +2,17 @@

import org.bukkit.command.CommandSender;
import org.bukkit.entity.Camel;
import org.bukkit.entity.EntityType;

import net.citizensnpcs.api.command.Command;
import net.citizensnpcs.api.command.CommandContext;
import net.citizensnpcs.api.command.CommandMessages;
import net.citizensnpcs.api.command.Flag;
import net.citizensnpcs.api.command.Requirements;
import net.citizensnpcs.api.command.exception.CommandException;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.trait.Trait;
import net.citizensnpcs.api.trait.TraitName;
import net.citizensnpcs.api.trait.trait.MobType;
import net.citizensnpcs.api.util.Messaging;
import net.citizensnpcs.util.Messages;
import net.citizensnpcs.util.NMS;
Expand Down Expand Up @@ -55,11 +54,9 @@ public enum CamelPose {
min = 1,
max = 1,
permission = "citizens.npc.camel")
@Requirements(selected = true, ownership = true)
@Requirements(selected = true, ownership = true, types = EntityType.CAMEL)
public static void camel(CommandContext args, CommandSender sender, NPC npc, @Flag("pose") CamelPose pose)
throws CommandException {
if (npc.getOrAddTrait(MobType.class).getType().name().equals("CAMEL"))
throw new CommandException(CommandMessages.REQUIREMENTS_INVALID_MOB_TYPE);
CamelTrait trait = npc.getOrAddTrait(CamelTrait.class);
String output = "";

Expand Down
Expand Up @@ -67,7 +67,7 @@ public void setStrength(int strength) {
@Requirements(selected = true, ownership = true)
public static void llama(CommandContext args, CommandSender sender, NPC npc,
@Flag({ "color", "colour" }) Color color, @Flag("strength") Integer strength) throws CommandException {
if (npc.getOrAddTrait(MobType.class).getType().name().contains("LLAMA"))
if (!npc.getOrAddTrait(MobType.class).getType().name().contains("LLAMA"))
throw new CommandException(CommandMessages.REQUIREMENTS_INVALID_MOB_TYPE);
LlamaTrait trait = npc.getOrAddTrait(LlamaTrait.class);
String output = "";
Expand Down
Expand Up @@ -4,6 +4,7 @@
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.function.Supplier;

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
Expand All @@ -14,7 +15,8 @@
import net.minecraft.server.v1_11_R1.RegistryMaterials;

@SuppressWarnings("rawtypes")
public class CustomEntityRegistry extends RegistryMaterials {
public class CustomEntityRegistry extends RegistryMaterials
implements Supplier<RegistryMaterials<MinecraftKey, Class<? extends Entity>>> {
private final BiMap<MinecraftKey, Class<? extends Entity>> entities = HashBiMap.create();
private final BiMap<Class<? extends Entity>, MinecraftKey> entityClasses = this.entities.inverse();
private final Map<Class<? extends Entity>, Integer> entityIds = Maps.newHashMap();
Expand Down Expand Up @@ -57,6 +59,11 @@ public boolean d(Object paramK) {
return wrapped.d((MinecraftKey) paramK);
}

@Override
public RegistryMaterials<MinecraftKey, Class<? extends Entity>> get() {
return wrapped;
}

@Override
public Class<? extends Entity> get(Object key) {
if (entities.containsKey(key)) {
Expand All @@ -71,10 +78,6 @@ public Object getId(int paramInt) {
return wrapped.getId(paramInt);
}

public RegistryMaterials<MinecraftKey, Class<? extends Entity>> getWrapped() {
return wrapped;
}

@Override
public Iterator<Object> iterator() {
return (Iterator) wrapped.iterator();
Expand Down
Expand Up @@ -1258,7 +1258,7 @@ public void shutdown() {
return;
try {
MethodHandle setter = NMS.getFinalSetter(EntityTypes.class, "b");
setter.invoke(ENTITY_REGISTRY.getWrapped());
setter.invoke(ENTITY_REGISTRY.get());
} catch (Throwable e) {
}
}
Expand Down
Expand Up @@ -4,6 +4,7 @@
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.function.Supplier;

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
Expand All @@ -14,7 +15,8 @@
import net.minecraft.server.v1_12_R1.RegistryMaterials;

@SuppressWarnings("rawtypes")
public class CustomEntityRegistry extends RegistryMaterials {
public class CustomEntityRegistry extends RegistryMaterials
implements Supplier<RegistryMaterials<MinecraftKey, Class<? extends Entity>>> {
private final BiMap<MinecraftKey, Class<? extends Entity>> entities = HashBiMap.create();
private final BiMap<Class<? extends Entity>, MinecraftKey> entityClasses = this.entities.inverse();
private final Map<Class<? extends Entity>, Integer> entityIds = Maps.newHashMap();
Expand Down Expand Up @@ -57,6 +59,11 @@ public boolean d(Object paramK) {
return wrapped.d((MinecraftKey) paramK);
}

@Override
public RegistryMaterials<MinecraftKey, Class<? extends Entity>> get() {
return wrapped;
}

@Override
public Class<? extends Entity> get(Object key) {
if (entities.containsKey(key)) {
Expand All @@ -71,10 +78,6 @@ public Object getId(int paramInt) {
return wrapped.getId(paramInt);
}

public RegistryMaterials<MinecraftKey, Class<? extends Entity>> getWrapped() {
return wrapped;
}

@Override
public Iterator<Object> iterator() {
return (Iterator) wrapped.iterator();
Expand Down
Expand Up @@ -1268,7 +1268,7 @@ public void shutdown() {
return;
try {
MethodHandle setter = NMS.getFinalSetter(EntityTypes.class, "b");
setter.invoke(ENTITY_REGISTRY.getWrapped());
setter.invoke(ENTITY_REGISTRY.get());
} catch (Throwable e) {
}
}
Expand Down
Expand Up @@ -4,6 +4,7 @@
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.function.Supplier;

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
Expand All @@ -14,7 +15,7 @@
import net.minecraft.server.v1_13_R2.RegistryMaterials;

@SuppressWarnings("rawtypes")
public class CustomEntityRegistry extends RegistryMaterials {
public class CustomEntityRegistry extends RegistryMaterials implements Supplier<RegistryMaterials<EntityTypes<?>>> {
private final BiMap<MinecraftKey, EntityTypes> entities = HashBiMap.create();
private final BiMap<EntityTypes, MinecraftKey> entityClasses = this.entities.inverse();
private final Map<EntityTypes, Integer> entityIds = Maps.newHashMap();
Expand Down Expand Up @@ -52,6 +53,11 @@ public EntityTypes findType(Class<?> search) {
return null;
}

@Override
public RegistryMaterials<EntityTypes<?>> get() {
return wrapped;
}

@Override
public EntityTypes get(MinecraftKey key) {
if (entities.containsKey(key)) {
Expand All @@ -70,10 +76,6 @@ public MinecraftKey getKey(Object value) {
return wrapped.getKey((EntityTypes) value);
}

public RegistryMaterials<EntityTypes<?>> getWrapped() {
return wrapped;
}

@Override
public Iterator<Object> iterator() {
return (Iterator) wrapped.iterator();
Expand Down
Expand Up @@ -1307,7 +1307,7 @@ public void shutdown() {
field = NMS.getFinalSetter(IRegistry.class, "ENTITY_TYPE", false);
}
try {
field.invoke(ENTITY_REGISTRY.getWrapped());
field.invoke(ENTITY_REGISTRY.get());
} catch (Throwable e) {
}
}
Expand Down
Expand Up @@ -5,6 +5,7 @@
import java.util.Optional;
import java.util.Random;
import java.util.Set;
import java.util.function.Supplier;

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
Expand All @@ -13,11 +14,11 @@
import net.minecraft.server.v1_14_R1.*;

@SuppressWarnings("rawtypes")
public class CustomEntityRegistry extends RegistryBlocks {
public class CustomEntityRegistry extends RegistryBlocks implements Supplier<RegistryBlocks<EntityTypes<?>>> {
private final BiMap<MinecraftKey, EntityTypes> entities = HashBiMap.create();
private final BiMap<EntityTypes, MinecraftKey> entityClasses = this.entities.inverse();
private final Map<EntityTypes, Integer> entityIds = Maps.newHashMap();
private final RegistryMaterials<EntityTypes<?>> wrapped;
private final RegistryBlocks<EntityTypes<?>> wrapped;

public CustomEntityRegistry(RegistryBlocks<EntityTypes<?>> original) {
super(original.a().getNamespace());
Expand Down Expand Up @@ -55,6 +56,11 @@ public Object fromId(int var0) {
return this.wrapped.fromId(var0);
}

@Override
public RegistryBlocks<EntityTypes<?>> get() {
return wrapped;
}

@Override
public EntityTypes get(MinecraftKey key) {
if (entities.containsKey(key)) {
Expand Down Expand Up @@ -82,10 +88,6 @@ public Optional getOptional(MinecraftKey var0) {
return Optional.ofNullable(this.wrapped.get(var0));
}

public RegistryMaterials<EntityTypes<?>> getWrapped() {
return wrapped;
}

@Override
public Iterator<Object> iterator() {
return (Iterator) wrapped.iterator();
Expand Down
Expand Up @@ -1366,7 +1366,7 @@ public void shutdown() {
return;
MethodHandle field = NMS.getFinalSetter(IRegistry.class, "ENTITY_TYPE");
try {
field.invoke(null, ENTITY_REGISTRY.getWrapped());
field.invoke(null, ENTITY_REGISTRY.get());
} catch (Throwable e) {
}
}
Expand Down
Expand Up @@ -5,6 +5,7 @@
import java.util.Optional;
import java.util.Random;
import java.util.Set;
import java.util.function.Supplier;

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
Expand All @@ -13,11 +14,11 @@
import net.minecraft.server.v1_15_R1.*;

@SuppressWarnings("rawtypes")
public class CustomEntityRegistry extends RegistryBlocks {
public class CustomEntityRegistry extends RegistryBlocks implements Supplier<RegistryBlocks<EntityTypes<?>>> {
private final BiMap<MinecraftKey, EntityTypes> entities = HashBiMap.create();
private final BiMap<EntityTypes, MinecraftKey> entityClasses = this.entities.inverse();
private final Map<EntityTypes, Integer> entityIds = Maps.newHashMap();
private final RegistryMaterials<EntityTypes<?>> wrapped;
private final RegistryBlocks<EntityTypes<?>> wrapped;

public CustomEntityRegistry(RegistryBlocks<EntityTypes<?>> original) {
super(original.a().getNamespace());
Expand Down Expand Up @@ -55,6 +56,11 @@ public Object fromId(int var0) {
return this.wrapped.fromId(var0);
}

@Override
public RegistryBlocks<EntityTypes<?>> get() {
return wrapped;
}

@Override
public EntityTypes get(MinecraftKey key) {
if (entities.containsKey(key)) {
Expand Down Expand Up @@ -82,10 +88,6 @@ public Optional getOptional(MinecraftKey var0) {
return this.wrapped.getOptional(var0);
}

public RegistryMaterials<EntityTypes<?>> getWrapped() {
return wrapped;
}

@Override
public Iterator<Object> iterator() {
return (Iterator) wrapped.iterator();
Expand Down
Expand Up @@ -1409,7 +1409,7 @@ public void shutdown() {
return;
MethodHandle field = NMS.getFinalSetter(IRegistry.class, "ENTITY_TYPE");
try {
field.invoke(null, ENTITY_REGISTRY.getWrapped());
field.invoke(null, ENTITY_REGISTRY.get());
} catch (Throwable e) {
}
}
Expand Down
Expand Up @@ -6,6 +6,7 @@
import java.util.Optional;
import java.util.Random;
import java.util.Set;
import java.util.function.Supplier;

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
Expand All @@ -16,11 +17,11 @@
import net.minecraft.server.v1_16_R3.*;

@SuppressWarnings("rawtypes")
public class CustomEntityRegistry extends RegistryBlocks {
public class CustomEntityRegistry extends RegistryBlocks implements Supplier<RegistryBlocks<EntityTypes<?>>> {
private final BiMap<MinecraftKey, EntityTypes> entities = HashBiMap.create();
private final BiMap<EntityTypes, MinecraftKey> entityClasses = this.entities.inverse();
private final Map<EntityTypes, Integer> entityIds = Maps.newHashMap();
private final RegistryMaterials<EntityTypes<?>> wrapped;
private final RegistryBlocks<EntityTypes<?>> wrapped;

@SuppressWarnings("unchecked")
public CustomEntityRegistry(RegistryBlocks<EntityTypes<?>> original) throws Throwable {
Expand Down Expand Up @@ -76,6 +77,11 @@ public Object fromId(int var0) {
return this.wrapped.fromId(var0);
}

@Override
public RegistryBlocks<EntityTypes<?>> get() {
return wrapped;
}

@Override
public EntityTypes get(MinecraftKey key) {
if (entities.containsKey(key)) {
Expand Down Expand Up @@ -103,10 +109,6 @@ public Optional getOptional(MinecraftKey var0) {
return this.wrapped.getOptional(var0);
}

public RegistryMaterials<EntityTypes<?>> getWrapped() {
return wrapped;
}

@Override
public Iterator<Object> iterator() {
return (Iterator) wrapped.iterator();
Expand Down
Expand Up @@ -1436,7 +1436,7 @@ public void shutdown() {
return;
MethodHandle field = NMS.getFinalSetter(IRegistry.class, "ENTITY_TYPE");
try {
field.invoke(null, ENTITY_REGISTRY.getWrapped());
field.invoke(null, ENTITY_REGISTRY.get());
} catch (Throwable e) {
}
}
Expand Down

0 comments on commit 3ee17c6

Please sign in to comment.