40servidoresMC 40servidoresMC

Discord oficial de 40servidoresMC. Comunidad, soporte y rango Owner para dueños de servidores.

Unirme
Modo Pixelmon · Acceso No Premium · País Ecuador

Servidores de Minecraft
Pixelmon No Premium

Servidores
0
Búsquedas 30d
26
Popularidad
#23
Total del ranking
285
Modo /modo-pixelmon/acceso-nopremium/pais-ec

Pixelmon No Premium

Información del modo

¿Qué es Pixelmon?

Esta modalidad es una mezcla exacta del universo Pokémon con el mundo de Minecraft. Básicamente los jugadores se moverán por los escenarios formados por bloques del juego. En ellos se pueden encontrar aldeas y también zonas de todo tipo ideales para ciertos Pokémon, dependiendo del que tratemos de buscar, de manera que en los lagos habitarán los de Agua, en los bosques los de Planta o en los desiertos los de Fuego, por ejemplo.

El único de problema que en este tipo de modalidad todos los usuarios tienen que instalarse una versión específica del mod y forge.

Ranking de servidores Pixelmon No Premium

0 resultados en este listado.

Página 1 de 1
Borrar filtros

No hay servidores de Pixelmon No Premium que coincidan con esos filtros.

(function() { const root = document.querySelector('[data-prelaunch-feedback-root]'); if (!root) return; const toggle = root.querySelector('[data-feedback-toggle]'); const panel = root.querySelector('[data-feedback-panel]'); const close = root.querySelector('[data-feedback-close]'); const backdrop = root.querySelector('[data-feedback-backdrop]'); const form = root.querySelector('[data-feedback-form]'); const submit = root.querySelector('[data-feedback-submit]'); const status = root.querySelector('[data-feedback-status]'); const captchaHost = root.querySelector('[data-feedback-turnstile-host]'); const setOpen = (open) => { root.classList.toggle('is-open', open); panel.hidden = !open; panel.setAttribute('aria-hidden', open ? 'false' : 'true'); backdrop.hidden = !open; toggle?.setAttribute('aria-expanded', open ? 'true' : 'false'); if (open) { setStatus(''); window.setTimeout(() => form?.querySelector('textarea[name="message"]')?.focus(), 40); if (captchaHost) { captchaHost.hidden = false; // Si api.js ya estaba listo y el partial nunca monto el // captcha por estar el contenedor oculto al parsear, lo // montamos ahora que el panel es visible de verdad. const cfContainer = captchaHost.querySelector('.cf-turnstile'); if (cfContainer && cfContainer.dataset.turnstilePending === '1') { delete cfContainer.dataset.turnstilePending; if (window.mountTurnstile && form) { window.mountTurnstile(cfContainer, form); } } } } }; const setStatus = (message, tone = '') => { if (!status) return; status.textContent = message; status.classList.remove('is-error', 'is-success'); if (tone !== '') status.classList.add(tone); }; toggle?.addEventListener('click', () => setOpen(!root.classList.contains('is-open'))); close?.addEventListener('click', () => setOpen(false)); backdrop?.addEventListener('click', () => setOpen(false)); document.addEventListener('keydown', (event) => { if (event.key === 'Escape') setOpen(false); }); form?.addEventListener('submit', async (event) => { event.preventDefault(); if (!form || !submit) return; // El boton de enviar no se bloquea mientras carga el captcha (ver // _turnstile_init.php, $turnstileGateSubmit=false), asi que hay que // comprobar el token aqui explicitamente antes de disparar el // fetch: el guard de _turnstile_init.php (registrado aparte, al // abrir el panel) se encarga de avisar al usuario en ese caso // (reportValidity, flash en el boton, reset del widget) — este // listener simplemente no debe enviar nada si falta el token. const turnstileToken = form.querySelector('input[name="cf-turnstile-response"]'); if (turnstileToken && !turnstileToken.value) { return; } submit.disabled = true; setStatus('Guardando feedback...'); try { const response = await fetch(form.action, { method: 'POST', body: new FormData(form), credentials: 'same-origin', headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' } }); const payload = await response.json().catch(() => ({})); if (!response.ok || !payload.ok) { throw new Error(payload.message || 'No se pudo guardar el feedback.'); } form.reset(); if (window.turnstile) { try { window.turnstile.reset(); } catch (error) {} } setStatus(payload.message || 'Feedback guardado.', 'is-success'); // Deja ver el mensaje de éxito un instante antes de cerrar, en // vez de desaparecer de golpe. window.setTimeout(() => setOpen(false), 1400); } catch (error) { setStatus(error.message || 'No se pudo guardar el feedback.', 'is-error'); } finally { submit.disabled = false; } }); })();