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

Zaawansowane Tworzenie Modów


karol202

Rekomendowane odpowiedzi

  • Odpowiedzi 1,2 tys.
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Chodzi mi o to, że np. mod dodaje diamentowy piec, który przetapia tak jak zwykły piec, ale szybciej. Albo inaczej. Jest wgrany drugi, zupełnie niezależny od pierwszego (mojego) moda. Pierwszy dodaje diamentowy piec. Drugi dodaje recepture przetapiania. Więc w diamentowym piecu mogę wykonać recepture z drugiego moda. Sory, nie umiem tego logiczniej wyjaśnić.

 

Programista pierwszego moda nie wie nic o drugim modzie.

 

Sory z zagmatwanie.

Halo!

Opublikowano

Raczej się nie da jeśli autor pierwszego moda nic nie wie o drugim modzie. Metoda addSmelting() dodaje do pliku FurnaceRecipes nowe recepty i tak jest napisane w ModLoaderze. Można by edytować ModLoader ale to bardzo zła praktyka programistyczna, bo ktoś może używać Forge lub zainstalować mod a dopiero potem ModLoader i domyślny ModLoader nadpisze ten zmieniony.

Opublikowano

Zmiany w tucie:

  • zaktualizowano część 2a.Zaawansowane właściwości bloków
  • dodano część 2d.Blok z inną tekstrurą na każdej ścianie
  • poprawiono część 12a. Piec

Opublikowano

Mam taki problem chodzi tu chyba że nie znalazło ścieżki do /gui/noz.png wkleiłem ten plik do temp/bin/minecraft/gui chyba tam miałem dać i wyskakuje ten błąd przy re-komplikacji nic nie wyskoczyło tylko przy włączeniu minecrafta wyskoczył ten błąd.

Jeśli w złym miejscu dałem plik noz.png to napiszcie gdzie go dać i czy on ma mieć wymiary 16x16

 

 

 

