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