Update to Minecraft 1.9

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2016-03-01 08:32:46 +11:00
parent 2da480a9c8
commit 21d4bf5d1f
305 changed files with 6684 additions and 6105 deletions

View File

@@ -0,0 +1,70 @@
package org.bukkit.craftbukkit.attribute;
import com.google.common.base.Preconditions;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance;
import org.bukkit.attribute.AttributeModifier;
public class CraftAttributeInstance implements AttributeInstance {
private final net.minecraft.server.AttributeInstance handle;
private final Attribute attribute;
public CraftAttributeInstance(net.minecraft.server.AttributeInstance handle, Attribute attribute) {
this.handle = handle;
this.attribute = attribute;
}
@Override
public Attribute getAttribute() {
return attribute;
}
@Override
public double getBaseValue() {
return handle.b();
}
@Override
public void setBaseValue(double d) {
handle.setValue(d);
}
@Override
public Collection<AttributeModifier> getModifiers() {
List<AttributeModifier> result = new ArrayList<AttributeModifier>();
for (net.minecraft.server.AttributeModifier nms : handle.c()) {
result.add(convert(nms));
}
return result;
}
@Override
public void addModifier(AttributeModifier modifier) {
Preconditions.checkArgument(modifier != null, "modifier");
handle.b(convert(modifier));
}
@Override
public void removeModifier(AttributeModifier modifier) {
Preconditions.checkArgument(modifier != null, "modifier");
handle.c(convert(modifier));
}
@Override
public double getValue() {
return handle.getValue();
}
private static net.minecraft.server.AttributeModifier convert(AttributeModifier bukkit) {
return new net.minecraft.server.AttributeModifier(bukkit.getUniqueId(), bukkit.getName(), bukkit.getAmount(), bukkit.getOperation().ordinal());
}
private static AttributeModifier convert(net.minecraft.server.AttributeModifier nms) {
return new AttributeModifier(nms.a(), nms.b(), nms.d(), AttributeModifier.Operation.values()[nms.c()]);
}
}

View File

@@ -0,0 +1,37 @@
package org.bukkit.craftbukkit.attribute;
import com.google.common.base.Preconditions;
import net.minecraft.server.AttributeMapBase;
import org.bukkit.attribute.Attributable;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance;
public class CraftAttributeMap implements Attributable {
private final AttributeMapBase handle;
public CraftAttributeMap(AttributeMapBase handle) {
this.handle = handle;
}
@Override
public AttributeInstance getAttribute(Attribute attribute) {
Preconditions.checkArgument(attribute != null, "attribute");
net.minecraft.server.AttributeInstance nms = handle.a(toMinecraft(attribute.name()));
return (nms == null) ? null : new CraftAttributeInstance(nms, attribute);
}
static String toMinecraft(String bukkit) {
int first = bukkit.indexOf('_');
int second = bukkit.indexOf('_', first + 1);
StringBuilder sb = new StringBuilder(bukkit.toLowerCase());
sb.setCharAt(first, '.');
sb.deleteCharAt(second);
sb.setCharAt(second, bukkit.charAt(second + 1));
return sb.toString();
}
}