xTea_199 4 Opublikowano 29 lipca 2017 Udostępnij Opublikowano 29 lipca 2017 Mam takie coś @EventHandler public void onCraft(PrepareItemCraftEvent e) { if (e.getInventory().getType().equals(InventoryType.WORKBENCH)) { if (e.getInventory().getResult().getType().equals(Material.EMERALD_ORE)) { if (e.getInventory().getItem(1).getAmount() == 64) { if (e.getInventory().getItem(2).getAmount() == 64) { if (e.getInventory().getItem(3).getAmount() == 64) { if (e.getInventory().getItem(4).getAmount() == 64) { if (e.getInventory().getItem(5).getAmount() == 64) { if (e.getInventory().getItem(6).getAmount() == 64) { if (e.getInventory().getItem(7).getAmount() == 64) { if (e.getInventory().getItem(8).getAmount() == 64) { if (e.getInventory().getItem(9).getAmount() == 64) { return; } } } } } } } } } e.getInventory().setResult( new ItemStack(Material.AIR, 0)); } } } @Override public void onEnable(){ Bukkit.addRecipe(new ShapedRecipe(new ItemStack(c1)).shape(new String[] { "sss", "sss", "sss" }).setIngredient('s', Material.COBBLESTONE)); } i to działa na zasadzie że jeżeli w craftingu jest w każdym slocie x64 cobbla to jak craftuje to zabiera po 1 z każdego Odnośnik do komentarza https://skript.pl/temat/20387-cobblex/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 GotoFinal 195 Opublikowano 29 lipca 2017 Udostępnij Opublikowano 29 lipca 2017 Polecam poszukać jakiegoś gotowca, b niestety crafting w MC cały działa na zasadzie 1 itemu na slot, więc robienie czegoś innego jest bardzo utrudnione i wymaga ręcznej zabawy z eventami od EQ by wykryć kiedy ktoś podnosi wynik cratingu. Np ten plugin zdaje się od najnowszej wersji wspierać takie recipes: https://www.spigotmc.org/threads/custom-recipes.88032/ Można tworzyć craftingi z GUI lub z poziomu API w javie. A jak z jakiegoś bezsensownego powodu chcesz sam, to niestety musisz nasłuchiwać InventoryClickEvent i InventryDragEvent i tam ręcznie spradzać crafting i ręcznie zabierać itemy w momencie zdobycia przedmiotu, całkiem sporo kodu by wszystkie przypadki utrzymać, więc na pewno nikt ci gotowca nie wklei. Odnośnik do komentarza https://skript.pl/temat/20387-cobblex/#findComment-138290 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
xTea_199 4
Mam takie coś
@EventHandler
public void onCraft(PrepareItemCraftEvent e)
{
if (e.getInventory().getType().equals(InventoryType.WORKBENCH)) {
if (e.getInventory().getResult().getType().equals(Material.EMERALD_ORE)) {
if (e.getInventory().getItem(1).getAmount() == 64) {
if (e.getInventory().getItem(2).getAmount() == 64) {
if (e.getInventory().getItem(3).getAmount() == 64) {
if (e.getInventory().getItem(4).getAmount() == 64) {
if (e.getInventory().getItem(5).getAmount() == 64) {
if (e.getInventory().getItem(6).getAmount() == 64) {
if (e.getInventory().getItem(7).getAmount() == 64) {
if (e.getInventory().getItem(8).getAmount() == 64) {
if (e.getInventory().getItem(9).getAmount() == 64) {
return;
}
}
}
}
}
}
}
}
}
e.getInventory().setResult(
new ItemStack(Material.AIR, 0));
}
}
}
@Override
public void onEnable(){
Bukkit.addRecipe(new ShapedRecipe(new ItemStack(c1)).shape(new String[] { "sss", "sss", "sss" }).setIngredient('s', Material.COBBLESTONE));
}
i to działa na zasadzie że jeżeli w craftingu jest w każdym slocie x64 cobbla to jak craftuje to zabiera po 1 z każdego
Odnośnik do komentarza
https://skript.pl/temat/20387-cobblex/Udostępnij na innych stronach
1 odpowiedź na to pytanie
Rekomendowane odpowiedzi