---- Minecraft Crash Report ----
// Don't be sad. I'll do better next time, I promise!
Time: 03.10.12 15:01
Description: Unexpected error
java.lang.RuntimeException: java.lang.Exception: Image not found: /gui/noz.png
at net.minecraft.src.ModLoader.registerAllTextureOverrides(ModLoader.java:1632)
at net.minecraft.src.ModLoader.onTick(ModLoader.java:1188)
at net.minecraft.src.EntityRendererProxy.updateCameraAndRender(EntityRendererProxy.java:21)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:866)
at net.minecraft.client.Minecraft.run(Minecraft.java:760)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.Exception: Image not found: /gui/noz.png
at net.minecraft.src.ModLoader.loadImage(ModLoader.java:1105)
at net.minecraft.src.ModLoader.registerAllTextureOverrides(ModLoader.java:1624)
... 5 more
Relevant Details:
- Minecraft Version: 1.3.2
- Operating System: Windows 7 (amd64) version 6.1
- Java Version: 1.7.0_05, Oracle Corporation
- Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
- Memory: 971032216 bytes (926 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
- JVM Flags: 3 total; -Xincgc -Xms1024M -Xmx1024M
- ModLoader: Mods loaded: 2
ModLoader 1.3.2
mod_FoodMod 0.1
- LWJGL: 2.4.2
- OpenGL: Intel(R) HD Graphics GL version 2.1.0 - Build 8.15.10.2125, Intel
- Is Modded: Very likely
- Type: Client
- Texture Pack: Default
- Profiler Position: N/A (disabled)

 

 

 

@Edit

Naprawiłem już ten błąd minecraft się odpalił lecz nie ma mojego itemu...

@@Edit

Oto mój kod

 

 

package net.minecraft.src;

 

public class mod_FoodMod extends BaseMod

{

public static Item Noz = new Item(500).setItemName("Noz");

public String getVersion()

{

return "0.1";

}

public void load() {}

public mod_FoodMod()

{

Noz.iconIndex = ModLoader.addOverride("/gui/items.png", "/foodmod/noz.png");

 

ModLoader.addName(Noz, "Noz");

 

}

}

 

 

 

Mógłbyś mi też powiedzieć gdzie dokładnie dać recepture? 1 patyk 1 cobblestone I to nie ma być bron

Opublikowano

Już to tutaj pisałem, że mam błędy. Jeden był z mieczem, ale ten kod jakoś naprawiłem.

Jednak został ten z motyką.

 

Motyka działa - jest w grze. Ale jest w grze jako zwykły item. Klika się prawy przycisk myszki na dirt i bum nic się nie dzieje. Zrobiłem dokładnie jak na kodzie, więc proszę o pomoc. Autorze, jeśli mi nie wierzysz spróbuj sobie z tym kodem stworzyć motykę i zobacz czy ora. Jeśli u ciebie działa to znaczy, że coś sknociłem. A czy u was działa?

Opublikowano

e karol202 dlaczego kopiujesz efekt od ElDorado z craftsite.pl ? skopiowałeś skakanie na blokach on ma Jump czy jakoś tak. Skopiowałeś też Inna tekstura na ścianach bloku. ale on ma bardziej wytumaczonę ale zgłoszę to do niego

Opublikowano

Co?! Nic nie kopiowałem, blok z inną teksturą na ścianie jest inny a blok na którym się skacze jest podobny bo tylko tak da się to zrobić. To raczej on kopiuje, prawie cały tut jest taki sam a popatrz na datę tutów, a przeglądając tamten tut w części 15.Biom w pliku mod_Gold.java jest ślad mojego tuta:

package net.minecraft.src;

public class mod_Gold extends BaseMod
{
public void load()
{
	 ModLoader.addBiome(BiomeGenGold);
}

public String getVersion()
{
return "Złoty Biom by ElDorado";
}

public mod_CreepLand()
 {
 }
}

A dokładnie CreepLand.

 

Jak ci się nie podoba to jak wytłumaczone u mnie to po prostu tu nie pisz i idź sobie na craftsite.

Opublikowano

Ten El Dorado kopiuje, poza tym karol był pierwszy,a przy najmniej u tym u karola działa motyka jako item, ale niestety nie ora, a w ty, poradniku od El Dorado to np. kod motyki do orania wygląda tak:

if (l != 0 && j1 == 0 && i1 == Block.grass.blockID || i1 == Block.dirt.blockID)

 

Te ;amp się podkreśla na czerwono, więc i tak nie działa.

 

Mam jeszcze jedną sprawę.

 

A5 zastąp 14, nie wiem co to jest za wartość, jeśli ktoś sprawdzi i powie mi to nagrodzę plusem.

 

To A5 jak to nazwałeś jest mocą/poziomem enchantingu czy coś w tym stylu.

 

I jeszcze jedna sprawa. Jako, że nikt mi nie odpowiedział to ponawiam pytanie

 

Motyka działa - jest w grze. Ale jest w grze jako zwykły item. Klika się prawy przycisk myszki na dirt i bum nic się nie dzieje. Zrobiłem dokładnie jak na kodzie, więc proszę o pomoc. Autorze, jeśli mi nie wierzysz spróbuj sobie z tym kodem stworzyć motykę i zobacz czy ora. Jeśli u ciebie działa to znaczy, że coś sknociłem. A czy u was działa?

Opublikowano

Dobra zaraz sprawdze kod na motykę i dam edit. A co do tego poziomu enchantingu to jak to działa? Jak dam większą liczbę to co się stanie?

 

@Edit sprawdziłem kod i chyba wiem o co chodzi w pliku motyki znajdź funkcję onItemUse() i zamień ją na tą:

public boolean onItemUse(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l)
       {
               if (!entityplayer.canPlayerEdit(i, j, k))
               {
                       return false;
               }

               int i1 = world.getBlockId(i, j, k);
               int j1 = world.getBlockId(i, j + 1, k);

               if (l != 0 && j1 == 0 && i1 == Block.grass.blockID || i1 == Block.dirt.blockID)
               {
                       Block block = Block.tilledField;
                       world.playSoundEffect((float)i + 0.5F, (float)j + 0.5F, (float)k + 0.5F, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F);
                               world.setBlockWithNotify(i, j, k, block.blockID);
                               itemstack.damageItem(1, entityplayer);
                               return true;
               }
               else
               {
                       return false;
               }
return true;
       }

Opublikowano

Nie wiem DOKŁADNIE jak to działa, ale gdzieś przeczytałem, że to oznacza poziom enchantingu ;/

Jeśli dasz większą liczbę to być może jest większa moc ulepszania, większa szansa na lepsze enchanty tak mi się wydaje.

 

Co do tego kodu, który teraz podałeś to podkreśla się ten jakby nawias pod return true;, a gdy dodaje drugi to też go podkreśla ;d

 

Sory za tyle editów, zawsze jakieś słowo mi umknie ;/

 

 

@Edit

Poprawiłem trochę w codzie, by działało i...

Hahahaha, motyka działa lepiej niż łopata na dirt xD Ale nie ora :(

Opublikowano

A jakby tak zamienić to co przed chwilą podałem na:

public boolean tryPlaceIntoWorld(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
   {
    if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6))
    {
	    return false;
    }
    else
    {
	    int var11 = par3World.getBlockId(par4, par5, par6);
	    int var12 = par3World.getBlockId(par4, par5 + 1, par6);

	    if ((par7 == 0 || var12 != 0 || var11 != Block.grass.blockID) && var11 != Block.dirt.blockID)
	    {
		    return false;
	    }
	    else
	    {
		    Block var13 = Block.tilledField;
		    par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), var13.stepSound.getStepSound(), (var13.stepSound.getVolume() + 1.0F) / 2.0F, var13.stepSound.getPitch() * 0.8F);

		    if (par3World.isRemote)
		    {
			    return true;
		    }
		    else
		    {
			    par3World.setBlockWithNotify(par4, par5, par6, var13.blockID);
			    par1ItemStack.damageItem(1, par2EntityPlayer);
			    return true;
		    }
	    }
    }
   }

 

A i dostaniesz plusy za to wyjaśnienie poziomu enchantingu.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...