made it client-compatible, added icon, fixed bugs
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package com.bytedice.bde_particles.client
|
||||
|
||||
import com.bytedice.bde_particles.commands.GiveEmitterTool
|
||||
import com.bytedice.bde_particles.commands.KillAllEmitters
|
||||
import com.bytedice.bde_particles.commands.ManageEmitters
|
||||
import com.bytedice.bde_particles.init
|
||||
import com.bytedice.bde_particles.onRightClick
|
||||
import com.bytedice.bde_particles.tick
|
||||
import net.fabricmc.api.ClientModInitializer
|
||||
import net.fabricmc.api.EnvType
|
||||
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents
|
||||
import net.fabricmc.fabric.api.event.player.UseItemCallback
|
||||
import net.fabricmc.loader.api.FabricLoader
|
||||
import net.minecraft.entity.player.PlayerEntity
|
||||
import net.minecraft.server.world.ServerWorld
|
||||
import net.minecraft.util.ActionResult
|
||||
import net.minecraft.util.Hand
|
||||
import net.minecraft.util.TypedActionResult
|
||||
import net.minecraft.world.World
|
||||
|
||||
class Bde_particlesClient : ClientModInitializer {
|
||||
override fun onInitializeClient() {
|
||||
if (FabricLoader.getInstance().environmentType != EnvType.CLIENT) {
|
||||
return
|
||||
}
|
||||
|
||||
println("BPS - Initializing on ${FabricLoader.getInstance().environmentType}")
|
||||
|
||||
ServerLifecycleEvents.SERVER_STARTED.register { _ ->
|
||||
init()
|
||||
}
|
||||
|
||||
ServerTickEvents.START_SERVER_TICK.register { server ->
|
||||
tick(server)
|
||||
}
|
||||
|
||||
CommandRegistrationCallback.EVENT.register { dispatcher, registryAccess, _ ->
|
||||
GiveEmitterTool.register(dispatcher, registryAccess)
|
||||
ManageEmitters .register(dispatcher)
|
||||
KillAllEmitters.register(dispatcher)
|
||||
}
|
||||
|
||||
UseItemCallback.EVENT.register(UseItemCallback { player: PlayerEntity, world: World, hand: Hand ->
|
||||
if (world is ServerWorld) {
|
||||
onRightClick(player, world, hand)
|
||||
}
|
||||
TypedActionResult(ActionResult.PASS, player.getStackInHand(hand))
|
||||
})
|
||||
|
||||
ServerLifecycleEvents.SERVER_STARTED.register(ServerLifecycleEvents.ServerStarted { _ ->
|
||||
println("BDE_ParticleSys - Progress bar filled :3")
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "com.bytedice.bde_particles.mixin.client",
|
||||
"compatibilityLevel": "JAVA_21",
|
||||
"client": [
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
||||
@@ -5,11 +5,13 @@ import com.bytedice.bde_particles.commands.KillAllEmitters
|
||||
import com.bytedice.bde_particles.commands.ManageEmitters
|
||||
import com.bytedice.bde_particles.items.ParticleEmitterTool
|
||||
import com.bytedice.bde_particles.particleIdRegister.*
|
||||
import net.fabricmc.api.EnvType
|
||||
import net.fabricmc.api.ModInitializer
|
||||
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents
|
||||
import net.fabricmc.fabric.api.event.player.UseItemCallback
|
||||
import net.fabricmc.loader.api.FabricLoader
|
||||
import net.minecraft.entity.EntityType
|
||||
import net.minecraft.entity.decoration.DisplayEntity.BlockDisplayEntity
|
||||
import net.minecraft.entity.player.PlayerEntity
|
||||
@@ -25,9 +27,9 @@ import net.minecraft.world.World
|
||||
import java.util.*
|
||||
|
||||
|
||||
// TODO: make it work client-side too
|
||||
// TODO: finish the particle ticking
|
||||
// TODO: make custom commands to create particles easier (only temporarily saved)
|
||||
// ONLY FORCE FIELDS LEFT LES GO!!!!!!!!
|
||||
|
||||
|
||||
var ALL_PARTICLE_EMITTERS: Array<ParticleEmitter> = emptyArray()
|
||||
@@ -36,6 +38,12 @@ val sessionUuid: UUID = UUID.randomUUID()
|
||||
|
||||
class Bde_particles : ModInitializer {
|
||||
override fun onInitialize() {
|
||||
if (FabricLoader.getInstance().environmentType != EnvType.SERVER) {
|
||||
return
|
||||
}
|
||||
|
||||
println("BPS - Initializing on ${FabricLoader.getInstance().environmentType}")
|
||||
|
||||
ServerLifecycleEvents.SERVER_STARTED.register { _ ->
|
||||
init()
|
||||
}
|
||||
@@ -51,7 +59,10 @@ class Bde_particles : ModInitializer {
|
||||
}
|
||||
|
||||
UseItemCallback.EVENT.register(UseItemCallback { player: PlayerEntity, world: World, hand: Hand ->
|
||||
onRightClick(player, world as ServerWorld, hand)
|
||||
if (world is ServerWorld) {
|
||||
onRightClick(player, world, hand)
|
||||
}
|
||||
TypedActionResult(ActionResult.PASS, player.getStackInHand(hand))
|
||||
})
|
||||
|
||||
ServerLifecycleEvents.SERVER_STARTED.register(ServerLifecycleEvents.ServerStarted { _ ->
|
||||
|
||||
@@ -5,7 +5,9 @@ import com.mojang.brigadier.Command
|
||||
import com.mojang.brigadier.CommandDispatcher
|
||||
import net.minecraft.server.command.CommandManager
|
||||
import net.minecraft.server.command.ServerCommandSource
|
||||
import net.minecraft.text.Style
|
||||
import net.minecraft.text.Text
|
||||
import java.awt.Color
|
||||
|
||||
object KillAllEmitters {
|
||||
fun register(dispatcher: CommandDispatcher<ServerCommandSource>) {
|
||||
@@ -20,6 +22,7 @@ object KillAllEmitters {
|
||||
}
|
||||
|
||||
val feedback = Text.literal("BPS - Killed all living Emitters.")
|
||||
.setStyle(Style.EMPTY.withColor(Color(0, 200, 0).rgb))
|
||||
|
||||
context.source.sendFeedback({ feedback }, false)
|
||||
Command.SINGLE_SUCCESS
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
@@ -3,13 +3,16 @@
|
||||
"id": "bde_particles",
|
||||
"version": "${version}",
|
||||
"name": "BDE Particle System",
|
||||
"description": "A server-side particle system ",
|
||||
"authors": [],
|
||||
"description": "A highly-customizable server-side particle system ",
|
||||
"authors": ["Byte Dice"],
|
||||
"contact": {},
|
||||
"license": "All-Rights-Reserved",
|
||||
"license": "CC BY-NC-SA 4.0",
|
||||
"icon": "assets/bde_particles/icon.png",
|
||||
"environment": "server",
|
||||
"environment": "*",
|
||||
"entrypoints": {
|
||||
"client": [
|
||||
"com.bytedice.bde_particles.client.Bde_particlesClient"
|
||||
],
|
||||
"main": [
|
||||
"com.bytedice.bde_particles.Bde_particles"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user