Résolu J'ai besoin d'aide pour faire une probabilité de coffre
-
J’aimerai faire une probabilité de coffre aux environ mais pas trop cheat.
mais je sais pas le faire.:/import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.event.terraingen.PopulateChunkEvent; import net.minecraftforge.event.terraingen.DecorateBiomeEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraft.world.World; import net.minecraft.util.ResourceLocation; import net.minecraft.server.MinecraftServer; import net.minecraft.item.ItemStack; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.client.Minecraft; import java.util.Random; import com.fury.empvp.References; import com.fury.empvp.init.ModItems; //import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.*; //import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.*; public class look { public static class GUIRenderEventClass { @SubscribeEvent(priority = EventPriority.HIGH) public void eventHandler(RenderGameOverlayEvent event) { if (!event.isCancelable() && event.getType() == RenderGameOverlayEvent.ElementType.HELMET) { int posX = (event.getResolution().getScaledWidth()) / 2; int posY = (event.getResolution().getScaledHeight()) / 2; EntityPlayer entity = Minecraft.getMinecraft().thePlayer; int i = (int) entity.posX; int j = (int) entity.posY; int k = (int) entity.posZ; int x = i; int y = j; int z = k; MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); World world = server.worldServers[0]; if (entity.inventory.getCurrentItem() != null && entity.inventory.getCurrentItem().getItem() == ModItems.emplogo) { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(References.MODID,"textures/gui/chestbutin.png")); Minecraft.getMinecraft().ingameGUI.drawTexturedModalRect(posX + (-193), posY + (-115), 0, 0, 256, 256); Minecraft.getMinecraft().fontRendererObj.drawString("Butin" + i + "%", posX + (-208), posY + (-108), 0xffffff); } } } } }
Merci beaucoup de vôtre aide encore.
-
Tu pourrais essayer de te créer une classe de génération de structure classique et tu met comme condition que ton bloc peut uniquement se générer sur le bloc de ton choix a la place d’un bloc d’air
-
Salut,
et par pitié change moi ce titre en quelque chose de + clair ! -
sais plus claire.?
-
Oui, en revanche on n’instancie jamais un MinecraftServer dans un Event client comme RenderGameOverlayEvent.
-
Bons j’ai fini par arriver a le faire j’ai pas vue la combinaison avec une division et un compteur
public ActionResult <itemstack>onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) { int compteur = 0; // if(!worldIn.isRemote) { for (int i = 0; i < worldIn.loadedTileEntityList.size(); i++) { TileEntity tile = worldIn.loadedTileEntityList.get(i); if ((tile instanceof TileEntityChest) || tile instanceof TileEntityEnderChest ) { if (worldIn.loadedTileEntityList.get(i).getPos().getX() < playerIn.getPosition().getX() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getX() > playerIn.getPosition().getX() - 36 && worldIn.loadedTileEntityList.get(i).getPos().getY() < playerIn.getPosition().getY() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getY() > playerIn.getPosition().getY() - 36 && worldIn.loadedTileEntityList.get(i).getPos().getZ() < playerIn.getPosition().getZ() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getZ() > playerIn.getPosition().getZ() - 36) { compteur++; } } else if ((tile instanceof TileEntityEnderChest)) { if (worldIn.loadedTileEntityList.get(i).getPos().getX() < playerIn.getPosition().getX() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getX() > playerIn.getPosition().getX() - 36 && worldIn.loadedTileEntityList.get(i).getPos().getY() < playerIn.getPosition().getY() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getY() > playerIn.getPosition().getY() - 36 && worldIn.loadedTileEntityList.get(i).getPos().getZ() < playerIn.getPosition().getZ() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getZ() > playerIn.getPosition().getZ() - 36) { compteur++; } } else if ((tile instanceof TileEntityRCF)) { if (worldIn.loadedTileEntityList.get(i).getPos().getX() < playerIn.getPosition().getX() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getX() > playerIn.getPosition().getX() - 36 && worldIn.loadedTileEntityList.get(i).getPos().getY() < playerIn.getPosition().getY() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getY() > playerIn.getPosition().getY() - 36 && worldIn.loadedTileEntityList.get(i).getPos().getZ() < playerIn.getPosition().getZ() + 36 && worldIn.loadedTileEntityList.get(i).getPos().getZ() > playerIn.getPosition().getZ() - 36) { // int valeur = ((TileEntityRCF) tile).getNumber(); tile = worldIn.getTileEntity(tile.getPos()); System.out.println("Valeur : " + ((TileEntityRCF) tile).getNumber()); compteur -= ((TileEntityRCF) tile).getNumber(); } } } // } // Minecraft.getMinecraft().renderEngine.bindTexture(new // ResourceLocation(Main.MODID,"textures/gui/chestbutin.png")); // Minecraft.getMinecraft().ingameGUI.drawTexturedModalRect((int)playerIn.posX // + (-193), (int)playerIn.posY + (-115), 0, 0, 256, 256); if (compteur < 0) compteur = 0; Minecraft.getMinecraft().ingameGUI.displayTitle("Coffre : " + compteur+"%", "",-293, -215,256); return new ActionResult(EnumActionResult.SUCCESS, new ItemStack(this)); } } ```</itemstack>