Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Plugin] Edytowane FunnyGuilds - trochę lepszy od poprzedniego


Rekomendowane odpowiedzi

Opublikowano

Siema, ponieważ 1.7 powoli się kończy dam wam edytowany fg na troche lepszy... Dodałem dużo zmiennych do taba, naprawiłem pozycje ender crystalu po zalozeniu i inaczej wygląda to pomieszczenie do podbijania. Tab robiłem na silniku spigot 1.7.10 na wersje 1.8, a tam trzeba troche inaczej robic tab..

 

DL: http://speedy.sh/mcgwn/FunnyGuilds.jar

SKAN(I tak malo kto go sprawdza xD): https://www.virustotal.com/pl/file/f84cb0bdb5ef7cfd25402aaf8a757512d64fdd648378e05f15116b54940a6a81/analysis/1436908203/

Opublikowano

­Więcej zmiennych tylko obniża poziom optymalizacji, jak mówił to @dzikoysk... najlepiej tab ograniczyć do minimum, wiesz, ile będzie żarło procka takie replaceowanie każdej zmiennej co powiedzmy 1 sekundę?

Nawet dokładnie nie napisałeś, co dodałeś, ale i tak gratki za zrobienie czegokolwiek z tym pluginem. :v

 

sygnatura.png

Opublikowano

Dodasz zeby komendy byly np takie "/g zaloz" to uzyje go ;) Bo Dziki tego nie naprawil i nie naprawi :C

Posty: 100|200|300|400|500|600|700|800|900|1000 Mission Complete! xD  :P

76561198209779975.png

Opublikowano

Za chwilę mogę zrobić wersje /g komenda jak chcecie. Wiem @Uu7Sg1S.pngHardStyl3r ;/ 

 

@Jednak nie trzeba edytować pluginu xD.

Zamień to:

 

 

# Nazwy komend
commands:
  guild: 
    name: 'gildia'
    aliases:
    - 'gildie'
    - 'g'
  create:
    name: 'zaloz'
    aliases: []
  delete:
    name: 'usun'
    aliases: []
  confirm:
    name: 'potwierdz'
    aliases: []
  invite:
    name: 'zapros'
    aliases: []
  join:
    name: 'dolacz'
    aliases: []
  leave:
    name: 'opusc'
    aliases: []
  kick:
    name: 'wyrzuc'
    aliases: []
  base: 
    name: 'baza'
    aliases: []
  enlarge: 
    name: 'powieksz'
    aliases: []
  ally: 
    name: 'sojusz'
    aliases: []
  break: 
    name: 'rozwiaz'
    aliases: []
  info: 
    name: 'info'
    aliases: []
  player: 
    name: 'gracz'
    aliases: []
  top: 
    name: 'top'
    aliases:
    - 'top10'
  validity:
    name: 'przedluz'
    aliases: []
  leader:
    name: 'lider'
    aliases:
    - 'zalozyciel'
  deputy:
    name: 'zastepca'
    aliases: []
  ranking: 
    name: 'ranking'
    aliases: []
 
  setbase:
    name: 'ustawbaze'
    aliases:
    - 'ustawdom'
  pvp:
    name: 'pvp'
    aliases:
    - 'ustawpvp'

 

 

 

na to

 

 

# Nazwy komend
commands:
  guild: 
    name: 'g'
  create:
    name: 'g zaloz'
  delete:
    name: 'g usun'
  confirm:
    name: 'g potwierdz'
  invite:
    name: 'g zapros'
  join:
    name: 'g dolacz'
  leave:
    name: 'g opusc'
  kick:
    name: 'g wyrzuc'
  base: 
    name: 'g dom'
  enlarge: 
    name: 'g powieksz'
  ally: 
    name: 'g sojusz'
  break: 
    name: 'g rozwiaz'
  info: 
    name: 'g info'
  player: 
    name: 'g gracz'
  top: 
    name: 'g top10'
  validity:
    name: 'g przedluz'
  leader:
    name: 'g lider'
  deputy:
    name: 'g zastepca'
  ranking: 
    name: 'g ranking'
  setbase:
    name: 'g ustawdom'
  pvp:
    name: 'g pvp'

 

 

