UNPKG

@magikcraft/mct1

Version:

Minecraft for Type 1 Diabetes

70 lines (63 loc) 3.21 kB
import { Logger } from '@magikcraft/mct1/log' const log = Logger(__filename) const PotionEffect = Java.type('org.bukkit.potion.PotionEffect') export const Effects = { ABSORPTION: 'ABSORPTION', // Increases the maximum health of an entity with health that cannot be regenerated, but is refilled every 30 seconds. BLINDNESS: 'BLINDNESS', // Blinds an entity. CONDUIT_POWER: 'CONDUIT_POWER', // Effects granted by a nearby conduit. CONFUSION: 'CONFUSION', // Warps vision on the client. DAMAGE_RESISTANCE: 'DAMAGE_RESISTANCE', // Decreases damage dealt to an entity. DOLPHINS_GRACE: 'DOLPHINS_GRACE', // Squee'ek uh'k kk'kkkk squeek eee'eek. FAST_DIGGING: 'FAST_DIGGING', // Increases dig speed. FIRE_RESISTANCE: 'FIRE_RESISTANCE', // Stops fire damage. GLOWING: 'GLOWING', // Outlines the entity so that it can be seen from afar. HARM: 'HARM', // Hurts an entity. HEAL: 'HEAL', // Heals an entity. HEALTH_BOOST: 'HEALTH_BOOST', // Increases the maximum health of an entity. HUNGER: 'HUNGER', // Increases hunger. INCREASE_DAMAGE: 'INCREASE_DAMAGE', // Increases damage dealt. INVISIBILITY: 'INVISIBILITY', // Grants invisibility. JUMP: 'JUMP', // Increases jump height. LEVITATION: 'LEVITATION', // Causes the entity to float into the air. LUCK: 'LUCK', // Loot table luck. NIGHT_VISION: 'NIGHT_VISION', // Allows an entity to see in the dark. POISON: 'POISON', // Deals damage to an entity over time. REGENERATION: 'REGENERATION', // Regenerates health. SATURATION: 'SATURATION', // Increases the food level of an entity each tick. SLOW: 'SLOW', // Decreases movement speed. SLOW_DIGGING: 'SLOW_DIGGING', // Decreases dig speed. SLOW_FALLING: 'SLOW_FALLING', // Slows entity fall rate. SPEED: 'SPEED', // Increases movement speed. UNLUCK: 'UNLUCK', // Loot table unluck. WATER_BREATHING: 'WATER_BREATHING', // Allows breathing underwater. WEAKNESS: 'WEAKNESS', // Decreases damage dealt by an entity. WITHER: 'WITHER', //Deals damage to an entity over time and gives the health to the shooter. } export default class PlayerEffects { player constructor(player) { this.player = player } add(effectType) { const milliseconds = 100000 const color = 'WHITE' const amplifier = 1 const PotionEffectType = Java.type('org.bukkit.potion.PotionEffectType') if (this.player.hasPotionEffect(PotionEffectType[effectType]) == true) { // Skip if effect already active! return } const Color = Java.type('org.bukkit.Color') const duration = (milliseconds / 1000) * 40 // 20 tick. 1 tick = 0.05 seconds const c = Color[color] const l = PotionEffectType[effectType] const effect = new PotionEffect(l, duration, amplifier, true, true, c) this.player.addPotionEffect(effect) } cancel(effectType) { const PotionEffectType = Java.type('org.bukkit.potion.PotionEffectType') if (this.player.hasPotionEffect(PotionEffectType[effectType]) == true) { this.player.removePotionEffect(PotionEffectType[effectType]) } } }