mirror of
https://github.com/bs-community/blessing-skin-server.git
synced 2025-03-01 15:05:39 +08:00
Reset invalid texture when player retrieved
This commit is contained in:
parent
1c205f6842
commit
64f25ef95f
15
app/Events/PlayerRetrieved.php
Normal file
15
app/Events/PlayerRetrieved.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events;
|
||||
|
||||
use App\Models\Player;
|
||||
|
||||
class PlayerRetrieved extends Event
|
||||
{
|
||||
public $player;
|
||||
|
||||
public function __construct(Player $player)
|
||||
{
|
||||
$this->player = $player;
|
||||
}
|
||||
}
|
@ -31,15 +31,7 @@ class PlayerController extends Controller
|
||||
{
|
||||
$this->middleware(function ($request, $next) {
|
||||
if ($request->has('pid')) {
|
||||
if ($this->player = Player::find($request->pid)) {
|
||||
foreach (['skin', 'cape'] as $type) {
|
||||
$field = "tid_$type";
|
||||
if (! Texture::find($this->player->$field)) {
|
||||
$this->player->$field = 0;
|
||||
}
|
||||
}
|
||||
$this->player->save();
|
||||
}
|
||||
$this->player = Player::find($request->pid);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
|
19
app/Listeners/ResetInvalidTextureForPlayer.php
Normal file
19
app/Listeners/ResetInvalidTextureForPlayer.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Listeners;
|
||||
|
||||
class ResetInvalidTextureForPlayer
|
||||
{
|
||||
public function handle(\App\Events\PlayerRetrieved $event)
|
||||
{
|
||||
$player = $event->player;
|
||||
|
||||
foreach (['skin', 'cape'] as $type) {
|
||||
$field = "tid_$type";
|
||||
if (! \App\Models\Texture::find($player->$field)) {
|
||||
$player->$field = 0;
|
||||
}
|
||||
}
|
||||
$player->save();
|
||||
}
|
||||
}
|
@ -28,6 +28,7 @@ class Player extends Model
|
||||
];
|
||||
|
||||
protected $dispatchesEvents = [
|
||||
'retrieved' => \App\Events\PlayerRetrieved::class,
|
||||
'updated' => PlayerProfileUpdated::class,
|
||||
];
|
||||
|
||||
|
@ -15,7 +15,9 @@ class EventServiceProvider extends ServiceProvider
|
||||
* @var array
|
||||
*/
|
||||
protected $listen = [
|
||||
//
|
||||
'App\Events\PlayerRetrieved' => [
|
||||
'App\Listeners\ResetInvalidTextureForPlayer',
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user