Opublikowano

@bialasekpl.

 

Fajnie ja wiem o tym ale to nie dziala znaczy dziala ale jak chce wpisac samo /g zeby zobaczyc liste komend pisze "an internal server error.." cos takiego wiec moze zerknij tam do kodu na to albo daj 2 wersje z przedrostkiem "/g <komenda>" Bardzo prosze ;)
 

Posty: 100|200|300|400|500|600|700|800|900|1000 Mission Complete! xD  :P

76561198209779975.png

Opublikowano

lel, ja nie mam takiego problemu... Jak wpisze /g normalnie pokazuje wszystko i jak wpisze /g zaloz, /g usun itd.

Opublikowano

@bialasekpl. Dobra dzięki też już działa :D A może dodaj, że można wylaczyc tworzenie cuba? Przydatne na serwery PVP ;)

Posty: 100|200|300|400|500|600|700|800|900|1000 Mission Complete! xD  :P

76561198209779975.png

Opublikowano

Ehhh... teraz jak pobierze to odrazu "MAM AUTORSKI PLUGIN NA GILDIE". A po za tym. Takie same gildie były już udostępnione u użytkownika @Sierpuszekk

post-1354750-0-74396600-1488571067.png

 

Opublikowano

­Więcej zmiennych tylko obniża poziom optymalizacji, jak mówił to @dzikoysk... najlepiej tab ograniczyć do minimum, wiesz, ile będzie żarło procka takie replaceowanie każdej zmiennej co powiedzmy 1 sekundę?

Nawet dokładnie nie napisałeś, co dodałeś, ale i tak gratki za zrobienie czegokolwiek z tym pluginem. :v

muszę się przypierdolić :D

Wszystko zależy od tego jak to zrobisz, jak:

  • Użyjesz replace z javy
  • Zrobisz to na sztywno, np .replace("{player-name}", player.getName()) -> ale wyobraź sobie że pobieramy coś znacznie bardziej skomplikowanego, co wykonuje tez dodatkowo 200 operacji :P
  • Nie dasz możliwości wyłączenia nadmiaru zmiennych w konfiguracji.

To tak, to będzie wolne i do dupy, ale to tylko dlatego że stworzyłeś kod do dupy.

 

Jak to zrobić dobrze?

 Zamiast replace z javy, tworzymy własne na podstawie apache StringUtils, lub kompletnie wlasne jak potrafimy,

Ale z jednym ważnym wyjątkiem, zamiast używać String toReplace, String newText, dajemy: String toReplace, Supplier<String> newText

 

Supplier to co prawda nowa klasa z javy 8, ale nic nie szkodzi by stworzyć własną:

interface Supplier<T>
{
    T get();
}

i to całość ;)

I teraz jak to działa? zamiast podawać gotowy wynik, podajemy METODĘ która ten wynik dopiero pobierze. 

Player p = // jakis tam gracz

replace("{player-name}", () -> p.getName()) // w przypadku przestarzałych wersji javy będzie trzeba stworzyć klasę anonimową, co będzie mniej wygodne i wolniejsze no ale... nie moja wina jak jesteś zacofany.

 

I wtedy nasza metoda "replace" szuka tego "{player-name}" i DOPIERO jak znajdzie, to pobiera wynik.

 

Do tego warto dodać możliwość włączania i wyłączania placeholderów (tych zmiennych)

 

I taki prosty zabieg sprawi że twoje placeholdery będą prawie nie wyczuwalne, możesz ich dać nawet 5000, byle tylko nie wszystko było włączone jak nie jest używane.

PS: możesz stworzyć kod, który przeanalizuje wszystkie stringi z konfiguracji pluginu i włączy sam, tylko te placeholdery, które istnieją gdzieś w konfiguracji ;)

I tak oto masz super-zoptymalizowany kod.

Polecam :P

1438614356923701010629.png

 

Opublikowano


A na 1.8.7 to nie dasz rady zrobić ?


15:54:32 [ERROR] Error occurred while enabling FunnyGuilds v3.9.9.1 Cleaned (Is it up to date?)

15:54:32 java.lang.NoClassDefFoundError: net/minecraft/util/com/google/common/base/Charsets

15:54:32 at net.dzikoysk.panda.util.configuration.util.ConfigurationUtils.getLines(ConfigurationUtils.java:38) ~[?:?]

15:54:32 at net.dzikoysk.panda.util.configuration.PandaConfiguration.<init>(PandaConfiguration.java:25) ~[?:?]

15:54:32 at net.dzikoysk.funnyguilds.data.Settings.update(Settings.java:183) ~[?:?]

15:54:32 at net.dzikoysk.funnyguilds.data.Settings.<init>(Settings.java:178) ~[?:?]

15:54:32 at net.dzikoysk.funnyguilds.data.Settings.getInstance(Settings.java:438) ~[?:?]

15:54:32 at net.dzikoysk.funnyguilds.data.Manager.<init>(Manager.java:22) ~[?:?]

15:54:32 at net.dzikoysk.funnyguilds.FunnyGuilds.onEnable(FunnyGuilds.java:72) ~[?:?]

15:54:32 at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:356) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:316) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:524) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]

15:54:32 at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]

Opublikowano

­

 

A na 1.8.7 to nie dasz rady zrobić ?
15:54:32 [ERROR] Error occurred while enabling FunnyGuilds v3.9.9.1 Cleaned (Is it up to date?)
15:54:32 java.lang.NoClassDefFoundError: net/minecraft/util/com/google/common/base/Charsets
15:54:32 at net.dzikoysk.panda.util.configuration.util.ConfigurationUtils.getLines(ConfigurationUtils.java:38) ~[?:?]
15:54:32 at net.dzikoysk.panda.util.configuration.PandaConfiguration.<init>(PandaConfiguration.java:25) ~[?:?]
15:54:32 at net.dzikoysk.funnyguilds.data.Settings.update(Settings.java:183) ~[?:?]
15:54:32 at net.dzikoysk.funnyguilds.data.Settings.<init>(Settings.java:178) ~[?:?]
15:54:32 at net.dzikoysk.funnyguilds.data.Settings.getInstance(Settings.java:438) ~[?:?]
15:54:32 at net.dzikoysk.funnyguilds.data.Manager.<init>(Manager.java:22) ~[?:?]
15:54:32 at net.dzikoysk.funnyguilds.FunnyGuilds.onEnable(FunnyGuilds.java:72) ~[?:?]
15:54:32 at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:356) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:316) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:524) [spigot-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Spigot-6d16e64-3d5ab8f]
15:54:32 at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]

http://www.mpcforum.pl/topic/1423058-funnyguilds-na-wersje-18/

 

sygnatura.png

  • 6 miesięcy temu...
Opublikowano

pomocy

[21:38:30] [Netty IO #3/WARN]: java.lang.NullPointerException
[21:38:30] [Netty IO #3/WARN]: 	at net.dzikoysk.funnyguilds.listener.PacketReceive.onReceive(PacketReceive.java:27)
[21:38:30] [Netty IO #3/WARN]: 	at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
[21:38:30] [Netty IO #3/WARN]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[21:38:30] [Netty IO #3/WARN]: 	at java.lang.reflect.Method.invoke(Method.java:497)
[21:38:30] [Netty IO #3/WARN]: 	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298)
[21:38:30] [Netty IO #3/WARN]: 	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[21:38:30] [Netty IO #3/WARN]: 	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514)
[21:38:30] [Netty IO #3/WARN]: 	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499)
[21:38:30] [Netty IO #3/WARN]: 	at net.dzikoysk.funnyguilds.util.reflect.PacketExtension$1.channelRead(PacketExtension.java:59)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:38:30] [Netty IO #3/WARN]: 	at com.comphenix.protocol.injector.netty.ChannelInjector$4.channelRead(ChannelInjector.java:260)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.handler.timeout.ReadTimeoutHandler.channelRead(ReadTimeoutHandler.java:149)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:100)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:480)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341)
[21:38:30] [Netty IO #3/WARN]: 	at net.minecraft.util.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
[21:38:30] [Netty IO #3/WARN]: 	at java.lang.Thread.run(Thread.java:745)
  • 2 miesiące temu...
  • 3 miesiące temu...
  • 6 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...