Fix equipment
This commit is contained in:
parent
f7b5bd6246
commit
63aa8b7a20
3 changed files with 27 additions and 33 deletions
|
@ -5,20 +5,7 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment="">
|
<list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/MojangApiError.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/CSFBImpl.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/CachedSkinFetcherBuilder.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/CachedSkinFetcherImpl.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/ErroredTextureProperties.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/SFBImpl.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/SFUtils.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/SkinFetcher.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/SkinFetcherBuilder.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/extras/skin/SkinFetcherImpl.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/EntityLib.java" beforeDir="false" afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/EntityLib.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/testentitylib/TestPlayerCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/testentitylib/TestPlayerCommand.java" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
@ -324,6 +311,7 @@
|
||||||
<workItem from="1709139306864" duration="1813000" />
|
<workItem from="1709139306864" duration="1813000" />
|
||||||
<workItem from="1709142473633" duration="2565000" />
|
<workItem from="1709142473633" duration="2565000" />
|
||||||
<workItem from="1714477887801" duration="3618000" />
|
<workItem from="1714477887801" duration="3618000" />
|
||||||
|
<workItem from="1714566597065" duration="351000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -7,6 +7,7 @@ import com.github.retrooper.packetevents.protocol.player.EquipmentSlot;
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityEquipment;
|
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityEquipment;
|
||||||
import me.tofaa.entitylib.EntityLib;
|
import me.tofaa.entitylib.EntityLib;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -29,39 +30,38 @@ public class WrapperEntityEquipment {
|
||||||
Arrays.fill(equipment, ItemStack.EMPTY);
|
Arrays.fill(equipment, ItemStack.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHelmet(@NotNull ItemStack itemStack) {
|
public void setHelmet(@Nullable ItemStack itemStack) {
|
||||||
equipment[5] = itemStack;
|
equipment[5] = itemStack == null ? ItemStack.EMPTY : itemStack;
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setChestplate(@NotNull ItemStack itemStack) {
|
public void setChestplate(@Nullable ItemStack itemStack) {
|
||||||
equipment[4] = itemStack;
|
equipment[4] = itemStack == null ? ItemStack.EMPTY : itemStack;
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLeggings(@NotNull ItemStack itemStack) {
|
public void setLeggings(@Nullable ItemStack itemStack) {
|
||||||
equipment[3] = itemStack;
|
equipment[3] = itemStack == null ? ItemStack.EMPTY : itemStack;
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBoots(@NotNull ItemStack itemStack) {
|
public void setBoots(@Nullable ItemStack itemStack) {
|
||||||
equipment[2] = itemStack;
|
equipment[2] = itemStack == null ? ItemStack.EMPTY : itemStack;
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMainHand(@NotNull ItemStack itemStack) {
|
public void setMainHand(@Nullable ItemStack itemStack) {
|
||||||
equipment[0] = itemStack;
|
equipment[0] = itemStack == null ? ItemStack.EMPTY : itemStack;
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOffhand(@NotNull ItemStack itemStack) {
|
public void setOffhand(@Nullable ItemStack itemStack) {
|
||||||
verifyVersion(ServerVersion.V_1_9, "Offhand is only supported on 1.9+");
|
equipment[1] = itemStack == null ? ItemStack.EMPTY : itemStack;
|
||||||
equipment[1] = itemStack;
|
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setItem(@NotNull EquipmentSlot slot, @NotNull ItemStack itemStack) {
|
public void setItem(@NotNull EquipmentSlot slot, @Nullable ItemStack itemStack) {
|
||||||
equipment[slot.ordinal()] = itemStack;
|
equipment[slot.ordinal()] = itemStack == null ? ItemStack.EMPTY : itemStack;
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,7 +102,6 @@ public class WrapperEntityEquipment {
|
||||||
List<Equipment> equipment = new ArrayList<>();
|
List<Equipment> equipment = new ArrayList<>();
|
||||||
for (int i = 0; i < this.equipment.length; i++) {
|
for (int i = 0; i < this.equipment.length; i++) {
|
||||||
ItemStack itemStack = this.equipment[i];
|
ItemStack itemStack = this.equipment[i];
|
||||||
if (itemStack == null || itemStack.equals(ItemStack.EMPTY)) continue;
|
|
||||||
equipment.add(new Equipment(EQUIPMENT_SLOTS[i], itemStack));
|
equipment.add(new Equipment(EQUIPMENT_SLOTS[i], itemStack));
|
||||||
}
|
}
|
||||||
return new WrapperPlayServerEntityEquipment(
|
return new WrapperPlayServerEntityEquipment(
|
||||||
|
@ -124,8 +123,6 @@ public class WrapperEntityEquipment {
|
||||||
|
|
||||||
public void setNotifyChanges(boolean notifyChanges) {
|
public void setNotifyChanges(boolean notifyChanges) {
|
||||||
this.notifyChanges = notifyChanges;
|
this.notifyChanges = notifyChanges;
|
||||||
if (notifyChanges) {
|
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,6 +79,15 @@ public class TestPlayerCommand extends BukkitCommand {
|
||||||
p.remove();
|
p.remove();
|
||||||
player.sendMessage("Entity removed");
|
player.sendMessage("Entity removed");
|
||||||
break;
|
break;
|
||||||
|
case "hidearmor":
|
||||||
|
p.getEquipment().setNotifyChanges(false);
|
||||||
|
p.getEquipment().setBoots(null);
|
||||||
|
p.getEquipment().setChestplate(null);
|
||||||
|
p.getEquipment().setHelmet(null);
|
||||||
|
p.getEquipment().setLeggings(null);
|
||||||
|
p.getEquipment().setMainHand(null);
|
||||||
|
p.getEquipment().setOffhand(null);
|
||||||
|
p.getEquipment().setNotifyChanges(true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -87,7 +96,7 @@ public class TestPlayerCommand extends BukkitCommand {
|
||||||
@Override
|
@Override
|
||||||
public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException {
|
public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
return Arrays.asList("spawn", "texture", "ping", "gamemode", "displayname", "tablist", "remove", "sneak");
|
return Arrays.asList("spawn", "texture", "ping", "gamemode", "displayname", "tablist", "remove", "sneak", "hidearmor");
|
||||||
}
|
}
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue